| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Escort TD System commands for firmware version 1.6.4. and higher. | |||||||||||||||||||||||||
2 | ||||||||||||||||||||||||||
3 | ||||||||||||||||||||||||||
4 | All commands/requests are sent from an external device in the following format: | |||||||||||||||||||||||||
5 | ||||||||||||||||||||||||||
6 | Prefix | network number/address | Command | Data | Check sum | |||||||||||||||||||||
7 | 0х31 | u8(net_num) | (See the list of commands) | Can be absent | CRC-8 (Maxim) | |||||||||||||||||||||
8 | ||||||||||||||||||||||||||
9 | ||||||||||||||||||||||||||
10 | Prefix | |||||||||||||||||||||||||
11 | 0x31 | request from the computer/external device | ||||||||||||||||||||||||
12 | 0x3E | sensor response | ||||||||||||||||||||||||
13 | ||||||||||||||||||||||||||
14 | ||||||||||||||||||||||||||
15 | ||||||||||||||||||||||||||
16 | The list of commands/requests | Data | Note | |||||||||||||||||||||||
17 | 0x06 | request for data in Omnicomm format | None | |||||||||||||||||||||||
18 | ||||||||||||||||||||||||||
19 | 0xFF | command to poll the network | None | |||||||||||||||||||||||
20 | ||||||||||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | The response is rendered in the following format: | |||||||||||||||||||||||||
23 | Prefix | network number/address | Command/Request | Data | Check sum | |||||||||||||||||||||
24 | 0х3Е | u8(net_num) | (See the list of commands) | Can be absent (depends on the command sent) | CRC-8 (Maxim) | |||||||||||||||||||||
25 | ||||||||||||||||||||||||||
26 | ||||||||||||||||||||||||||
27 | Commands/requests | Response bytes's description | ||||||||||||||||||||||||
28 | 0x06 | Transmission of the data in the Omnicomm format | temperature -U8 | U8 - 2 digits | ||||||||||||||||||||||
29 | U16- fuel level reading | U16 - 4 digits | ||||||||||||||||||||||||
30 | U16 — reserved bytes (not used) | U32 - 8 digits | ||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||
40 | 0xFF | Command to poll the network | U8 net_num | |||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | Example of response to the 0x06 command | |||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | Prefix | Network address | Command | Checksum | ||||||||||||||||||||||
46 | Request | 0х31 | u8(net_num) | 0x06 | CRC-8 (Maxim) | |||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | Network addresses of the sensors are set within the range from 0 to 255 (net_num) | |||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | Each sensor emits its own number in the time gate corresponding to the sensor network address. | |||||||||||||||||||||||||
56 | gate time for a sensor's response - 1 ms. | |||||||||||||||||||||||||
57 | For example if there are two sensors with the network addresses 1 and 100, | |||||||||||||||||||||||||
58 | the value from the first sensor (with the network address 1) comes in 10 + 1 ms, the value from the second sensor (with the network address 100) comes in 100 + 10 ms. | |||||||||||||||||||||||||
59 | 10 ms separate each instance of the data transmission / reception by the converter USB-RS485 / | |||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | CRC calculation | You can can use the following algorithms to calculate the checksum with a polynom ^8 + a^5 + a^4 + 1 (C language) | ||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | U8 CRC8(U8 data, U8 crc) | |||||||||||||||||||||||||
64 | { | 1 U8 CRC8 (U8 b, U8 crc) 2 { 3 U8 i = 8; 4 do { 5 if ( (b ^ crc) & 0x01) { 6 crc = ( (crc ^ 0x18) >> 1 ) | 0x80; 7 } else { 8 crc >>= 1; 9 } 10 b >>= 1; 11 } while (--i); 12 return crc; 13 } | 1 U8 CRC8(U8 data, U8 crc) 2 { 3 U8 i = data ^ crc; 4 crc = 0; 5 if(i & 0x01) crc ^= 0x5e; 6 if(i & 0x02) crc ^= 0xbc; 7 if(i & 0x04) crc ^= 0x61; 8 if(i & 0x08) crc ^= 0xc2; 9 if(i & 0x10) crc ^= 0x9d; 10 if(i & 0x20) crc ^= 0x23; 11 if(i & 0x40) crc ^= 0x46; 12 if(i & 0x80) crc ^= 0x8c; 13 return crc; 14 } | |||||||||||||||||||||||
65 | U8 i = data ^ crc; | |||||||||||||||||||||||||
66 | crc = 0; | |||||||||||||||||||||||||
67 | if(i & 0x01) crc ^= 0x5e; | |||||||||||||||||||||||||
68 | if(i & 0x02) crc ^= 0xbc; | |||||||||||||||||||||||||
69 | if(i & 0x04) crc ^= 0x61; | |||||||||||||||||||||||||
70 | if(i & 0x08) crc ^= 0xc2; | |||||||||||||||||||||||||
71 | if(i & 0x10) crc ^= 0x9d; | |||||||||||||||||||||||||
72 | if(i & 0x20) crc ^= 0x23; | |||||||||||||||||||||||||
73 | if(i & 0x40) crc ^= 0x46; | |||||||||||||||||||||||||
74 | if(i & 0x80) crc ^= 0x8c; | |||||||||||||||||||||||||
75 | return crc; | |||||||||||||||||||||||||
76 | } | |||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 | ||||||||||||||||||||||||||