|
Protocol of the Lacrosse TX3-TH thermo/hygro sensorCompatible: TX4, et certainly others... |
Each frame is 44 bits long. It is composed of:
- 2 blocs of four bits = 0A (start sequence) [blue]
- 8 blocks of four bits (data)
- 1 block of four bits (checksum) [red]
Example 1
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 |
Example 2
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
Example 3
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 1 |
Example 4
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
Example 5
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
Example 6
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
Example 7
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Example 8
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
The active values of the frames are explained below:
- Start sequence [white]
- Type of measure (0=Thermo E=hygro) [yellow]
- Address of sensor [cyan]
- Parity bit [purple] (parity bit + bits sum of the 3 first green nibbles is even)
- Measure [green]
- Checksum [red] (Lower four bits of the sum of all words) [red]
Example 1
0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 1 | 1 | 1 | 0 | | 0 | 1 | 1 | 1 | | 0 | 0 | 1 | 1 | | 0 | 0 | 0 | 1 | | 0 | 1 | 1 | 1 | | 0 | 0 | 1 | 1 | | 1 | 1 | 0 | 1 |
0 | | A | | 0 | | 0 | | 7 | 0 | | 7 | | 3 | | 1 | | 7 | | 3 | | D | |
Checksum: (0 + A + 0 + 0 + E + 7 + 3 + 1 + 7 + 3) and F = D | | D |
Example 2
0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 1 | 1 | 1 | 0 | | 1 | 1 | 0 | 0 | | 1 | 1 | 0 | 0 | | 0 | 1 | 1 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 0 | 1 | 1 | 0 | | 0 | 0 | 0 | 0 | | 1 | 1 | 0 | 0 |
0 | | A | | E | | C | | 6 | 0 | | 6 | | 0 | | 0 | | 6 | | 0 | | C | |
Checksum: (0 + A + E + C + C + 6 + 0 + 0 + 6 + 0) and F = C | | C |
Example 3
0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 0 | 0 | 0 | 0 | | 0 | 1 | 0 | 0 | | 0 | 1 | 0 | 0 | | 0 | 1 | 1 | 1 | | 0 | 0 | 1 | 0 | | 0 | 0 | 1 | 1 | | 0 | 1 | 1 | 1 | | 0 | 0 | 1 | 0 | | 0 | 1 | 1 | 1 |
0 | | A | | 0 | | 4 | | 2 | 0 | | 7 | | 2 | | 3 | | 7 | | 2 | | 7 | |
Checksum: (0 + A + 0 + 4 + 4 + 7 + 2 + 3 + 7 + 2) and F = 7 | | 7 |
Example 4
0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 1 | 1 | 1 | 0 | | 0 | 0 | 0 | 0 | | 1 | 1 | 1 | 1 | | 0 | 1 | 0 | 1 | | 0 | 0 | 1 | 0 | | 0 | 0 | 0 | 0 | | 0 | 1 | 0 | 1 | | 0 | 0 | 1 | 0 | | 0 | 1 | 0 | 1 |
0 | | A | | E | | 0 | | 7 | 1 | | 5 | | 2 | | 0 | | 5 | | 2 | | 5 | |
Checksum: (0 + A + E + 0 + F + 5 + 2 + 0 + 5 + 2) and F = 5 | | 5 |
Example 5
0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 1 | 1 | 1 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 1 | 1 | 1 | 0 | | 0 | 0 | 0 | 0 | | 0 | 1 | 1 | 0 | | 0 | 1 | 1 | 1 | | 0 | 0 | 0 | 0 | | 0 | 0 | 1 | 1 |
0 | | A | | E | | 0 | | 0 | 0 | | E | | 0 | | 6 | | 7 | | 0 | | 3 | |
Checksum: (0 + A + E + 0 + 0 + E + 0 + 6 + 7 + 0) and F = 3 | | 3 |
Example 6
0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | | 0 | 1 | 0 | 0 | | 0 | 1 | 1 | 0 | | 1 | 0 | 0 | 0 | | 0 | 0 | 0 | 1 | | 0 | 1 | 1 | 0 | | 1 | 0 | 0 | 0 | | 0 | 0 | 1 | 1 |
0 | | A | | 0 | | 8 | | 2 | 0 | | 6 | | 8 | | 1 | | 6 | | 8 | | 3 | |
Checksum: (0 + A + 0 + 8 + 4 + 6 + 8 + 1 + 6 + 8) and F = 3 | | 3 |
Example 7
0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 1 | 1 | 1 | 1 | | 0 | 1 | 1 | 1 | | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 1 | | 0 | 1 | 1 | 1 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 |
0 | | A | | 0 | | 0 | | 7 | 1 | | 7 | | 0 | | 9 | | 7 | | 0 | | 0 | |
Checksum: (0 + A + 0 + 0 + F + 7 + 0 + 9 + 7 + 0) and F = 0 | | 0 |
Example 8
0 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 1 | 1 | 1 | 0 | | 0 | 0 | 0 | 0 | | 1 | 1 | 1 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 0 | 1 | 1 | 0 |
0 | | A | | E | | 0 | | 7 | 0 | | 0 | | 0 | | 0 | | 0 | | 0 | | 6 | |
Checksum: (0 + A + E + 0 + E + 0 + 0 + 0 + 0 + 0) and F = 6 | | 6 |
| Start sequence |
| Sensor type |
| Sensor Address |
| Parity check |
| Data values |
| Redundancy values |
| Checksum |
The measure is on 3 BCD digits, the two first digits are repeated to fill the 5 nibles.
The parity shall be equal to zero and is the exclusive or of the parity bit and the bits of the three data nibbles
For temperature, an offset of 50 deg has to be substracted from the measure.
- address : 07 - Parity OK - [tempe] 23.1 deg
- address : 66 - Parity OK - [hygro] 60.0 %
- address : 22 - Parity OK - [tempe] 22.3 deg
- address : 07 - Parity OK - [hygro] 52.0 %
- address : 00 - Parity NOK - [hygro] E0.6 %
- address : 42 - Parity OK - [tempe] 18.1 deg
- address : 07 - Parity OK - [tempe] 20.9 deg
- address : 07 - Parity OK - [hygro] 00.0 %
Thanks to Matthias for the purple bit information.
I am interested by any comment or more information on the format of these frames. Contact: Jean-Paul ROUBELAT - F6FBB
[back to menu]