diff --git a/WACCA_Touch_Protocol.md b/WACCA_Touch_Protocol.md index dd05b99..20d399d 100644 --- a/WACCA_Touch_Protocol.md +++ b/WACCA_Touch_Protocol.md @@ -1,3 +1,21 @@ +# Unit board communcation + +## Wiring + +``` +┌---------┐ +|? ? ? A G| +|? ? ? B V| +└---|_|---┘ + +A: RS-485 A/- +B: RS-485 B/+ +V: Vcc +G: GND +?: Unknown +``` + +This diagram shows the female IDC connector that is present on the ribbon cable with the notch positioned downwards. Connect a 12V power supply to the Vcc and GND pins. To communicate with the wedges connect a RS-485 transceiver to the A and B pins, additionally connect the ground of the transceiver to the GND pin. The unit boards communicate with a baud-rate of 921600. ## Command Packet Structure @@ -8,6 +26,8 @@ For the address the following values are used: - Unit Boards -> Sync Board: 0xD0 + Unit Board ID - Sync Board -> Unit Boards: 0xE0 + Unit Board ID + +The address correlates to the id set on the rotary switch on the unit board. #### Command ID The following Command ID's are known: - 0xA8: Get Unit Board Version @@ -15,7 +35,7 @@ The following Command ID's are known: - 0x94: Set Thresholds - 0x90: "Initialize" unit board - 0xA1: Poll touch state -- 0xA3: Poll touch state (Analogue) (Not tested yed) +- 0xA3: Poll touch state (Analogue) (Untested) #### Variable Data This contains data, it has a variable length. #### Checksum @@ -75,7 +95,7 @@ The sync board sends: The unit boards respond with: `0xD1 0xA1 0x80 0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x75 0xF0` -#### 0xA3 - Poll touch state (Analogue) +#### 0xA3 - Poll touch state (Analogue) (Untested) This command retrieves the touch state from the unit boards. The sync board sends: