qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

readme.md (3637B)


      1 # Stowaway Serial keyboard  to USB  protocol converter
      2 
      3 A converter for Palm Pilot era Stowaway serial keyboards. 
      4 
      5 Makes extensive use of the code from [cy384](https://github.com/cy384/ppk_usb). Ported to QMK by [milestogo](https://github.com/milestogo).
      6 
      7 Hardware Supported: See hardware section below  
      8 Hardware Availability: self-built
      9 
     10 Make example for this keyboard (after setting up your build environment):
     11 
     12     make converter/palm_usb/stowaway:default
     13 
     14 See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
     15 
     16 
     17 ## Hardware
     18 
     19 Target MCU is ATMega32u4 but other USB capable AVRs should also work. 
     20 
     21 cy843 has a very specific way of wiring in order to fit all pins in sequence. It breaks
     22 qmk because  the Arduino softserial library uses different pins from QMK. 
     23 
     24 I've wired the pro micro  hardware as follows. 
     25 
     26 | Label | TX0 | RX1 | GND | GND |  2  |  3  |  4  |  5  |  6  |  7  |
     27 |  ---  | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
     28 | Palm  |     |     |  *  | GND | VCC | RX  | NC  | RTS | NC  | DCD |
     29 |  MCU  |     |     |     |     | D1  | D0  |     | C6  |     | E6  |
     30 
     31 \* The RX line from the keyboard should be conected to a ~10K ohm pull down resistor to ground.
     32 RX --|--3
     33     10K
     34      |
     35     GND
     36 
     37 
     38 Power management is not implemented yet, this just reboots the keyboard frequently. 
     39 
     40 ### Keyboards: 
     41 
     42 Think Outside Stowaway Keyboards
     43 There are at least 5 different versions of these keyboards out there. 
     44 
     45 Group 1: Palm 3, Palm 5 & HP Journada 540, and Compaq iPaq keyboards. These share
     46 the same RTS protocol, but with different pinouts for each device. 
     47 
     48 Group 2: Handspring keyboards. These don't do handshaking protocol, and use TTL signal. 
     49 Set HANDSPRING to 1 in config.h
     50 
     51 Group 3: IRDA models. Untested but theoretically serial.
     52 
     53 ### Connectors
     54 
     55 See https://github.com/cy384/ppk_usb for wiring & sample 3d printable sockets.
     56 
     57 Only Palm3 wiring has been tested.  
     58 RXD pin is output from keyboard to MCU's RX. 
     59 
     60 Viewed from left to right with the keyboard in typing position. 
     61 
     62 Palm3: [NC, VCC, RXD, RTS, NC, NC, DCD, NC, NC, GND]
     63 Palm5: [NC, VCC, RXD, RTS, NC, NC, DCD, NC, NC, GND] (same order, different connector)
     64 Handspring: [VCC/TXD, NC, NC, NC, GND, NC, NC, RXD]
     65 Journada: [NC, NC, NC, GND, NC, RTS, NC, DTR/VCC, RXD, DCD, NC]   [GND-IN, VCC-IN]
     66 Ipaq:  [NC, NC, DTR/VCC, NC, NC, RTS, NC, RXD, DCD, GND, NC, NC]
     67 
     68 ### Protocol
     69 
     70     Signal: Asynchronous, Negative logic, 9600baud, No Flow control
     71     Frame format: 1-Start bit, 8-Data bits, No-Parity, 1-Stop bit
     72 
     73     AVR USART engine expects positive logic while stowaway keyboard signal is negative.
     74     To use AVR UART engine you need external inverter in front of RX and TX pin.
     75     Otherwise you can software serial routine to communicate the keyboard.
     76 
     77 This converter uses software method, you doesn't need any inverter part.
     78 
     79 
     80 Commands From System To Keyboard
     81     none
     82 
     83 Commands From Keyboard To System
     84 
     85     0xFA Reset/Ready Response(followed by 0xFD)
     86      
     87 References
     88 
     89 * http://www.splorp.com/pdf/stowawayhwref.pdf
     90 
     91 ### Todo
     92 - Test on anything but a palm 3 model keyboard. 
     93 - Change all of the soft serial to match the new Helix based code so that it is easier
     94 to switch pins. 
     95 - The driver should check for a keyboard that pressed the delete key then disconnected. 
     96 Check every MAXDROP scans that the keyboard is there, and if not, clear the matrix. 
     97 Not implemented yet, since matrix scan is so much faster than serial.