Преглед на файлове

added HHKB/README and clean some codes.

tmk преди 14 години
родител
ревизия
af85b6bba6
променени са 9 файла, в които са добавени 111 реда и са изтрити 103 реда
  1. 1 1
      adb.c
  2. 8 3
      adb_usb/matrix.c
  3. 6 5
      hhkb/Makefile.vusb
  4. 80 0
      hhkb/README
  5. 0 0
      hhkb/config_pjrc.h
  6. 0 88
      hhkb/config_vusb.h
  7. 2 2
      hhkb/doc/HHKB_TP1684.jpg
  8. 7 2
      ps2_usb/Makefile
  9. 7 2
      ps2_usb/Makefile.vusb

+ 1 - 1
adb.c

@@ -38,7 +38,7 @@ F_CPU = 16000000
 #
 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_EXTRA_ENABLE = yes	# Audio control and System control
 #USB_NKRO_ENABLE = yes	# USB Nkey Rollover
 
 

+ 8 - 3
adb_usb/matrix.c

@@ -1,5 +1,10 @@
+#
+# Makefile for PJRC Teensy
+#
+
+
 # Target file name (without extension).
-TARGET = hhkb
+TARGET = hhkb_pjrc
 
 # Directory common source filess exist
 COMMON_DIR = ..
@@ -13,7 +18,7 @@ TARGET_SRC =	main_pjrc.c \
   	        matrix.c \
 		led.c
 
-CONFIG_H = config.h
+CONFIG_H = config_pjrc.h
 
 
 # MCU name, you MUST set this to match the board you are using
@@ -36,7 +41,7 @@ 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	# Enhanced feature for Windows(Audio control and System control)
+USB_EXTRA_ENABLE = yes	# Audio control and System control
 USB_NKRO_ENABLE = yes	# USB Nkey Rollover
 
 

+ 6 - 5
hhkb/Makefile.vusb

@@ -1,3 +1,8 @@
+#
+# Makefile for V-USB
+#
+
+
 # Target file name (without extension).
 TARGET = hhkb_vusb
 
@@ -23,10 +28,6 @@ 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 = at90usb162       # Teensy 1.0
-#MCU = atmega32u4       # Teensy 2.0
-#MCU = at90usb646       # Teensy++ 1.0
-#MCU = at90usb1286      # Teensy++ 2.0
 MCU = atmega168
 
 
@@ -42,7 +43,7 @@ F_CPU = 20000000
 #   comment out to disable the options.
 #
 MOUSEKEY_ENABLE = yes	# Mouse keys
-USB_EXTRA_ENABLE = yes	# Enhanced feature for Windows(Audio control and System control)
+USB_EXTRA_ENABLE = yes	# Audio control and System control
 #USB_NKRO_ENABLE = yes	# USB Nkey Rollover
 
 

+ 80 - 0
hhkb/README

@@ -0,0 +1,80 @@
+Alternative Controller for HHKB
+===============================
+
+Feature
+-------
+- Mouse Keys
+- NKRO on USB
+- Keymap Layers
+
+
+Customize Keymap
+----------------
+see keymap.c.
+
+
+Build for 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)
+    VENDOR_ID, PRODUCT_ID and string descriptor.
+    IS_COMMAND
+2. Edit Makefile for MCU setting and build options.
+    MCU, F_CPU
+    MOUSEKEY_ENABLE, USB_EXTRA_ENABLE, USB_NKRO_ENABLE
+3. Build hex file.
+    $ make
+4. Program MCU.
+    $  make program
+
+
+Build for 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.
+1. Define macros in config_vusb.h.(Optional)
+    IS_COMMAND
+2. Edit Makefile.vusb for MCU setting and build options.
+    MCU, F_CPU
+    MOUSEKEY_ENABLE, USB_EXTRA_ENABLE, USB_NKRO_ENABLE
+3. Build hex file.
+    $ make -f Makefile.vusb
+4. Program MCU.
+    $  make -f Makefile.vusb program
+
+    Using a bootloader to program for convenience is recommended.
+    Once program this V-USB bootloader at first, you can program MCU without
+    extra programmer. You should have reset switch to start up as bootloader
+    mode in this case.
+    USBaspLoader:
+    http://www.obdev.at/products/vusb/usbasploader.html
+
+
+V-USB Circuit
+-------------
+                +---+   +---------------+
+USB            GND  |   |   ATmega168   |
+===                 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:     1.5K Ohm
+R2,R3:  68 Ohm
+Z1,Z2:  Zener 3.6V
+C1,C2:  22pF
+C3:     0.1uF
+X1:     Crystal 20MHz(16MHz/12MHz)
+SW:     Push Switch(Optional for bootloader)
+
+
+EOF

+ 0 - 0
hhkb/config.h → hhkb/config_pjrc.h


+ 0 - 88
hhkb/config_vusb.h

@@ -29,92 +29,4 @@
 #endif
 
 
