summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/protocols/ihu-ttx.txt84
1 files changed, 81 insertions, 3 deletions
diff --git a/doc/protocols/ihu-ttx.txt b/doc/protocols/ihu-ttx.txt
index e447066..2fc518c 100644
--- a/doc/protocols/ihu-ttx.txt
+++ b/doc/protocols/ihu-ttx.txt
@@ -2,7 +2,85 @@ Protocol Definition between IHU and TTX
=======================================
-Introduction
-------------
+Bitstream
+---------
-to be defined...
+IHU and TTX communicate using a simple serial synchronous bus (SDA,SCL).
+The IHU is the master and drives the clock. On Idle the SCL and SDA are both
+at logic 0. When the IHU want's to communicate it has to generate wakeup pulse
+with a minimun length of 1µs. After this it has to wait at least 3ms for the TTX
+wake up and switch to a higher oscillator frequency. The data is transferred in
+octets MSB first. SDA must be stable before the clock goes high. A Clock pulse
+must be at least 4µs long and the data has to stay valid for at least 17µs. After
+each octet there must be a break of 50µs.
+
+ | wake up | 1st octet | break | 2nd octet
+ _________________ _________________
+SDA | | | |
+-----------//-+ +---------//--+ +----//------------
+ _ ____ ____ ____ ____
+SCL | | | | | | | | | |
+-----+ +---//--+ +------------+ +---//---+ +----------------//--+ +----
+
+ | 3ms | 4µs| 13µs | | 50µs |
+
+
+Frames
+------
+
+Every frame starts with 4 bit command code and a 4 bit length field. After this follow
+len octets of data. When all the data has been transferred the Master (IHU) switches
+SDA as input and clocks in on byte as acknowledge. The aknowledge is a one byte XOR
+checksum over all octets (including the command/len octet).
+
+Field-length: 1 LEN 1
+ +---------+----------------+--------+
+Name | CMD/LEN | DATA | CS |
+ +---------+----------------+--------+
+
+Commands
+--------
+
+ Hex '0'
+ ~~~~~~~
+
+ This tells the TTX to shut up. The TTX will send out one aknowledge over cw and after
+ that disables any further broadcasts. (Safe mode)
+
+ Hex '1'
+ ~~~~~~~
+
+ This is the reverse of the '0' command. The TTX will send out an aknowledge over cw
+ and reenables broadcasting of beacons.
+
+ Hex '2'
+ ~~~~~~~
+
+ The command sets a new beacon interval. The data is one octet containing the new beacon
+ interval in seconds.
+
+ Hex '3'
+ ~~~~~~~
+
+ This sets a new cw speed. It is followed by three octets representing the dot, dash
+ and word space times.
+
+ Hex 'A'
+ ~~~~~~~
+
+ This instructs the TTX to send out a aknowledge frame over cw. The command
+ has 1 octet of data containing the ASCII Code of the aknowledge to send out.
+
+ Hex 'B'
+ ~~~~~~~
+
+ This inscructs the TTX to send out a beacon immediately. It also resets the timer
+ so that the next beacon will follow after the normal beacon period. This command has
+ no data
+
+ Hex 'F'
+ ~~~~~~~
+
+ This transmits a new format string for the standard beacon. The data is a variable
+ length string containing ASCII characters each standing for a beacon element to send
+ out.