Networkable Fast Clocks - Bus Protocol

Networkable Fast Clocks - Bus Protocol
Fast Clock Bus Protocol

This is mainly just a reminder to me of what the bus protocol looks like, in the event I need to do maintenance again. However, others might find it useful for building compatible devices.

The bus is serial, 9600 baud, 8 data bits, 1 stop bit, no parity. Data travels in packets of ten bytes. Typically, I have the master send out one packet every scale second, as the reception of a successful packet is what causes the colon on the slaves to blink. Also note that the four character positions are transmitted not as ASCII or literal segments, but as an index into the font table that each clock carries. This font table is listed at the bottom of the document.

Packet Description

ByteDescription
Byte 0Start byte, always 0xFF. 0xFF is not allowed as a value in any other byte
Byte 1Tens of hours character, index into font table (see below)
Byte 2Ones of hours character, index into font table (see below)
Byte 3Tens of minutes character, index into font table (see below)
Byte 4Ones of minutes character, index into font table (see below)
Byte 5Reserved for future use - value undefined
Byte 6Reserved for future use - value undefined
Byte 7Flags bits
0x80 = 24-hour time mode
0x40 = PM indicator on
Byte 8Reserved for future use - value undefined
Byte 9Simple checksum - sum of bytes 1-8

Font Table

IndexCharacterSegments
0011111100b
1100001100b
2210110110b
3310011110b
4401001110b
5511011010b
6611111010b
7710001100b
8811111110b
9911001110b
10(blank)00000000b
11c00110010b
12h01101010b
13n00101010b
14F11100010b
15A11101110b
16V01111100b
17E11110010b
18t01110010b
19r00100010b
20-00000010b
21o00111010b
22d00111110b
  Questions? Email Nathan Holmes
© NDHolmes, but freely usable under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.
Last modified on January 10, 2006, at 05:28 PM
Edit Page | Page History