|
Protocol of the Lacrosse WS7000-15 wind sensor |
Each frame is 61 bits long. It is composed of:
- 10bits of 0 (start sequence) [blue]
- 10 blocks of four bits separated by a bit 1 [red] to be checked and skipped
Example 1
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
Example 2
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
Example 3
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
When extracting data from the 3 examples, we get:
Example 1
1 | 1 | 0 | 0 | | 1 | 1 | 1 | 0 | | 1 | 0 | 1 | 0 | | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 0 | 0 | 1 | 0 | | 1 | 1 | 1 | 0 | | 0 | 1 | 1 | 0 | | 1 | 1 | 0 | 1 | |
Example 2
1 | 1 | 0 | 0 | | 1 | 1 | 1 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 0 | 1 | 0 | 0 | | 1 | 1 | 1 | 0 | | 1 | 0 | 1 | 0 | | 1 | 1 | 0 | 0 | |
Example 3
1 | 1 | 0 | 0 | | 1 | 1 | 1 | 0 | | 1 | 0 | 1 | 0 | | 0 | 1 | 0 | 0 | | 1 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 1 | | 0 | 1 | 0 | 1 | | 1 | 0 | 0 | 1 | |
The 1st bit of each word is LSB, so we have to reverse the 4 bits of each word.
The active values of the sensor is coloured in [green] in the following tables:
Example 1
0 | 0 | 1 | 1 | | 0 | 1 | 1 | 1 | | 0 | 1 | 0 | 1 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 1 | | 0 | 1 | 0 | 1 | | 0 | 1 | 0 | 0 | | 0 | 1 | 1 | 1 | | 0 | 1 | 1 | 0 | | 1 | 0 | 1 | 1 | |
3 | | 0 | 7 | | 5 | | 0 | | 1 | | 5 | | 4 | | 1 | 3 | | 6 | | B | |
Check Xor : (3 ^ 7 ^ 5 ^ 0 ^ 1 ^ 5 ^ 4 ^ 7 ^ 6) = 0 Check Sum : (const5 + 3 + 7 + 5 + 0 + 1 + 5 + 4 + 7 + 6) and F = B | |
Example 2
0 | 0 | 1 | 1 | | 0 | 1 | 1 | 1 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 1 | | 0 | 1 | 0 | 1 | | 0 | 0 | 1 | 0 | | 0 | 1 | 1 | 1 | | 0 | 1 | 0 | 1 | | 0 | 0 | 1 | 1 | |
3 | | 0 | 7 | | 0 | | 0 | | 1 | | 5 | | 2 | | 1 | 3 | | 5 | | 3 | |
Check Xor : (3 ^ 7 ^ 0 ^ 0 ^ 1 ^ 5 ^ 2 ^ 7 ^ 5) = 0 Check Sum : (const5 + 3 + 7 + 0 + 0 + 1 + 5 + 2 + 7 + 5) and F = 3 | |
Example 3
0 | 0 | 1 | 1 | | 0 | 1 | 1 | 1 | | 0 | 1 | 0 | 1 | | 0 | 0 | 1 | 0 | | 0 | 0 | 0 | 1 | | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | | 1 | 0 | 1 | 0 | | 1 | 0 | 0 | 1 | |
3 | | 0 | 7 | | 5 | | 2 | | 1 | | 0 | | 0 | | 2 | 0 | | A | | 9 | |
Check Xor : (3 ^ 7 ^ 5 ^ 2 ^ 1 ^ 0 ^ 0 ^ 8 ^ A) = 0 Check Sum : (const5 + 3 + 7 + 5 + 2 + 1 + 0 + 0 + 8 + A) and F = 9 | |
| Sensor type is 3 |
| Speeed +100km/h |
| Sensor Address 7 |
| Data values |
| CheckXor |
| Checksum |
The first block is the LSB, so the values are repectively:
- [speed] 10.5 km/h - [direction] 145 deg ± 67.5 deg
- [speed] 10.0 km/h - [direction] 125 deg ± 67.5 deg
- [speed] 12.5 km/h - [direction] 200 deg ± 0 deg
I am interested by any comment or more information on the format of these frames. Contact: Jean-Paul ROUBELAT - F6FBB
[back to menu]