Changes

610 bytes added ,  15:32, 1 August 2023
no edit summary
Line 19: Line 19:  
|-
 
|-
 
|}
 
|}
Also, there are using two data transport protocols: TCP and UDP. But it is not important which one will be use in Codec.  
+
Also, there are using two data transport protocols: TCP and UDP. But it is not important which one will be used in Codec.  
    
='''<big>Codec for device data sending</big>'''=
 
='''<big>Codec for device data sending</big>'''=
Line 135: Line 135:  
'''Satellites''' – number of visible satellites. <br>
 
'''Satellites''' – number of visible satellites. <br>
 
'''Speed''' – speed calculated from satellites. <br> <br>
 
'''Speed''' – speed calculated from satellites. <br> <br>
'''Note:''' Speed will be <code>0x0000</code> if GPS data is invalid. <br> <br>
+
'''Note:''' If record are without valid coordinates – (there were no GPS fix in the moment of data acquisition) – Longitude, Latitude and Altitude values are last valid fix, and Angle, Satellites and Speed are 0. <br> <br>
 
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: <br>
 
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: <br>
 
[[Image:GPS.png]]
 
[[Image:GPS.png]]
Line 466: Line 466:  
|-
 
|-
 
| style="vertical-align: middle; text-align: center;" |1’st IO Value
 
| style="vertical-align: middle; text-align: center;" |1’st IO Value
| style="vertical-align: middle; text-align: center;" |5E 0F
+
| style="vertical-align: middle; text-align: center;" |5E 10
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
Line 556: Line 556:  
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
Line 606: Line 606:  
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
Line 626: Line 626:  
*'''<big>Codec8 protocol sending over UDP</big>'''
 
*'''<big>Codec8 protocol sending over UDP</big>'''
   −
UDP is a transport layer protocol above UDP/IP to add reliability to plain UDP/IP using acknowledgment packets. <br>
+
Codec8 protocol over UDP is a transport layer protocol above UDP/IP to add reliability to plain UDP/IP using acknowledgment packets. <br>
    
*'''AVL Data Packet'''
 
*'''AVL Data Packet'''
Line 857: Line 857:  
| style="vertical-align: middle; text-align: center;" |5D BC
 
| style="vertical-align: middle; text-align: center;" |5D BC
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
Line 1,038: Line 1,038:  
'''Satellites''' – number of visible satellites. <br>
 
'''Satellites''' – number of visible satellites. <br>
 
'''Speed''' – speed calculated from satellites. <br> <br>
 
'''Speed''' – speed calculated from satellites. <br> <br>
'''Note:''' Speed will be <code>0x0000</code> if GPS data is invalid. <br> <br>
+
'''Note:''' If record are without valid coordinates – (there were no GPS fix in the moment of data acquisition) – Longitude, Latitude and Altitude values are last valid fix, and Angle, Satellites and Speed are 0. <br> <br>
 
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: <br>
 
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: <br>
 
[[Image:GPS.png]]
 
[[Image:GPS.png]]
Line 1,057: Line 1,057:  
| style="vertical-align: middle; text-align: center;" |2 bytes
 
| style="vertical-align: middle; text-align: center;" |2 bytes
 
| rowspan="33" style=" width:5%; vertical-align: middle; text-align: left;" |
 
| rowspan="33" style=" width:5%; vertical-align: middle; text-align: left;" |
| rowspan="33" style=" width:65%; vertical-align: middle; text-align: left;" |'''Event IO ID''' – if data is acquired on event – this field defines which IO property has changed and generated an event. For example, when if Ignition state changed and it generate event, Event IO ID will be 0xEF (AVL ID: 239). If it’s not eventual record – the value is 0. <br>
+
| rowspan="33" style=" width:65%; vertical-align: middle; text-align: left;" |'''Event IO ID''' – if data is acquired on event – this field defines which IO property has changed and generated an event. For example, when if Ignition state changed and it generate event, Event IO ID will be 0x00EF (AVL ID: 239). If it’s not eventual record – the value is 0x0000. <br>
 
'''N''' – a total number of properties coming with record (N = N1 + N2 + N4 + N8). <br>
 
'''N''' – a total number of properties coming with record (N = N1 + N2 + N4 + N8). <br>
 
'''N1''' – number of properties, which length is 1 byte. <br>
 
'''N1''' – number of properties, which length is 1 byte. <br>
Line 1,273: Line 1,273:  
| style="vertical-align: middle; text-align: center;" |00 1D
 
| style="vertical-align: middle; text-align: center;" |00 1D
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00 01
 
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
Line 1,282: Line 1,282:  
| style="vertical-align: middle; text-align: center;" |01 5E 2C 88
 
| style="vertical-align: middle; text-align: center;" |01 5E 2C 88
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00 02
 
| style="vertical-align: middle; text-align: center;" |00 02
 
|-
 
|-
Line 1,316: Line 1,316:  
*'''UDP channel protocol'''
 
*'''UDP channel protocol'''
   −
AVL data packet is the same as with Codec8, except Codec ID is changed to <code>0x8E</code>. <br>  
+
AVL data packet is the same as with Codec8, except Codec ID is changed to <code>0x8E</code>. AVL Data encoding performed according to Codec8 Extended protocol. <br>  
    
*'''Communication with server'''
 
