From e67c988824f5ec0c965beb412f8ee5953dfd3c8c Mon Sep 17 00:00:00 2001 From: tmk Date: Sat, 17 Sep 2011 22:39:50 +0900 Subject: [PATCH] Added Bulegiga iWRAP support into HHKB.(Bluetooth) --- Makefile.vusb | 11 - POWER.txt | 62 +++ README | 4 +- adb_usb/Makefile | 20 +- adb_usb/README | 8 + adb_usb/config.h | 4 +- command.c | 56 ++- command.h | 2 + Makefile.common => common.mk | 15 +- hhkb/FUSE.txt | 40 ++ hhkb/Makefile.iwrap | 91 ++++ hhkb/{Makefile => Makefile.pjrc} | 19 +- hhkb/Makefile.vusb | 29 +- hhkb/README | 113 ++++- hhkb/config_iwrap.h | 55 +++ hhkb/config_pjrc.h | 6 +- hhkb/config_vusb.h | 12 +- hhkb/doc/Bluetooth.txt | 4 + hhkb/doc/Bluetooth_img/.picasa.ini | 2 + hhkb/doc/Bluetooth_img/BT_circuit.jpg | Bin 0 -> 502118 bytes hhkb/doc/{ => HHKB_img}/HHKB_TP1684.jpg | Bin hhkb/doc/{ => HHKB_img}/HHKB_chart1.jpg | Bin hhkb/doc/{ => HHKB_img}/HHKB_chart2.jpg | Bin hhkb/doc/{ => HHKB_img}/HHKB_connector.jpg | Bin hhkb/doc/{ => HHKB_img}/HHKB_controller.jpg | Bin hhkb/doc/{ => HHKB_img}/HHKB_keyswitch.jpg | Bin hhkb/doc/{ => HHKB_img}/connector_contact.jpg | Bin hhkb/doc/{ => HHKB_img}/logic_analyzer.jpg | Bin hhkb/doc/{ => HHKB_img}/probe_contact.jpg | Bin hhkb/doc/{ => HHKB_img}/teensy_install.jpg | Bin hhkb/doc/{ => HHKB_img}/teensy_wiring.jpg | Bin hhkb/keymap.c | 115 +++-- hhkb/matrix.c | 66 ++- hhkb/usbconfig.h | 16 +- host.c | 190 +++++++ host.h | 89 +--- host_driver.h | 33 ++ iwrap.mk | 10 + iwrap/iWRAP.txt | 376 ++++++++++++++ iwrap/iwrap.c | 467 ++++++++++++++++++ iwrap/iwrap.h | 49 ++ iwrap/main.c | 378 ++++++++++++++ iwrap/suart.S | 156 ++++++ iwrap/suart.h | 8 + iwrap/wd.h | 159 ++++++ keyboard.c | 9 +- layer.c | 4 +- macway/Makefile | 16 +- macway/config.h | 4 +- macway/doc/back.jpg | Bin macway/doc/case.jpg | Bin macway/doc/keys.jpg | Bin macway/doc/side.jpg | Bin macway/doc/switch.jpg | Bin macway/doc/teensy.jpg | Bin macway/doc/wiring.jpg | Bin macway/doc/withHHKB.jpg | Bin macway/doc/withThinkPad.jpg | Bin main_vusb.c | 58 --- mousekey.c | 10 +- Makefile.pjrc => pjrc.mk | 10 +- pjrc/host.c | 10 +- main_pjrc.c => pjrc/main.c | 3 + pjrc/pjrc.c | 76 +++ pjrc/pjrc.h | 26 + pjrc/usb.c | 34 +- pjrc/usb.h | 2 +- pjrc/usb_keyboard.c | 4 +- print.c | 13 + print.h | 2 + ps2_usb/Makefile | 18 +- ps2_usb/Makefile.vusb | 19 +- ps2_usb/config_pjrc.h | 4 +- ps2_usb/config_vusb.h | 4 +- ps2_usb/keymap.c | 6 +- ps2_usb/matrix.c | 1 + report.h | 96 ++++ Makefile.rules => rules.mk | 0 sendchar.h | 4 +- vusb/host_vusb.h => sendchar_null.c | 10 +- sendchar_uart.c | 25 + timer.c | 35 +- timer.h | 21 +- uart.c | 129 +++++ uart.h | 11 + usb_keycodes.h | 8 +- vusb.mk | 17 + vusb/main.c | 99 ++++ vusb/{host.c => vusb.c} | 207 +++----- vusb/vusb.h | 27 + 90 files changed, 3150 insertions(+), 537 deletions(-) delete mode 100644 Makefile.vusb create mode 100644 POWER.txt rename Makefile.common => common.mk (63%) create mode 100644 hhkb/FUSE.txt create mode 100644 hhkb/Makefile.iwrap rename hhkb/{Makefile => Makefile.pjrc} (82%) create mode 100644 hhkb/config_iwrap.h create mode 100644 hhkb/doc/Bluetooth.txt create mode 100755 hhkb/doc/Bluetooth_img/.picasa.ini create mode 100755 hhkb/doc/Bluetooth_img/BT_circuit.jpg rename hhkb/doc/{ => HHKB_img}/HHKB_TP1684.jpg (100%) rename hhkb/doc/{ => HHKB_img}/HHKB_chart1.jpg (100%) rename hhkb/doc/{ => HHKB_img}/HHKB_chart2.jpg (100%) rename hhkb/doc/{ => HHKB_img}/HHKB_connector.jpg (100%) rename hhkb/doc/{ => HHKB_img}/HHKB_controller.jpg (100%) rename hhkb/doc/{ => HHKB_img}/HHKB_keyswitch.jpg (100%) rename hhkb/doc/{ => HHKB_img}/connector_contact.jpg (100%) rename hhkb/doc/{ => HHKB_img}/logic_analyzer.jpg (100%) rename hhkb/doc/{ => HHKB_img}/probe_contact.jpg (100%) rename hhkb/doc/{ => HHKB_img}/teensy_install.jpg (100%) rename hhkb/doc/{ => HHKB_img}/teensy_wiring.jpg (100%) create mode 100644 host.c create mode 100644 host_driver.h create mode 100644 iwrap.mk create mode 100644 iwrap/iWRAP.txt create mode 100644 iwrap/iwrap.c create mode 100644 iwrap/iwrap.h create mode 100644 iwrap/main.c create mode 100644 iwrap/suart.S create mode 100644 iwrap/suart.h create mode 100644 iwrap/wd.h mode change 100755 => 100644 macway/doc/back.jpg mode change 100755 => 100644 macway/doc/case.jpg mode change 100755 => 100644 macway/doc/keys.jpg mode change 100755 => 100644 macway/doc/side.jpg mode change 100755 => 100644 macway/doc/switch.jpg mode change 100755 => 100644 macway/doc/teensy.jpg mode change 100755 => 100644 macway/doc/wiring.jpg mode change 100755 => 100644 macway/doc/withHHKB.jpg mode change 100755 => 100644 macway/doc/withThinkPad.jpg delete mode 100644 main_vusb.c mode change 100644 => 100755 mousekey.c rename Makefile.pjrc => pjrc.mk (56%) rename main_pjrc.c => pjrc/main.c (97%) create mode 100644 pjrc/pjrc.c create mode 100644 pjrc/pjrc.h create mode 100644 report.h rename Makefile.rules => rules.mk (100%) rename vusb/host_vusb.h => sendchar_null.c (88%) create mode 100644 sendchar_uart.c create mode 100644 uart.c create mode 100644 uart.h create mode 100644 vusb.mk create mode 100644 vusb/main.c rename vusb/{host.c => vusb.c} (81%) create mode 100644 vusb/vusb.h diff --git a/Makefile.vusb b/Makefile.vusb deleted file mode 100644 index b8e71a8e..00000000 --- a/Makefile.vusb +++ /dev/null @@ -1,11 +0,0 @@ -OPT_DEFS += -DHOST_VUSB - -SRC = usbdrv.c \ - usbdrvasm.S \ - oddebug.c \ - sendchar_usart.c -SRC += $(TARGET_SRC) - - -# C source file search path -VPATH = $(TARGET_DIR):$(COMMON_DIR):$(COMMON_DIR)/vusb:$(COMMON_DIR)/vusb/usbdrv diff --git a/POWER.txt b/POWER.txt new file mode 100644 index 00000000..0abbbe48 --- /dev/null +++ b/POWER.txt @@ -0,0 +1,62 @@ +Time to Sleep +============= +USB suspend no activity on USB line for 3ms +No Interaction no user interaction + matrix has no change + matrix has no switch on + + +AVR Power Management +==================== + +V-USB suspend + USB suspend + http://vusb.wikidot.com/examples + +MCUSR MCU Status Register + WDRF Watchdog Reset Flag + BORF + EXTRF + PORF Power-on Reset Flag + +SMCR Sleep Mode Control Register + SE Sleep Enable + SM2:0 + #define set_sleep_mode(mode) \ + #define SLEEP_MODE_IDLE (0) + #define SLEEP_MODE_ADC _BV(SM0) + #define SLEEP_MODE_PWR_DOWN _BV(SM1) + #define SLEEP_MODE_PWR_SAVE (_BV(SM0) | _BV(SM1)) + #define SLEEP_MODE_STANDBY (_BV(SM1) | _BV(SM2)) + #define SLEEP_MODE_EXT_STANDBY (_BV(SM0) | _BV(SM1) | _BV(SM2)) + + +ACSR Analog Comparator Control and Status Register + To disable Analog Comparator + ACSR = 0x80; + or + ACSR &= ~_BV(ACIE); + ACSR |= _BV(ACD); + + ACD: Analog Comparator Disable + When this bit is written logic one, the power to the Analog Comparator is + switched off. This bit can be set at any time to turn off the Analog + Comparator. This will reduce power consumption in Active and Idle mode. + When changing the ACD bit, the Analog Comparator Interrupt must be disabled + by clearing the ACIE bit in ACSR. Otherwise an interrupt can occur when + the bit is changed. + +DIDR1 Digital Input Disable Register 1 + AIN1D + AIN0D + When this bit is written logic one, the digital input buffer on the AIN1/0 pin is disabled. The corresponding PIN Register bit will always read as zero when this bit is set. When an analog signal is applied to the AIN1/0 pin and the digital input from this pin is not needed, this bit should be written logic one to reduce power consumption in the digital input buffer. + + +PRR Power Reduction Register + PRTWI + PRTIM2 + PRTIM0 + PRTIM1 + PRSPI + PRUSART0 + PRADC diff --git a/README b/README index 2aa0106b..d85f512c 100644 --- a/README +++ b/README @@ -96,8 +96,8 @@ Build Options 3. Choose optional modules as needed. Comment out to disable optional modules. MOUSEKEY_ENABLE = yes # Mouse keys PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support - USB_EXTRA_ENABLE = yes # Enhanced feature for Windows(Audio control and System control) - USB_NKRO_ENABLE = yes # USB Nkey Rollover + EXTRAKEY_ENABLE = yes # Enhanced feature for Windows(Audio control and System control) + NKRO_ENABLE = yes # USB Nkey Rollover /config.h: 1. USB vendor/product ID and device description diff --git a/adb_usb/Makefile b/adb_usb/Makefile index 802b4248..56b342df 100644 --- a/adb_usb/Makefile +++ b/adb_usb/Makefile @@ -8,11 +8,11 @@ COMMON_DIR = .. TARGET_DIR = . # keyboard dependent files -TARGET_SRC = main_pjrc.c \ - keymap.c \ - matrix.c \ - led.c \ - adb.c +SRC = main.c \ + keymap.c \ + matrix.c \ + led.c \ + adb.c CONFIG_H = config.h @@ -36,10 +36,10 @@ F_CPU = 16000000 # Build Options # comment out to disable the options. # -MOUSEKEY_ENABLE = yes # Mouse keys +#MOUSEKEY_ENABLE = yes # Mouse keys #PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support -USB_EXTRA_ENABLE = yes # Audio control and System control -#USB_NKRO_ENABLE = yes # USB Nkey Rollover +#EXTRAKEY_ENABLE = yes # Audio control and System control +#NKRO_ENABLE = yes # USB Nkey Rollover @@ -48,5 +48,5 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex -include $(COMMON_DIR)/Makefile.pjrc -include $(COMMON_DIR)/Makefile.common +include $(COMMON_DIR)/pjrc.mk +include $(COMMON_DIR)/common.mk diff --git a/adb_usb/README b/adb_usb/README index b4bd35bb..5d0e1bc8 100644 --- a/adb_usb/README +++ b/adb_usb/README @@ -59,4 +59,12 @@ effort at this time. ), +Notes +----- +Many ADB keyboards has no discrimination between right modifier and left one, +you will always see left control even if you press right control key. +Apple Extended Keyboard and Apple Extended Keyboard II are the examples. +Though ADB protocol itsef has the ability of distinction between right and left. +And most ADB keyboard has no NKRO functionality, though ADB protocol itsef has that. + EOF diff --git a/adb_usb/config.h b/adb_usb/config.h index 27f31ca9..6431ede4 100644 --- a/adb_usb/config.h +++ b/adb_usb/config.h @@ -37,8 +37,8 @@ along with this program. If not, see . /* key combination for command */ #define IS_COMMAND() ( \ - keyboard_report->mods == (BIT_LSHIFT | BIT_LCTRL | BIT_LALT | BIT_LGUI) || \ - keyboard_report->mods == (BIT_LSHIFT | BIT_RSHIFT) \ + keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_LCTRL) | MOD_BIT(KB_LALT) | MOD_BIT(KB_LGUI)) || \ + keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_RSHIFT)) \ ) diff --git a/command.c b/command.c index 0a07aebf..22f25e99 100644 --- a/command.c +++ b/command.c @@ -30,24 +30,49 @@ along with this program. If not, see . #ifdef HOST_PJRC # include "jump_bootloader.h" # include "usb_keyboard.h" -# ifdef USB_EXTRA_ENABLE +# ifdef EXTRAKEY_ENABLE # include "usb_extra.h" # endif #endif +#ifdef HOST_VUSB +# include "usbdrv.h" +#endif + +static uint8_t command_common(void); static void help(void); static void switch_layer(uint8_t layer); +static bool last_print_enable; uint8_t command_proc(void) { + uint8_t processed = 0; + last_print_enable = print_enable; + if (!IS_COMMAND()) return 0; - uint8_t processed = 1; - bool last_print_enable = print_enable; print_enable = true; + if (command_extra() || command_common()) { + processed = 1; + _delay_ms(500); + } + print_enable = last_print_enable; + return processed; +} + +/* This allows to define extra commands. return 0 when not processed. */ +uint8_t command_extra(void) __attribute__ ((weak)); +uint8_t command_extra(void) +{ + return 0; +} + + +static uint8_t command_common(void) +{ switch (host_get_first_key()) { case KB_H: help(); @@ -122,21 +147,27 @@ uint8_t command_proc(void) print("usb_keyboard_protocol: "); phex(usb_keyboard_protocol); print("\n"); print("usb_keyboard_idle_config:"); phex(usb_keyboard_idle_config); print("\n"); print("usb_keyboard_idle_count:"); phex(usb_keyboard_idle_count); print("\n"); +#endif + +#ifdef HOST_VUSB +# if USB_COUNT_SOF + print("usbSofCount: "); phex(usbSofCount); print("\n"); +# endif #endif break; -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE case KB_N: // send empty report before change host_clear_keyboard_report(); host_send_keyboard_report(); keyboard_nkro = !keyboard_nkro; if (keyboard_nkro) - print("USB_NKRO: enabled\n"); + print("NKRO: enabled\n"); else - print("USB_NKRO: disabled\n"); + print("NKRO: disabled\n"); break; #endif -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE case KB_ESC: host_clear_keyboard_report(); host_send_keyboard_report(); @@ -175,12 +206,9 @@ uint8_t command_proc(void) switch_layer(4); break; default: - processed = 0; + return 0; } - if (processed) - _delay_ms(500); - print_enable = last_print_enable; - return processed; + return 1; } static void help(void) @@ -194,8 +222,8 @@ static void help(void) print("v: print version\n"); print("t: print timer count\n"); print("s: print status\n"); -#ifdef USB_NKRO_ENABLE - print("n: toggle USB_NKRO\n"); +#ifdef NKRO_ENABLE + print("n: toggle NKRO\n"); #endif print("Backspace: clear matrix\n"); print("ESC: power down/wake up\n"); diff --git a/command.h b/command.h index dca6da45..4888f5ee 100644 --- a/command.h +++ b/command.h @@ -19,5 +19,7 @@ along with this program. If not, see . #define COMMAND uint8_t command_proc(void); +/* This allows to extend commands. Return 0 when command is not processed. */ +uint8_t command_extra(void); #endif diff --git a/Makefile.common b/common.mk similarity index 63% rename from Makefile.common rename to common.mk index 1922def0..17c6816f 100644 --- a/Makefile.common +++ b/common.mk @@ -19,17 +19,20 @@ ifdef PS2_MOUSE_ENABLE OPT_DEFS += -DPS2_MOUSE_ENABLE endif -ifdef USB_EXTRA_ENABLE - OPT_DEFS += -DUSB_EXTRA_ENABLE +ifdef EXTRAKEY_ENABLE + OPT_DEFS += -DEXTRAKEY_ENABLE endif -ifdef USB_NKRO_ENABLE - OPT_DEFS += -DUSB_NKRO_ENABLE +ifdef NKRO_ENABLE + OPT_DEFS += -DNKRO_ENABLE endif ifdef $(or MOUSEKEY_ENABLE, PS2_MOUSE_ENABLE) - OPT_DEFS += -DUSB_MOUSE_ENABLE + OPT_DEFS += -DMOUSE_ENABLE endif +# Search Path +VPATH += $(COMMON_DIR) -include $(COMMON_DIR)/Makefile.rules + +include $(COMMON_DIR)/rules.mk diff --git a/hhkb/FUSE.txt b/hhkb/FUSE.txt new file mode 100644 index 00000000..40055e5a --- /dev/null +++ b/hhkb/FUSE.txt @@ -0,0 +1,40 @@ +ATMega168P Fuse/Lock Bits +========================= +This configuration is from usbasploader's Makefile. + + HFUSE 0xD6 + LFUSE 0xDF + EFUSE 0x00 + LOCK 0x3F(intact) + +#--------------------------------------------------------------------- +# ATMega168P +#--------------------------------------------------------------------- +# Fuse extended byte: +# 0x00 = 0 0 0 0 0 0 0 0 <-- BOOTRST (boot reset vector at 0x1800) +# \+/ +# +------- BOOTSZ (00 = 2k bytes) +# Fuse high byte: +# 0xd6 = 1 1 0 1 0 1 1 0 +# ^ ^ ^ ^ ^ \-+-/ +# | | | | | +------ BODLEVEL 0..2 (110 = 1.8 V) +# | | | | + --------- EESAVE (preserve EEPROM over chip erase) +# | | | +-------------- WDTON (if 0: watchdog always on) +# | | +---------------- SPIEN (allow serial programming) +# | +------------------ DWEN (debug wire enable) +# +-------------------- RSTDISBL (reset pin is enabled) +# Fuse low byte: +# 0xdf = 1 1 0 1 1 1 1 1 +# ^ ^ \ / \--+--/ +# | | | +------- CKSEL 3..0 (external >8M crystal) +# | | +--------------- SUT 1..0 (crystal osc, BOD enabled) +# | +------------------ CKOUT (if 0: Clock output enabled) +# +-------------------- CKDIV8 (if 0: divide by 8) + + +# Lock Bits +# 0x3f = - - 1 1 1 1 1 1 +# \ / \-/ \-/ +# | | +----- LB 2..1 (No memory lock features enabled) +# | +--------- BLB0 2..1 (No restrictions for SPM or LPM accessing the Application section) +# +--------------- BLB1 2..1 (No restrictions for SPM or LPM accessing the Boot Loader section) diff --git a/hhkb/Makefile.iwrap b/hhkb/Makefile.iwrap new file mode 100644 index 00000000..cf020b94 --- /dev/null +++ b/hhkb/Makefile.iwrap @@ -0,0 +1,91 @@ +# +# Makefile for iWRAP +# + + +# Target file name (without extension). +TARGET = hhkb_iwrap + +# Directory common source filess exist +COMMON_DIR = .. + +# Directory keyboard dependent files exist +TARGET_DIR = . + +# keyboard dependent files +SRC = main.c \ + keymap.c \ + matrix.c \ + led.c + +CONFIG_H = config_iwrap.h + + +# V-USB debug level: To use ps2_usart.c level must be 0 +# ps2_usart.c requires USART to receive PS/2 signal. +OPT_DEFS = -DDEBUG_LEVEL=0 + + +# MCU name, you MUST set this to match the board you are using +# type "make clean" after changing this, so all files will be rebuilt +MCU = atmega168p +# avrdude doesn't know atmega168p +AVRDUDE_MCU = atmega168 + + +# Processor frequency. +# Normally the first thing your program should do is set the clock prescaler, +# so your program will run at the correct speed. You should also set this +# variable to same clock speed. The _delay_ms() macro uses this, and many +# examples use this variable to calculate timings. Do not add a "UL" here. +F_CPU = 12000000 + + +# Build Options +# comment out to disable the options. +# +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +#NKRO_ENABLE = yes # USB Nkey Rollover + + + +#---------------- Programming Options -------------------------- +AVRDUDE = avrdude +# Type: avrdude -c ? to get a full listing. +AVRDUDE_PROGRAMMER = usbasp +AVRDUDE_PORT = +AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex +#AVRDUDE_WRITE_EEPROM = -U eeprom:w:$(TARGET).eep + +# Uncomment the following if you want avrdude's erase cycle counter. +# Note that this counter needs to be initialized first using -Yn, +# see avrdude manual. +#AVRDUDE_ERASE_COUNTER = -y + +# Uncomment the following if you do /not/ wish a verification to be +# performed after programming the device. +#AVRDUDE_NO_VERIFY = -V + +# Increase verbosity level. Please use this when submitting bug +# reports about avrdude. See +# to submit bug reports. +#AVRDUDE_VERBOSE = -v -v + +#AVRDUDE_FLAGS = -p $(AVRDUDE_MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) +AVRDUDE_FLAGS = -p $(AVRDUDE_MCU) -c $(AVRDUDE_PROGRAMMER) +AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY) +AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE) +AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER) + +PROGRAM_CMD = $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) + + + +# Search Path +VPATH = $(TARGET_DIR) + +include $(COMMON_DIR)/iwrap.mk +# To be swatchable btween Bluetooth and USB. Comment out if you don't need USB. +include $(COMMON_DIR)/vusb.mk +include $(COMMON_DIR)/common.mk diff --git a/hhkb/Makefile b/hhkb/Makefile.pjrc similarity index 82% rename from hhkb/Makefile rename to hhkb/Makefile.pjrc index e1cc2f21..17aa865d 100644 --- a/hhkb/Makefile +++ b/hhkb/Makefile.pjrc @@ -13,10 +13,10 @@ COMMON_DIR = .. TARGET_DIR = . # keyboard dependent files -TARGET_SRC = main_pjrc.c \ - keymap.c \ - matrix.c \ - led.c +SRC = main.c \ + keymap.c \ + matrix.c \ + led.c CONFIG_H = config_pjrc.h @@ -41,8 +41,8 @@ F_CPU = 16000000 # comment out to disable the options. MOUSEKEY_ENABLE = yes # Mouse keys #PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support -USB_EXTRA_ENABLE = yes # Audio control and System control -USB_NKRO_ENABLE = yes # USB Nkey Rollover +EXTRAKEY_ENABLE = yes # Audio control and System control +NKRO_ENABLE = yes # USB Nkey Rollover @@ -51,5 +51,8 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex -include $(COMMON_DIR)/Makefile.pjrc -include $(COMMON_DIR)/Makefile.common +# Search Path +VPATH = $(TARGET_DIR) + +include $(COMMON_DIR)/pjrc.mk +include $(COMMON_DIR)/common.mk diff --git a/hhkb/Makefile.vusb b/hhkb/Makefile.vusb index 77841b82..5bfc233d 100644 --- a/hhkb/Makefile.vusb +++ b/hhkb/Makefile.vusb @@ -13,10 +13,10 @@ COMMON_DIR = .. TARGET_DIR = . # keyboard dependent files -TARGET_SRC = main_vusb.c \ - keymap.c \ - matrix.c \ - led.c +SRC = main.c \ + keymap.c \ + matrix.c \ + led.c CONFIG_H = config_vusb.h @@ -28,7 +28,9 @@ OPT_DEFS = -DDEBUG_LEVEL=0 # MCU name, you MUST set this to match the board you are using # type "make clean" after changing this, so all files will be rebuilt -MCU = atmega168 +MCU = atmega168p +# avrdude doesn't know atmega168p +AVRDUDE_MCU = atmega168 # Processor frequency. @@ -36,15 +38,15 @@ MCU = atmega168 # so your program will run at the correct speed. You should also set this # variable to same clock speed. The _delay_ms() macro uses this, and many # examples use this variable to calculate timings. Do not add a "UL" here. -F_CPU = 20000000 +F_CPU = 12000000 # Build Options # comment out to disable the options. # MOUSEKEY_ENABLE = yes # Mouse keys -USB_EXTRA_ENABLE = yes # Audio control and System control -#USB_NKRO_ENABLE = yes # USB Nkey Rollover +EXTRAKEY_ENABLE = yes # Audio control and System control +#NKRO_ENABLE = yes # USB Nkey Rollover @@ -70,8 +72,8 @@ AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex # to submit bug reports. #AVRDUDE_VERBOSE = -v -v -#AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) -AVRDUDE_FLAGS = -p $(MCU) -c $(AVRDUDE_PROGRAMMER) +#AVRDUDE_FLAGS = -p $(AVRDUDE_MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) +AVRDUDE_FLAGS = -p $(AVRDUDE_MCU) -c $(AVRDUDE_PROGRAMMER) AVRDUDE_FLAGS += $(AVRDUDE_NO_VERIFY) AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE) AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER) @@ -80,5 +82,8 @@ PROGRAM_CMD = $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE -include $(COMMON_DIR)/Makefile.vusb -include $(COMMON_DIR)/Makefile.common +# Search Path +VPATH = $(TARGET_DIR) + +include $(COMMON_DIR)/vusb.mk +include $(COMMON_DIR)/common.mk diff --git a/hhkb/README b/hhkb/README index 2a441810..65f7dcab 100644 --- a/hhkb/README +++ b/hhkb/README @@ -4,7 +4,7 @@ Alternative Controller for HHKB Feature ------- - Mouse Keys -- NKRO on USB +- NKRO on USB(PJRC Tennsy only) - Keymap Layers @@ -13,8 +13,11 @@ Customize Keymap see keymap.c. -Build for Teensy ----------------- + +Build +===== +PJRC Teensy +----------- 0. Edit matrix.c. adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts) 1. Define macros in config_pjrc.h.(Optional) @@ -22,15 +25,15 @@ Build for Teensy IS_COMMAND 2. Edit Makefile for MCU setting and build options. MCU, F_CPU - MOUSEKEY_ENABLE, USB_EXTRA_ENABLE, USB_NKRO_ENABLE + MOUSEKEY_ENABLE, EXTRAKEY_ENABLE, NKRO_ENABLE 3. Build hex file. - $ make + $ make -f Makefile.pjrc 4. Program MCU. - $ make program + $ make -f Makefile.pjrc program -Build for V-USB ---------------- +V-USB +----- 0. Edit matrix.c and usbconfig.h. adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts) define macros for V-USB in usbconfig.h. @@ -38,7 +41,7 @@ Build for V-USB IS_COMMAND 2. Edit Makefile.vusb for MCU setting and build options. MCU, F_CPU - MOUSEKEY_ENABLE, USB_EXTRA_ENABLE, USB_NKRO_ENABLE + MOUSEKEY_ENABLE, EXTRAKEY_ENABLE 3. Build hex file. $ make -f Makefile.vusb 4. Program MCU. @@ -52,21 +55,59 @@ Build for V-USB http://www.obdev.at/products/vusb/usbasploader.html -V-USB Circuit -------------- +iWRAP +----- +0. Edit matrix.c and usbconfig.h. + adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts) + define macros for V-USB in usbconfig.h. +1. Define macros in config_iwrap.h.(Optional) + IS_COMMAND +2. Edit Makefile.iwrap for MCU setting and build options. + MCU, F_CPU + MOUSEKEY_ENABLE, EXTRAKEY_ENABLE +3. Build hex file. + $ make -f Makefile.iwrap +4. Program MCU. + $ make -f Makefile.iwrap program + + + +Hardware +======== +PJRC Teensy +----------- + +---------------+ + | Teensy++ | + | | + | | HHKB + | | ~~~~ + | PB0-2|------->ROW(6-8) + | PB3-5|------->COL(9-11) + | PB6|------->ENABLE(12) + | PE6|<-------KEY(4) + | PE7|------->PREV(5) + | | + | | + | | + +---------------+ + + +V-USB +----- +---+ +---------------+ USB GND | | ATmega168 | -=== C3 | | +~~~ C3 | | 5V <-------+--------+---|Vcc,AVCC | HHKB - R1 | | ==== -D- <----+--+-----R2-----|INT1 PB0-2|------->ROW -D+ <----|---+----R3-----|INT0 PB3-5|------->COL - Z1 Z2 | PB6|------->ENABLE -GND<----+---+--+--+-----|GND PE6|------->KEY - | | | PE7|------->PREV - | C2-+--|XTAL1 | (see doc/HHKB.txt for pinouts) - | X1 | | - +--C3-+--|XTAL2 RST|---SW--+GND + R1 | | ~~~~ +D- <----+--+-----R2-----|INT1 PB2-4|------->ROW(6-8) +D+ <----|---+----R3-----|INT0 PC0-2|------->COL(9-11) + Z1 Z2 | PC3|------->ENABLE(12) +GND<----+---+-----------|GND PB0|<-------KEY(4) + | PB1|------->PREV(5) + | | + GND+-C2--+--|XTAL1 RXD|------->Debug Console + X1 | TXD|<-------Debug Console + GND+-C3--+--|XTAL2 RST|---SW--+GND +---------------+ R1: 1.5K Ohm R2,R3: 68 Ohm @@ -77,4 +118,34 @@ X1: Crystal 20MHz(16MHz/12MHz) SW: Push Switch(Optional for bootloader) +iWRAP +----- + +---------------+ WT12 + 5V | ATmega168 | 5V/3.3V~~~~ + +-----+---|Vcc,AVCC PC4|---/--->iWRAP(RxD) +USB | C3 | PC5|<--/----iWRAP(TxD) +~~~ | + | | +5V <--BATT + GND | | HHKB + R1 | | ~~~~ +D- <----+-----+--R2-----|INT1 PB2-4|------->ROW(6-8) +D+ <----|---+----R3-----|INT0 PC0-2|------->COL(9-11) + Z1 Z2 | PC3|------->ENABLE(12) +GND<----+---+-----------|GND PB0|<-------KEY(4) + | PB1|------->PREV(5) + | | + GND+-C2--+--|XTAL1 RXD|------->Debug Console + X1 | TXD|<-------Debug Console + GND+-C3--+--|XTAL2 RST|---SW--+GND + +---------------+ + +R1: 1.5K Ohm +R2,R3: 68 Ohm +Z1,Z2: Zener 3.6V +C1,C2: 22pF +C3: 0.1uF +X1: Crystal 12MHz +SW: Push Switch(Optional) +BATT: Li-Po Battery, Battery Charger and Voltage Regulator(5V and 3.3V). + + EOF diff --git a/hhkb/config_iwrap.h b/hhkb/config_iwrap.h new file mode 100644 index 00000000..80ab6439 --- /dev/null +++ b/hhkb/config_iwrap.h @@ -0,0 +1,55 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xBEEA +// TODO: share these strings with usbconfig.h +// Edit usbconfig.h to change these. +#define MANUFACTURER t.m.k. +#define PRODUCT HHKB mod +#define DESCRIPTION t.m.k. keyboard firmware for HHKB mod + + +/* matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 8 + + +/* key combination for command */ +#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_RSHIFT))) + +/* mouse keys */ +#ifdef MOUSEKEY_ENABLE +# define MOUSEKEY_DELAY_TIME 255 +#endif + +/* pins for Software UART */ +#define SUART_IN_PIN PINC +#define SUART_IN_BIT 5 +#define SUART_OUT_PORT PORTC +#define SUART_OUT_BIT 4 + + +#define DEBUG_LED 1 +#define DEBUG_LED_CONFIG (DDRD |= (1<<4)) +#define DEBUG_LED_OFF (PORTD |= (1<<4)) +#define DEBUG_LED_ON (PORTD &= ~(1<<4)) + +#endif diff --git a/hhkb/config_pjrc.h b/hhkb/config_pjrc.h index ef2efe2d..8379202c 100644 --- a/hhkb/config_pjrc.h +++ b/hhkb/config_pjrc.h @@ -36,11 +36,7 @@ along with this program. If not, see . /* key combination for command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (BIT_LSHIFT | BIT_RSHIFT) || \ - keyboard_report->mods == (BIT_LCTRL | BIT_RSHIFT) \ -) - +#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_RSHIFT))) /* mouse keys */ #ifdef MOUSEKEY_ENABLE diff --git a/hhkb/config_vusb.h b/hhkb/config_vusb.h index 115b73de..26864484 100644 --- a/hhkb/config_vusb.h +++ b/hhkb/config_vusb.h @@ -18,7 +18,6 @@ along with this program. If not, see . #ifndef CONFIG_H #define CONFIG_H - #define VENDOR_ID 0xFEED #define PRODUCT_ID 0xC0FE // TODO: share these strings with usbconfig.h @@ -34,11 +33,7 @@ along with this program. If not, see . /* key combination for command */ -#define IS_COMMAND() ( \ - keyboard_report->mods == (BIT_LSHIFT | BIT_RSHIFT) || \ - keyboard_report->mods == (BIT_LCTRL | BIT_RSHIFT) \ -) - +#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_RSHIFT))) /* mouse keys */ #ifdef MOUSEKEY_ENABLE @@ -46,4 +41,9 @@ along with this program. If not, see . #endif +#define DEBUG_LED 1 +#define DEBUG_LED_CONFIG (DDRD |= (1<<4)) +#define DEBUG_LED_OFF (PORTD |= (1<<4)) +#define DEBUG_LED_ON (PORTD &= ~(1<<4)) + #endif diff --git a/hhkb/doc/Bluetooth.txt b/hhkb/doc/Bluetooth.txt new file mode 100644 index 00000000..b27f1970 --- /dev/null +++ b/hhkb/doc/Bluetooth.txt @@ -0,0 +1,4 @@ +HHKB Bluetooth mod +================== +See this article: +http://geekhack.org/showwiki.php?title=Island:20851 diff --git a/hhkb/doc/Bluetooth_img/.picasa.ini b/hhkb/doc/Bluetooth_img/.picasa.ini new file mode 100755 index 00000000..f6a4f606 --- /dev/null +++ b/hhkb/doc/Bluetooth_img/.picasa.ini @@ -0,0 +1,2 @@ +[Picasa] +name=Bluetooth_img diff --git a/hhkb/doc/Bluetooth_img/BT_circuit.jpg b/hhkb/doc/Bluetooth_img/BT_circuit.jpg new file mode 100755 index 0000000000000000000000000000000000000000..2e5a25e81ec10c597493c1ea883ba402f0e43c3b GIT binary patch literal 502118 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 +Y$^D#47f3FiA6+zNdUilh}6$_K)?aR{zp< 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