-/* PS/2 lines */
-#ifdef PS2_MOUSE_ENABLE
-
-#define PS2_CLOCK_PORT  PORTD
-#define PS2_CLOCK_PIN   PIND
-#define PS2_CLOCK_DDR   DDRD
-#define PS2_CLOCK_BIT   4
-#define PS2_DATA_PORT   PORTD
-#define PS2_DATA_PIN    PIND
-#define PS2_DATA_DDR    DDRD
-#define PS2_DATA_BIT    0
-
-
-// Synchronous USART is used to receive data from keyboard.
-// Use RXD pin for PS/2 DATA line and XCK for PS/2 CLOCK.
-// NOTE: This is recomended strongly if you use V-USB library.
-#define PS2_USE_USART
-
-// External or Pin Change Interrupt is used to receive data from keyboard.
-// Use INT1 or PCINTxx for PS/2 CLOCK line. see below.
-//#define PS2_USE_INT
-
-
-#ifdef PS2_USE_USART
-// synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge
-// set DDR of CLOCK as input to be slave
-#define PS2_USART_INIT() do {   \
-    PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT);   \
-    PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT);     \
-    UCSR0C = ((1 << UMSEL00) |  \
-              (3 << UPM00)   |  \
-              (0 << USBS0)   |  \
-              (3 << UCSZ00)  |  \
-              (0 << UCPOL0));   \
-    UCSR0A = 0;                 \
-    UBRR0H = 0;                 \
-    UBRR0L = 0;                 \
-} while (0)
-#define PS2_USART_RX_INT_ON() do {  \
-    UCSR0B = ((1 << RXCIE0) |       \
-              (1 << RXEN0));        \
-} while (0)
-#define PS2_USART_RX_POLL_ON() do { \
-    UCSR0B = (1 << RXEN0);          \
-} while (0)
-#define PS2_USART_OFF() do {    \
-    UCSR0C = 0;                 \
-    UCSR0B &= ~((1 << RXEN0) |  \
-                (1 << TXEN0));  \
-} while (0)
-#define PS2_USART_RX_READY      (UCSR0A & (1<<RXC0))
-#define PS2_USART_RX_DATA       UDR0
-#define PS2_USART_ERROR         (UCSR0A & ((1<<FE0) | (1<<DOR0) | (1<<UPE0)))
-#define PS2_USART_RX_VECT       USART_RX_vect
-#endif
-
-
-#ifdef PS2_USE_INT
-/* INT1
-#define PS2_INT_INIT()  do {    \
-    EICRA |= ((1<<ISC11) |      \
-              (0<<ISC10));      \
-} while (0)
-#define PS2_INT_ON()  do {      \
-    EIMSK |= (1<<INT1);         \
-} while (0)
-#define PS2_INT_OFF() do {      \
-    EIMSK &= ~(1<<INT1);        \
-} while (0)
-#define PS2_INT_VECT    INT1_vect
-*/
-
-/* PCINT20 */
-#define PS2_INT_INIT()  do {    \
-    PCICR  |= (1<<PCIE2);       \
-} while (0)
-#define PS2_INT_ON()  do {      \
-    PCMSK2 |= (1<<PCINT20);     \
-} while (0)
-#define PS2_INT_OFF() do {      \
-    PCMSK2 &= ~(1<<PCINT20);    \
-    PCICR  &= ~(1<<PCIE2);      \
-} while (0)
-#define PS2_INT_VECT    PCINT2_vect
-#endif
-
-#endif
-
 #endif

+ 2 - 2
hhkb/doc/HHKB_TP1684.jpg


+ 7 - 2
ps2_usb/Makefile

@@ -1,5 +1,10 @@
+#
+# Makefile for PJRC Teensy
+#
+
+
 # Target file name (without extension).
-TARGET = ps2_usb
+TARGET = ps2_usb_pjrc
 
 # Directory common source filess exist
 COMMON_DIR = ..
@@ -37,7 +42,7 @@ F_CPU = 16000000
 #   comment out to disable the options.
 #
 MOUSEKEY_ENABLE = yes	# Mouse keys
-USB_EXTRA_ENABLE = yes	# Enhanced feature for Windows(Audio control and System control)
+USB_EXTRA_ENABLE = yes	# Audio control and System control
 USB_NKRO_ENABLE = yes	# USB Nkey Rollover
 
 

+ 7 - 2
ps2_usb/Makefile.vusb

@@ -1,5 +1,10 @@
+#
+# Makefile for V-USB
+#
+
+
 # Target file name (without extension).
-TARGET = ps2_vusb
+TARGET = ps2_usb_vusb
 
 # Directory common source filess exist
 COMMON_DIR = ..
@@ -43,7 +48,7 @@ F_CPU = 20000000
 #   comment out to disable the options.
 #
 MOUSEKEY_ENABLE = yes	# Mouse keys
-#USB_EXTRA_ENABLE = yes	# Enhanced feature for Windows(Audio control and System control)
+USB_EXTRA_ENABLE = yes	# Audio control and System control
 #USB_NKRO_ENABLE = yes	# USB Nkey Rollover