*'''Communication with server'''
Line 1,455: Line 1,455:  
| style="vertical-align: middle; text-align: center;" |00 1D
 
| style="vertical-align: middle; text-align: center;" |00 1D
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00 01
 
| style="vertical-align: middle; text-align: center;" |00 01
 
|-
 
|-
Line 1,464: Line 1,464:  
| style="vertical-align: middle; text-align: center;" |01 5E 2C 88
 
| style="vertical-align: middle; text-align: center;" |01 5E 2C 88
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00 02
 
| style="vertical-align: middle; text-align: center;" |00 02
 
|-
 
|-
Line 1,649: Line 1,649:  
'''Satellites''' – number of visible satellites. <br>
 
'''Satellites''' – number of visible satellites. <br>
 
'''Speed''' – speed calculated from satellites. <br> <br>
 
'''Speed''' – speed calculated from satellites. <br> <br>
'''Note:''' Speed will be <code>0x0000</code> if GPS data is invalid. <br> <br>
+
'''Note:''' If record are without valid coordinates – (there were no GPS fix in the moment of data acquisition) – Longitude, Latitude and Altitude values are last valid fix, and Angle, Satellites and Speed are 0. <br> <br>
 
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: <br>
 
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: <br>
 
[[Image:GPS.png]]
 
[[Image:GPS.png]]
Line 1,912: Line 1,912:  
| style="vertical-align: middle; text-align: center;" |56 3A
 
| style="vertical-align: middle; text-align: center;" |56 3A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
Line 1,983: Line 1,983:  
| style="vertical-align: middle; text-align: center;" |56 3A
 
| style="vertical-align: middle; text-align: center;" |56 3A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
Line 2,001: Line 2,001:  
Server response: <code>00000002</code> <br>  
 
Server response: <code>00000002</code> <br>  
   −
*'''<big>Codec16 Extended protocol sending over UDP</big>'''
+
*'''<big>Codec16 protocol sending over UDP</big>'''
 
*'''UDP channel protocol'''
 
*'''UDP channel protocol'''
   −
AVL data packet is the same as with Codec8, except Codec ID is changed to <code>0x10</code>. <br>
+
AVL data packet is the same as with Codec8, except Codec ID is changed to <code>0x10</code>. AVL Data encoding performed according to Codec16 protocol. <br>
    
*'''Communication with server'''
 
*'''Communication with server'''
Line 2,164: Line 2,164:  
| style="vertical-align: middle; text-align: center;" |11 1A
 
| style="vertical-align: middle; text-align: center;" |11 1A
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N4 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
| style="vertical-align: middle; text-align: center;" |N8 of Two Bytes IO
+
| style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO
 
| style="vertical-align: middle; text-align: center;" |00
 
| style="vertical-align: middle; text-align: center;" |00
 
|-
 
|-
Line 2,177: Line 2,177:     
Server response in hexadecimal stream:
 
Server response in hexadecimal stream:
<code>0005CAFE010700</code> <br> <br>
+
<code>0005CAFE010701</code> <br> <br>
 
Parsed:
 
Parsed:
 
{| class="nd-othertables_2" style="width:100%;"
 
{| class="nd-othertables_2" style="width:100%;"
Line 2,201: Line 2,201:  
|-
 
|-
 
| style="vertical-align: middle; text-align: center;" |Number of Accepted Data
 
| style="vertical-align: middle; text-align: center;" |Number of Accepted Data
| style="vertical-align: middle; text-align: center;" |00
+
| style="vertical-align: middle; text-align: center;" |01
 
|-
 
|-
 
|} <br />
 
|} <br />
Line 2,230: Line 2,230:  
|-
 
|-
 
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Generation Type
 
! rowspan="1" style="width:10%; vertical-align: middle; text-align: center;" |Generation Type
| style="vertical-align: middle; text-align: center;" |Is Using
+
| style="vertical-align: middle; text-align: center;" |Not Using
 
| style="vertical-align: middle; text-align: center;" |Not Using
 
| style="vertical-align: middle; text-align: center;" |Not Using
 
| style="vertical-align: middle; text-align: center;" |Is Using
 
| style="vertical-align: middle; text-align: center;" |Is Using
Line 2,606: Line 2,606:  
'''Command Type''' – it is always <code>0x05</code> since the packet is direction is FM->Server. <br>
 
'''Command Type''' – it is always <code>0x05</code> since the packet is direction is FM->Server. <br>
 
'''Command Size''' – command size field includes size of timestamp too, so it is equal to size of payload + size of timestamp. <br>
 
'''Command Size''' – command size field includes size of timestamp too, so it is equal to size of payload + size of timestamp. <br>
'''Timestamp''' – a difference, in milliseconds, between the current time and midnight, January, 1970 UTC (UNIX time). <br>
+
'''Timestamp''' – a difference, in seconds, between the current time and midnight, January, 1970 UTC (UNIX time). <br>
 
'''Command''' – actual received data. <br>
 
'''Command''' – actual received data. <br>
 
'''Command Quantity 2''' – a byte which defines how many records (commands) is in the packet. This byte will not be parsed but it’s recommended that it should contain same value as Command/Response Quantity 1. <br>
 
'''Command Quantity 2''' – a byte which defines how many records (commands) is in the packet. This byte will not be parsed but it’s recommended that it should contain same value as Command/Response Quantity 1. <br>

Navigation menu