- Timestamp:
- Jul 31, 2014, 11:00:37 PM (10 years ago)
- Branches:
- main
- Children:
- 0010058
- Parents:
- ea32107
- Location:
- kbd/xtk/code
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kbd/xtk/code/Makefile
rea32107 r87ab18e 1 MCU=atmega48p 1 # Board settings 2 3 # K4KUSB 4 MCU=attiny2313 5 F_CPU=12000000 6 7 # Generic settings 8 BAUD=9600 9 2 10 3 11 include ../../common.mk 4 12 5 all: keyboard.hex 6 7 keyboard.bin: keyboard.o main.o 13 $(MCU).bin: $(MCU)/keyboard.o $(MCU)/main.o 8 14 $(CC) $^ -o $@ -mmcu=$(MCU) -Os 9 15 10 main.o: main.c $(LIBS)/ps2_keyboard/ps2_keyboard.h 11 $(CC) -std=c99 -c $< -mmcu=$(MCU) -Os -o $@ -Os16 $(MCU)/main.o: main.c $(LIBS)/ps2_keyboard/ps2_keyboard.h $(MCU) 17 $(CC) $(CFLAGS) -std=c99 -c $< -o $@ 12 18 13 keyboard.o: $(LIBS)/ps2_keyboard/ps2_keyboard.c $(LIBS)/ps2_keyboard/ps2_keyboard.h $(LIBS)/ps2_keyboard/keymap.h 14 $(CC) -DCALLBACK="callback();" -c $< -mmcu=$(MCU) -Os -o $@ 15 16 clean: 17 rm *.o *.bin *.hex 18 19 flash: keyboard.hex 20 $(AVRDUDE) -c usbasp -p $(MCU) -Uflash:w:$^ 19 $(MCU)/keyboard.o: $(LIBS)/ps2_keyboard/ps2_keyboard.c $(LIBS)/ps2_keyboard/ps2_keyboard.h $(LIBS)/ps2_keyboard/keymap.h $(MCU) 20 $(CC) $(CFLAGS) -DCALLBACK="callback();" -c $< -o $@ -
kbd/xtk/code/main.c
rea32107 r87ab18e 24 24 void callback() 25 25 { 26 uint8_t key_code = 0;27 key_code = read_char(); // TODO this function is blocking. Can it disturb main?28 29 key = pgm_read_byte(&(at2xt[key_code]));30 if(release)31 key |= 0x80;26 // Ignore all keys above 0x80, and importantly ignore 0xE0 from extended keys. 27 if (kbd_data < 0x80) { 28 key = pgm_read_byte(&(at2xt[kbd_data])); 29 if(release) 30 key |= 0x80; 31 } 32 32 } 33 33 … … 52 52 #endif 53 53 54 static const int delay = 25;54 static const int delay = 12; 55 55 56 56 // XT init - configure pins directions … … 58 58 DDRXT &= ~(PCLK | PDAT); // both pins as inputs (floating) 59 59 60 DDRB |= (1<<PB2); // LED61 62 60 uint8_t k; 63 61 while(1) { 64 PORTB ^= (1<<PB2); // LED65 66 62 while ((PINXT & (PDAT|PCLK)) != (PDAT|PCLK)) 67 63 ; // Wait for PC to be ready to receive data
Note:
See TracChangeset
for help on using the changeset viewer.