Keyboard firmwares for Atmel AVR and Cortex-M
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536
  1. ## GNAP! keyboard firmware
  2. ![GNAP! 1.0 Assembled](GNAP.jpg)
  3. ======================
  4. GNAP! dual matrix, dual controller. Per key LED control, reactive lighting.
  5. ![GNAP! 1.0 PCB Front](pcb-front.png)
  6. ![GNAP! 1.0 PCB Schematic](schematic.png)
  7. Dual Pro Micro's. One running TMK, the other running an Arduino sketch driving the LEDs. Pro Micro's are connected to each other via hardware serial UART.
  8. Pinout
  9. Rows D1, D0, D4, C6
  10. Cols D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4
  11. keymap_gnap.c contains functions to send bytes to the LED controller. The Arduino code interprets these to change modes or brightness.
  12. //GNAP keymap functions
  13. void gnaplight_step(void) {
  14. serial_send(101);
  15. }
  16. void gnaplight_toggle(void) {
  17. serial_send(100);
  18. }
  19. \tmk_core\common\keyboard.c was modified to send the row/column of the key being pressed encoded as as single byte over the serial link to the LED controller.
  20. #ifdef GNAP_ENABLE
  21. //send single byte with value of row column
  22. serial_send((r*16)+c);
  23. #endif
  24. The example Arduino sketch [LED_FastGPIO.ino](LED_FastGPIO.ino) uses the fastGPIO and TimerOne libraries. These can be installed with the Library manager.
  25. [FastGPIO](https://github.com/pololu/fastgpio-arduino)
  26. [TimerOne](https://www.pjrc.com/teensy/td_libs_TimerOne.html)