blob: 2fc518c13ade9dc4b4907640a4e9356e8a8f52b5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
Protocol Definition between IHU and TTX
=======================================
Bitstream
---------
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.
|