]> git.donarmstrong.com Git - tmk_firmware.git/blob - converter/sun_usb/README
ee59fc757c5982d7b592c04780de9e02384afe46
[tmk_firmware.git] / converter / sun_usb / README
1 Sun to USB keyboard protocol converter
2 ======================================
3 Target MCU is ATMega32u4 but other USB capable AVR will also work.
4 Supported keyboards: Sun Type 5 Keyboard, CTCSP SHORT TYPE KEYBOARD(CKUB)
5
6 CTCSP SHORT TYPE KEYBOARD: http://imgur.com/a/QIv6p
7
8
9
10
11 Connector
12 ---------
13   8Pin mini DIN
14      ___ ___
15     /  |_|  \
16    / 8  7  6 \
17   | 5    4  3 |
18    \_ 2   1 _/
19      \_____/  
20    (receptacle)
21
22     Wiring:
23     Pin mini DIN        MCU
24     ----------------------------------
25     1   GND             GND
26     2   GND             GND
27     3   5V
28     4   RX/TX(Mouse)
29     5   RX              PD3
30     6   TX              PD2
31     7   GND             GND
32     8   5V              VCC
33
34
35 Protocol
36 --------
37 Signal: Asynchronous, Negative logic, 1200baud, No Flow control
38 Frame format: 1-Start bit, 8-Data bits, No-Parity, 1-Stop bit
39
40     AVR USART engine expects positive logic while Sun keyboard signal is negative.
41     To use AVR UART engine you need external inverter in front of RX and TX pin.
42     Otherwise you can software serial routine to communicate the keyboard.
43
44 This converter uses software method, you doesn't need any inverter part.
45
46
47 Commands From System To Keyboard
48     0x01 Reset
49             Keyboard responds with following byte sequence:
50             Success: 0xFF 0x04 0x7F
51             Fail:    0x7E 0x01 0x7F
52     0x02 Bell On
53     0x03 Bell Off
54     0x0A Click On
55     0x0B Click Off
56     0x0E LED
57             followed by LED status byte:
58             bit: 3       2       1       0
59             LED: CapsLk  ScrLk   Compose NumLk
60     0x0F Layout
61             Keyboard responds with 'Layout Response' 0xFE 0xXX
62
63 Commands From Keyboard To System
64     0x7F Idle
65             means no keys pressed.
66     0xFE Layout Response
67     0xFF Reset Response(followed by 0x04)
68      
69 Reference
70     http://kentie.net/article/sunkbd/page2.htm
71     http://kentie.net/article/sunkbd/KBD.pdf
72
73
74 Build Firmware
75 --------------
76 Just use 'make'
77     $ cd sun_usb
78     $ make
79 Then, load the binary to MCU with your favorite programmer.