Keyboard firmwares for Atmel AVR and Cortex-M
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
di0ib ac70ea56ae Update readme.md pirms 3 gadiem
..
pcb Update readme.md pirms 3 gadiem
FLASH.bin mf68 pirms 3 gadiem
GNAP.jpg GNAP keyboard pirms 3 gadiem
LED_FastGPIO.ino GNAP keyboard pirms 3 gadiem
Makefile GNAP keyboard pirms 3 gadiem
config.h GNAP keyboard pirms 3 gadiem
gnap.bin mf68 pirms 3 gadiem
keymap_common.h i75, cleanup keymaps pirms 3 gadiem
keymap_gnap.c update keymap pirms 3 gadiem
led.c mf68 pirms 3 gadiem
matrix.c i75, cleanup keymaps pirms 3 gadiem
pcb-front.png GNAP keyboard pirms 3 gadiem
readme.md Update readme pirms 3 gadiem
schematic.png GNAP keyboard pirms 3 gadiem

readme.md

GNAP! keyboard firmware

GNAP! 1.0 Assembled

GNAP! dual matrix, dual controller. Per key LED control, reactive lighting. GNAP! 1.0 PCB Front GNAP! 1.0 PCB Schematic

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.

Pinout

Rows D1, D0, D4, C6 
Cols D7, E6, B4, B5, B6, B2, B3, B1, F7, F6, F5, F4

keymap_gnap.c contains functions to send bytes to the LED controller. The Arduino code interprets these to change modes or brightness.

//GNAP keymap functions
void gnaplight_step(void) {
    serial_send(101);
}

void gnaplight_toggle(void) {
    serial_send(100);
}

\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.

#ifdef GNAP_ENABLE
                //send single byte with value of row column
                serial_send((r*16)+c);
#endif

The example Arduino sketch LED_FastGPIO.ino uses the fastGPIO and TimerOne libraries. These can be installed with the Library manager.

FastGPIO TimerOne