summaryrefslogtreecommitdiff
path: root/converter/sun_usb/README
diff options
context:
space:
mode:
Diffstat (limited to 'converter/sun_usb/README')
-rw-r--r--converter/sun_usb/README99
1 files changed, 99 insertions, 0 deletions
diff --git a/converter/sun_usb/README b/converter/sun_usb/README
new file mode 100644
index 0000000000..276f6bfff8
--- /dev/null
+++ b/converter/sun_usb/README
@@ -0,0 +1,99 @@
+Sun to USB keyboard protocol converter
+======================================
+Target MCU is ATMega32u4 but other USB capable AVR will also work.
+Supported keyboards: Sun Type 5 Keyboard, CTCSP SHORT TYPE KEYBOARD(CKUB)
+
+CTCSP SHORT TYPE KEYBOARD: http://imgur.com/a/QIv6p
+
+
+
+
+Connector
+---------
+ 8Pin mini DIN
+ ___ ___
+ / |_| \
+ / 8 7 6 \
+ | 5 4 3 |
+ \_ 2 1 _/
+ \_____/
+ (receptacle)
+
+ Wiring:
+ Pin mini DIN MCU
+ ----------------------------------
+ 1 GND GND
+ 2 GND GND
+ 3 5V
+ 4 RX/TX(Mouse)
+ 5 RX PD3
+ 6 TX PD2
+ 7 GND GND
+ 8 5V VCC
+
+
+Protocol
+--------
+Signal: Asynchronous, Negative logic, 1200baud, No Flow control
+Frame format: 1-Start bit, 8-Data bits, No-Parity, 1-Stop bit
+
+ AVR USART engine expects positive logic while Sun keyboard signal is negative.
+ To use AVR UART engine you need external inverter in front of RX and TX pin.
+ Otherwise you can software serial routine to communicate the keyboard.
+
+This converter uses software method, you doesn't need any inverter part.
+
+
+Commands From System To Keyboard
+ 0x01 Reset
+ Keyboard responds with following byte sequence:
+ Success: 0xFF 0x04 0x7F
+ Fail: 0x7E 0x01 0x7F
+ 0x02 Bell On
+ 0x03 Bell Off
+ 0x0A Click On
+ 0x0B Click Off
+ 0x0E LED
+ followed by LED status byte:
+ bit: 3 2 1 0
+ LED: CapsLk ScrLk Compose NumLk
+ 0x0F Layout
+ Keyboard responds with 'Layout Response' 0xFE 0xXX
+
+Commands From Keyboard To System
+ 0x7F Idle
+ means no keys pressed.
+ 0xFE Layout Response
+ 0xFF Reset Response(followed by 0x04)
+
+Reference
+ http://kentie.net/article/sunkbd/page2.htm
+ http://kentie.net/article/sunkbd/KBD.pdf
+
+
+Build Firmware
+--------------
+Just use 'make'
+ $ cd sun_usb
+ $ make
+Then, load the binary to MCU with your favorite programmer.
+
+
+Sun commands
+------------
+You can send Sun protocol commands with TMK `Magic` key combo. By default `Magic` key is `LShift` + `RShift`, `LAlt` + `RAlt' or `LMeta` + `RMeta`.
+https://github.com/tmk/tmk_keyboard#magic-commands
+
+Following Sun specific commands are available. For example, to send 'Bell On' you can press `LShift` + `RShift` + `Up` keys simultaneously.
+
+```
+----- Sun converter Help -----
+Up: Bell On
+Down: Bell Off
+Left: Click On
+Right: Click Off
+PgUp: LED all On
+PgDown: LED all On
+Insert: Layout
+Delete: Reset
+```