2.8 KiB
Build
'make clean' needs after changing config.h
To build with new config.h you need
$ make clean
WINAVR is obsolete
It is no longer recommended and may cause some problem. See Issue #99.
USB stack: LUFA or PJRC?
Use LUFA. PJRC stack won't be supported actively anymore. There is no reason to hesitate to use LUFA except for binary size(about 1KB lager?).
See also Issue #50 and Issue #58.
Degug Console
hid_listen can't find device
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:
Waiting for new device:.........................
Listening:
Check if you can't get this 'Listening:' message:
- build with
CONSOLE_ENABLE=yes
in Makefile.
Can't get message from console
Check:
- connect the device to hid_listen. See above.
- push LShift+RShift+d to enable debug. See Magic Commands.
- set
debug_enable=yes
usually inmatrix_init()
in matrix.c. - try using 'print' function instead of debug print. See common/print.h.
- disconnect other devices with console function. See Issue #97.
Miscellaneous
NKRO Doesn't work
Build with this option of Makefile
NKRO_ENABLE = yes
And use Magic
command N to toggle NKRO feature.
At this time NKRO is not used by default even if it is build with NKRO_ENABLE
, you still need the Magic
.
To turn on NKRO by default see this fix. https://github.com/shayneholmes/tmk_keyboard/commit/b8375a0
--- a/common/host.c
+++ b/common/host.c
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef NKRO_ENABLE
-bool keyboard_nkro = false;
+bool keyboard_nkro = true;
#endif
static host_driver_t *driver;
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.
- http://geekhack.org/index.php?topic=50176.msg1127447#msg1127447
- http://www.mikrocontroller.net/attachment/52583/tpm754.pdf
Can't read comlumn of matrix beyond 16
Use 1UL<<16
intead 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
.