X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=docs%2Ffaq_debug.md;h=f6cc729b61236bf2b2104d54867cb3d4c3feb5b8;hb=3538955778c253e68779605cc67c27e15d195729;hp=9dfec773fc608e8d9c8a772167eeaf64c356f710;hpb=7b0356d1d49da6574570e110f61f95692afdb3d0;p=qmk_firmware.git diff --git a/docs/faq_debug.md b/docs/faq_debug.md index 9dfec773f..f6cc729b6 100644 --- a/docs/faq_debug.md +++ b/docs/faq_debug.md @@ -11,7 +11,7 @@ When debug console of your device is not ready you will see like this: Waiting for device:......... ``` -once the device is pluged in then *hid_listen* finds it you will get this message: +once the device is plugged in then *hid_listen* finds it you will get this message: ``` Waiting for new device:......................... @@ -82,23 +82,24 @@ Size after: consume extra memory; watch out for BOOTMAGIC_ENABLE, MOUSEKEY_ENABLE, EXTRAKEY_ENABLE, CONSOLE_ENABLE, API_SYSEX_ENABLE - DFU tools do /not/ allow you to write into the bootloader (unless - you throw in extra fruitsalad of options), so there is little risk + you throw in extra fruit salad of options), so there is little risk there. - EEPROM has around a 100000 write cycle. You shouldn't rewrite the firmware repeatedly and continually; that'll burn the EEPROM eventually. + ## NKRO Doesn't work -First you have to compile frimware with this build option `NKRO_ENABLE` in **Makefile**. +First you have to compile firmware with this build option `NKRO_ENABLE` in **Makefile**. Try `Magic` **N** command(`LShift+RShift+N` by default) when **NKRO** still doesn't work. You can use this command to toggle between **NKRO** and **6KRO** mode temporarily. In some situations **NKRO** doesn't work you need to switch to **6KRO** mode, in particular when you are in BIOS. -If your firmware built with `BOOTMAGIC_ENABLE` you need to turn its switch on by `BootMagic` **N** command(`Space+N` by default). This setting is stored in EEPROM and keeped over power cycles. +If your firmware built with `BOOTMAGIC_ENABLE` you need to turn its switch on by `BootMagic` **N** command(`Space+N` by default). This setting is stored in EEPROM and kept over power cycles. https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch ## TrackPoint Needs Reset Circuit (PS/2 Mouse Support) -Without reset circuit you will have inconsistent reuslt due to improper initialize of the hardware. See circuit schematic of TPM754. +Without reset circuit you will have inconsistent result due to improper initialize of the hardware. See circuit schematic of TPM754. - http://geekhack.org/index.php?topic=50176.msg1127447#msg1127447 - http://www.mikrocontroller.net/attachment/52583/tpm754.pdf @@ -107,7 +108,7 @@ Without reset circuit you will have inconsistent reuslt due to improper initiali ## Can't Read Column of Matrix Beyond 16 Use `1UL<<16` instead of `1<<16` in `read_cols()` in [matrix.h] when your columns goes beyond 16. -In C `1` means one of [int] type which is [16bit] in case of AVR so you can't shift left more than 15. You will get unexpected zero when you say `1<<16`. You have to use [unsigned long] type with `1UL`. +In C `1` means one of [int] type which is [16 bit] in case of AVR so you can't shift left more than 15. You will get unexpected zero when you say `1<<16`. You have to use [unsigned long] type with `1UL`. http://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad-keyboard-t6181-60.html#p146279 @@ -116,12 +117,12 @@ http://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad Properly configure bootloader size in **Makefile**. With wrong section size bootloader won't probably start with **Magic command** and **Boot Magic**. ``` # Size of Bootloaders in bytes: -# Atmel DFU loader(ATmega32U4) 4096 -# Atmel DFU loader(AT90USB128) 8192 -# LUFA bootloader(ATmega32U4) 4096 -# Arduino Caterina(ATmega32U4) 4096 -# USBaspLoader(ATmega***) 2048 -# Teensy halfKay(ATmega32U4) 512 +# Atmel DFU loader(ATmega32U4) 4096 +# Atmel DFU loader(AT90USB128) 8192 +# LUFA bootloader(ATmega32U4) 4096 +# Arduino Caterina(ATmega32U4) 4096 +# USBaspLoader(ATmega***) 2048 +# Teensy halfKay(ATmega32U4) 512 # Teensy++ halfKay(AT90USB128) 2048 OPT_DEFS += -DBOOTLOADER_SIZE=4096 ``` @@ -135,14 +136,14 @@ byte Atmel/LUFA(ATMega32u4) byte Atmel(AT90SUB1286) | | | | | | | | | Application | | Application | - | | | | + | | | | = = = = | | 32KB-4KB | | 128KB-8KB 0x6000 +---------------+ 0x1E000 +---------------+ | Bootloader | 4KB | Bootloader | 8KB 0x7FFF +---------------+ 0x1FFFF +---------------+ - + byte Teensy(ATMega32u4) byte Teensy++(AT90SUB1286) 0x0000 +---------------+ 0x00000 +---------------+ | | | | @@ -181,11 +182,11 @@ Pressing any key during sleep should wake host. - http://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf - http://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf -Arduino leonardo and micro have **ATMega32U4** and can be used for TMK, though Arduino bootloader may be a problem. +Arduino Leonardo and micro have **ATMega32U4** and can be used for TMK, though Arduino bootloader may be a problem. ## Using PF4-7 Pins of USB AVR? -You need to set JTD bit of MCUCR yourself to use PF4-7 as GPIO. Those pins are configured to serve JTAG function by default. MCUs like ATMega*U* or AT90USB* are affeteced with this. +You need to set JTD bit of MCUCR yourself to use PF4-7 as GPIO. Those pins are configured to serve JTAG function by default. MCUs like ATMega*U* or AT90USB* are affected with this. If you are using Teensy this isn't needed. Teensy is shipped with JTAGEN fuse bit unprogrammed to disable the function. @@ -230,7 +231,7 @@ https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034 ## Problem on BIOS (UEFI)/Resume (Sleep & Wake)/Power Cycles Some people reported their keyboard stops working on BIOS and/or after resume(power cycles). -As of now root of its cause is not clear but some build options seem to be related. In Makefile try to disable those options like `CONSOLE_ENABLE`, `NKRO_ENABLE`, `SLEEP_LED_ENABLE` and/or others. +As of now root of its cause is not clear but some build options seem to be related. In Makefile try to disable those options like `CONSOLE_ENABLE`, `NKRO_ENABLE`, `SLEEP_LED_ENABLE` and/or others. https://github.com/tmk/tmk_keyboard/issues/266 https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778