E9 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 z 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/hhkb/doc/HHKB_TP1684.jpg b/hhkb/doc/HHKB_img/HHKB_TP1684.jpg similarity index 100% rename from hhkb/doc/HHKB_TP1684.jpg rename to hhkb/doc/HHKB_img/HHKB_TP1684.jpg diff --git a/hhkb/doc/HHKB_chart1.jpg b/hhkb/doc/HHKB_img/HHKB_chart1.jpg similarity index 100% rename from hhkb/doc/HHKB_chart1.jpg rename to hhkb/doc/HHKB_img/HHKB_chart1.jpg diff --git a/hhkb/doc/HHKB_chart2.jpg b/hhkb/doc/HHKB_img/HHKB_chart2.jpg similarity index 100% rename from hhkb/doc/HHKB_chart2.jpg rename to hhkb/doc/HHKB_img/HHKB_chart2.jpg diff --git a/hhkb/doc/HHKB_connector.jpg b/hhkb/doc/HHKB_img/HHKB_connector.jpg similarity index 100% rename from hhkb/doc/HHKB_connector.jpg rename to hhkb/doc/HHKB_img/HHKB_connector.jpg diff --git a/hhkb/doc/HHKB_controller.jpg b/hhkb/doc/HHKB_img/HHKB_controller.jpg similarity index 100% rename from hhkb/doc/HHKB_controller.jpg rename to hhkb/doc/HHKB_img/HHKB_controller.jpg diff --git a/hhkb/doc/HHKB_keyswitch.jpg b/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg similarity index 100% rename from hhkb/doc/HHKB_keyswitch.jpg rename to hhkb/doc/HHKB_img/HHKB_keyswitch.jpg diff --git a/hhkb/doc/connector_contact.jpg b/hhkb/doc/HHKB_img/connector_contact.jpg similarity index 100% rename from hhkb/doc/connector_contact.jpg rename to hhkb/doc/HHKB_img/connector_contact.jpg diff --git a/hhkb/doc/logic_analyzer.jpg b/hhkb/doc/HHKB_img/logic_analyzer.jpg similarity index 100% rename from hhkb/doc/logic_analyzer.jpg rename to hhkb/doc/HHKB_img/logic_analyzer.jpg diff --git a/hhkb/doc/probe_contact.jpg b/hhkb/doc/HHKB_img/probe_contact.jpg similarity index 100% rename from hhkb/doc/probe_contact.jpg rename to hhkb/doc/HHKB_img/probe_contact.jpg diff --git a/hhkb/doc/teensy_install.jpg b/hhkb/doc/HHKB_img/teensy_install.jpg similarity index 100% rename from hhkb/doc/teensy_install.jpg rename to hhkb/doc/HHKB_img/teensy_install.jpg diff --git a/hhkb/doc/teensy_wiring.jpg b/hhkb/doc/HHKB_img/teensy_wiring.jpg similarity index 100% rename from hhkb/doc/teensy_wiring.jpg rename to hhkb/doc/HHKB_img/teensy_wiring.jpg diff --git a/hhkb/keymap.c b/hhkb/keymap.c index f539a06c..85a7c31b 100644 --- a/hhkb/keymap.c +++ b/hhkb/keymap.c @@ -32,21 +32,21 @@ along with this program. If not, see . // Convert physical keyboard layout to matrix array. // This is a macro to define keymap easily in keyboard layout form. #define KEYMAP( \ - R3C1, R3C0, R0C0, R1C0, R1C1, R2C0, R2C1, R4C0, R4C1, R6C0, R6C1, R7C0, R7C1, R5C0, R5C1, \ - R3C2, R0C1, R0C2, R1C3, R1C2, R2C3, R2C2, R4C2, R4C3, R6C2, R6C3, R7C3, R7C2, R5C2, \ - R3C3, R0C4, R0C3, R1C4, R1C5, R2C4, R2C5, R4C5, R4C4, R6C5, R6C4, R7C4, R5C3, \ - R3C4, R0C5, R0C6, R0C7, R1C6, R1C7, R2C6, R4C6, R6C6, R7C6, R7C5, R5C5, R5C4, \ - R3C5, R3C6, R3C7, R5C7, R5C6 \ + K31, K30, K00, K10, K11, K20, K21, K40, K41, K60, K61, K70, K71, K50, K51, \ + K32, K01, K02, K13, K12, K23, K22, K42, K43, K62, K63, K73, K72, K52, \ + K33, K04, K03, K14, K15, K24, K25, K45, K44, K65, K64, K74, K53, \ + K34, K05, K06, K07, K16, K17, K26, K46, K66, K76, K75, K55, K54, \ + K35, K36, K37, K57, K56 \ ) \ { \ - { R0C0, R0C1, R0C2, R0C3, R0C4, R0C5, R0C6, R0C7 }, \ - { R1C0, R1C1, R1C2, R1C3, R1C4, R1C5, R1C6, R1C7 }, \ - { R2C0, R2C1, R2C2, R2C3, R2C4, R2C5, R2C6, KB_NO }, \ - { R3C0, R3C1, R3C2, R3C3, R3C4, R3C5, R3C6, R3C7 }, \ - { R4C0, R4C1, R4C2, R4C3, R4C4, R4C5, R4C6, KB_NO }, \ - { R5C0, R5C1, R5C2, R5C3, R5C4, R5C5, R5C6, R5C7 }, \ - { R6C0, R6C1, R6C2, R6C3, R6C4, R6C5, R6C6, KB_NO }, \ - { R7C0, R7C1, R7C2, R7C3, R7C4, R7C5, R7C6, KB_NO } \ + { KB_##K00, KB_##K01, KB_##K02, KB_##K03, KB_##K04, KB_##K05, KB_##K06, KB_##K07 }, \ + { KB_##K10, KB_##K11, KB_##K12, KB_##K13, KB_##K14, KB_##K15, KB_##K16, KB_##K17 }, \ + { KB_##K20, KB_##K21, KB_##K22, KB_##K23, KB_##K24, KB_##K25, KB_##K26, KB_NO }, \ + { KB_##K30, KB_##K31, KB_##K32, KB_##K33, KB_##K34, KB_##K35, KB_##K36, KB_##K37 }, \ + { KB_##K40, KB_##K41, KB_##K42, KB_##K43, KB_##K44, KB_##K45, KB_##K46, KB_NO }, \ + { KB_##K50, KB_##K51, KB_##K52, KB_##K53, KB_##K54, KB_##K55, KB_##K56, KB_##K57 }, \ + { KB_##K60, KB_##K61, KB_##K62, KB_##K63, KB_##K64, KB_##K65, KB_##K66, KB_NO }, \ + { KB_##K70, KB_##K71, KB_##K72, KB_##K73, KB_##K74, KB_##K75, KB_##K76, KB_NO } \ } #define KEYCODE(layer, row, col) (pgm_read_byte(&keymaps[(layer)][(row)][(col)])) @@ -58,8 +58,8 @@ static const uint8_t PROGMEM fn_layer[] = { 1, // Fn1 2, // Fn2 3, // Fn3 - 4, // Fn4 - 0, // Fn5 + 3, // Fn4 + 4, // Fn5 0, // Fn6 0 // Fn7 }; @@ -71,8 +71,8 @@ static const uint8_t PROGMEM fn_keycode[] = { KB_NO, // Fn1 KB_SLSH, // Fn2 KB_SCLN, // Fn3 - KB_SPC, // Fn4 - KB_NO, // Fn5 + KB_NO, // Fn4 + KB_SPC, // Fn5 KB_NO, // Fn6 KB_NO // Fn7 }; @@ -91,11 +91,11 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Gui|Alt |Fn5 |Alt |Fn4| * `-------------------------------------------' */ - KEYMAP(KB_ESC, KB_1, KB_2, KB_3, KB_4, KB_5, KB_6, KB_7, KB_8, KB_9, KB_0, KB_MINS,KB_EQL, KB_BSLS,KB_GRV, \ - KB_TAB, KB_Q, KB_W, KB_E, KB_R, KB_T, KB_Y, KB_U, KB_I, KB_O, KB_P, KB_LBRC,KB_RBRC,KB_BSPC, \ - KB_LCTL,KB_A, KB_S, KB_D, KB_F, KB_G, KB_H, KB_J, KB_K, KB_L, KB_FN3, KB_QUOT,KB_ENT, \ - KB_LSFT,KB_Z, KB_X, KB_C, KB_V, KB_B, KB_N, KB_M, KB_COMM,KB_DOT, KB_FN2, KB_RSFT,KB_FN1, \ - KB_LGUI,KB_LALT,KB_FN4, KB_RALT,KB_RGUI), + KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSLS,GRV, \ + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSPC, \ + LCTL,A, S, D, F, G, H, J, K, L, FN3, QUOT,ENT, \ + LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, RSFT,FN1, \ + LGUI,LALT, FN5, RALT,FN4), /* Layer 1: HHKB mode (HHKB Fn) * ,-----------------------------------------------------------. @@ -110,11 +110,11 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Gui |Alt |Space |Alt |xxx| * `--------------------------------------------' */ - KEYMAP(KB_ESC, KB_F1, KB_F2, KB_F3, KB_F4, KB_F5, KB_F6, KB_F7, KB_F8, KB_F9, KB_F10, KB_F11, KB_F12, KB_INS, KB_DEL, \ - KB_CAPS,KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_PSCR,KB_SLCK,KB_BRK, KB_UP, KB_NO, KB_BSPC, \ - KB_LCTL,KB_VOLD,KB_VOLU,KB_MUTE,KB_NO, KB_NO, KB_PAST,KB_PSLS,KB_HOME,KB_PGUP,KB_LEFT,KB_RGHT,KB_ENT, \ - KB_LSFT,KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_PPLS,KB_PMNS,KB_END, KB_PGDN,KB_DOWN,KB_RSFT,KB_FN1, \ - KB_LGUI,KB_LALT,KB_SPC, KB_RALT,KB_FN7), + KEYMAP(ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \ + CAPS,NO, NO, NO, NO, NO, NO, NO, PSCR,SLCK,BRK, UP, NO, BSPC, \ + LCTL,VOLD,VOLU,MUTE,NO, NO, PAST,PSLS,HOME,PGUP,LEFT,RGHT,ENT, \ + LSFT,NO, NO, NO, NO, NO, PPLS,PMNS,END, PGDN,DOWN,RSFT,FN1, \ + LGUI,LALT, SPC, RALT,FN7), /* Layer 2: Vi mode (Slash) * ,-----------------------------------------------------------. @@ -129,11 +129,11 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Gui|Alt |Space |Alt |Gui| * `-------------------------------------------' */ - KEYMAP(KB_ESC, KB_F1, KB_F2, KB_F3, KB_F4, KB_F5, KB_F6, KB_F7, KB_F8, KB_F9, KB_F10, KB_F11, KB_F12, KB_INS, KB_DEL, \ - KB_TAB, KB_HOME,KB_PGDN,KB_UP, KB_PGUP,KB_END, KB_HOME,KB_PGDN,KB_PGUP,KB_END, KB_NO, KB_NO, KB_NO, KB_BSPC, \ - KB_LCTL,KB_NO, KB_LEFT,KB_DOWN,KB_RGHT,KB_NO, KB_LEFT,KB_DOWN,KB_UP, KB_RGHT,KB_NO, KB_NO, KB_ENT, \ - KB_LSFT,KB_NO, KB_NO, KB_NO, KB_NO, KB_NO, KB_HOME,KB_PGDN,KB_PGUP,KB_END, KB_FN2, KB_RSFT,KB_NO, \ - KB_LGUI,KB_LALT,KB_SPC, KB_RALT,KB_RGUI), + KEYMAP(ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \ + TAB, HOME,PGDN,UP, PGUP,END, HOME,PGDN,PGUP,END, NO, NO, NO, BSPC, \ + LCTL,NO, LEFT,DOWN,RGHT,NO, LEFT,DOWN,UP, RGHT,NO, NO, ENT, \ + LSFT,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, FN2, RSFT,NO, \ + LGUI,LALT, SPC, RALT,RGUI), /* Layer 3: Mouse mode (Semicolon) * ,-----------------------------------------------------------. @@ -149,11 +149,24 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------------------------------' * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel */ - KEYMAP(KB_ESC, KB_F1, KB_F2, KB_F3, KB_F4, KB_F5, KB_F6, KB_F7, KB_F8, KB_F9, KB_F10, KB_F11, KB_F12, KB_INS, KB_DEL, \ - KB_TAB, KB_WH_L,KB_WH_U,KB_MS_U,KB_WH_D,KB_WH_R,KB_WH_L,KB_WH_D,KB_WH_U,KB_WH_R,KB_NO, KB_NO, KB_NO, KB_BSPC, \ - KB_LCTL,KB_NO, KB_MS_L,KB_MS_D,KB_MS_R,KB_NO, KB_MS_L,KB_MS_D,KB_MS_U,KB_MS_R,KB_FN3, KB_NO, KB_ENT, \ - KB_LSFT,KB_BTN4,KB_BTN5,KB_BTN1,KB_BTN2,KB_BTN3,KB_BTN2,KB_BTN1,KB_BTN4,KB_BTN5,KB_NO, KB_RSFT,KB_NO, \ - KB_LGUI,KB_LALT,KB_BTN1,KB_RALT,KB_RGUI), +#ifdef HOST_IWRAP +// iWRAP does not support mouse wheel, use these keycodes to remap as wheel +#define KB_KPPL KB_KP_PLUS +#define KB_KPMI KB_KP_MINUS +#define KB_KPAS KB_KP_ASTERISK +#define KB_KPSL KB_KP_SLASH + KEYMAP(ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \ + TAB, KPAS,KPPL,MS_U,KPMI,KPSL,KPAS,KPPL,KPMI,KPSL,NO, NO, NO, BSPC, \ + LCTL,NO, MS_L,MS_D,MS_R,NO, MS_L,MS_D,MS_U,MS_R,FN3, NO, ENT, \ + LSFT,BTN4,BTN5,BTN1,BTN2,BTN3,BTN2,BTN1,NO, NO, NO, RSFT,NO, \ + LGUI,LALT, BTN1, RALT,FN4), +#else + KEYMAP(ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \ + TAB, WH_L,WH_U,MS_U,WH_D,WH_R,WH_L,WH_D,WH_U,WH_R,NO, NO, NO, BSPC, \ + LCTL,NO, MS_L,MS_D,MS_R,NO, MS_L,MS_D,MS_U,MS_R,FN3, NO, ENT, \ + LSFT,BTN4,BTN5,BTN1,BTN2,BTN3,BTN2,BTN1,BTN4,BTN5,NO, RSFT,NO, \ + LGUI,LALT, BTN1, RALT,FN4), +#endif /* Layer 4: Matias half keyboard style (Space) * ,-----------------------------------------------------------. @@ -169,18 +182,26 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `--------------------------------------------' */ /* - KEYMAP(KB_MINS,KB_0, KB_9, KB_8, KB_7, KB_6, KB_5, KB_4, KB_3, KB_2, KB_1, KB_NO, KB_NO, KB_NO, KB_ESC, \ - KB_BSPC,KB_P, KB_O, KB_I, KB_U, KB_Y, KB_T, KB_R, KB_E, KB_W, KB_Q, KB_NO, KB_NO, KB_TAB, \ - KB_LCTL,KB_SCLN,KB_L, KB_K, KB_J, KB_H, KB_G, KB_F, KB_D, KB_S, KB_A, KB_RCTL,KB_RCTL, \ - KB_LSFT,KB_SLSH,KB_DOT, KB_COMM,KB_M, KB_N, KB_B, KB_V, KB_C, KB_X, KB_Z, KB_RSFT,KB_NO, \ - KB_LGUI,KB_LALT,KB_FN4, KB_RALT,KB_RGUI) + KEYMAP(MINS,0, 9, 8, 7, 6, 5, 4, 3, 2, 1, NO, NO, NO, ESC, \ + BSPC,P, O, I, U, Y, T, R, E, W, Q, NO, NO, TAB, \ + LCTL,SCLN,L, K, J, H, G, F, D, S, A, RCTL,RCTL, \ + LSFT,SLSH,DOT, COMM,M, N, B, V, C, X, Z, RSFT,NO, \ + LGUI,LALT, FN5, RALT,RGUI) */ /* Mouse mode (Space) */ - KEYMAP(KB_ESC, KB_F1, KB_F2, KB_F3, KB_F4, KB_F5, KB_F6, KB_F7, KB_F8, KB_F9, KB_F10, KB_F11, KB_F12, KB_INS, KB_DEL, \ - KB_TAB, KB_WH_L,KB_WH_U,KB_MS_U,KB_WH_D,KB_WH_R,KB_WH_L,KB_WH_D,KB_WH_U,KB_WH_R,KB_NO, KB_NO, KB_NO, KB_BSPC, \ - KB_LCTL,KB_NO, KB_MS_L,KB_MS_D,KB_MS_R,KB_NO, KB_MS_L,KB_MS_D,KB_MS_U,KB_MS_R,KB_FN3, KB_NO, KB_ENT, \ - KB_LSFT,KB_BTN4,KB_BTN5,KB_BTN1,KB_BTN2,KB_BTN3,KB_BTN2,KB_BTN1,KB_BTN4,KB_BTN5,KB_NO, KB_RSFT,KB_NO, \ - KB_LGUI,KB_LALT,KB_FN4, KB_RALT,KB_RGUI), +#ifdef HOST_IWRAP + KEYMAP(ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \ + TAB, KPAS,KPPL,MS_U,KPMI,KPSL,KPAS,KPPL,KPMI,KPSL,NO, NO, NO, BSPC, \ + LCTL,NO, MS_L,MS_D,MS_R,NO, MS_L,MS_D,MS_U,MS_R,FN3, NO, ENT, \ + LSFT,BTN4,BTN5,BTN1,BTN2,BTN3,BTN2,BTN1,BTN4,BTN5,NO, RSFT,NO, \ + LGUI,LALT, FN5, RALT,RGUI), +#else + KEYMAP(ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, \ + TAB, WH_L,WH_U,MS_U,WH_D,WH_R,WH_L,WH_D,WH_U,WH_R,NO, NO, NO, BSPC, \ + LCTL,NO, MS_L,MS_D,MS_R,NO, MS_L,MS_D,MS_U,MS_R,FN3, NO, ENT, \ + LSFT,BTN4,BTN5,BTN1,BTN2,BTN3,BTN2,BTN1,BTN4,BTN5,NO, RSFT,NO, \ + LGUI,LALT, FN5, RALT,RGUI), +#endif }; diff --git a/hhkb/matrix.c b/hhkb/matrix.c index a77febb2..350066b9 100644 --- a/hhkb/matrix.c +++ b/hhkb/matrix.c @@ -25,9 +25,15 @@ along with this program. If not, see . #include #include "print.h" #include "util.h" +#include "timer.h" #include "matrix.h" +// Timer resolution check +#if (1000000/TIMER_RAW_FREQ > 20) +# error "Timer resolution(>20us) is not enough for HHKB matrix scan tweak on V-USB." +#endif + #if (MATRIX_COLS > 16) # error "MATRIX_COLS must not exceed 16" #endif @@ -82,18 +88,22 @@ static bool matrix_has_ghost_in_row(uint8_t row); #define KEY_STATE() (PINE & (1<<6)) #define KEY_PREV_ON() (PORTE |= (1<<7)) #define KEY_PREV_OFF() (PORTE &= ~(1<<7)) - +#define KEY_POWER_ON() +#define KEY_POWER_OFF() #else // Ports for V-USB // key: PB0(pull-uped) // prev: PB1 // row: PB2-4 // col: PC0-2,3 +// power: PB5(Low:on/Hi-z:off) #define KEY_INIT() do { \ - DDRB |= 0x1E; \ - DDRB &= ~(1<<0); \ - PORTB |= (1<<0); \ - DDRC |= 0x0F; \ + DDRB |= 0x3E; \ + DDRB &= ~(1<<0); \ + PORTB |= 1<<0; \ + DDRC |= 0x0F; \ + KEY_UNABLE(); \ + KEY_PREV_OFF(); \ } while (0) #define KEY_SELECT(ROW, COL) do { \ PORTB = (PORTB & 0xE3) | ((ROW) & 0x07)<<2; \ @@ -104,6 +114,18 @@ static bool matrix_has_ghost_in_row(uint8_t row); #define KEY_STATE() (PINB & (1<<0)) #define KEY_PREV_ON() (PORTB |= (1<<1)) #define KEY_PREV_OFF() (PORTB &= ~(1<<1)) +// Power supply switching +#define KEY_POWER_ON() do { \ + KEY_INIT(); \ + PORTB &= ~(1<<5); \ + _delay_us(200); \ +} while (0) +#define KEY_POWER_OFF() do { \ + DDRB &= ~0x3F; \ + PORTB &= ~0x3F; \ + DDRC &= ~0x0F; \ + PORTC &= ~0x0F; \ +} while (0) #endif @@ -138,36 +160,46 @@ uint8_t matrix_scan(void) matrix_prev = matrix; matrix = tmp; + KEY_POWER_ON(); for (uint8_t row = 0; row < MATRIX_ROWS; row++) { for (uint8_t col = 0; col < MATRIX_COLS; col++) { KEY_SELECT(row, col); - _delay_us(40); // from logic analyzer chart + _delay_us(40); + + // Not sure this is needed. This just emulates HHKB controller's behaviour. if (matrix_prev[row] & (1< 20/(1000000/TIMER_RAW_FREQ)) { + matrix[row] = matrix_prev[row]; + } KEY_PREV_OFF(); KEY_UNABLE(); - _delay_us(150); // from logic analyzer chart + // NOTE: KEY_STATE keep its state in 20us after KEY_ENABLE. + // This takes 25us or more to make sure KEY_STATE returns to idle state. + _delay_us(150); } } + KEY_POWER_OFF(); return 1; } diff --git a/hhkb/usbconfig.h b/hhkb/usbconfig.h index e8283505..c3aad34b 100644 --- a/hhkb/usbconfig.h +++ b/hhkb/usbconfig.h @@ -171,7 +171,7 @@ section at the end of this file). /* This macro (if defined) is executed when a USB SET_ADDRESS request was * received. */ -#define USB_COUNT_SOF 0 +#define USB_COUNT_SOF 1 /* define this macro to 1 if you need the global variable "usbSofCount" which * counts SOF packets. This feature requires that the hardware interrupt is * connected to D- instead of D+. @@ -352,8 +352,8 @@ section at the end of this file). #define USB_CFG_DESCR_PROPS_STRING_VENDOR 0 #define USB_CFG_DESCR_PROPS_STRING_PRODUCT 0 #define USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER 0 -//#define USB_CFG_DESCR_PROPS_HID USB_PROP_IS_DYNAMIC -#define USB_CFG_DESCR_PROPS_HID 0 +#define USB_CFG_DESCR_PROPS_HID USB_PROP_IS_DYNAMIC +//#define USB_CFG_DESCR_PROPS_HID 0 #define USB_CFG_DESCR_PROPS_HID_REPORT USB_PROP_IS_DYNAMIC //#define USB_CFG_DESCR_PROPS_HID_REPORT 0 #define USB_CFG_DESCR_PROPS_UNKNOWN 0 @@ -375,4 +375,14 @@ section at the end of this file). /* #define USB_INTR_PENDING_BIT INTF0 */ /* #define USB_INTR_VECTOR INT0_vect */ +/* Set INT1 for D- falling edge to count SOF */ +/* #define USB_INTR_CFG EICRA */ +#define USB_INTR_CFG_SET ((1 << ISC11) | (0 << ISC10)) +/* #define USB_INTR_CFG_CLR 0 */ +/* #define USB_INTR_ENABLE EIMSK */ +#define USB_INTR_ENABLE_BIT INT1 +/* #define USB_INTR_PENDING EIFR */ +#define USB_INTR_PENDING_BIT INTF1 +#define USB_INTR_VECTOR INT1_vect + #endif /* __usbconfig_h_included__ */ diff --git a/host.c b/host.c new file mode 100644 index 00000000..65b5ddcb --- /dev/null +++ b/host.c @@ -0,0 +1,190 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include +#include +#include "usb_keycodes.h" +#include "host.h" +#include "util.h" +#include "debug.h" + + +#ifdef NKRO_ENABLE +bool keyboard_nkro = false; +#endif + +static host_driver_t *driver; +static report_keyboard_t report0; +static report_keyboard_t report1; +report_keyboard_t *keyboard_report = &report0; +report_keyboard_t *keyboard_report_prev = &report1; + + +static inline void add_key_byte(uint8_t code); +static inline void add_key_bit(uint8_t code); + + +void host_set_driver(host_driver_t *d) +{ + driver = d; +} + +host_driver_t *host_get_driver(void) +{ + return driver; +} + +uint8_t host_keyboard_leds(void) +{ + if (!driver) return 0; + return (*driver->keyboard_leds)(); +} + +/* keyboard report operations */ +void host_add_key(uint8_t key) +{ +#ifdef NKRO_ENABLE + if (keyboard_nkro) { + add_key_bit(key); + return; + } +#endif + add_key_byte(key); +} + +void host_add_mod_bit(uint8_t mod) +{ + keyboard_report->mods |= mod; +} + +void host_set_mods(uint8_t mods) +{ + keyboard_report->mods = mods; +} + +void host_add_code(uint8_t code) +{ + if (IS_MOD(code)) { + host_add_mod_bit(MOD_BIT(code)); + } else { + host_add_key(code); + } +} + +void host_swap_keyboard_report(void) +{ + uint8_t sreg = SREG; + cli(); + report_keyboard_t *tmp = keyboard_report_prev; + keyboard_report_prev = keyboard_report; + keyboard_report = tmp; + SREG = sreg; +} + +void host_clear_keyboard_report(void) +{ + keyboard_report->mods = 0; + for (int8_t i = 0; i < REPORT_KEYS; i++) { + keyboard_report->keys[i] = 0; + } +} + +uint8_t host_has_anykey(void) +{ + uint8_t cnt = 0; + for (int i = 0; i < REPORT_KEYS; i++) { + if (keyboard_report->keys[i]) + cnt++; + } + return cnt; +} + +uint8_t host_get_first_key(void) +{ +#ifdef NKRO_ENABLE + if (keyboard_nkro) { + uint8_t i = 0; + for (; i < REPORT_KEYS && !keyboard_report->keys[i]; i++) + ; + return i<<3 | biton(keyboard_report->keys[i]); + } +#endif + return keyboard_report->keys[0]; +} + + +void host_send_keyboard_report(void) +{ + if (!driver) return; + (*driver->send_keyboard)(keyboard_report); +} + +void host_mouse_send(report_mouse_t *report) +{ + if (!driver) return; + (*driver->send_mouse)(report); +} + +void host_system_send(uint16_t data) +{ + if (!driver) return; + (*driver->send_consumer)(data); +} + +void host_consumer_send(uint16_t data) +{ + // TODO: this is needed? + static uint16_t last_data = 0; + if (data == last_data) return; + last_data = data; + + if (!driver) return; + (*driver->send_consumer)(data); +} + + +static inline void add_key_byte(uint8_t code) +{ + // TODO: fix ugly code + int8_t i = 0; + int8_t empty = -1; + for (; i < REPORT_KEYS; i++) { + if (keyboard_report_prev->keys[i] == code) { + keyboard_report->keys[i] = code; + break; + } + if (empty == -1 && + keyboard_report_prev->keys[i] == 0 && + keyboard_report->keys[i] == 0) { + empty = i; + } + } + if (i == REPORT_KEYS) { + if (empty != -1) { + keyboard_report->keys[empty] = code; + } + } +} + +static inline void add_key_bit(uint8_t code) +{ + if ((code>>3) < REPORT_KEYS) { + keyboard_report->keys[code>>3] |= 1<<(code&7); + } else { + debug("add_key_bit: can't add: "); phex(code); debug("\n"); + } +} diff --git a/host.h b/host.h index bdbd7db0..06f1311a 100644 --- a/host.h +++ b/host.h @@ -19,88 +19,11 @@ along with this program. If not, see . #define HOST_H #include +#include "report.h" +#include "host_driver.h" -/* report id */ -#define REPORT_ID_MOUSE 1 -#define REPORT_ID_SYSTEM 2 -#define REPORT_ID_CONSUMER 3 - -/* keyboard Modifiers in boot protocol report */ -#define BIT_LCTRL (1<<0) -#define BIT_LSHIFT (1<<1) -#define BIT_LALT (1<<2) -#define BIT_LGUI (1<<3) -#define BIT_RCTRL (1<<4) -#define BIT_RSHIFT (1<<5) -#define BIT_RALT (1<<6) -#define BIT_RGUI (1<<7) -#define BIT_LCTL BIT_LCTRL -#define BIT_RCTL BIT_RCTRL -#define BIT_LSFT BIT_LSHIFT -#define BIT_RSFT BIT_RSHIFT - -/* mouse buttons */ -#define MOUSE_BTN1 (1<<0) -#define MOUSE_BTN2 (1<<1) -#define MOUSE_BTN3 (1<<2) -#define MOUSE_BTN4 (1<<3) -#define MOUSE_BTN5 (1<<4) - -// Consumer Page(0x0C) -#define AUDIO_MUTE 0x00E2 -#define AUDIO_VOL_UP 0x00E9 -#define AUDIO_VOL_DOWN 0x00EA -#define TRANSPORT_NEXT_TRACK 0x00B5 -#define TRANSPORT_PREV_TRACK 0x00B6 -#define TRANSPORT_STOP 0x00B7 -#define TRANSPORT_PLAY_PAUSE 0x00CD -#define AL_CC_CONFIG 0x0183 -#define AL_EMAIL 0x018A -#define AL_CALCULATOR 0x0192 -#define AL_LOCAL_BROWSER 0x0194 -#define AC_SEARCH 0x0221 -#define AC_HOME 0x0223 -#define AC_BACK 0x0224 -#define AC_FORWARD 0x0225 -#define AC_STOP 0x0226 -#define AC_REFRESH 0x0227 -#define AC_BOOKMARKS 0x022A - -// Generic Desktop Page(0x01) -#define SYSTEM_POWER_DOWN 0x0081 -#define SYSTEM_SLEEP 0x0082 -#define SYSTEM_WAKE_UP 0x0083 - - -#if defined(HOST_PJRC) -# include "usb.h" -# if defined(KBD2_REPORT_KEYS) && KBD2_REPORT_KEYS > KBD_REPORT_KEYS -# define REPORT_KEYS KBD2_REPORT_KEYS -# else -# define REPORT_KEYS KBD_REPORT_KEYS -# endif -#elif defined(HOST_VUSB) -# define REPORT_KEYS 6 -#endif - -typedef struct { - uint8_t mods; - uint8_t rserved; - uint8_t keys[REPORT_KEYS]; -} report_keyboard_t; - -typedef struct { - uint8_t report_id; - uint8_t buttons; - int8_t x; - int8_t y; - int8_t v; - int8_t h; -} report_mouse_t; - - -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE extern bool keyboard_nkro; #endif @@ -108,6 +31,8 @@ extern report_keyboard_t *keyboard_report; extern report_keyboard_t *keyboard_report_prev; +void host_set_driver(host_driver_t *driver); +host_driver_t *host_get_driver(void); uint8_t host_keyboard_leds(void); /* keyboard report operations */ @@ -122,12 +47,8 @@ uint8_t host_get_first_key(void); void host_send_keyboard_report(void); -#if defined(MOUSEKEY_ENABLE) || defined(PS2_MOUSE_ENABLE) void host_mouse_send(report_mouse_t *report); -#endif -#ifdef USB_EXTRA_ENABLE void host_system_send(uint16_t data); void host_consumer_send(uint16_t data); -#endif #endif diff --git a/host_driver.h b/host_driver.h new file mode 100644 index 00000000..edb9e5dd --- /dev/null +++ b/host_driver.h @@ -0,0 +1,33 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef HOST_DRIVER_H +#define HOST_DRIVER_H + +#include +#include "report.h" + + +typedef struct { + uint8_t (*keyboard_leds)(void); + void (*send_keyboard)(report_keyboard_t *); + void (*send_mouse)(report_mouse_t *); + void (*send_system)(uint16_t); + void (*send_consumer)(uint16_t); +} host_driver_t; + +#endif diff --git a/iwrap.mk b/iwrap.mk new file mode 100644 index 00000000..ea4a6e97 --- /dev/null +++ b/iwrap.mk @@ -0,0 +1,10 @@ +OPT_DEFS += -DHOST_IWRAP + +SRC += iwrap.c \ + suart.S \ + sendchar_uart.c \ + uart.c + + +# Search Path +VPATH += $(COMMON_DIR)/iwrap diff --git a/iwrap/iWRAP.txt b/iwrap/iWRAP.txt new file mode 100644 index 00000000..2a062d9d --- /dev/null +++ b/iwrap/iWRAP.txt @@ -0,0 +1,376 @@ +Bulegiga WT12 +============= +WT12 is a bluetooth module from Bluegiga. http://www.bluegiga.com/ + +iWRAP + higher layer interface for bluetooth firmware + communicate with UART + +iWRAP HID +default setting + 115200 8bit/n/1/n + + +TODO +---- +KiCAD circuit/PCB design +power saving + AVR sleep(15ms by watch dog timer) + WT12 sleep + measuring current consumption + measuring battery life of normal usage/idle/intensive usage +software reset/bootloarder +LED indicator(chaging/paring/connecting) +license confirmation of suart.c +consumer page is not working +authenticate method/SSP +SPP keyboard support +SPP debug console support +mouse wheel feature request to Bluegiga + + +Problems +-------- +power consumption +no consumer page support(bug?) +no mouse wheel support +no paring management +no interactive auth method + + +UART hardware flow control +-------------------------- +(iWRAP4 User Guide 9.5) +Hardware flow control is enabled by default and it should not be disabled unless mandatory, because without the hardware flow control the data transmission may not be reliable. +If the hardware flow control is enabled from PS-keys, but no flow control is used, the following steps should be implemented in the hardware design: +- CTS pin must be grounded +- RTS pin must be left floating + + +Power Saving +------------ +power consume + without opimization: 4hr to shutdown(310mAh) + 2011/08/25: 9hr(310mAh) SNIFF MASTER sleep/WDTO_120MS + +measure current consumption + HHKB keyswitch matrix board + idle + scanning + Bluegiga WT12 module + SLEEP command + deep sleep on/off in config bits + +HHKB keyswich + how to power off + I/O pin configuration when sleeping + FET switch for 5V regulator + +Bluetooth module + power off when in USB mode + power off by FET switch + +AVR configuration + unused pins + ADC + + + +SET CONTROL CONFIG +------------------ + SET CONTROL CONFIG 4810 + SET CONTROL CONFIG LIST + SET CONTROL CONFIG 0000 0000 4910 DEEP_SLEEP KLUDGE INTERACTIVE_PIN UART_LATENCY + + Bit14 UART low latency + Bit11 Interactive pairing mode + Bit04 Deep sleep + + +Reconnection +------------ +SET CONTROL AUTOCALL 1124 5000 HID + 1124 HID service class + 5000 interval ms + +HID profile +----------- +This is needed to configure only once. + SET PROFILE HID ON + RESET + +HID class +--------- + SET BT CLASS 005C0 // keyboard/mouse combined devie + +Pairing Security +---------------- +Secure Simple Pairing(SSP) + SET BT SSP 2 0 // Enables SSP for keyboard and Man-in-the-middle protection + SET BT SSP 3 0 // Enables SSP just works mode + +for keyboard with SSP + SET BT AUTH * 0000 + SET BT SSP 2 0 + SET CONTROL CONFIG 800 + RESET + +for keyboard without SSP + SET BT AUTH * 0000 + SET CONTROL CONFIG 800 + RESET + +AUTH + AUTH xx:xx:xx:xx:xx:xx? // Pairing request event + AUTH xx:xx:xx:xx:xx:xx 0000 + + SSP PASSKEY 78:dd:08:b7:e4:a2 ? + SSP PASSKEY 78:dd:08:b7:e4:a2 xxxxx + (SSP COMPLETE 78:dd:08:b7:e4:a2 HCI_ERROR_AUTH_FAIL // failed) + RING 0 78:dd:08:b7:e4:a2 11 HID + +Connecton + RING xx:xx:xx:xx:xx:xx xx HID // connection event + + KILL xx:xx:xx:xx:xx:xx + +Mode +---- +Command mode +Data mode + Raw mode + (Simple mode not for a real keyboard) + +Raw mode + Keyboard: + 0x9f, length(10), 0xa1, 0x01, mods, 0x00, key1, key2, key3, key4, key5, key6 + + Mouse: + 0x9f, length(5), 0xa1, 0x02, buttons, X, Y + + Consumer page: + 0x9f, length(5), 0xa1, 0x03, bitfield1, bitfield2, bitfield3 + + consumer page suage + Bitfield 1: + 0x01 Volume Increment + 0x02 Volume Decrement + 0x04 Mute + 0x08 Play/Pause + 0x10 Scan Next Track + 0x20 Scan Previous Track + 0x40 Stop + 0x80 Eject + Bitfield 2: + 0x01 Email Reader + 0x02 Application Control Search + 0x04 AC Bookmarks + 0x08 AC Home + 0x10 AC Back + 0x20 AC Forward + 0x40 AC Stop + 0x80 AC Refresh + Bitfield 3: + 0x01 Application Launch Generic Consumer Control + 0x02 AL Internet Browser + 0x04 AL Calculator + 0x08 AL Terminal Lock / Screensaver + 0x10 AL Local Machine Browser + 0x20 AC Minimize + 0x40 Record + 0x80 Rewind + + + + + +2011/07/13 +set +SET BT BDADDR 00:07:80:47:22:14 +SET BT NAME HHKB pro BT +SET BT CLASS 0005c0 +SET BT AUTH * 0000 +SET BT IDENT BT:47 f000 4.1.0 Bluegiga iWRAP +SET BT LAP 9e8b33 +SET BT PAGEMODE 4 2000 1 +SET BT PAIR 78:dd:08:b7:e4:a2 a191189cd7e51030ad6a07848ce879bb +SET BT POWER 3 3 3 +SET BT ROLE 0 f 7d00 +SET BT SNIFF 0 20 1 8 +SET BT SSP 2 1 +SET BT MTU 667 +SET CONTROL AUTOCALL 1124 3000 HID +SET CONTROL BAUD 38400,8n1 +SET CONTROL CD 00 0 +SET CONTROL ECHO 7 +SET CONTROL ESCAPE 43 00 1 +SET CONTROL GAIN 0 5 +SET CONTROL INIT SET CONTROL MUX 0 +SET CONTROL MSC DTE 00 00 00 00 00 00 +SET CONTROL MUX 1 +SET CONTROL PIO 00 00 +SET CONTROL READY 00 +SET PROFILE HID f HID +SET + +info config + +!!! THIS IS BETA RELEASE AND MAY BE USED FOR EVALUATION PURPOSES ONLY !!! + +WRAP THOR AI (4.1.0 build 435) +Copyright (c) 2003-2011 Bluegiga Technologies Inc. +Compiled on Jun 28 2011 17:19:51, running on WT12-A module, psr v31 + AVRCP BGIO FTP HFP HFP_AG HID HID_CONSUMER_PAGE HSP LEDS MAP OTA PBAP PIO=0x00fc SSP SUBRATE TEST VOLUME + - BOCK3 version 435 (Jun 28 2011 17:19:37) (max acl/sco 7/1) + - Bluetooth version 2.1, Power class 2 + - Loader 4279, firmware 6297 (56-bit encryption), native execution mode + - up 0 days, 06:23, 2 connections (pool 2) + - User configuration: +&028a = 0001 0000 0000 0011 0024 0000 0000 0010 0000 0080 0000 0000 0080 005f 009b 0034 00fb 0006 +&028b = 0000 0bb8 +&028d = 0001 +&0295 = 0000 0005 000b 0000 0003 0000 0000 0000 0000 0000 0000 +&0298 = a006 +&0299 = 0000 0000 +&02a3 = 0030 0030 0030 0030 +&02a4 = 009d 0000 +&02a5 = 0053 0045 0054 0020 0043 004f 004e 0054 0052 004f 004c 0020 004d 0055 0058 0020 0030 +&02a7 = 0000 05c0 +&02a8 = 4910 0000 0000 +&02aa = 0004 2000 0001 0033 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +&02ac = 0000 0000 002b 0000 0000 0000 0000 0000 0000 0000 0002 0000 0000 0000 0010 0000 0000 0000 0000 029b 0000 0000 0000 0000 +&02ad = 4848 424b 7020 6f72 4220 0054 +&02b3 = 0005 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 +&02b7 = 000f 4948 0044 +&02bb = 8000 +READY. + + + + +2011/07/07 settings: +set +SET BT BDADDR 00:07:80:47:22:14 +SET BT NAME HHKB Pro BT +SET BT CLASS 0005c0 +SET BT AUTH * 000 +SET BT IDENT BT:47 f000 4.0.0 Bluegiga iWRAP +SET BT LAP 9e8b33 +SET BT PAGEMODE 4 2000 1 +SET BT PAIR 78:dd:08:b7:e4:a2 9e54d0aabb1b4d73cfccddb1ea4ef2d6 +SET BT POWER 3 3 3 +SET BT ROLE 0 f 7d00 +SET BT SNIFF 0 20 1 8 +SET BT SSP 3 0 +SET BT MTU 667 +SET CONTROL BAUD 38400,8n1 +SET CONTROL CD 00 0 +SET CONTROL ECHO 7 +SET CONTROL ESCAPE 255 00 1 +SET CONTROL GAIN 0 5 +SET CONTROL INIT set control mux 0 +SET CONTROL MSC DTE 00 00 00 00 00 00 +SET CONTROL PREAMP 1 1 +SET CONTROL READY 00 +SET PROFILE HID HID +SET PROFILE SPP Bluetooth Serial Port +SET + +info config +WRAP THOR AI (4.0.0 build 317) +Copyright (c) 2003-2010 Bluegiga Technologies Inc. +Compiled on Apr 20 2010 16:44:28, running on WT12-A module, psr v31 + AVRCP FTP PBAP PIO=0x00fc SSP SUBRATE VOLUME + - BOCK3 version 317 (Apr 20 2010 16:44:21) (max acl/sco 7/1) + - Bluetooth version 2.1, Power class 2 + - Loader 4279, firmware 6297 (56-bit encryption), native execution mode + - up 0 days, 00:00, 0 connections (pool 1) + - User configuration: +&028c = 0001 0020 0000 0001 0008 0000 +&028d = 0000 +&0296 = 0047 0001 f000 0400 6c42 6575 6967 6167 6920 5257 5041 +&0298 = c006 +&02a3 = 0030 0030 0030 +&02a4 = 009d 0000 +&02a5 = 0073 0065 0074 0020 0063 006f 006e 0074 0072 006f 006c 0020 006d 0075 0078 0020 0030 +&02a7 = 0000 05c0 +&02a8 = 0800 0000 0000 +&02ac = 0000 0000 00ff 0000 0000 0000 0000 0000 0000 0000 0002 0000 0000 0000 0010 0000 0000 0000 0000 029b 0000 0000 0000 0000 +&02ad = 4848 424b 5020 6f72 4220 0054 +&02b3 = 0004 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 0003 +&02b7 = 0000 +&02bb = 6c42 6575 6f74 746f 2068 6553 6972 6c61 5020 726f 0074 +READY. + + + +2011/08/23: +SET BT BDADDR 00:07:80:47:22:14 +SET BT NAME HHKB pro BT +SET BT CLASS 0005c0 +SET BT AUTH * 0000 +SET BT IDENT BT:47 f000 4.1.0 Bluegiga iWRAP +SET BT LAP 9e8b33 +SET BT PAGEMODE 4 2000 1 +SET BT PAIRCOUNT 4 +SET BT POWER 3 3 3 +SET BT ROLE 1 f 12c0 +SET BT SNIFF 10 2 1 8 +SET BT SSP 3 0 +SET BT MTU 667 +SET CONTROL BAUD 38400,8n1 +SET CONTROL CD 00 0 +SET CONTROL ECHO 7 +SET CONTROL ESCAPE 43 00 1 +SET CONTROL GAIN 0 5 +SET CONTROL INIT SET CONTROL MUX 0 +SET CONTROL MSC DTE 00 00 00 00 00 00 +SET CONTROL MUX 1 +SET CONTROL PIO 00 00 +SET CONTROL READY 00 +SET PROFILE HID 7 HIDKeyboardMouse +SET + +SET CONTROL CONFIG 0000 0004 481e CLOCK_CACHE INTERLACED_INQ INTERLACED_PAGE DEEP_SLEEP INTERACTIVE_PIN UART_LATENCY 23D_NOKLUDGE + + + +2011/08/25: +SET BT BDADDR 00:07:80:47:22:14 +SET BT NAME HHKB pro BT +SET BT CLASS 0005c0 + +SET BT IDENT BT:47 f000 4.1.0 Bluegiga iWRAP +SET BT LAP 9e8b33 +SET BT PAGEMODE 4 2000 1 +SET BT PAIRCOUNT 4 +SET BT PAIR 78:dd:08:b7:e4:a2 0be83335a03fed8ededae42e99554e28 +SET BT POWER 3 3 3 +SET BT ROLE 1 f 12c0 +SET BT SNIFF 100 20 1 8 +SET BT SSP 3 0 +SET BT MTU 667 +SET CONTROL BAUD 38400,8n1 +SET CONTROL CD 00 0 +SET CONTROL ECHO 7 +SET CONTROL ESCAPE - 20 1 +SET CONTROL GAIN 0 5 +SET CONTROL INIT SET CONTROL MUX 0 +SET CONTROL MSC DTE 00 00 00 00 00 00 +SET CONTROL MUX 1 +SET CONTROL PIO 00 00 +SET CONTROL READY 00 +SET PROFILE HID f HIDKeyboardMouse +SET + + +SET CONTROL CONFIG 0000 0000 490e CLOCK_CACHE INTERLACED_INQ INTERLACED_PAGE KLUDGE INTERACTIVE_PIN UART_LATENCY + + +2011/09/08: +SET CONTROL CONFIG 0000 0000 410e CLOCK_CACHE INTERLACED_INQ INTERLACED_PAGE KLUDGE UART_LATENCY + + Removed INTERACTIVE_PIN to avoid interactive auth and use SET BT AUTH pin(0000). + + +EOF diff --git a/iwrap/iwrap.c b/iwrap/iwrap.c new file mode 100644 index 00000000..9c68761b --- /dev/null +++ b/iwrap/iwrap.c @@ -0,0 +1,467 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +/* host driver for Bulegiga iWRAP */ +/* Bluegiga BT12 + * Connections + * Hardware UART Software UART BlueTooth + * PC=====UART=======AVR=====SUART====iWRAP(BT12)-----------PC + * + * - Hardware UART for Debug Console to communicate iWRAP + * - Software UART for iWRAP control to send keyboard/mouse data + */ + +#include +#include +#include +#include +#include "usb_keycodes.h" +#include "suart.h" +#include "uart.h" +#include "report.h" +#include "host_driver.h" +#include "iwrap.h" +#include "print.h" + + +/* iWRAP MUX mode utils. 3.10 HID raw mode(iWRAP_HID_Application_Note.pdf) */ +#define MUX_HEADER(LINK, LENGTH) do { \ + xmit(0xbf); /* SOF */ \ + xmit(LINK); /* Link */ \ + xmit(0x00); /* Flags */ \ + xmit(LENGTH); /* Length */ \ +} while (0) +#define MUX_FOOTER(LINK) xmit(LINK^0xff) + + +static uint8_t connected = 0; +//static uint8_t channel = 1; + +/* iWRAP buffer */ +#define MUX_BUF_SIZE 64 +static char buf[MUX_BUF_SIZE]; +static uint8_t snd_pos = 0; + +#define MUX_RCV_BUF_SIZE 256 +static char rcv_buf[MUX_RCV_BUF_SIZE]; +static uint8_t rcv_head = 0; +static uint8_t rcv_tail = 0; + + +/* receive buffer */ +static void rcv_enq(char c) +{ + uint8_t next = (rcv_head + 1) % MUX_RCV_BUF_SIZE; + if (next != rcv_tail) { + rcv_buf[rcv_head] = c; + rcv_head = next; + } +} + +static char rcv_deq(void) +{ + char c = 0; + if (rcv_head != rcv_tail) { + c = rcv_buf[rcv_tail++]; + rcv_tail %= MUX_RCV_BUF_SIZE; + } + return c; +} + +/* +static char rcv_peek(void) +{ + if (rcv_head == rcv_tail) + return 0; + return rcv_buf[rcv_tail]; +} +*/ + +static void rcv_clear(void) +{ + rcv_tail = rcv_head = 0; +} + +/* iWRAP response */ +ISR(PCINT1_vect, ISR_BLOCK) // recv() runs away in case of ISR_NOBLOCK +{ + if ((SUART_IN_PIN & (1<mods); + xmit(0x00); // reserved byte(always 0) + xmit(report->keys[0]); + xmit(report->keys[1]); + xmit(report->keys[2]); + xmit(report->keys[3]); + xmit(report->keys[4]); + xmit(report->keys[5]); + MUX_FOOTER(0x01); +} + +static void send_mouse(report_mouse_t *report) +{ +#if defined(MOUSEKEY_ENABLE) || defined(PS2_MOUSE_ENABLE) + if (!iwrap_connected() && !iwrap_check_connection()) return; + MUX_HEADER(0x01, 0x07); + // HID raw mode header + xmit(0x9f); + xmit(0x05); // Length + xmit(0xa1); // mouse report + xmit(0x02); + xmit(report->buttons); + xmit(report->x); + xmit(report->y); + MUX_FOOTER(0x01); +#endif +} + +static void send_system(uint16_t data) +{ + /* not supported */ +} + +static void send_consumer(uint16_t data) +{ +#ifdef EXTRAKEY_ENABLE + static uint16_t last_data = 0; + uint8_t bits1 = 0; + uint8_t bits2 = 0; + uint8_t bits3 = 0; + + if (!iwrap_connected() && !iwrap_check_connection()) return; + if (data == last_data) return; + last_data = data; + + // 3.10 HID raw mode(iWRAP_HID_Application_Note.pdf) + switch (data) { + case AUDIO_VOL_UP: + bits1 = 0x01; + break; + case AUDIO_VOL_DOWN: + bits1 = 0x02; + break; + case AUDIO_MUTE: + bits1 = 0x04; + break; + case TRANSPORT_PLAY_PAUSE: + bits1 = 0x08; + break; + case TRANSPORT_NEXT_TRACK: + bits1 = 0x10; + break; + case TRANSPORT_PREV_TRACK: + bits1 = 0x20; + break; + case TRANSPORT_STOP: + bits1 = 0x40; + break; + case TRANSPORT_EJECT: + bits1 = 0x80; + break; + case AL_EMAIL: + bits2 = 0x01; + break; + case AC_SEARCH: + bits2 = 0x02; + break; + case AC_BOOKMARKS: + bits2 = 0x04; + break; + case AC_HOME: + bits2 = 0x08; + break; + case AC_BACK: + bits2 = 0x10; + break; + case AC_FORWARD: + bits2 = 0x20; + break; + case AC_STOP: + bits2 = 0x40; + break; + case AC_REFRESH: + bits2 = 0x80; + break; + case AL_CC_CONFIG: + bits3 = 0x01; + break; + case AL_CALCULATOR: + bits3 = 0x04; + break; + case AL_LOCK: + bits3 = 0x08; + break; + case AL_LOCAL_BROWSER: + bits3 = 0x10; + break; + case AC_MINIMIZE: + bits3 = 0x20; + break; + case TRANSPORT_RECORD: + bits3 = 0x40; + break; + case TRANSPORT_REWIND: + bits3 = 0x80; + break; + } + + MUX_HEADER(0x01, 0x07); + xmit(0x9f); + xmit(0x05); // Length + xmit(0xa1); // consumer report + xmit(0x03); + xmit(bits1); + xmit(bits2); + xmit(bits3); + MUX_FOOTER(0x01); +#endif +} diff --git a/iwrap/iwrap.h b/iwrap/iwrap.h new file mode 100644 index 00000000..ffaad939 --- /dev/null +++ b/iwrap/iwrap.h @@ -0,0 +1,49 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef IWRAP_H +#define IWRAP_H + +#include +#include +#include "host_driver.h" + + +/* enable iWRAP MUX mode */ +#define MUX_MODE + + +host_driver_t *iwrap_driver(void); + +void iwrap_init(void); +void iwrap_send(const char *s); +void iwrap_mux_send(const char *s); +void iwrap_buf_send(void); +void iwrap_buf_add(uint8_t c); +void iwrap_buf_del(void); + +void iwrap_call(void); +void iwrap_kill(void); +void iwrap_unpair(void); +void iwrap_sleep(void); +void iwrap_sniff(void); +void iwrap_subrate(void); +bool iwrap_failed(void); +uint8_t iwrap_connected(void); +uint8_t iwrap_check_connection(void); + +#endif diff --git a/iwrap/main.c b/iwrap/main.c new file mode 100644 index 00000000..a552afb6 --- /dev/null +++ b/iwrap/main.c @@ -0,0 +1,378 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include +#include +#include +//#include +#include "wd.h" // in order to use watchdog in interrupt mode +#include +#include +#include +#include "keyboard.h" +#include "matrix.h" +#include "host.h" +#include "iwrap.h" +#ifdef HOST_VUSB +# include "vusb.h" +# include "usbdrv.h" +#endif +#include "uart.h" +#include "suart.h" +#include "timer.h" +#include "debug.h" +#include "usb_keycodes.h" +#include "command.h" + + +static void sleep(uint8_t term); +static bool console(void); +static uint8_t console_command(uint8_t c); +static uint8_t key2asc(uint8_t key); + + +/* +static void set_prr(void) +{ + power_adc_disable(); + power_spi_disable(); + power_twi_disable(); +#ifndef TIMER_H + //power_timer0_disable(); // used in timer.c +#endif + power_timer1_disable(); + power_timer2_disable(); +} +*/ + +/* +static void pullup_pins(void) +{ + // DDRs are set to 0(input) by default. +#ifdef PORTA + PORTA = 0xFF; +#endif + PORTB = 0xFF; + PORTC = 0xFF; + PORTD = 0xFF; +#ifdef PORTE + PORTE = 0xFF; +#endif +#ifdef PORTE + PORTF = 0xFF; +#endif +} +*/ + + +#ifdef HOST_VUSB +static void disable_vusb(void) +{ + // disable interrupt & disconnect to prevent host from enumerating + USB_INTR_ENABLE &= ~(1 << USB_INTR_ENABLE_BIT); + usbDeviceDisconnect(); +} + +static void enable_vusb(void) +{ + USB_INTR_ENABLE |= (1 << USB_INTR_ENABLE_BIT); + usbDeviceConnect(); +} + +static void init_vusb(void) +{ + uint8_t i = 0; + + usbInit(); + disable_vusb(); + /* fake USB disconnect for > 250 ms */ + while(--i){ + _delay_ms(1); + } + enable_vusb(); +} +#endif + +void change_driver(host_driver_t *driver) +{ + host_clear_keyboard_report(); + host_swap_keyboard_report(); + host_clear_keyboard_report(); + host_send_keyboard_report(); + _delay_ms(1000); + host_set_driver(driver); +} + + +static bool sleeping = false; +static bool insomniac = false; // TODO: should be false for power saving +static uint16_t last_timer = 0; + +int main(void) +{ + MCUSR = 0; + clock_prescale_set(clock_div_1); + WD_SET(WD_OFF); + + // power saving: the result is worse than nothing... why? + //pullup_pins(); + //set_prr(); + + print_enable = true; + debug_enable = false; + +#ifdef HOST_VUSB + disable_vusb(); +#endif + uart_init(115200); + keyboard_init(); + print("\nSend BREAK for UART Console Commands.\n"); + + // TODO: move to iWRAP/suart file + print("suart init\n"); + // suart init + // PC4: Tx Output IDLE(Hi) + PORTC |= (1<<4); + DDRC |= (1<<4); + // PC5: Rx Input(pull-up) + PORTC |= (1<<5); + DDRC &= ~(1<<5); + // suart receive interrut(PC5/PCINT13) + PCMSK1 = 0b00100000; + PCICR = 0b00000010; + + host_set_driver(iwrap_driver()); + + print("iwrap_init()\n"); + iwrap_init(); + iwrap_call(); + + last_timer = timer_read(); + while (true) { +#ifdef HOST_VUSB + if (host_get_driver() == vusb_driver()) + usbPoll(); +#endif + keyboard_proc(); +#ifdef HOST_VUSB + if (host_get_driver() == vusb_driver()) + vusb_transfer_keyboard(); +#endif + if (matrix_is_modified() || console()) { + last_timer = timer_read(); + sleeping = false; + } else if (!sleeping && timer_elapsed(last_timer) > 4000) { + sleeping = true; + iwrap_check_connection(); + } + + if (host_get_driver() == iwrap_driver()) { + if (sleeping && !insomniac) { + _delay_ms(1); // wait for UART to send + iwrap_sleep(); + sleep(WDTO_60MS); + } + } + } +} + +static void sleep(uint8_t term) +{ + WD_SET(WD_IRQ, term); + + cli(); + set_sleep_mode(SLEEP_MODE_PWR_DOWN); + sleep_enable(); + sleep_bod_disable(); + sei(); + sleep_cpu(); + sleep_disable(); + + WD_SET(WD_OFF); +} + +ISR(WDT_vect) +{ + // wake up +} + +static bool console(void) +{ + // Send to Bluetoot module WT12 + static bool breaked = false; + if (!uart_available()) + return false; + else { + uint8_t c; + c = uart_getchar(); + uart_putchar(c); + switch (c) { + case 0x00: // BREAK signal + if (!breaked) { + print("break(? for help): "); + breaked = true; + } + break; + case '\r': + uart_putchar('\n'); + iwrap_buf_send(); + break; + case '\b': + iwrap_buf_del(); + break; + default: + if (breaked) { + print("\n"); + console_command(c); + breaked = false; + } else { + iwrap_buf_add(c); + } + break; + } + return true; + } +} + +uint8_t command_extra() +{ + return console_command(key2asc(host_get_first_key())); +} + +static uint8_t console_command(uint8_t c) +{ + switch (c) { + case 'h': + case '?': + print("\nCommands for Bluetooth(WT12/iWRAP):\n"); + print("r: reset. software reset by watchdog\n"); + print("i: insomniac. prevent KB from sleeping\n"); + print("c: iwrap_call. CALL for BT connection.\n"); +#ifdef HOST_VUSB + print("u: USB mode. switch to USB.\n"); + print("w: BT mode. switch to Bluetooth.\n"); +#endif + print("k: kill first connection.\n"); + print("Del: unpair first pairing.\n"); + print("\n"); + return 0; + case 'r': + print("reset\n"); + WD_AVR_RESET(); + return 1; + case 'i': + insomniac = !insomniac; + if (insomniac) + print("insomniac\n"); + else + print("not insomniac\n"); + return 1; + case 'c': + print("iwrap_call()\n"); + iwrap_call(); + return 1; +#ifdef HOST_VUSB + case 'u': + print("USB mode\n"); + init_vusb(); + change_driver(vusb_driver()); + //iwrap_kill(); + //iwrap_sleep(); + // disable suart receive interrut(PC5/PCINT13) + PCMSK1 &= ~(0b00100000); + PCICR &= ~(0b00000010); + return 1; + case 'w': + print("iWRAP mode\n"); + change_driver(iwrap_driver()); + disable_vusb(); + // enable suart receive interrut(PC5/PCINT13) + PCMSK1 |= 0b00100000; + PCICR |= 0b00000010; + return 1; +#endif + case 'k': + print("kill\n"); + iwrap_kill(); + return 1; + case 0x7F: // DELETE + print("unpair\n"); + iwrap_unpair(); + return 1; + } + return 0; +} + +// convert keycode into ascii charactor +static uint8_t key2asc(uint8_t key) +{ + switch (key) { + case KB_A: return 'a'; + case KB_B: return 'b'; + case KB_C: return 'c'; + case KB_D: return 'd'; + case KB_E: return 'e'; + case KB_F: return 'f'; + case KB_G: return 'g'; + case KB_H: return 'h'; + case KB_I: return 'i'; + case KB_J: return 'j'; + case KB_K: return 'k'; + case KB_L: return 'l'; + case KB_M: return 'm'; + case KB_N: return 'n'; + case KB_O: return 'o'; + case KB_P: return 'p'; + case KB_Q: return 'q'; + case KB_R: return 'r'; + case KB_S: return 's'; + case KB_T: return 't'; + case KB_U: return 'u'; + case KB_V: return 'v'; + case KB_W: return 'w'; + case KB_X: return 'x'; + case KB_Y: return 'y'; + case KB_Z: return 'z'; + case KB_1: return '1'; + case KB_2: return '2'; + case KB_3: return '3'; + case KB_4: return '4'; + case KB_5: return '5'; + case KB_6: return '6'; + case KB_7: return '7'; + case KB_8: return '8'; + case KB_9: return '9'; + case KB_0: return '0'; + case KB_ENTER: return '\n'; + case KB_ESCAPE: return 0x1B; + case KB_BSPACE: return '\b'; + case KB_TAB: return '\t'; + case KB_SPACE: return ' '; + case KB_MINUS: return '-'; + case KB_EQUAL: return '='; + case KB_LBRACKET: return '['; + case KB_RBRACKET: return ']'; + case KB_BSLASH: return '\\'; + case KB_NONUS_HASH: return '\\'; + case KB_SCOLON: return ';'; + case KB_QUOTE: return '\''; + case KB_GRAVE: return '`'; + case KB_COMMA: return ','; + case KB_DOT: return '.'; + case KB_SLASH: return '/'; + default: return 0x00; + } +} diff --git a/iwrap/suart.S b/iwrap/suart.S new file mode 100644 index 00000000..1b029096 --- /dev/null +++ b/iwrap/suart.S @@ -0,0 +1,156 @@ +;---------------------------------------------------------------------------; +; Software implemented UART module ; +; (C)ChaN, 2005 (http://elm-chan.org/) ; +;---------------------------------------------------------------------------; +; Bit rate settings: +; +; 1MHz 2MHz 4MHz 6MHz 8MHz 10MHz 12MHz 16MHz 20MHz +; 2.4kbps 138 - - - - - - - - +; 4.8kbps 68 138 - - - - - - - +; 9.6kbps 33 68 138 208 - - - - - +; 19.2kbps - 33 68 102 138 173 208 - - +; 38.4kbps - - 33 50 68 85 102 138 172 +; 57.6kbps - - 21 33 44 56 68 91 114 +; 115.2kbps - - - - 21 27 33 44 56 + +.nolist +#include +.list + +#define BPS 102 /* Bit delay. (see above table) */ +#define BIDIR 0 /* 0:Separated Tx/Rx, 1:Shared Tx/Rx */ + +#define OUT_1 sbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 1 */ +#define OUT_0 cbi _SFR_IO_ADDR(SUART_OUT_PORT), SUART_OUT_BIT /* Output 0 */ +#define SKIP_IN_1 sbis _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 1 */ +#define SKIP_IN_0 sbic _SFR_IO_ADDR(SUART_IN_PIN), SUART_IN_BIT /* Skip if 0 */ + + + +#ifdef SPM_PAGESIZE +.macro _LPMI reg + lpm \reg, Z+ +.endm +.macro _MOVW dh,dl, sh,sl + movw \dl, \sl +.endm +#else +.macro _LPMI reg + lpm + mov \reg, r0 + adiw ZL, 1 +.endm +.macro _MOVW dh,dl, sh,sl + mov \dl, \sl + mov \dh, \sh +.endm +#endif + + + +;---------------------------------------------------------------------------; +; Transmit a byte in serial format of N81 +; +;Prototype: void xmit (uint8_t data); +;Size: 16 words + +.global xmit +.func xmit +xmit: +#if BIDIR + ldi r23, BPS-1 ;Pre-idle time for bidirectional data line +5: dec r23 ; + brne 5b ;/ +#endif + in r0, _SFR_IO_ADDR(SREG) ;Save flags + + com r24 ;C = start bit + ldi r25, 10 ;Bit counter + cli ;Start critical section + +1: ldi r23, BPS-1 ;----- Bit transferring loop +2: dec r23 ;Wait for a bit time + brne 2b ;/ + brcs 3f ;MISO = bit to be sent + OUT_1 ; +3: brcc 4f ; + OUT_0 ;/ +4: lsr r24 ;Get next bit into C + dec r25 ;All bits sent? + brne 1b ; no, coutinue + + out _SFR_IO_ADDR(SREG), r0 ;End of critical section + ret +.endfunc + + + +;---------------------------------------------------------------------------; +; Receive a byte +; +;Prototype: uint8_t rcvr (void); +;Size: 19 words + +.global rcvr +.func rcvr +rcvr: + in r0, _SFR_IO_ADDR(SREG) ;Save flags + + ldi r24, 0x80 ;Receiving shift reg + cli ;Start critical section + +1: SKIP_IN_1 ;Wait for idle + rjmp 1b +2: SKIP_IN_0 ;Wait for start bit + rjmp 2b + ldi r25, BPS/2 ;Wait for half bit time +3: dec r25 + brne 3b + +4: ldi r25, BPS ;----- Bit receiving loop +5: dec r25 ;Wait for a bit time + brne 5b ;/ + lsr r24 ;Next bit + SKIP_IN_0 ;Get a data bit into r24.7 + ori r24, 0x80 + brcc 4b ;All bits received? no, continue + + out _SFR_IO_ADDR(SREG), r0 ;End of critical section + ret +.endfunc + + +; Not wait for start bit. This should be called after detecting start bit. +.global recv +.func recv +recv: + in r0, _SFR_IO_ADDR(SREG) ;Save flags + + ldi r24, 0x80 ;Receiving shift reg + cli ;Start critical section + +;1: SKIP_IN_1 ;Wait for idle +; rjmp 1b +;2: SKIP_IN_0 ;Wait for start bit +; rjmp 2b + ldi r25, BPS/2 ;Wait for half bit time +3: dec r25 + brne 3b + +4: ldi r25, BPS ;----- Bit receiving loop +5: dec r25 ;Wait for a bit time + brne 5b ;/ + lsr r24 ;Next bit + SKIP_IN_0 ;Get a data bit into r24.7 + ori r24, 0x80 + brcc 4b ;All bits received? no, continue + + ldi r25, BPS/2 ;Wait for half bit time +6: dec r25 + brne 6b +7: SKIP_IN_1 ;Wait for stop bit + rjmp 7b + + out _SFR_IO_ADDR(SREG), r0 ;End of critical section + ret +.endfunc diff --git a/iwrap/suart.h b/iwrap/suart.h new file mode 100644 index 00000000..72725b99 --- /dev/null +++ b/iwrap/suart.h @@ -0,0 +1,8 @@ +#ifndef SUART +#define SUART + +void xmit(uint8_t); +uint8_t rcvr(void); +uint8_t recv(void); + +#endif /* SUART */ diff --git a/iwrap/wd.h b/iwrap/wd.h new file mode 100644 index 00000000..99058f03 --- /dev/null +++ b/iwrap/wd.h @@ -0,0 +1,159 @@ +/* This is from http://www.mtcnet.net/~henryvm/wdt/ */ +#ifndef _AVR_WD_H_ +#define _AVR_WD_H_ + +#include + +/* +Copyright (c) 2009, Curt Van Maanen + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + +include usage- + #include "wd.h" //if in same directory as project + #include //if wd.h is in avr directory + +set watchdog modes and prescale + +usage- + WD_SET(mode,[timeout]); //prescale always set + +modes- + WD_OFF disabled + WD_RST normal reset mode + WD_IRQ interrupt only mode (if supported) + WD_RST_IRQ interrupt+reset mode (if supported) + +timeout- + WDTO_15MS default if no timeout provided + WDTO_30MS + WDTO_60MS + WDTO_120MS + WDTO_250MS + WDTO_500MS + WDTO_1S + WDTO_2S + WDTO_4S (if supported) + WDTO_8S (if supported) + +examples- + WD_SET(WD_RST,WDTO_1S); //reset mode, 1s timeout + WD_SET(WD_OFF); //watchdog disabled (if not fused on) + WD_SET(WD_RST); //reset mode, 15ms (default timeout) + WD_SET(WD_IRQ,WDTO_120MS); //interrupt only mode, 120ms timeout + WD_SET(WD_RST_IRQ,WDTO_2S); //interrupt+reset mode, 2S timeout + + +for enhanced watchdogs, if the watchdog is not being used WDRF should be +cleared on every power up or reset, along with disabling the watchdog- + WD_DISABLE(); //clear WDRF, then turn off watchdog + +*/ + +//reset registers to the same name (MCUCSR) +#if !defined(MCUCSR) +#define MCUCSR MCUSR +#endif + +//watchdog registers to the same name (WDTCSR) +#if !defined(WDTCSR) +#define WDTCSR WDTCR +#endif + +//if enhanced watchdog, define irq values, create disable macro +#if defined(WDIF) +#define WD_IRQ 0xC0 +#define WD_RST_IRQ 0xC8 +#define WD_DISABLE() do{ \ + MCUCSR &= ~(1<. #ifdef MOUSEKEY_ENABLE #include "mousekey.h" #endif -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE #include #endif @@ -47,7 +47,7 @@ void keyboard_init(void) void keyboard_proc(void) { uint8_t fn_bits = 0; -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE uint16_t consumer_code = 0; #endif @@ -82,7 +82,8 @@ void keyboard_proc(void) } else if (IS_FN(code)) { fn_bits |= FN_BIT(code); } -#ifdef USB_EXTRA_ENABLE +// TODO: use table or something +#ifdef EXTRAKEY_ENABLE // System Control else if (code == KB_SYSTEM_POWER) { #ifdef HOST_PJRC @@ -170,7 +171,7 @@ void keyboard_proc(void) // TODO: should send only when changed from last report if (matrix_is_modified()) { host_send_keyboard_report(); -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE host_consumer_send(consumer_code); #endif #ifdef DEBUG_LED diff --git a/layer.c b/layer.c index 8c164857..3f9e55a1 100755 --- a/layer.c +++ b/layer.c @@ -69,10 +69,10 @@ along with this program. If not, see . */ // LAYER_ENTER_DELAY: prevent from moving new layer -#define LAYER_ENTER_DELAY 10 +#define LAYER_ENTER_DELAY 150 // LAYER_SEND_FN_TERM: send keycode if release key in this term -#define LAYER_SEND_FN_TERM 40 +#define LAYER_SEND_FN_TERM 500 uint8_t default_layer = 0; diff --git a/macway/Makefile b/macway/Makefile index 6e7fa7fd..b8b0a85e 100644 --- a/macway/Makefile +++ b/macway/Makefile @@ -8,10 +8,10 @@ COMMON_DIR = .. TARGET_DIR = . # keyboard dependent files -TARGET_SRC = main_pjrc.c \ - keymap.c \ - matrix.c \ - led.c +SRC = main.c \ + keymap.c \ + matrix.c \ + led.c CONFIG_H = config.h @@ -37,8 +37,8 @@ F_CPU = 16000000 # MOUSEKEY_ENABLE = yes # Mouse keys #PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support -USB_EXTRA_ENABLE = yes # Audio control and System control -#USB_NKRO_ENABLE = yes # USB Nkey Rollover +EXTRAKEY_ENABLE = yes # Audio control and System control +#NKRO_ENABLE = yes # USB Nkey Rollover @@ -47,5 +47,5 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex -include $(COMMON_DIR)/Makefile.pjrc -include $(COMMON_DIR)/Makefile.common +include $(COMMON_DIR)/pjrc.mk +include $(COMMON_DIR)/common.mk diff --git a/macway/config.h b/macway/config.h index ff62bfdb..546067be 100644 --- a/macway/config.h +++ b/macway/config.h @@ -37,8 +37,8 @@ along with this program. If not, see . /* key combination for command */ #define IS_COMMAND() ( \ - keyboard_report->mods == (BIT_LSHIFT | BIT_RSHIFT) || \ - keyboard_report->mods == (BIT_LCTRL | BIT_RSHIFT) \ + keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_LCTRL) | MOD_BIT(KB_LALT) | MOD_BIT(KB_LGUI)) || \ + keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_RSHIFT)) \ ) diff --git a/macway/doc/back.jpg b/macway/doc/back.jpg old mode 100755 new mode 100644 diff --git a/macway/doc/case.jpg b/macway/doc/case.jpg old mode 100755 new mode 100644 diff --git a/macway/doc/keys.jpg b/macway/doc/keys.jpg old mode 100755 new mode 100644 diff --git a/macway/doc/side.jpg b/macway/doc/side.jpg old mode 100755 new mode 100644 diff --git a/macway/doc/switch.jpg b/macway/doc/switch.jpg old mode 100755 new mode 100644 diff --git a/macway/doc/teensy.jpg b/macway/doc/teensy.jpg old mode 100755 new mode 100644 diff --git a/macway/doc/wiring.jpg b/macway/doc/wiring.jpg old mode 100755 new mode 100644 diff --git a/macway/doc/withHHKB.jpg b/macway/doc/withHHKB.jpg old mode 100755 new mode 100644 diff --git a/macway/doc/withThinkPad.jpg b/macway/doc/withThinkPad.jpg old mode 100755 new mode 100644 diff --git a/main_vusb.c b/main_vusb.c deleted file mode 100644 index 017888e9..00000000 --- a/main_vusb.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Name: main.c - * Project: hid-mouse, a very simple HID example - * Author: Christian Starkjohann - * Creation Date: 2008-04-07 - * Tabsize: 4 - * Copyright: (c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH - * License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt) - * This Revision: $Id: main.c 790 2010-05-30 21:00:26Z cs $ - */ -#include -#include -#include -#include -#include "usbdrv.h" -#include "oddebug.h" -#include "host_vusb.h" -#include "keyboard.h" - - -#if 0 -#define DEBUGP_INIT() do { DDRC = 0xFF; } while (0) -#define DEBUGP(x) do { PORTC = x; } while (0) -#else -#define DEBUGP_INIT() -#define DEBUGP(x) -#endif - - -int main(void) -{ - DEBUGP_INIT(); - wdt_enable(WDTO_1S); - odDebugInit(); - usbInit(); - - /* enforce re-enumeration, do this while interrupts are disabled! */ - usbDeviceDisconnect(); - uint8_t i = 0; - /* fake USB disconnect for > 250 ms */ - while(--i){ - wdt_reset(); - _delay_ms(1); - } - usbDeviceConnect(); - - keyboard_init(); - - sei(); - while (1) { - DEBUGP(0x1); - wdt_reset(); - usbPoll(); - DEBUGP(0x2); - keyboard_proc(); - DEBUGP(0x3); - host_vusb_keyboard_send(); - } -} diff --git a/mousekey.c b/mousekey.c old mode 100644 new mode 100755 index 69b75240..76bd0fd3 --- a/mousekey.c +++ b/mousekey.c @@ -63,10 +63,10 @@ void mousekey_decode(uint8_t code) else if (code == KB_MS_BTN3) report.buttons |= MOUSE_BTN3; else if (code == KB_MS_BTN4) report.buttons |= MOUSE_BTN4; else if (code == KB_MS_BTN5) report.buttons |= MOUSE_BTN5; - else if (code == KB_MS_WH_UP) report.v += 1; - else if (code == KB_MS_WH_DOWN) report.v -= 1; - else if (code == KB_MS_WH_LEFT) report.h -= 1; - else if (code == KB_MS_WH_RIGHT)report.h += 1; + else if (code == KB_MS_WH_UP) report.v += move_unit()/4; + else if (code == KB_MS_WH_DOWN) report.v -= move_unit()/4; + else if (code == KB_MS_WH_LEFT) report.h -= move_unit()/4; + else if (code == KB_MS_WH_RIGHT)report.h += move_unit()/4; } bool mousekey_changed(void) @@ -87,7 +87,7 @@ void mousekey_send(void) // send immediately when buttun state is changed if (report.buttons == report_prev.buttons) { - if (timer_elapsed(last_timer) < 5) { + if (timer_elapsed(last_timer) < 100) { mousekey_clear_report(); return; } diff --git a/Makefile.pjrc b/pjrc.mk similarity index 56% rename from Makefile.pjrc rename to pjrc.mk index 894d4dce..0bc47ac9 100644 --- a/Makefile.pjrc +++ b/pjrc.mk @@ -1,14 +1,14 @@ OPT_DEFS += -DHOST_PJRC -SRC = usb_keyboard.c \ +SRC += pjrc.c \ + usb_keyboard.c \ usb_debug.c \ usb.c \ jump_bootloader.c -SRC += $(TARGET_SRC) -# C source file search path -VPATH = $(TARGET_DIR):$(COMMON_DIR):$(COMMON_DIR)/pjrc +# Search Path +VPATH += $(COMMON_DIR):$(COMMON_DIR)/pjrc # Option modules @@ -16,6 +16,6 @@ ifdef $(or MOUSEKEY_ENABLE, PS2_MOUSE_ENABLE) SRC += usb_mouse.c endif -ifdef USB_EXTRA_ENABLE +ifdef EXTRAKEY_ENABLE SRC += usb_extra.c endif diff --git a/pjrc/host.c b/pjrc/host.c index 35d59de8..fcf71d57 100644 --- a/pjrc/host.c +++ b/pjrc/host.c @@ -22,7 +22,7 @@ along with this program. If not, see . #if defined(MOUSEKEY_ENABLE) || defined(PS2_MOUSE_ENABLE) #include "usb_mouse.h" #endif -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE #include "usb_extra.h" #endif #include "debug.h" @@ -30,7 +30,7 @@ along with this program. If not, see . #include "util.h" -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE bool keyboard_nkro = false; #endif @@ -51,7 +51,7 @@ uint8_t host_keyboard_leds(void) /* keyboard report operations */ void host_add_key(uint8_t key) { -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE if (keyboard_nkro) { add_key_bit(key); return; @@ -109,7 +109,7 @@ uint8_t host_has_anykey(void) uint8_t host_get_first_key(void) { -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE if (keyboard_nkro) { uint8_t i = 0; for (; i < REPORT_KEYS && !keyboard_report->keys[i]; i++) @@ -133,7 +133,7 @@ void host_mouse_send(report_mouse_t *report) } #endif -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE void host_system_send(uint16_t data) { usb_extra_system_send(data); diff --git a/main_pjrc.c b/pjrc/main.c similarity index 97% rename from main_pjrc.c rename to pjrc/main.c index 6ba62040..f84925d7 100644 --- a/main_pjrc.c +++ b/pjrc/main.c @@ -35,6 +35,8 @@ #ifdef PS2_MOUSE_ENABLE # include "ps2_mouse.h" #endif +#include "host.h" +#include "pjrc.h" #define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n)) @@ -88,6 +90,7 @@ int main(void) } + host_set_driver(pjrc_driver()); while (1) { keyboard_proc(); } diff --git a/pjrc/pjrc.c b/pjrc/pjrc.c new file mode 100644 index 00000000..0562a12f --- /dev/null +++ b/pjrc/pjrc.c @@ -0,0 +1,76 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include +#include "usb_keyboard.h" +#include "usb_mouse.h" +#include "usb_extra.h" +#include "host_driver.h" +#include "pjrc.h" + + +/*------------------------------------------------------------------* + * Host driver + *------------------------------------------------------------------*/ +static uint8_t keyboard_leds(void); +static void send_keyboard(report_keyboard_t *report); +static void send_mouse(report_mouse_t *report); +static void send_system(uint16_t data); +static void send_consumer(uint16_t data); + +static host_driver_t driver = { + keyboard_leds, + send_keyboard, + send_mouse, + send_system, + send_consumer +}; + +host_driver_t *pjrc_driver(void) +{ + return &driver; +} + +static uint8_t keyboard_leds(void) { + return usb_keyboard_leds; +} + +static void send_keyboard(report_keyboard_t *report) +{ + usb_keyboard_send_report(report); +} + +static void send_mouse(report_mouse_t *report) +{ +#ifdef MOUSE_ENABLE + usb_mouse_send(report->x, report->y, report->v, report->h, report->buttons); +#endif +} + +static void send_system(uint16_t data) +{ +#ifdef EXTRAKEY_ENABLE + usb_extra_system_send(data); +#endif +} + +static void send_consumer(uint16_t data) +{ +#ifdef EXTRAKEY_ENABLE + usb_extra_consumer_send(data); +#endif +} diff --git a/pjrc/pjrc.h b/pjrc/pjrc.h new file mode 100644 index 00000000..06e79626 --- /dev/null +++ b/pjrc/pjrc.h @@ -0,0 +1,26 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef PJRC_H +#define PJRC_H + +#include "host_driver.h" + + +host_driver_t *pjrc_driver(void); + +#endif diff --git a/pjrc/usb.c b/pjrc/usb.c index ea2e71b3..9989a4b2 100644 --- a/pjrc/usb.c +++ b/pjrc/usb.c @@ -91,18 +91,18 @@ bool suspend = false; static const uint8_t PROGMEM endpoint_config_table[] = { // enable, UECFG0X(type, direction), UECFG1X(size, bank, allocation) 1, EP_TYPE_INTERRUPT_IN, EP_SIZE(KBD_SIZE) | KBD_BUFFER, // 1 -#ifdef USB_MOUSE_ENABLE +#ifdef MOUSE_ENABLE 1, EP_TYPE_INTERRUPT_IN, EP_SIZE(MOUSE_SIZE) | MOUSE_BUFFER, // 2 #else 0, // 2 #endif 1, EP_TYPE_INTERRUPT_IN, EP_SIZE(DEBUG_TX_SIZE) | DEBUG_TX_BUFFER, // 3 -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE 1, EP_TYPE_INTERRUPT_IN, EP_SIZE(EXTRA_SIZE) | EXTRA_BUFFER, // 4 #else 0, // 4 #endif -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE 1, EP_TYPE_INTERRUPT_IN, EP_SIZE(KBD2_SIZE) | KBD2_BUFFER, // 5 #else 0, // 5 @@ -176,7 +176,7 @@ static uint8_t PROGMEM keyboard_hid_report_desc[] = { 0x81, 0x00, // Input (Data, Array), 0xc0 // End Collection }; -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE static uint8_t PROGMEM keyboard2_hid_report_desc[] = { 0x05, 0x01, // Usage Page (Generic Desktop), 0x09, 0x06, // Usage (Keyboard), @@ -213,7 +213,7 @@ static uint8_t PROGMEM keyboard2_hid_report_desc[] = { }; #endif -#ifdef USB_MOUSE_ENABLE +#ifdef MOUSE_ENABLE // Mouse Protocol 1, HID 1.11 spec, Appendix B, page 59-60, with wheel extension // http://www.microchip.com/forums/tm.aspx?high=&m=391435&mpage=1#391521 // http://www.keil.com/forum/15671/ @@ -282,7 +282,7 @@ static uint8_t PROGMEM debug_hid_report_desc[] = { 0xC0 // end collection }; -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE // audio controls & system controls // http://www.microsoft.com/whdc/archive/w2kbd.mspx static uint8_t PROGMEM extra_hid_report_desc[] = { @@ -318,7 +318,7 @@ static uint8_t PROGMEM extra_hid_report_desc[] = { #define KBD_HID_DESC_NUM 0 #define KBD_HID_DESC_OFFSET (9+(9+9+7)*KBD_HID_DESC_NUM+9) -#ifdef USB_MOUSE_ENABLE +#ifdef MOUSE_ENABLE # define MOUSE_HID_DESC_NUM (KBD_HID_DESC_NUM + 1) # define MOUSE_HID_DESC_OFFSET (9+(9+9+7)*MOUSE_HID_DESC_NUM+9) #else @@ -328,14 +328,14 @@ static uint8_t PROGMEM extra_hid_report_desc[] = { #define DEBUG_HID_DESC_NUM (MOUSE_HID_DESC_NUM + 1) #define DEBUG_HID_DESC_OFFSET (9+(9+9+7)*DEBUG_HID_DESC_NUM+9) -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE # define EXTRA_HID_DESC_NUM (DEBUG_HID_DESC_NUM + 1) # define EXTRA_HID_DESC_OFFSET (9+(9+9+7)*EXTRA_HID_DESC_NUM+9) #else # define EXTRA_HID_DESC_NUM (DEBUG_HID_DESC_NUM + 0) #endif -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE # define KBD2_HID_DESC_NUM (EXTRA_HID_DESC_NUM + 1) # define KBD2_HID_DESC_OFFSET (9+(9+9+7)*EXTRA_HID_DESC_NUM+9) #else @@ -383,7 +383,7 @@ static uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = { KBD_SIZE, 0, // wMaxPacketSize 10, // bInterval -#ifdef USB_MOUSE_ENABLE +#ifdef MOUSE_ENABLE // interface descriptor, USB spec 9.6.5, page 267-269, Table 9-12 9, // bLength 4, // bDescriptorType @@ -444,7 +444,7 @@ static uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = { DEBUG_TX_SIZE, 0, // wMaxPacketSize 1, // bInterval -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE // interface descriptor, USB spec 9.6.5, page 267-269, Table 9-12 9, // bLength 4, // bDescriptorType @@ -473,7 +473,7 @@ static uint8_t PROGMEM config1_descriptor[CONFIG1_DESC_SIZE] = { 10, // bInterval #endif -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE // interface descriptor, USB spec 9.6.5, page 267-269, Table 9-12 9, // bLength 4, // bDescriptorType @@ -542,17 +542,17 @@ static struct descriptor_list_struct { // HID/REPORT descriptors {0x2100, KBD_INTERFACE, config1_descriptor+KBD_HID_DESC_OFFSET, 9}, {0x2200, KBD_INTERFACE, keyboard_hid_report_desc, sizeof(keyboard_hid_report_desc)}, -#ifdef USB_MOUSE_ENABLE +#ifdef MOUSE_ENABLE {0x2100, MOUSE_INTERFACE, config1_descriptor+MOUSE_HID_DESC_OFFSET, 9}, {0x2200, MOUSE_INTERFACE, mouse_hid_report_desc, sizeof(mouse_hid_report_desc)}, #endif {0x2100, DEBUG_INTERFACE, config1_descriptor+DEBUG_HID_DESC_OFFSET, 9}, {0x2200, DEBUG_INTERFACE, debug_hid_report_desc, sizeof(debug_hid_report_desc)}, -#ifdef USB_EXTRA_ENABLE +#ifdef EXTRAKEY_ENABLE {0x2100, EXTRA_INTERFACE, config1_descriptor+EXTRA_HID_DESC_OFFSET, 9}, {0x2200, EXTRA_INTERFACE, extra_hid_report_desc, sizeof(extra_hid_report_desc)}, #endif -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE {0x2100, KBD2_INTERFACE, config1_descriptor+KBD2_HID_DESC_OFFSET, 9}, {0x2200, KBD2_INTERFACE, keyboard2_hid_report_desc, sizeof(keyboard2_hid_report_desc)}, #endif @@ -653,7 +653,7 @@ ISR(USB_GEN_vect) } } /* TODO: should keep IDLE rate on each keyboard interface */ -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE if (!keyboard_nkro && usb_keyboard_idle_config && (++div4 & 3) == 0) { #else if (usb_keyboard_idle_config && (++div4 & 3) == 0) { @@ -894,7 +894,7 @@ ISR(USB_COM_vect) } } } -#ifdef USB_MOUSE_ENABLE +#ifdef MOUSE_ENABLE if (wIndex == MOUSE_INTERFACE) { if (bmRequestType == 0xA1) { if (bRequest == HID_GET_REPORT) { diff --git a/pjrc/usb.h b/pjrc/usb.h index a4e40bdd..82e18f17 100644 --- a/pjrc/usb.h +++ b/pjrc/usb.h @@ -120,7 +120,7 @@ void usb_remote_wakeup(void); #define KBD_REPORT_KEYS (KBD_SIZE - 2) // secondary keyboard -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE #define KBD2_INTERFACE 4 #define KBD2_ENDPOINT 5 #define KBD2_SIZE 16 diff --git a/pjrc/usb_keyboard.c b/pjrc/usb_keyboard.c index 34e9d495..e057c77f 100644 --- a/pjrc/usb_keyboard.c +++ b/pjrc/usb_keyboard.c @@ -55,7 +55,7 @@ int8_t usb_keyboard_send_report(report_keyboard_t *report) { int8_t result = 0; -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE if (keyboard_nkro) result = send_report(report, KBD2_ENDPOINT, 0, KBD2_REPORT_KEYS); else @@ -105,7 +105,7 @@ static inline int8_t send_report(report_keyboard_t *report, uint8_t endpoint, ui UENUM = endpoint; } UEDATX = report->mods; -#ifdef USB_NKRO_ENABLE +#ifdef NKRO_ENABLE if (!keyboard_nkro) UEDATX = 0; #else diff --git a/print.c b/print.c index d9152971..558181ea 100644 --- a/print.c +++ b/print.c @@ -29,6 +29,19 @@ bool print_enable = false; +void print_S(const char *s) +{ + if (!print_enable) return; + char c; + + while (1) { + c = *s++; + if (!c) break; + if (c == '\n') sendchar('\r'); + sendchar(c); + } +} + void print_P(const char *s) { if (!print_enable) return; diff --git a/print.h b/print.h index edc540fa..686fa89a 100644 --- a/print.h +++ b/print.h @@ -24,6 +24,7 @@ #ifndef PRINT_H__ #define PRINT_H__ 1 +#include #include #include @@ -34,6 +35,7 @@ extern bool print_enable; // the string is automatically placed into flash memory :) #define print(s) print_P(PSTR(s)) +void print_S(const char *s); void print_P(const char *s); void phex(unsigned char c); void phex16(unsigned int i); diff --git a/ps2_usb/Makefile b/ps2_usb/Makefile index a548b56d..7352f6b1 100644 --- a/ps2_usb/Makefile +++ b/ps2_usb/Makefile @@ -13,11 +13,11 @@ COMMON_DIR = .. TARGET_DIR = . # keyboard dependent files -TARGET_SRC = main_pjrc.c \ - keymap.c \ - matrix.c \ - led.c \ - ps2.c +SRC = main.c \ + keymap.c \ + matrix.c \ + led.c \ + ps2.c CONFIG_H = config_pjrc.h @@ -42,8 +42,8 @@ F_CPU = 16000000 # comment out to disable the options. # MOUSEKEY_ENABLE = yes # Mouse keys -USB_EXTRA_ENABLE = yes # Audio control and System control -USB_NKRO_ENABLE = yes # USB Nkey Rollover +EXTRAKEY_ENABLE = yes # Audio control and System control +NKRO_ENABLE = yes # USB Nkey Rollover @@ -52,5 +52,5 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex -include $(COMMON_DIR)/Makefile.pjrc -include $(COMMON_DIR)/Makefile.common +include $(COMMON_DIR)/pjrc.mk +include $(COMMON_DIR)/common.mk diff --git a/ps2_usb/Makefile.vusb b/ps2_usb/Makefile.vusb index ff86d799..5b6978f0 100644 --- a/ps2_usb/Makefile.vusb +++ b/ps2_usb/Makefile.vusb @@ -13,11 +13,11 @@ COMMON_DIR = .. TARGET_DIR = . # keyboard dependent files -TARGET_SRC = main_vusb.c \ - keymap.c \ - matrix.c \ - led.c \ - ps2_usart.c +SRC = main.c \ + keymap.c \ + matrix.c \ + led.c \ + ps2_usart.c CONFIG_H = config_vusb.h @@ -48,8 +48,9 @@ F_CPU = 20000000 # comment out to disable the options. # MOUSEKEY_ENABLE = yes # Mouse keys -USB_EXTRA_ENABLE = yes # Audio control and System control -#USB_NKRO_ENABLE = yes # USB Nkey Rollover +EXTRAKEY_ENABLE = yes # Audio control and System control +#NKRO_ENABLE = yes # USB Nkey Rollover +NO_UART = yes # UART is unavailable @@ -85,5 +86,5 @@ PROGRAM_CMD = $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE -include $(COMMON_DIR)/Makefile.vusb -include $(COMMON_DIR)/Makefile.common +include $(COMMON_DIR)/vusb.mk +include $(COMMON_DIR)/common.mk diff --git a/ps2_usb/config_pjrc.h b/ps2_usb/config_pjrc.h index 56917bee..883ffab2 100644 --- a/ps2_usb/config_pjrc.h +++ b/ps2_usb/config_pjrc.h @@ -35,8 +35,8 @@ along with this program. If not, see . /* key combination for command */ #define IS_COMMAND() ( \ - keyboard_report->mods == (BIT_LSHIFT | BIT_RSHIFT) || \ - keyboard_report->mods == (BIT_LCTRL | BIT_RSHIFT) \ + keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_RSHIFT)) || \ + keyboard_report->mods == (MOD_BIT(KB_LCTRL) | MOD_BIT(KB_RSHIFT)) \ ) diff --git a/ps2_usb/config_vusb.h b/ps2_usb/config_vusb.h index 426bb61e..afd2f791 100644 --- a/ps2_usb/config_vusb.h +++ b/ps2_usb/config_vusb.h @@ -35,8 +35,8 @@ along with this program. If not, see . /* key combination for command */ #define IS_COMMAND() ( \ - keyboard_report->mods == (BIT_LSHIFT | BIT_RSHIFT) || \ - keyboard_report->mods == (BIT_LCTRL | BIT_RSHIFT) \ + keyboard_report->mods == (MOD_BIT(KB_LSHIFT) | MOD_BIT(KB_RSHIFT)) || \ + keyboard_report->mods == (MOD_BIT(KB_LCTRL) | MOD_BIT(KB_RSHIFT)) \ ) diff --git a/ps2_usb/keymap.c b/ps2_usb/keymap.c index ef11daa2..e84e8c29 100644 --- a/ps2_usb/keymap.c +++ b/ps2_usb/keymap.c @@ -124,7 +124,7 @@ static const uint8_t PROGMEM fn_layer[] = { static const uint8_t PROGMEM fn_keycode[] = { KB_SCLN, // Fn0 KB_SLSH, // Fn1 - KB_A, // Fn2 + KB_NO, // Fn2 KB_NO, // Fn3 KB_NO, // Fn4 KB_NO, // Fn5 @@ -154,7 +154,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK, GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, DEL, END, PGDN, P7, P8, P9, - CAPS,FN2, S, D, F, G, H, J, K, L, FN0, QUOT, ENT, P4, P5, P6, PPLS, + CAPS,A, S, D, F, G, H, J, K, L, FN0, QUOT, ENT, P4, P5, P6, PPLS, LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN1, RSFT, UP, P1, P2, P3, LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT ), @@ -204,7 +204,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK, ESC, F1, F2, F3, F4, F5, F6, F7, F8, F8, F10, F11, F12, BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS, TAB, WH_L,WH_D,MS_U,WH_U,WH_R,WH_L,WH_D,WH_U,WH_R,NO, NO, NO, BSLS, DEL, END, PGDN, P7, P8, P9, - CAPS,FN2, MS_L,MS_D,MS_R,NO, MS_L,MS_D,MS_U,MS_R,FN0, NO, ENT, P4, P5, P6, PPLS, + CAPS,NO, MS_L,MS_D,MS_R,NO, MS_L,MS_D,MS_U,MS_R,FN0, NO, ENT, P4, P5, P6, PPLS, LSFT,VOLD,VOLU,MUTE,BTN2,BTN3,BTN2,BTN1,VOLD,VOLU,MUTE, RSFT, UP, P1, P2, P3, LCTL,LGUI,LALT, BTN1, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT ), diff --git a/ps2_usb/matrix.c b/ps2_usb/matrix.c index 5d73cc2a..1aac3f86 100644 --- a/ps2_usb/matrix.c +++ b/ps2_usb/matrix.c @@ -349,6 +349,7 @@ uint8_t matrix_scan(void) default: state = INIT; } + phex(code); } return 1; } diff --git a/report.h b/report.h new file mode 100644 index 00000000..b85b86c5 --- /dev/null +++ b/report.h @@ -0,0 +1,96 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef REPORT_H +#define REPORT_H + +#include + + +/* report id */ +#define REPORT_ID_MOUSE 1 +#define REPORT_ID_SYSTEM 2 +#define REPORT_ID_CONSUMER 3 + +/* mouse buttons */ +#define MOUSE_BTN1 (1<<0) +#define MOUSE_BTN2 (1<<1) +#define MOUSE_BTN3 (1<<2) +#define MOUSE_BTN4 (1<<3) +#define MOUSE_BTN5 (1<<4) + +// Consumer Page(0x0C) +// following are supported by Windows: http://msdn.microsoft.com/en-us/windows/hardware/gg463372.aspx +#define AUDIO_MUTE 0x00E2 +#define AUDIO_VOL_UP 0x00E9 +#define AUDIO_VOL_DOWN 0x00EA +#define TRANSPORT_NEXT_TRACK 0x00B5 +#define TRANSPORT_PREV_TRACK 0x00B6 +#define TRANSPORT_STOP 0x00B7 +#define TRANSPORT_PLAY_PAUSE 0x00CD +#define AL_CC_CONFIG 0x0183 +#define AL_EMAIL 0x018A +#define AL_CALCULATOR 0x0192 +#define AL_LOCAL_BROWSER 0x0194 +#define AC_SEARCH 0x0221 +#define AC_HOME 0x0223 +#define AC_BACK 0x0224 +#define AC_FORWARD 0x0225 +#define AC_STOP 0x0226 +#define AC_REFRESH 0x0227 +#define AC_BOOKMARKS 0x022A +// supplement for Bluegiga iWRAP HID(not supported by Windows?) +#define AL_LOCK 0x019E +#define TRANSPORT_RECORD 0x00B2 +#define TRANSPORT_REWIND 0x00B4 +#define TRANSPORT_EJECT 0x00B8 +#define AC_MINIMIZE 0x0206 + +// Generic Desktop Page(0x01) +#define SYSTEM_POWER_DOWN 0x0081 +#define SYSTEM_SLEEP 0x0082 +#define SYSTEM_WAKE_UP 0x0083 + + +// key report size(NKRO or boot mode) +#if defined(HOST_PJRC) +# include "usb.h" +# if defined(KBD2_REPORT_KEYS) && KBD2_REPORT_KEYS > KBD_REPORT_KEYS +# define REPORT_KEYS KBD2_REPORT_KEYS +# else +# define REPORT_KEYS KBD_REPORT_KEYS +# endif +#else +# define REPORT_KEYS 6 +#endif + +typedef struct { + uint8_t mods; + uint8_t rserved; + uint8_t keys[REPORT_KEYS]; +} report_keyboard_t; + +typedef struct { + uint8_t report_id; + uint8_t buttons; + int8_t x; + int8_t y; + int8_t v; + int8_t h; +} report_mouse_t; + +#endif diff --git a/Makefile.rules b/rules.mk similarity index 100% rename from Makefile.rules rename to rules.mk diff --git a/sendchar.h b/sendchar.h index b3166544..7c81303c 100644 --- a/sendchar.h +++ b/sendchar.h @@ -18,8 +18,10 @@ along with this program. If not, see . #ifndef SENDCHAR_H #define SENDCHAR_H +#include + + /* transmit a character. return 0 on success, -1 on error. */ int8_t sendchar(uint8_t c); #endif - diff --git a/vusb/host_vusb.h b/sendchar_null.c similarity index 88% rename from vusb/host_vusb.h rename to sendchar_null.c index be9886e8..29333062 100644 --- a/vusb/host_vusb.h +++ b/sendchar_null.c @@ -14,10 +14,10 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#include "sendchar.h" -#ifndef HOST_VUSB_H -#define HOST_VUSB_H -void host_vusb_keyboard_send(void); - -#endif +int8_t sendchar(uint8_t c) +{ + return 0; +} diff --git a/sendchar_uart.c b/sendchar_uart.c new file mode 100644 index 00000000..0241859e --- /dev/null +++ b/sendchar_uart.c @@ -0,0 +1,25 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include "uart.h" +#include "sendchar.h" + + +int8_t sendchar(uint8_t c) +{ + uart_putchar(c); + return 0; +} diff --git a/timer.c b/timer.c index edbb4409..48a38c9b 100644 --- a/timer.c +++ b/timer.c @@ -20,17 +20,31 @@ along with this program. If not, see . #include #include "timer.h" + +// counter resolution 1ms volatile uint16_t timer_count = 0; -// Configure timer 0 to generate a timer overflow interrupt every -// 256*1024 clock cycles, or approx 61 Hz when using 16 MHz clock -// This demonstrates how to use interrupts to implement a simple -// inactivity timeout. void timer_init(void) { - TCCR0A = 0x00; + // Timer0 CTC mode + TCCR0A = 0x02; + +#if TIMER_PRESCALER == 1 + TCCR0B = 0x01; +#elif TIMER_PRESCALER == 8 + TCCR0B = 0x02; +#elif TIMER_PRESCALER == 64 + TCCR0B = 0x03; +#elif TIMER_PRESCALER == 256 + TCCR0B = 0x04; +#elif TIMER_PRESCALER == 1024 TCCR0B = 0x05; - TIMSK0 = (1<. #include -#define TIMER_DIFF(a, b) ((a) >= (b) ? (a) - (b) : UINT16_MAX - (b) + (a)) +#ifndef TIMER_PRESCALER +# if F_CPU > 16000000 +# define TIMER_PRESCALER 256 +# elif F_CPU >= 4000000 +# define TIMER_PRESCALER 64 +# else +# define TIMER_PRESCALER 8 +# endif +#endif +#define TIMER_RAW_FREQ (F_CPU/TIMER_PRESCALER) +#define TIMER_RAW TCNT0 +#define TIMER_RAW_TOP (TIMER_RAW_FREQ/1000) + +#if (TIMER_RAW_TOP > 255) +# error "Timer0 can't count 1ms at this clock freq. Use larger prescaler." +#endif + +#define TIMER_DIFF(a, b, max) ((a) >= (b) ? (a) - (b) : (max) - (b) + (a)) +#define TIMER_DIFF_RAW(a, b) TIMER_DIFF(a, b, UINT8_MAX) +#define TIMER_DIFF_MS(a, b) TIMER_DIFF(a, b, UINT16_MAX) extern volatile uint16_t timer_count; diff --git a/uart.c b/uart.c new file mode 100644 index 00000000..c17649b0 --- /dev/null +++ b/uart.c @@ -0,0 +1,129 @@ +// TODO: Teensy support(ATMega32u4/AT90USB128) +// Fixed for Arduino Duemilanove ATmega168p by Jun Wako +/* UART Example for Teensy USB Development Board + * http://www.pjrc.com/teensy/ + * Copyright (c) 2009 PJRC.COM, LLC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +// Version 1.0: Initial Release +// Version 1.1: Add support for Teensy 2.0, minor optimizations + + +#include +#include + +#include "uart.h" + +// These buffers may be any size from 2 to 256 bytes. +#define RX_BUFFER_SIZE 64 +#define TX_BUFFER_SIZE 40 + +static volatile uint8_t tx_buffer[TX_BUFFER_SIZE]; +static volatile uint8_t tx_buffer_head; +static volatile uint8_t tx_buffer_tail; +static volatile uint8_t rx_buffer[RX_BUFFER_SIZE]; +static volatile uint8_t rx_buffer_head; +static volatile uint8_t rx_buffer_tail; + +// Initialize the UART +void uart_init(uint32_t baud) +{ + cli(); + UBRR0 = (F_CPU / 4 / baud - 1) / 2; + UCSR0A = (1<= TX_BUFFER_SIZE) i = 0; + while (tx_buffer_tail == i) ; // wait until space in buffer + //cli(); + tx_buffer[i] = c; + tx_buffer_head = i; + UCSR0B = (1<= RX_BUFFER_SIZE) i = 0; + c = rx_buffer[i]; + rx_buffer_tail = i; + return c; +} + +// Return the number of bytes waiting in the receive buffer. +// Call this before uart_getchar() to check if it will need +// to wait for a byte to arrive. +uint8_t uart_available(void) +{ + uint8_t head, tail; + + head = rx_buffer_head; + tail = rx_buffer_tail; + if (head >= tail) return head - tail; + return RX_BUFFER_SIZE + head - tail; +} + +// Transmit Interrupt +ISR(USART_UDRE_vect) +{ + uint8_t i; + + if (tx_buffer_head == tx_buffer_tail) { + // buffer is empty, disable transmit interrupt + UCSR0B = (1<= TX_BUFFER_SIZE) i = 0; + UDR0 = tx_buffer[i]; + tx_buffer_tail = i; + } +} + +// Receive Interrupt +ISR(USART_RX_vect) +{ + uint8_t c, i; + + c = UDR0; + i = rx_buffer_head + 1; + if (i >= RX_BUFFER_SIZE) i = 0; + if (i != rx_buffer_tail) { + rx_buffer[i] = c; + rx_buffer_head = i; + } +} + diff --git a/uart.h b/uart.h new file mode 100644 index 00000000..41136a39 --- /dev/null +++ b/uart.h @@ -0,0 +1,11 @@ +#ifndef _uart_included_h_ +#define _uart_included_h_ + +#include + +void uart_init(uint32_t baud); +void uart_putchar(uint8_t c); +uint8_t uart_getchar(void); +uint8_t uart_available(void); + +#endif diff --git a/usb_keycodes.h b/usb_keycodes.h index 8b8d4d35..391d21f2 100644 --- a/usb_keycodes.h +++ b/usb_keycodes.h @@ -16,7 +16,7 @@ along with this program. If not, see . */ /* - * Key codes from HID Keyboard/Keypad Page + * Key codes: HID Keyboard/Keypad Page(0x07) * http://www.usb.org/developers/devclass_docs/Hut1_12.pdf */ #ifndef USB_KEYCODES_H @@ -353,7 +353,8 @@ enum keycodes { KB_CRSEL, KB_EXSEL, - /* NOTE: uses 0xB0-DF for special keycodes */ + /* NOTE: 0xB0-DF are used as special_keycodes */ +#if 0 KB_KP_00 = 0xB0, KB_KP_000, KB_THOUSANDS_SEPARATOR, @@ -400,6 +401,7 @@ enum keycodes { KB_KP_OCTAL, KB_KP_DECIMAL, KB_KP_HEXADECIMAL, +#endif /* Modifiers */ KB_LCTRL = 0xE0, @@ -411,7 +413,7 @@ enum keycodes { KB_RALT, KB_RGUI, - /* NOTE: uses 0xE8-FF for special keycodes */ + /* NOTE: 0xE8-FF are used as special_keycodes */ }; #endif /* USB_KEYCODES_H */ diff --git a/vusb.mk b/vusb.mk new file mode 100644 index 00000000..7fd5dc05 --- /dev/null +++ b/vusb.mk @@ -0,0 +1,17 @@ +OPT_DEFS += -DHOST_VUSB + +SRC += vusb.c \ + usbdrv.c \ + usbdrvasm.S \ + oddebug.c + +ifdef NO_UART +SRC += sendchar_null.c +else +SRC += sendchar_uart.c \ + uart.c +endif + + +# Search Path +VPATH += $(COMMON_DIR)/vusb:$(COMMON_DIR)/vusb/usbdrv diff --git a/vusb/main.c b/vusb/main.c new file mode 100644 index 00000000..1bf9035b --- /dev/null +++ b/vusb/main.c @@ -0,0 +1,99 @@ +/* Name: main.c + * Project: hid-mouse, a very simple HID example + * Author: Christian Starkjohann + * Creation Date: 2008-04-07 + * Tabsize: 4 + * Copyright: (c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH + * License: GNU GPL v2 (see License.txt), GNU GPL v3 or proprietary (CommercialLicense.txt) + * This Revision: $Id: main.c 790 2010-05-30 21:00:26Z cs $ + */ +#include +#include +#include +#include +#include +#include "usbdrv.h" +#include "oddebug.h" +#include "vusb.h" +#include "keyboard.h" +#include "host.h" +#include "timer.h" +#include "uart.h" +#include "debug.h" + + +#define UART_BAUD_RATE 115200 + + +/* This is from main.c of USBaspLoader */ +static void initForUsbConnectivity(void) +{ + uint8_t i = 0; + + usbInit(); + /* enforce USB re-enumerate: */ + usbDeviceDisconnect(); /* do this while interrupts are disabled */ + while(--i){ /* fake USB disconnect for > 250 ms */ + wdt_reset(); + _delay_ms(1); + } + usbDeviceConnect(); + sei(); +} + +int main(void) +{ + bool suspended = false; +#if USB_COUNT_SOF + uint16_t last_timer = timer_read(); +#endif + + CLKPR = 0x80, CLKPR = 0; +#ifndef PS2_USE_USART + uart_init(UART_BAUD_RATE); +#endif + + debug_enable = true; + print_enable = true; + + debug("keyboard_init()\n"); + keyboard_init(); + host_set_driver(vusb_driver()); + + debug("initForUsbConnectivity()\n"); + initForUsbConnectivity(); + + debug("main loop\n"); + while (1) { +#if USB_COUNT_SOF + if (usbSofCount != 0) { + suspended = false; + usbSofCount = 0; + last_timer = timer_read(); + } else { + // Suspend when no SOF in 3ms-10ms(7.1.7.4 Suspending of USB1.1) + if (timer_elapsed(last_timer) > 5) { + suspended = true; +/* + uart_putchar('S'); + _delay_ms(1); + cli(); + set_sleep_mode(SLEEP_MODE_PWR_DOWN); + sleep_enable(); + sleep_bod_disable(); + sei(); + sleep_cpu(); + sleep_disable(); + _delay_ms(10); + uart_putchar('W'); +*/ + } + } +#endif + if (!suspended) + usbPoll(); + keyboard_proc(); + if (!suspended) + vusb_transfer_keyboard(); + } +} diff --git a/vusb/host.c b/vusb/vusb.c similarity index 81% rename from vusb/host.c rename to vusb/vusb.c index 8cd38d0b..638611f3 100644 --- a/vusb/host.c +++ b/vusb/vusb.c @@ -16,133 +16,69 @@ along with this program. If not, see . */ #include -#include #include "usbdrv.h" #include "usbconfig.h" -#include "print.h" -#include "usb_keycodes.h" #include "host.h" -#include "host_vusb.h" +#include "report.h" +#include "print.h" #include "debug.h" +#include "host_driver.h" +#include "vusb.h" -static report_keyboard_t report0; -static report_keyboard_t report1; -report_keyboard_t *keyboard_report = &report0; -report_keyboard_t *keyboard_report_prev = &report1; - -static uint8_t keyboard_leds = 0; -static uchar idleRate = 0; - -uint8_t host_keyboard_leds(void) -{ - return keyboard_leds; -} - - -/*------------------------------------------------------------------* - * Keyboard report operations - *------------------------------------------------------------------*/ -void host_add_key(uint8_t code) -{ - int8_t i = 0; - int8_t empty = -1; - for (; i < REPORT_KEYS; i++) { - if (keyboard_report_prev->keys[i] == code) { - keyboard_report->keys[i] = code; - break; - } - if (empty == -1 && keyboard_report_prev->keys[i] == KB_NO && keyboard_report->keys[i] == KB_NO) { - empty = i; - } - } - if (i == REPORT_KEYS && empty != -1) { - keyboard_report->keys[empty] = code; - } -} - -void host_add_mod_bit(uint8_t mod) -{ - keyboard_report->mods |= mod; -} - -void host_set_mods(uint8_t mods) -{ - keyboard_report->mods = mods; -} - -void host_add_code(uint8_t code) -{ - if (IS_MOD(code)) { - host_add_mod_bit(MOD_BIT(code)); - } else { - host_add_key(code); - } -} - -void host_swap_keyboard_report(void) -{ - uint8_t sreg = SREG; - cli(); - report_keyboard_t *tmp = keyboard_report_prev; - keyboard_report_prev = keyboard_report; - keyboard_report = tmp; - SREG = sreg; -} +static uint8_t vusb_keyboard_leds = 0; +static uint8_t vusb_idle_rate = 0; -void host_clear_keyboard_report(void) -{ - keyboard_report->mods = 0; - for (int8_t i = 0; i < REPORT_KEYS; i++) { - keyboard_report->keys[i] = 0; - } -} +/* Keyboard report send buffer */ +#define KBUF_SIZE 16 +static report_keyboard_t kbuf[KBUF_SIZE]; +static uint8_t kbuf_head = 0; +static uint8_t kbuf_tail = 0; -uint8_t host_has_anykey(void) -{ - uint8_t cnt = 0; - for (int i = 0; i < REPORT_KEYS; i++) { - if (keyboard_report->keys[i]) - cnt++; - } - return cnt; -} -uint8_t host_get_first_key(void) +/* transfer keyboard report from buffer */ +void vusb_transfer_keyboard(void) { -#ifdef USB_NKRO_ENABLE - if (keyboard_nkro) { - uint8_t i = 0; - for (; i < REPORT_KEYS && !keyboard_report->keys[i]; i++) - ; - return i<<3 | biton(keyboard_report->keys[i]); + if (usbInterruptIsReady()) { + if (kbuf_head != kbuf_tail) { + usbSetInterrupt((void *)&kbuf[kbuf_tail], sizeof(report_keyboard_t)); + kbuf_tail = (kbuf_tail + 1) % KBUF_SIZE; + } } -#endif - return keyboard_report->keys[0]; } /*------------------------------------------------------------------* - * Keyboard report send buffer + * Host driver *------------------------------------------------------------------*/ -#define KBUF_SIZE 16 -static report_keyboard_t kbuf[KBUF_SIZE]; -static uint8_t kbuf_head = 0; -static uint8_t kbuf_tail = 0; +static uint8_t keyboard_leds(void); +static void send_keyboard(report_keyboard_t *report); +static void send_mouse(report_mouse_t *report); +static void send_system(uint16_t data); +static void send_consumer(uint16_t data); + +static host_driver_t driver = { + keyboard_leds, + send_keyboard, + send_mouse, + send_system, + send_consumer +}; -void host_vusb_keyboard_send(void) +host_driver_t *vusb_driver(void) { - if (usbInterruptIsReady() && kbuf_head != kbuf_tail) { - usbSetInterrupt((void *)&kbuf[kbuf_tail], sizeof(report_keyboard_t)); - kbuf_tail = (kbuf_tail + 1) % KBUF_SIZE; - } + return &driver; } -void host_send_keyboard_report(void) +static uint8_t keyboard_leds(void) { + return vusb_keyboard_leds; +} + +static void send_keyboard(report_keyboard_t *report) { uint8_t next = (kbuf_head + 1) % KBUF_SIZE; if (next != kbuf_tail) { - kbuf[kbuf_head] = *keyboard_report; + kbuf[kbuf_head] = *report; kbuf_head = next; } else { debug("kbuf: full\n"); @@ -150,20 +86,15 @@ void host_send_keyboard_report(void) } -#if defined(MOUSEKEY_ENABLE) || defined(PS2_MOUSE_ENABLE) -void host_mouse_send(report_mouse_t *report) +static void send_mouse(report_mouse_t *report) { report->report_id = REPORT_ID_MOUSE; if (usbInterruptIsReady3()) { usbSetInterrupt3((void *)report, sizeof(*report)); - } else { - debug("Int3 not ready\n"); } } -#endif -#ifdef USB_EXTRA_ENABLE -void host_system_send(uint16_t data) +static void send_system(uint16_t data) { // Not need static? static uint8_t report[] = { REPORT_ID_SYSTEM, 0, 0 }; @@ -171,12 +102,10 @@ void host_system_send(uint16_t data) report[2] = (data>>8)&0xFF; if (usbInterruptIsReady3()) { usbSetInterrupt3((void *)&report, sizeof(report)); - } else { - debug("Int3 not ready\n"); } } -void host_consumer_send(uint16_t data) +static void send_consumer(uint16_t data) { static uint16_t last_data = 0; if (data == last_data) return; @@ -188,11 +117,8 @@ void host_consumer_send(uint16_t data) report[2] = (data>>8)&0xFF; if (usbInterruptIsReady3()) { usbSetInterrupt3((void *)&report, sizeof(report)); - } else { - debug("Int3 not ready\n"); } } -#endif @@ -213,32 +139,36 @@ usbRequest_t *rq = (void *)data; if((rq->bmRequestType & USBRQ_TYPE_MASK) == USBRQ_TYPE_CLASS){ /* class request type */ if(rq->bRequest == USBRQ_HID_GET_REPORT){ - debug(" GET_REPORT"); + debug("GET_REPORT:"); /* we only have one report type, so don't look at wValue */ usbMsgPtr = (void *)keyboard_report_prev; return sizeof(*keyboard_report_prev); }else if(rq->bRequest == USBRQ_HID_GET_IDLE){ - debug(" GET_IDLE: "); - debug_hex(idleRate); - usbMsgPtr = &idleRate; + debug("GET_IDLE: "); + //debug_hex(vusb_idle_rate); + usbMsgPtr = &vusb_idle_rate; return 1; }else if(rq->bRequest == USBRQ_HID_SET_IDLE){ - idleRate = rq->wValue.bytes[1]; - debug(" SET_IDLE: "); - debug_hex(idleRate); + vusb_idle_rate = rq->wValue.bytes[1]; + debug("SET_IDLE: "); + debug_hex(vusb_idle_rate); }else if(rq->bRequest == USBRQ_HID_SET_REPORT){ - //debug(" SET_REPORT: "); + debug("SET_REPORT: "); + // Report Type: 0x02(Out)/ReportID: 0x00(none) && Interface: 0(keyboard) if (rq->wValue.word == 0x0200 && rq->wIndex.word == 0) { + debug("SET_LED: "); last_req.kind = SET_LED; last_req.len = rq->wLength.word; } return USB_NO_MSG; // to get data in usbFunctionWrite + } else { + debug("UNKNOWN:"); } - debug("\n"); }else{ - debug("VENDOR\n"); + debug("VENDOR:"); /* no vendor specific requests implemented */ } + debug("\n"); return 0; /* default for not implemented requests: return no data back to host */ } @@ -249,8 +179,10 @@ uchar usbFunctionWrite(uchar *data, uchar len) } switch (last_req.kind) { case SET_LED: - //debug("SET_LED\n"); - keyboard_leds = data[0]; + debug("SET_LED: "); + debug_hex(data[0]); + debug("\n"); + vusb_keyboard_leds = data[0]; last_req.len = 0; return 1; break; @@ -484,13 +416,14 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) { usbMsgLen_t len = 0; +/* debug("usbFunctionDescriptor: "); debug_hex(rq->bmRequestType); debug(" "); debug_hex(rq->bRequest); debug(" "); debug_hex16(rq->wValue.word); debug(" "); debug_hex16(rq->wIndex.word); debug(" "); debug_hex16(rq->wLength.word); debug("\n"); - +*/ switch (rq->wValue.bytes[1]) { #if USB_CFG_DESCR_PROPS_CONFIGURATION case USBDESCR_CONFIG: @@ -499,8 +432,16 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) break; #endif case USBDESCR_HID: - usbMsgPtr = (unsigned char *)(usbDescriptorConfiguration + 18); - len = 9; + switch (rq->wValue.bytes[0]) { + case 0: + usbMsgPtr = (unsigned char *)(usbDescriptorConfiguration + 9 + 9); + len = 9; + break; + case 1: + usbMsgPtr = (unsigned char *)(usbDescriptorConfiguration + 9 + (9 + 9 + 7) + 9); + len = 9; + break; + } break; case USBDESCR_HID_REPORT: /* interface index */ @@ -516,6 +457,6 @@ USB_PUBLIC usbMsgLen_t usbFunctionDescriptor(struct usbRequest *rq) } break; } - debug("desc len: "); debug_hex(len); debug("\n"); + //debug("desc len: "); debug_hex(len); debug("\n"); return len; } diff --git a/vusb/vusb.h b/vusb/vusb.h new file mode 100644 index 00000000..5accf233 --- /dev/null +++ b/vusb/vusb.h @@ -0,0 +1,27 @@ +/* +Copyright 2011 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef VUSB_H +#define VUSB_H + +#include "host_driver.h" + + +host_driver_t *vusb_driver(void); +void vusb_transfer_keyboard(void); + +#endif