<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.teltonika-gps.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Einius.vienazindis</id>
	<title>Teltonika Telematics Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.teltonika-gps.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Einius.vienazindis"/>
	<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/view/Special:Contributions/Einius.vienazindis"/>
	<updated>2026-05-03T12:13:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=EYE_SENSOR_/_BTSMP1&amp;diff=112840</id>
		<title>EYE SENSOR / BTSMP1</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=EYE_SENSOR_/_BTSMP1&amp;diff=112840"/>
		<updated>2026-04-24T08:41:49Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: Magnet trigger count error and functionality clarified&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Introduction&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
Wireless solutions open up new horizons for your business and help to keep an eye on your assets. Discover our brand-new and certified Mesh ID sensor model from Teltonika with robust waterproof casing and a long-lifetime battery. The model is designed for a low-cost fast and easy configuration and integration to save precious time, resources, and ensure accountability.&lt;br /&gt;
[[File:BTSMP1-datasheet-2023-12-18.2.png|center|frameless|1157x1157px]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;About BTSMP1&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
Perfect for traceability use cases for indoor tracking solutions for items tracking in warehouses, hospitals, transport hubs and other types of industrial areas. The built-in accelerometer can detect item movement, pitch and roll of the device. Magnet detection can be used for wireless open/close detection and notifications such as trailer door events, etc. EYE sensor supports iBeacon and Eddystone protocols. Configure, scan, and update anytime within Mesh network.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Product Specification&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Features&amp;lt;/span&amp;gt;===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Functionalities&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Beacon ID, LED, Temperature, Humidity, Accelerometer, Magnet detection&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Dimensions and weight&lt;br /&gt;
! style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Dimensions&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |56,6 mm x 38 mm x 13 mm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Weight&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |18g&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Battery and power&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Model&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |CR2450&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Type&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Type Lithium, Manganese Dioxide&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Total Capacity&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |600 mAh&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Replaceable&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |No&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Battery life (Tx=2 dBm; interval: 3 s)&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |2.5 years&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Battery life (Tx=2 dBm; interval: 5 s), default&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |4 years&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Battery life (Tx=2 dBm; interval: 10 s)&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |5 years&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Connectivity&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Bluetooth® &lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Bluetooth® 4.2 compliant&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Range&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |80 m&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Available transmission power levels&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Up to 8 dBm&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Sensitivity&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; | -88 dBm&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Casing&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Protection&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |IP67&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Mounting&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Two holes to screw/leash/strip, tape&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Customization&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Custom logo upon request (Special conditions)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Environmental Requirements&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Humidity (non-condensing)&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |From 0% to 100%&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Operational temperature&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |  -20°C / +60°C (-4°F / +140°F) &lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Protocols compatibility&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |iBeacon&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Yes&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;iOS doesn&#039;t show devices with iBeacon protocol&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Eddystone&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Yes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |EYE Sensor&lt;br /&gt;
| style=&amp;quot;width:10%;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Dimensions&amp;lt;/span&amp;gt;===&lt;br /&gt;
[[File:Eye dimensions.png]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Value-adding Features&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;EN12830 Certified Model version&amp;lt;/span&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
EN12830 is a European standard specifying the requirements and test methods for temperature recording devices used in the storage, transport, and distribution of chilled, frozen, deep-frozen, and quick-frozen food and other types of products. It ensures these devices meet specific accuracy, resolution, and response time criteria to maintain product safety and quality.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Benefits of EN12830 Compliance&amp;lt;/span&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;big&amp;gt;EYE Sensor &#039;&#039;&#039;EN12830 model&#039;&#039;&#039;&amp;lt;/big&amp;gt; offers significant additional benefits, including:&amp;lt;br&amp;gt;&lt;br /&gt;
* [[BTSMP1 EN12830|EN12830 certificate]], proving reliability and compliance&amp;lt;br&amp;gt;&lt;br /&gt;
* Certified 0.5°C accuracy class across all working ranges (-20 to +60°C).&amp;lt;br&amp;gt;&lt;br /&gt;
* Temperature sensor that is calibrated in an ISO 17025-certified laboratory.&amp;lt;br&amp;gt;&lt;br /&gt;
* Internal memory for storage of temperature readings for up to 345 days.&amp;lt;br&amp;gt;&lt;br /&gt;
* Food-grade casing, compliant with EU and FDA regulations for food contact applications.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
All these benefits bring new business opportunities in cold-chain market! You may confidently track such items as:&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:EN12830 tracking goods.png]]&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Value to the end customer&amp;lt;/span&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
EYE Sensor EN12830 benefits a wide range of customers, virtually anyone who works with temperature-sensitive goods. It offers several advantages, such as:&amp;lt;br&amp;gt;&lt;br /&gt;
* Prevent spoilage.&amp;lt;br&amp;gt;&lt;br /&gt;
* Helps to quickly identify temperature deviations and act.&amp;lt;br&amp;gt;&lt;br /&gt;
* Ensures compliance with food safety standards.&amp;lt;br&amp;gt;&lt;br /&gt;
* Makes audits easier.&amp;lt;br&amp;gt;&lt;br /&gt;
* Reduces the risk of penalties for non-compliance.&amp;lt;br&amp;gt;&lt;br /&gt;
* Minimises the risk of fines or rejected shipments.&amp;lt;br&amp;gt;&lt;br /&gt;
* Improves product quality and extends shelf life.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;How to receive temperature data from EN12830 sensors&amp;lt;/span&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
You can download:&amp;lt;br&amp;gt;&lt;br /&gt;
* Current &amp;lt;b&amp;gt;and historical*&amp;lt;/b&amp;gt; temperature via FM trackers (* for historic data download, evaluation firmware version 03.29.00.Rev.258 is available by request via Partner Portal/HelpDesk).&amp;lt;br&amp;gt;&lt;br /&gt;
* Current &amp;lt;b&amp;gt;and historical&amp;lt;/b&amp;gt; temperature via &amp;lt;big&amp;gt;[https://wiki.teltonika-gps.com/view/Teltonika_EN12830_EYE_APP EYE APP EN12830].&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Current &amp;lt;b&amp;gt;and historical&amp;lt;/b&amp;gt; temperature via your own application. Download functionality and implementation instructions &amp;lt;big&amp;gt;[[Media:BTSXXXX.EN12830 Functionality Description for Client V1.2.pdf|HERE]]&amp;lt;/big&amp;gt;.&amp;lt;br&amp;gt;&lt;br /&gt;
Please note that temperature recording must be enabled beforehand via the same APP.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:EN12830_how_it_works_V2.png|871x871px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Hibernate mode&amp;lt;/span&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Hibernated mode means that the EYE device is OFF when shipping from the factory, preserving battery life.&lt;br /&gt;
PLEASE NOTE that EYE devices are available in two modes: factory-activated (ON) or Hibernated (OFF). You may order the device version which better suits your needs. Order codes are described on [https://teltonika-gps.com/products/accessories/sensors-beacons/eye &amp;lt;big&amp;gt;eye page&amp;lt;/big&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Value of hibernate mode&amp;lt;/span&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Hibernated versions of EYE devices simplify stock management for our partners while maximizing battery life. &amp;lt;br&amp;gt;1. &#039;&#039;&#039;Accelerated delivery times:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By stocking up on hibernated EYE devices, you ensure readiness to deploy EYE devices with full battery capacity at any moment. This proactive approach provides fastest possible service, increases your reputation for efficiency and positions you as an industry frontrunner, enhancing your competitive edge.&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Mitigated project risks:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
In scenarios where projects encounter unforeseen challenges, our hibernated EYE devices offer a buffer. Hibernate feature allows to safeguard your investments and potential revenue streams. This means that even if projects encounter delays or complications, you can still deploy EYE devices with full battery capacity, ensuring optimal performance when the time is right.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;How to activate hibernated eye device?&amp;lt;/span&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
Attach any magnet to sleeping device and wait for LED to blink.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;NOTE: ANY MAGNET CAN BE USED&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;[[File:520746 Magnet EYE gif v1.6-min.gif|frameless|684x684px]]&lt;br /&gt;
&amp;lt;br&amp;gt;Now device is discoverable, scannable, connectable via BLE.&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;How to send the device to hibernate mode?&amp;lt;/span&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
If you want to put the EYE device back to hibernate mode after accidental activation or simply pause its use, you may do that following steps below:&lt;br /&gt;
&amp;lt;br&amp;gt;Step 1. While connected and in overview tap &amp;quot;Send device to sleep&amp;quot;: &lt;br /&gt;
&amp;lt;br&amp;gt;Step 2. Confirm your selection:                                     &lt;br /&gt;
&amp;lt;br&amp;gt;Step 3. Wait for EYE App to disconnect:                             &lt;br /&gt;
&amp;lt;br&amp;gt;[[File:Device screen 1.2.8 2.jpg|400x400px]][[File:Screenshot 20230509 173323 EYE APP.jpg|400x400px]][[File:Screenshot 20230512 164509 Gallery.jpg|400x400px]]&lt;br /&gt;
&lt;br /&gt;
====&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Can All devices hibernate?&amp;lt;/span&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
1. All EYE Sensors with firmware version starting from 1.2.9.R.8 can hibernate.&lt;br /&gt;
&lt;br /&gt;
2. Only new EYE Beacons bought with order codes that have hardware modification can hibernate standard codes are available in [https://teltonika-gps.com/products/accessories/sensors-beacons/eye eye page], for special order codes consult your sales manager.&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Mounting recomendations&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
[[File:Neweyemouning.png|858x858px]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File:New mounting recomendations 1.png|848x848px]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;EYE App Configuration&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
Devices work constantly and are ready to perform out of the box. Default basic Sensor settings are set to:&lt;br /&gt;
&amp;lt;br&amp;gt;• Transmitting at 2 dBm power.&lt;br /&gt;
&amp;lt;br&amp;gt;• Data advertising at 5 second intervals.&lt;br /&gt;
&amp;lt;br&amp;gt;• Eddystone and Sensors protocol&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt; If you would like to change these settings you will need to:&lt;br /&gt;
&amp;lt;br&amp;gt;1) Download and install EYE APP - Teltonika application to change sensor settings.&lt;br /&gt;
&amp;lt;br&amp;gt;[[File:QR.jpg]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Eye App Overview&amp;lt;/span&amp;gt;===&lt;br /&gt;
&#039;&#039;&#039;With the application you will be able to scan for visible Teltonika EYE devices, check their statuses or connect for configuration or firmware update.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|- align=&amp;quot;TOP&amp;quot;&lt;br /&gt;
|[[File:1.1.jpg|537x537px]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:2.1.jpg|537x537px]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:Correct1.1.png|530x537px]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[[File:4.1.jpg|537x537px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== [[File:Frame 115.png|bottom|frameless|upright=0.2|link=|alt=]] Devices in view ====&lt;br /&gt;
In this window you will see all visible devices. You have options to see devices in Short list [[File:Shortlist.jpg|30px]] or in default list. When looking at devices in default list you will be able to open Detailed view [[File:Detailed.jpg]] of devices and check transmitted data statuses. Additionaly if you are looking for specific devices you will be able to use Search [[File:Search button eye app.jpg|30px]] function to filter search options. When in this window select a device of your choice to connect and after passing pin code (default pin code is 123456) you will go to device overview window.&lt;br /&gt;
&lt;br /&gt;
==== [[File:Group 125.png|baseline|frameless|upright=0.2|link=|alt=]]Overview window ====&lt;br /&gt;
In overview window you can see device details, check firmware version and update if available, go to device configuration settings and download the configuration. If you select to Configure device new window will open with Basic and Advanced settings. Other actions include changing the device PIN code and putting the device to sleep. A device in sleep mode will no longer be findable or connectable via the app. To wake it up, you need to attach a magnet and look for a green LED flashing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== [[File:Group 116.png|sub|frameless|upright=0.2|link=|alt=]]Configure window ====&lt;br /&gt;
In this window you can check and change device configuration settings. In main tab Basic Settings you can change main settings. Change Device name, Power signal strength, Advertising interval and Packet transmission type*. For more settings go to Advanced settings tab to enable various events.  &lt;br /&gt;
&lt;br /&gt;
====  [[File:Group 117.png|sub|frameless|upright=0.2|link=|alt=]]Advanced configuration window ====&lt;br /&gt;
&lt;br /&gt;
=====&amp;lt;p style=&amp;quot;font-size:16px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Advanced configuration: Beacon Settings&amp;lt;span&amp;gt;=====&lt;br /&gt;
{|&lt;br /&gt;
|-style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
|[[File:IBeacon ID settings.png|frameless]]&lt;br /&gt;
|[[File:Eddystone ID settings.png|frameless]]&lt;br /&gt;
|}&lt;br /&gt;
In Advanced settings tab you can can configure EYE beacon sensor parameters: Beacon information (iBeacon ID*, Eddystone ID). UUID/MINOR/MAJOR parameter can be changed for iBeacon ID*. Namespace ID/Instance ID can be changed for Eddystone ID. If you scroll down you will be able to adjust Sensor reading interval and event settings of the EYE Sensor &#039;&#039;&#039;Note:&#039;&#039;&#039; iOS doesn&#039;t show devices with iBeacon protocol&amp;lt;br&amp;gt;&amp;lt;p style=&amp;quot;font-size:32px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;FM Tracker Configuration&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Teltonika configurator (Base firmware / advanced mode)&amp;lt;/span&amp;gt;===&lt;br /&gt;
If you have firmware / configurator which does not support EYE sensor tab in Bluetooth® 4.0 section, then you can still use Avanced BLE configuration to connect with EYE Sensors.&lt;br /&gt;
&lt;br /&gt;
To configure FM with BTSMP1 EYE Sensor:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Requirements:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Firmware/configurator version with multiple custom IO fields per sensor, we recommend:&lt;br /&gt;
&lt;br /&gt;
FMBXXX: 03.27.07.Rev.00/1.7.22_B.3.27_R.21 or newer&lt;br /&gt;
&lt;br /&gt;
FMX640: 01.02.03/1.7.24_B.FM64_R.34 or newer (FMB640 does not support for BLE functionality)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Check EYE App Settings:&lt;br /&gt;
&lt;br /&gt;
# Make sure that name of the sensor is default length (10 symbols) in [[EYE SENSOR / BTSMP1#Configure%20window|EYE App Basic Configuration window]]&lt;br /&gt;
# Note what Packet settings you have set in [[EYE SENSOR / BTSMP1#Configure%20window|EYE App Basic Configuration window]]&lt;br /&gt;
&#039;&#039;&#039;Step 2:&#039;&#039;&#039; Configure FM device using Teltonika configurator:&lt;br /&gt;
# In [[FMB120 System settings|System settings]] Enable [[Codec#Codec%208%20Extended|Codec8 Extended]];&lt;br /&gt;
# In [[FMB120 GPRS settings|GPRS settings]] Configure [[FMB120 GPRS settings#GPRS%20Settings%20and%20Server%20Settings|GPRS Settings and Server Settings]]&lt;br /&gt;
# In [[FMB120 Bluetooth® settings|Bluetooth®]] settings Enable Bluetooth®, set this setting as either &amp;quot;Enable (hidden)&amp;quot; or &amp;quot;Enable (visible)&amp;quot;, otherwise Bluetooth® will be disabled;&lt;br /&gt;
# In [[FMB120 Bluetooth® 4.0 settings|Bluetooth® 4.0]] settings:&lt;br /&gt;
## set Non Stop Scan to &amp;quot;Disable&amp;quot;, configure &amp;quot;Update Frequency&amp;quot; and &amp;quot;Scan duration&amp;quot; as 30 seconds. These settings will bring the best results for BLE scanning with our device;&lt;br /&gt;
## In [[FMB120 Bluetooth® 4.0 settings#Advanced%20Mode|Bluetooth® 4.0 settings Advanced Mode Settings]] Load EYE Sensor preset according to packet settings in EYE app(if you do not have preset you can download them from below table)&lt;br /&gt;
## Configure MAC address of the sensor&lt;br /&gt;
# To receive data to server enable corresponding IO elements in [[FMB120 I/O settings#Priority|FMB120 I/O settings]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;Advanced mode configuration:&#039;&#039;&#039;&lt;br /&gt;
{|&lt;br /&gt;
|EYE Sensor Packet Setting:&lt;br /&gt;
|[[File:Eye Sensors.png|alt=|771x771px]]&lt;br /&gt;
|[[File:IBeacon and EYE Sensors.png|alt=|771x771px]]&lt;br /&gt;
|[[File:Eddystone and EYE Sensors.png|alt=|771x771px]]&lt;br /&gt;
|-&lt;br /&gt;
|Preset you should use:&lt;br /&gt;
|EYE Sensors&lt;br /&gt;
|EYE iBeacon&lt;br /&gt;
|EYE Eddystone&lt;br /&gt;
|-&lt;br /&gt;
|FMBXXX Preset download link:&lt;br /&gt;
|[[File:Download_zip.png|x30px|link=Special:Redirect/file/EYE_Sensors.zip]]&lt;br /&gt;
|[[File:Download_zip.png|x30px|link=Special:Redirect/file/EYE_iBeacon.zip]]&lt;br /&gt;
|[[File:Download_zip.png|x30px|link=Special:Redirect/file/EYE_Eddystone.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|FMBXXX Configuration example download link:&lt;br /&gt;
|[[File:Download_zip.png|x30px|link=Special:Redirect/file/EYE_SensorsConfig.zip]]&lt;br /&gt;
|[[File:Download_zip.png|x30px|link=Special:Redirect/file/EYE_iBeaconConfig.zip]]&lt;br /&gt;
|[[File:Download_zip.png|x30px|link=Special:Redirect/file/EYE_EddystoneConfig.zip]]&lt;br /&gt;
|-&lt;br /&gt;
|FMX640 Preset download link:&lt;br /&gt;
|[[File:Download_zip.png|x30px|link=Special:Redirect/file/FMX640_EYE_Sensors.zip]]&lt;br /&gt;
|[[File:Download_zip.png|x30px|link=Special:Redirect/file/FMX640_EYE_iBeacon.zip]]&lt;br /&gt;
|[[File:Download_zip.png|x30px|link=Special:Redirect/file/FMX640_EYE_Eddystone.zip]]&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |Instructions how you can manually add a preset: [[How_to_add_a_BLE_preset_to_the_configurator|link]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Preset Configuration:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If EYE Sensor Packet Settings is EYE Sensors or Eddystone and EYE Sensors:&amp;lt;br&amp;gt;[[File:Preset2EYE.png|frameless|1152x1152px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;If EYE Sensor Packet Settings is EYE Sensors or iBeacon and EYE Sensors:&lt;br /&gt;
&lt;br /&gt;
[[File:Preset1EYE.png|frameless|1152x1152px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IO element value descriptions:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:30%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |NAME&lt;br /&gt;
! style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |DESCRIPTION&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Custom1&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Flags (not supported with current FMX640 preset)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Temperature&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Ambient temperature in Celsius&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Humidity&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Ambient humidity in percent&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Custom2&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Movement and movement events count&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Custom3&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Angle&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Custom4&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Battery voltage (2000 + (VALUE * 10)) in mV&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Property ID in AVL packet&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Property name&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Bytes&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Min&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Max&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Multiplier&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Units&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;25&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE Temperature #1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-4000&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;12500&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0.01*&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;°C&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Degrees ( °C ), -40 - +125;&lt;br /&gt;
&lt;br /&gt;
Error codes: &lt;br /&gt;
&lt;br /&gt;
4000 - abnormal sensor state &lt;br /&gt;
&lt;br /&gt;
3000 - sensor not found &lt;br /&gt;
&lt;br /&gt;
2000 - failed sensor data parsing &lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;26&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE Temperature #2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-4000&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;12500&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0.01*&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;°C&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Degrees ( °C ), -40 - +125;&lt;br /&gt;
&lt;br /&gt;
Error codes: &lt;br /&gt;
&lt;br /&gt;
4000 - abnormal sensor state &lt;br /&gt;
&lt;br /&gt;
3000 - sensor not found &lt;br /&gt;
&lt;br /&gt;
2000 - failed sensor data parsing &lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;27&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE Temperature #3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-4000&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;12500&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0.01*&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;°C&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Degrees ( °C ), -40 - +125;&lt;br /&gt;
&lt;br /&gt;
Error codes: &lt;br /&gt;
&lt;br /&gt;
4000 - abnormal sensor state &lt;br /&gt;
&lt;br /&gt;
3000 - sensor not found &lt;br /&gt;
&lt;br /&gt;
2000 - failed sensor data parsing &lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;28&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE Temperature #4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-4000&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;12500&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0.01*&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;°C&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Degrees ( °C ), -40 - +125;&lt;br /&gt;
&lt;br /&gt;
Error codes: &lt;br /&gt;
&lt;br /&gt;
4000 - abnormal sensor state &lt;br /&gt;
&lt;br /&gt;
3000 - sensor not found &lt;br /&gt;
&lt;br /&gt;
2000 - failed sensor data parsing &lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;86&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE Humidity #1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1000&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0.1*&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;%RH&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Humidity&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;104&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE Humidity #2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1000&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0.1*&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;%RH&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Humidity&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;106&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE Humidity #3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1000&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0.1*&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;%RH&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Humidity&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;108&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE Humidity #4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1000&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0.1*&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;%RH&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Humidity&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;331&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 1 Custom #1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Variable&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;HEX&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;463&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 1 Custom #2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;464&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 1 Custom #3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;465&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 1 Custom #4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;466&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 1 Custom #5&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;332&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 2 Custom #1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Variable&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;HEX&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;467&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 2 Custom #2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;468&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 2 Custom #3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;469&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 2 Custom #4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;470&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 2 Custom #5&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;333&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 3 Custom #1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Variable&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;HEX&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;471&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 3 Custom #2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;472&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 3 Custom #3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;473&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 3 Custom #4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;474&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 3 Custom #5&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;334&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 4 Custom #1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Variable&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;HEX&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;475&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 4 Custom #2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;476&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 4 Custom #3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;477&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 4 Custom #4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;478&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;BLE 4 Custom #5&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;8&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;UNSIGNED LONG INT&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;4294967295&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Custom IO element for BLE sensor&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Teltonika configurator new functionalities EYE Sensor filtering by name&amp;lt;/span&amp;gt;===&lt;br /&gt;
Starting with firmware &amp;lt;b&amp;gt;03.29.00.Rev.13&amp;lt;/b&amp;gt; there is additional tabs available in Bluetooth® 4.0 section that allow for easier configuration to connect FM and EYE sensor or beacon.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;It&#039;s now possible to connect up to 100 sensors at once just by entering one name in the configurator name list.&#039;&#039;&#039; It&#039;s required to enter at least 3 characters(case sensitive) in the name for FM to scan the sensors. Super easy to set up!&lt;br /&gt;
&lt;br /&gt;
For example, you may order Sensors with special configuration from factory where the EYE Sensor names would be TRAILER_1,TRAILER_2,...,TRAILER_99  and so on.&lt;br /&gt;
&lt;br /&gt;
If you would enter TRAILER in the EYE Fimrware FM configurator then sensors who meet this name condition, for example TRAILER_1, TRAILER_21 , TRAILER_17, would be scanned,  while other sensors named Tools, MP1_123546, etc. will not be scanned. &lt;br /&gt;
With this option, you can upload one configuration to FOTA web and it doesn’t matter which sensor from the list end user will mount, it will be scanned and sent to the server as long as it meets the name criteria.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bluetooth® 4.0&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Functionalities were reorganized and transferred to Bluetooth® 4.0 configuration tab with additional horizontal tabs selection for specific settings:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Global&#039;&#039;&#039; - Parameters responsible for device scanning ability like power and duratations.&lt;br /&gt;
*&#039;&#039;&#039;EYE&#039;&#039;&#039; - Parameters to configure data reading from EYE sensors.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Common settings&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Non Stop Scan&#039;&#039;&#039; - Enable Non Stop Scan feature, the device will try to scan for the sensors all the time if any of them are configured.&lt;br /&gt;
*&#039;&#039;&#039;Sensors and Beacons Update frequency&#039;&#039;&#039; - changes sensors temperature/humidity/battery voltage data update frequency. Minimum value: 30s, maximum value: 65535s. Recommended value 30.&lt;br /&gt;
*&#039;&#039;&#039;BLE Scan Duration&#039;&#039;&#039; - Sensors data reading time. Recommended value 30.&lt;br /&gt;
*&#039;&#039;&#039;Scan retries until error&#039;&#039;&#039; - Scan retries count, till start to show the value as Error &#039;3000&#039; - sensor disconnected. Recommended value 30.&lt;br /&gt;
*&#039;&#039;&#039;BT Power Level&#039;&#039;&#039; - Telematics device Bluetooth® power level setting.&lt;br /&gt;
*&#039;&#039;&#039;BLE Broadcasting service ID&#039;&#039;&#039; - Telematics device can broadcast configured ID.&lt;br /&gt;
*&#039;&#039;&#039; BLE connection control&#039;&#039;&#039; - Connection mode settings. If broadcasting ID is configured, parameter should be set to Prohibit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:BLE 4,0 Common settings.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Sensors&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Sensor Configuration can be set to Custom Sensors, Eye Sensors or both.&lt;br /&gt;
With the Custom Sensors setting enabled, [https://wiki.teltonika-gps.com/view/FMB130_Bluetooth®_4.0_settings#Advanced_Mode| any BLE sensor can be configured.]&amp;lt;br&amp;gt;&lt;br /&gt;
When &#039;&#039;&#039;EYE Sensors&#039;&#039;&#039; is selected, Eye Sensor connectionless functionalities or EYE list search window will appear, depending on the selected EYE Sensor filter. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:EYE Sensors NAME.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;Name&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
When EYE Sensors Filter is set to &#039;&#039;&#039;Name&#039;&#039;&#039;, the Eye List search window will appear on the configurator. With this setting, separate EYE Sensor records (AVL ID: 11317) will be generated according to the configured parameters, which are described below:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Data Clear period&#039;&#039;&#039;- defines how long the FM tracker waits when the Eye sensor is not detected before removing it from the Eye Sensor list and not sending the sensor values. If Data Clear Period is set to 0, then the EYE Sensor will not be removed from the EYE Sensor list and it will always be included in the periodic records.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;RSSI&#039;&#039;&#039;- Parameter defines the dBm threshold value of when the EYE sensor will be added to the sensor list. If the FM tracker detects the RSSI lower than the configured value, it will not be added to the EYE Sensor list. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Record period&#039;&#039;&#039; - Defines how often the EYE Sensor record (AVL ID: 11317) will be generated when the FM tracker is operating On Stop or On Move modes, according to the configured [https://wiki.teltonika-gps.com/view/FMB140_System_settings#Movement_Source| movement source.].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EYE Sensor Settings&#039;&#039;&#039; - Define what sensor readings data is included in to the EYE Sensor Records. Sensor readings which are not needed can be disabled, to reduce data consumption.&amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;EYE Name list&#039;&#039;&#039; - Defines what EYE sensors will be added to EYE Sensor list. For EYE Sensors to be added to the list, only the beginning part of the EYE Sensor local name has to match. For example, if in the EYE name list “EYE_SENSOR” is added and the FM tracker detects EYE_SENSOR1, EYE_SENSOR2, EYE_SENSORXYZ, all these EYE Sensors will be added to EYE Sensor list. If the EYE name list is left empty, all the detected EYE Sensors will be included in the EYE Sensor list. &#039;&#039;&#039;NOTE:&#039;&#039;&#039; If EYE Sensor has a name that matches configured one in EYE Name List and if it has a MAC address, that matches configured one in EYE Sensors filtered by MAC address, then such sensor will not be added to EYE Sensor list, but it’s data will be added according EYE Sensor filtered by MAC IO elements.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:EYE List name search.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Once Eye Sensor filtering by name list is selected, EYE Sensor records containing the AVL ID:11317 will start being generated. Below is an example of how EYE Sensor data is packed into AVL ID 11317 &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;AVL ID 11317 structure&#039;&#039;&#039; &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Eye Sensor #1&lt;br /&gt;
|-&lt;br /&gt;
|EYE Sensor #1 Data length&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|1st Parameter ID&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|1st Parameter Data Length &lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|1st Parameter Data&lt;br /&gt;
|variable &lt;br /&gt;
|-&lt;br /&gt;
|2nd Parameter ID&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|2nd Parameter Data Length&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|2nd Parameter Data&lt;br /&gt;
|variable&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;...&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nth Parameter ID &lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|Nth Parameter Data Length&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|Nth Parameter  Data&lt;br /&gt;
|variable&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Eye Sensor #2&lt;br /&gt;
|-&lt;br /&gt;
|Eye Sensor #2 Data length&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|1st Parameter ID&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|1st Parameter Data Length &lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|1st Parameter Data&lt;br /&gt;
|variable &lt;br /&gt;
|-&lt;br /&gt;
|2nd Parameter ID&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|2nd Parameter Data Length&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|2nd Parameter Data&lt;br /&gt;
|variable&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&amp;lt;...&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Nth Parameter ID &lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|Nth Parameter Data Length&lt;br /&gt;
|1 byte&lt;br /&gt;
|-&lt;br /&gt;
|Nth Parameter  Data&lt;br /&gt;
|variable&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Eye Sensor #N&lt;br /&gt;
|-&lt;br /&gt;
!...&lt;br /&gt;
!...&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Parameter IDs are used to identify what type of EYE Sensor information is included in the packet. Below is the table describing the possible EYE Sensor parameter IDs, along with their data type and data length. &amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable nd-othertables_2&amp;quot; style=&amp;quot;width:125%;&amp;quot; ;&lt;br /&gt;
|+&#039;&#039;&#039;Table 1. EYE Sensor Parameter IDs&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!Parameter ID!!Name&lt;br /&gt;
!Data type!!Description&lt;br /&gt;
|-&lt;br /&gt;
|5||Eye Sensor Device Name&lt;br /&gt;
|Array||Device’s name from Device Name List tab&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|EYE Sensor Temperature&lt;br /&gt;
|2 byte signed integer&lt;br /&gt;
|Temperature value measured by EYE Sensor from List Values from -32768 to +32768 with 0.01 C delta&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|EYE Sensor Humidity&lt;br /&gt;
|1 byte unsigned integer&lt;br /&gt;
|Humidity measured by EYE Sensor from List Values from 0 to 100%&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|EYE Sensor Magnet presence&lt;br /&gt;
|1 byte unsigned integer&lt;br /&gt;
|Magnet measured by EYE Sensor from List Values from 0 to1&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|EYE Sensor Movement presence&lt;br /&gt;
|1 byte unsigned integer&lt;br /&gt;
|Movement measured by Eye Sensor from List Values&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|EYE Sensor Movement count&lt;br /&gt;
|2 byte unsigned integer&lt;br /&gt;
|Movement counts measured by EYE Sensor from List Values &lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|EYE Sensor Pitch&lt;br /&gt;
|1 byte signed integer&lt;br /&gt;
|Pitch angle measured by Eye Sensor from list Values&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|EYE Sensor Angle Roll&lt;br /&gt;
|2 byte signed integer&lt;br /&gt;
|Roll Angle measured by EYE Sensor from List Values&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|EYE Sensor Low battery indicator&lt;br /&gt;
|1 byte unsigned integer&lt;br /&gt;
|Low battery state measured by EYE Sensor from List Values from 0 to1&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|EYE Sensor Battery voltage&lt;br /&gt;
|2 byte unsigned integer&lt;br /&gt;
|Low battery state measured by EYE Sensor from List Values from 0 to1&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|EYE Sensor MAC adress&lt;br /&gt;
|6 byte unsigned integer&lt;br /&gt;
|Device&#039;s MAC adress&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|EYE Sensor Magnet trigger count*&lt;br /&gt;
|2 byte unsigned integer&lt;br /&gt;
|Magnet trigger counts measured by EYE Sensor from List Values&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Only available with evaluation firmware BTSX.1.2.11.magcounter.R.1 of EYE Devices&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:EYE Sensors MAC.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;MAC&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
IF EYE Sensors are selected to be filtered by &#039;&#039;&#039;MAC address&#039;&#039;&#039;, separate EYE sensor records will not be generated; EYE sensor values will be included into regular records with their corresponding IO elements. Up to 4 EYE Sensors can be configured with different MAC Addresses. &lt;br /&gt;
In the case of filtering by MAC Address, more advanced configuration is possible, as EYE Sensors’ IOs’ Low, High level, Event Only and Operand parameters can also be configured separately for each IO.  &amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;Working Mode&#039;&#039;&#039; - parameter has 2 options – Disabled and EYE Sensor. When it is disabled, EYE Sensor IO values will not be included into the records. When EYE Sensor is selected, EYE Sensor IO values will be included into records. &amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;MAC Settings&#039;&#039;&#039; - parameter specifies the MAC address of the EYE Sensor for the FM tracker to read, parse its data and put to corresponding IO elements. If the sensor is not found for set amount of scan retries, error values will be stored into IO elements. &amp;lt;br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;I/O elements&#039;&#039;&#039; - allows for advanced EYE sensor [https://wiki.teltonika-gps.com/view/FMB130_I/O_settings I/O elements configuration].&lt;br /&gt;
[[File:Eye Sensor Connectionless Functionalities.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;EYE Sensor AVL IDs&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Table below describes I/O elements which were added for EYE sensor with the new functionalities release.&amp;lt;br&amp;gt;&amp;lt;table class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Property ID in AVL packet&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Property name&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Bytes&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Min&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Max&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Multiplier&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Units&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Description&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;11317&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Sensor List&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;variable length&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;HEX&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0 bytes&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1024 bytes&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Sensor List&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10800&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Temperature 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-32768&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;32768&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0,01&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;°C&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Temperature measured by EYE sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10801&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Temperature 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-32768&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;32768&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0,01&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;°C&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Temperature measured by EYE sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10802&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Temperature 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-32768&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;32768&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0,01&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;°C&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Temperature measured by EYE sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10803&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Temperature 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-32768&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;32768&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0,01&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;°C&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Temperature measured by EYE sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10804&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Humidity 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;100&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Humidity measured by EYE sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10805&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Humidity 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;100&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Humidity measured by EYE sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10806&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Humidity 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;100&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Humidity measured by EYE sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10807&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Humidity 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;100&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;%&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Humidity measured by EYE sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10808&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Magnet 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Magnet measured by EYE sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10809&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Magnet 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Magnet measured by EYE sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10810&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Magnet 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Magnet measured by EYE sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10811&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Magnet 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Magnet measured by EYE sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10812&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Movement 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Movement state and count measured by EYE sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10813&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Movement 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Movement state and count measured by EYE sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10814&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Movement 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Movement state and count measured by EYE sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10815&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Movement 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Movement state and count measured by EYE sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10816&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Pitch 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-90&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;90&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Pitch and Roll angles measured by EYE sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10817&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Pitch 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-90&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;90&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Pitch and Roll angles measured by EYE sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10818&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Pitch 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-90&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;90&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Pitch and Roll angles measured by EYE sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10819&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Pitch 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-90&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;90&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Pitch and Roll angles measured by EYE sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10820&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Low Battery 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Low Battery indication EYE sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10821&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Low Battery 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Low Battery indication EYE sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10822&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Low Battery 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Low Battery indication EYE sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10823&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Low Battery 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Low Battery indication EYE sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10824&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Battery Voltage 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Battery Voltage of EYE sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10825&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Battery Voltage 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Battery Voltage of EYE sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10826&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Battery Voltage 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Battery Voltage of EYE sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10827&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Battery Voltage 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Battery Voltage of EYE sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
     &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10832&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Roll 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-180&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;180&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Roll value of EYE Sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10833&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Roll 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-180&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;180&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Roll value of EYE Sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10834&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Roll 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-180&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;180&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Roll value of EYE Sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10835&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Roll 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;signed&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-180&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;180&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Roll value of EYE Sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10836&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Movement Count 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Movement count value of EYE Sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10837&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Movement Count 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Movement count value of EYE Sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10838&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Movement Count 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Movement count value of EYE Sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
	&amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10839&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Movement Count 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Movement count value of EYE Sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10840&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Magnet count 1&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Magnet trigger count measure by EYE Sensor 1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10841&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Magnet count 2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Magnet trigger count measure by EYE Sensor 2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10842&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Magnet count 3&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Magnet trigger count measure by EYE Sensor 3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;10843&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 20%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;EYE Magnet count 4&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;2&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;unsigned&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;0&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 10%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;65535&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 5%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;-&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td style=&amp;quot;width: 25%; text-align:center; vertical-align:middle;&amp;quot;&amp;gt;Magnet trigger count measure by EYE Sensor 4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eye sensor parameters have error code values, which will written to the I/O value if parameter data is not received. From the error code value, it is possible to distinguish whether the issue is on the FM tracker side or the EYE Sensor. Below is a table describing these values.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Eye Sensor Error Values&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Parameter&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Data length&lt;br /&gt;
(bytes)&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |Data type&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; |Error codes&lt;br /&gt;
!Additional Notes&lt;br /&gt;
|-&lt;br /&gt;
!Data Not Received by FM tracker&lt;br /&gt;
!EYE Sensor indicates error&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|Temperature&lt;br /&gt;
|2&lt;br /&gt;
|signed&lt;br /&gt;
|25000&lt;br /&gt;
|25001&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Humidity&lt;br /&gt;
|1&lt;br /&gt;
|unsigned&lt;br /&gt;
|250&lt;br /&gt;
|251&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Magnet&lt;br /&gt;
|1&lt;br /&gt;
|unsigned&lt;br /&gt;
|250&lt;br /&gt;
|251&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Magnet trigger count&lt;br /&gt;
|2&lt;br /&gt;
|unsigned&lt;br /&gt;
|65000&lt;br /&gt;
|65001&lt;br /&gt;
|Magnet trigger count is only available with evaluation firmware BTSX.1.2.11.magcounter.R.1 of EYE Devices &lt;br /&gt;
|-&lt;br /&gt;
|Movement&lt;br /&gt;
|1&lt;br /&gt;
|unsigned&lt;br /&gt;
|250&lt;br /&gt;
|251&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Movement counter&lt;br /&gt;
|2&lt;br /&gt;
|unsigned&lt;br /&gt;
|65000&lt;br /&gt;
|65001&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Pitch&lt;br /&gt;
|1&lt;br /&gt;
|signed&lt;br /&gt;
|120&lt;br /&gt;
|121&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Roll&lt;br /&gt;
|2&lt;br /&gt;
|signed&lt;br /&gt;
|250&lt;br /&gt;
|251&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Low battery status&lt;br /&gt;
|1&lt;br /&gt;
|unsigned&lt;br /&gt;
|250&lt;br /&gt;
|251&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Battery voltage&lt;br /&gt;
|1&lt;br /&gt;
|unsigned&lt;br /&gt;
|250&lt;br /&gt;
|251&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you are using presets(firmware/configurator without EYE product support), then refer to [[FMB130 Teltonika Data Sending Parameters ID#BLE%20Sensors%20I.2FO%20elements|BLE Sensors I/O elements]] table instead.&amp;lt;p style=&amp;quot;font-size:32px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;EYE Sensor Protocol overview&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:24px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Sensor advertising&amp;lt;/span&amp;gt;==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Sensors data.png|center]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Beacon and sensors data&amp;lt;/span&amp;gt;===&lt;br /&gt;
[[File:Beacon and sensors data.png|center|1000x1000px|alt=|frameless]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Protocol description&amp;lt;/span&amp;gt;===&lt;br /&gt;
At the highest-level Bluetooth® LE advertising packet consists of Advertising Indication and Scan Response. Both packets can be maximum of 31 bytes in size. Advertising Indication packet is always broadcasted when Scan Response is broadcasted only if Observer device requests it by using Active Scan.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
BTSMP1 uses Advertising Indication to send beacon data which can be configured to select between iBeacon and Eddystone protocols or to be disabled at all. In that case, data which is shown as Scan Response in protocol overview will be sent as Advertising Indication without Scan Response following it.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Scan Response is used to send device name and manufacturer specific data. Manufacturer specific data includes Teltonika Company ID (0x089A) and protocol version (0x01). It is followed by Flag Encoded Data (Table 1) and Extended Data (Table 2). Later on, protocol will be highly configurable in and will allow to disable/enable sending of device name or any sensor value allowing to reduce size of the packet being sent.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teltonika BTSX devices are transmitting one or two packets depending on the selected protocol. Broadcast packet + Scan response packet.&lt;br /&gt;
&lt;br /&gt;
A scan response packet is sent when an active scan is used, within the BLE layer of communication.&lt;br /&gt;
The default for our FM devices and many other applications for example our EYE Appication or nRF connect Application is an active scan.&lt;br /&gt;
 &lt;br /&gt;
There are three protocols, with the following packets:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1.iBeacon + EYE Sensors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2.Eddystone + EYE Sensors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For &#039;&#039;&#039;iBeacon + EYE Sensors&#039;&#039;&#039; and &#039;&#039;&#039;Eddystone + EYE Sensors&#039;&#039;&#039; protocols only iBeacon/Eddystone packet is broadcasted and will be seen by both active and passive scans, to see the EYE Sensors packet you need to use an active scan.&lt;br /&gt;
In other words in an environment where no BLE devices are scanning with an active scan or in case when there are no scanning devices at all, only the iBeacon/Eddystone packet will be sent by the BTS device to conserve energy.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. EYE Sensors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With &#039;&#039;&#039;EYE Sensors&#039;&#039;&#039; protocol, the EYE Sensor packet becomes broadcast.&lt;br /&gt;
In other words, in an environment where no BLE devices are scanning with an active scan or in case when there are no scanning devices at all EYE Sensors packet will be sent by the BTS device.&lt;br /&gt;
&lt;br /&gt;
More Information on&lt;br /&gt;
[https://support.digitalmatter.com/support/solutions/articles/16000100684-active-vs-passive-bluetooth-scanning| Active vs passive scans]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Device Name has the following default value for Beacon – ID1_XXXXXXX&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:inline-table&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:125%;&amp;quot; ;&lt;br /&gt;
|+&#039;&#039;&#039;Table 1. Flag Encoded Date&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!Data!! Size (Bytes)!!Description&lt;br /&gt;
|-&lt;br /&gt;
|Flags||1||Each set bit (0-7) means the presence of value (0-7). Bits:&lt;br /&gt;
&amp;lt;br&amp;gt;0 – Temperature value presence&lt;br /&gt;
&amp;lt;br&amp;gt;1 – Humidity value presence&lt;br /&gt;
&amp;lt;br&amp;gt;2 – Magnetic sensor presence&lt;br /&gt;
&amp;lt;br&amp;gt;3 – Magnetic sensor state (1 magnetic field is detected/0 magnetic field is not detected) Valid value is present only if bit 2 flag is set.&lt;br /&gt;
&amp;lt;br&amp;gt;4 – Movement sensor counter&lt;br /&gt;
&amp;lt;br&amp;gt;5 – Movement sensor angle&lt;br /&gt;
&amp;lt;br&amp;gt;6 – Low Battery indication (if set to 1 low battery voltage detected)&lt;br /&gt;
&amp;lt;br&amp;gt;7 – Battery voltage value presence&lt;br /&gt;
|-&lt;br /&gt;
|Value 0||2||Temperature&lt;br /&gt;
&amp;lt;br&amp;gt;Value in Celsius / 100&lt;br /&gt;
&amp;lt;br&amp;gt;NOTE: present only if bit 0 is set, otherwise is not being sent&lt;br /&gt;
|-&lt;br /&gt;
|Value 1 ||1||Humidity&lt;br /&gt;
&amp;lt;br&amp;gt;Value in percent&lt;br /&gt;
&amp;lt;br&amp;gt;NOTE: present only if bit 1 is set, otherwise is not being sent&lt;br /&gt;
|-&lt;br /&gt;
|Value 2||2||Movement Sensor counter&lt;br /&gt;
&amp;lt;br&amp;gt;Most significant bit indicates movement state and 15 least significant bits represent count of movement events.&lt;br /&gt;
&amp;lt;br&amp;gt;NOTE: present only if bit 4 is set, otherwise is not being sent&lt;br /&gt;
|-&lt;br /&gt;
|Value 3 ||3||Movement sensor angle&lt;br /&gt;
&amp;lt;br&amp;gt;Most significant byte – pitch (-90/+90)&lt;br /&gt;
&amp;lt;br&amp;gt;Two least significant bytes – roll (-180/+180)&lt;br /&gt;
&amp;lt;br&amp;gt;NOTE: present only if bit 5 is set, otherwise is not being sent&lt;br /&gt;
|-&lt;br /&gt;
|Value 4||1|| Battery Voltage&lt;br /&gt;
&amp;lt;br&amp;gt;Battery voltage in mV = 2000 + VALUE * 10&lt;br /&gt;
&amp;lt;br&amp;gt;NOTE: present only if bit 7 is set, otherwise is not being sent&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;GATT Characteristics&amp;lt;/span&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%; background-color: white; border-bottom: 2px solid #0054A6;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 20px;&amp;quot; | Name&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 280px;&amp;quot; | Service UUID&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 280px;&amp;quot; | Characteristic UUID&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6;&amp;quot; | Data Type&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6;&amp;quot; | Min&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6;&amp;quot; | Max&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 120px&amp;quot; | Default Value&lt;br /&gt;
&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6;&amp;quot; | Notes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Device Name || e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0016-7df2-4d4e-8e6d-c611745b92e9  || ASCII || 0 || 12 || Unique for each device || -&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Tx Power Lever || 1804 || 2a07 || SINT8 || -14 || 8 || 2 || Possible values: -14, -11, -8, -5, -2, 2, 4, 8&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Protocol Type|| e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0001-7df2-4d4e-8e6d-c611745b92e9 || UINT8 || 0 || 4*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*Max 2 with 01.02.10+ firmware&amp;lt;/small&amp;gt; &lt;br /&gt;
| 1 for EYE_Beacon, &amp;lt;br&amp;gt;4 for EYE_Sensor* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*with 01.02.10+ firmware 1 for both EYE_Beacon &amp;amp; EYE_Sensor&amp;lt;/small&amp;gt; &lt;br /&gt;
| 0 - iBeacon &amp;lt;br&amp;gt;1 - Eddystone &amp;lt;br&amp;gt;2 - EYE Sensor &amp;lt;br&amp;gt;3 - iBeacon + EYE Sensor* &amp;lt;br&amp;gt;4 - Eddystone + EYE Sensor*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*01.02.10+ sensors are enabled over &#039;&#039;Activate / Deactivate Sensors&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Activate / Deactivate Sensors*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;*from 01.02.10+ firmware&amp;lt;/small&amp;gt;&lt;br /&gt;
|e61c0000-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|e61c0021-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|UINT8&lt;br /&gt;
|0&lt;br /&gt;
|15&lt;br /&gt;
&lt;br /&gt;
(0b1111)&lt;br /&gt;
|4 (0b0100) for EYE_Beacon, &amp;lt;br&amp;gt;15 (0b1111) for EYE_Sensor&lt;br /&gt;
|(LSb) bit 0 – Temperature&lt;br /&gt;
&lt;br /&gt;
Bit 1 – Humidity&lt;br /&gt;
&lt;br /&gt;
Bit 2 – Magnetic&lt;br /&gt;
&lt;br /&gt;
Bit 3 - Movement&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
E.g. EYE_Sensor disabled movement &amp;amp; enabled temperature, humidity, magnetic sensors 7 (0b0111)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Advertising Interval|| e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0002-7df2-4d4e-8e6d-c611745b92e9 || UINT16 || 1000 || 10000 || 5000 || miliseconds&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Sub Advertising Interval || e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0003-7df2-4d4e-8e6d-c611745b92e9 || UINT16 || 20 || 1000 || 100 || Used by repeats, miliseconds&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Advertising Repeats || e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0004-7df2-4d4e-8e6d-c611745b92e9 || UINT16 || 1 || 10 || 1 || Repeats work only if Advertising Interval is more than 2000 ms and Repeats set to more than 1&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| iBeacon ID ||  e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0005-7df2-4d4e-8e6d-c611745b92e9 || BYTE ARRAY || 20 bytes || 20 bytes || Unique for each device || 16 B - UUID&amp;lt;br&amp;gt;2 B - major&amp;lt;br&amp;gt;2 B - minor&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Eddystone ID || e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0006-7df2-4d4e-8e6d-c611745b92e9 || BYTE ARRAY || 16 bytes || 16 bytes || Unique for each device || 10 B - Namespace&amp;lt;br&amp;gt;6 B - Instance&lt;br /&gt;
|-&lt;br /&gt;
|Command&lt;br /&gt;
|e61c0000-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|e61c0007-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
| colspan=&amp;quot;5&amp;quot; |[[EYE SENSOR / BTSMP1#Command characteristic|Command characteristic]]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Password||e61c0000-7df2-4d4e-8e6d-c611745b92e9|| e61c0008-7df2-4d4e-8e6d-c611745b92e9 ||BYTE ARRAY|| 6 bytes||6 bytes||123456||Always 6 Digits&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Movement Start ||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c0013-7df2-4d4e-8e6d-c611745b92e9|| UINT16||0||300||5||seconds&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Movement Stop||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c0014-7df2-4d4e-8e6d-c611745b92e9|| UINT16||0||300||5 ||seconds&lt;br /&gt;
|-&lt;br /&gt;
| Password Counter&lt;br /&gt;
|e61c0000-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
| e61c0019-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|UINT8&lt;br /&gt;
|0 (counter)&lt;br /&gt;
|10 (counter)&lt;br /&gt;
| 0&lt;br /&gt;
|Byte 0 – counter,&lt;br /&gt;
&lt;br /&gt;
Byte 1 and 2 - timeout&lt;br /&gt;
|-&lt;br /&gt;
|Master Password (PUK)&lt;br /&gt;
|e61c0000-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|e61c0020-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
| UINT8&lt;br /&gt;
|8 bytes&lt;br /&gt;
|8 bytes&lt;br /&gt;
|MAC address dependency&lt;br /&gt;
|Byte array&lt;br /&gt;
|-&lt;br /&gt;
|Manufacturer sleep (Hibernate mode)&lt;br /&gt;
|e61c0000-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|e61c0018-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|UINT8&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0 – sleep disabled,&lt;br /&gt;
&lt;br /&gt;
1 – sleep enabled&lt;br /&gt;
|-&lt;br /&gt;
|User ADV Spam Duration&lt;br /&gt;
|e61c0000-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|e61c0022-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|UINT16&lt;br /&gt;
|1&lt;br /&gt;
|300&lt;br /&gt;
|30&lt;br /&gt;
|WakeUp Advertising &lt;br /&gt;
&lt;br /&gt;
Spam Duration in seconds&lt;br /&gt;
|-&lt;br /&gt;
|RSSI Calibration Value&lt;br /&gt;
|e61c0000-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|e61c0023-7df2-4d4e-8e6d-c611745b92e9&lt;br /&gt;
|INT8&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;-100&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|127&lt;br /&gt;
| 127&lt;br /&gt;
|RSSI value in dBm &lt;br /&gt;
&lt;br /&gt;
127  – Use default calib. table&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Manufacturer||180A||2A29||BYTE ARRAY||-||-||Not Configurable ||Read Only. Ex. &amp;quot;Teltonika&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Model|| 180A||2A24|| BYTE ARRAY|| -||-|| Not Configurable||Read Only. Ex. &amp;quot;BTSID1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Serial||180A||2A25 ||BYTE ARRAY||-||-||Not Configurable ||Not used&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| Hardware||180A|| 2A27 ||BYTE ARRAY||-||-||Not Configurable||Read Only. Ex. &amp;quot;Table:1 Volt:325&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Firmware|| 180A ||2A26||BYTE ARRAY||-||-||Not Configurable||Read Only. Ex. &amp;quot;1.1.0-beta&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| System ID ||180A||2A23||BYTE ARRAY||-||-|| Not Configurable||Not used&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|MAC||180A||652143dc-dec6-4fb1-bd46-3e919d2410a6 || BYTE ARRAY||6||6||Not Configurable||Read Only. ex. 112233445566 -&amp;gt; 11:22:33:44:55:66&lt;br /&gt;
|-&lt;br /&gt;
|Calibration ID&lt;br /&gt;
|180A&lt;br /&gt;
|a610249f-913e-46bd-b14f-c6dedc432165&lt;br /&gt;
|BYTE ARRAY&lt;br /&gt;
|9&lt;br /&gt;
|12&lt;br /&gt;
|Not Configurable&lt;br /&gt;
|Read Only. e.g. 295268313&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;Only with EN12830 certified devices&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|Scan Response Data ||e61c0000-7df3-4d4e-8e6d-c611745b92e9|| e61c0001-7df3-4d4e-8e6d-c611745b92e9||BYTE ARRAY||17 || 17||Not Configurable ||Scan Response Data, see picture for detail view of data structure&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File:Lentele0603.png|800px|frameless|center]]&lt;br /&gt;
===Command characteristic===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%; background-color: white; border-bottom: 2px solid #0054A6;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 20px;&amp;quot; |Command&#039;s name&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 280px;&amp;quot; |Data to send&lt;br /&gt;
! style=&amp;quot;color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 280px;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
|Write to flash||0x0010|| Writes set parameters to flash&lt;br /&gt;
|-&lt;br /&gt;
|General boot||0x0011||Enter boot mode&lt;br /&gt;
|-&lt;br /&gt;
|Instant reset||0x0012||Software reset&lt;br /&gt;
|-&lt;br /&gt;
|Reset after connection||0x0013||Reset after disconnect&lt;br /&gt;
|-&lt;br /&gt;
|Get hw voltage||0x0014||Sets detected hw voltage in response data&lt;br /&gt;
|-&lt;br /&gt;
|Keep connection alive||0x0015|| Resets disconnect timer&lt;br /&gt;
|-&lt;br /&gt;
|Restore defaults||0x0016||Sets all configurable parameters to default values&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;EYE Sensor Bluetooth® frame parsing example&amp;lt;/span&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Unparsed data&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#0048BA&amp;quot;&amp;gt;02&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#B0BF1A&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#7CB9E8&amp;quot;&amp;gt;06&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#C0E8D5&amp;quot;&amp;gt;1A&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#B284BE&amp;quot;&amp;gt;FF&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#72A0C1&amp;quot;&amp;gt;4C00&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#EDEAE0&amp;quot;&amp;gt;0215&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#C46210&amp;quot;&amp;gt;FFFFFFFF0B8C404510C655AAB636EBEF&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#EFDECD&amp;quot;&amp;gt;BB70&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#E52B50&amp;quot;&amp;gt;0055&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#FFF600&amp;quot;&amp;gt;02&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#03C03C&amp;quot;&amp;gt;0C&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#FF3800&amp;quot;&amp;gt;09&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#FFBF00&amp;quot;&amp;gt;4D50315F31323334353637&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#FF7E00&amp;quot;&amp;gt;0E&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#3DDC84&amp;quot;&amp;gt;FF&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#008000&amp;quot;&amp;gt;9A08&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#00FFFF&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#D0FF14&amp;quot;&amp;gt;B7&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#00FF00&amp;quot;&amp;gt;08B4&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#007FFF&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#F4C2C2&amp;quot;&amp;gt;0CCB&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#BFFF00&amp;quot;&amp;gt;0BFFC7&amp;lt;/span&amp;gt;&amp;lt;span style=&amp;quot;background:#00BFFF&amp;quot;&amp;gt;67&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Parsed data&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:33%; vertical-align: middle; text-align: center;&amp;quot; |Parameter&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:33%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:33%; vertical-align: middle; text-align: center;&amp;quot; |Actual Value&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;50&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#0048BA&amp;quot;&amp;gt;02&amp;lt;/span&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#B0BF1A&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Flags&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#7CB9E8&amp;quot;&amp;gt;06&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#C0E8D5&amp;quot;&amp;gt;1A&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#B284BE&amp;quot;&amp;gt;FF&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Apple company identifier (big endian)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#72A0C1&amp;quot;&amp;gt;4C00&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Beacon type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#EDEAE0&amp;quot;&amp;gt;0215&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UUID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#C46210&amp;quot;&amp;gt;FFFFFFFF0B8C404510C655AAB636EBEF&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Major&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#EFDECD&amp;quot;&amp;gt;BB70&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Minor&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#E52B50&amp;quot;&amp;gt;0055&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Power&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#FFF600&amp;quot;&amp;gt;02&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#03C03C&amp;quot;&amp;gt;0C&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#FF3800&amp;quot;&amp;gt;09&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Device name&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#FFBF00&amp;quot;&amp;gt;4D50315F31323334353637&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#FF7E00&amp;quot;&amp;gt;0E&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#3DDC84&amp;quot;&amp;gt;FF&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Teltonika company ID (big endian)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#008000&amp;quot;&amp;gt;9A08&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Protocol version&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#00FFFF&amp;quot;&amp;gt;01&amp;lt;/span&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Flags&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#D0FF14&amp;quot;&amp;gt;B7&amp;lt;/span&amp;gt;&lt;br /&gt;
|Raw value example 0xB7. Data has to be interpretated as binary value. &lt;br /&gt;
In this example would be (MSB)&amp;lt;span style=&amp;quot;background:#B284BE&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;011 011&amp;lt;span style=&amp;quot;background:#00FFFF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;(LSB) and is parsed from least significant byte(LSB).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
0 – Temperature value presence. &amp;lt;span style=&amp;quot;background:#00FFFF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; Means device is reading and transmitting temperature value.&lt;br /&gt;
&lt;br /&gt;
1 – Humidity value presence. 1 Means device is reading and transmitting humidity value.&lt;br /&gt;
&lt;br /&gt;
2 – Magnetic sensor presence. 1 Means device is reading and transmitting Magnetic sensor value.&lt;br /&gt;
&lt;br /&gt;
3 – Magnetic sensor state (1 magnetic field is detected/0 magnetic field is not detected) Valid value is present only if bit 2 flag is set.&lt;br /&gt;
&lt;br /&gt;
4 – Movement sensor counter. 1 Means device is reading and transmitting movement state and count values.&lt;br /&gt;
&lt;br /&gt;
5 – Movement sensor angle. 1 Means device is reading and transmitting angle roll and pitch values.&lt;br /&gt;
&lt;br /&gt;
6 – Low Battery indication. 0 – Means device battery is from 100 to 15 % (When value changes to 1 Battery level is lower than 15 %.&lt;br /&gt;
&lt;br /&gt;
7 – Battery voltage value presence. &amp;lt;span style=&amp;quot;background:#B284BE&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; Means device is reading and transmitting battery voltage value.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Temperature&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#00FF00&amp;quot;&amp;gt;08B4&amp;lt;/span&amp;gt;&lt;br /&gt;
|Raw value example 0x08B4 hex, 2228 dec. &lt;br /&gt;
&lt;br /&gt;
Raw value needs to be divided by 100. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Real temperature&#039;&#039;&#039; is 22,28 Celsius. &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Humidity&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#007FFF&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;&lt;br /&gt;
|Raw value example 0x12 hex, 18 dec. &lt;br /&gt;
Decimal value is humidity in percent. Humidity 18 %&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Movement&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#F4C2C2&amp;quot;&amp;gt;0CCB&amp;lt;/span&amp;gt;&lt;br /&gt;
| (MSB)0000 1100 1100 1011(LSB) binary&lt;br /&gt;
0 - Most significant byte(MSB) represents &#039;&#039;&#039;Movement status&#039;&#039;&#039;. In this case device is not moving 0. If it was 1 device is moving.&lt;br /&gt;
&lt;br /&gt;
000 1100 1100 1011 – represent detected movements count 3275 decimal value means device has detected total 3275 movement events, &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#BFFF00&amp;quot;&amp;gt;0BFFC7&amp;lt;/span&amp;gt;&lt;br /&gt;
|0B – Most significant byte represents &#039;&#039;&#039;device pitch&#039;&#039;&#039;. Device pitch can be from -90 to 90 degrees. &lt;br /&gt;
In this example device pitch is 0000 1011 (2&#039;s complement) = 11° degrees.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
FFC7– Two least significant bytes represent &#039;&#039;&#039;device roll&#039;&#039;&#039;. Device roll can be from -180 to 180 degrees.&lt;br /&gt;
&lt;br /&gt;
In this example device Roll is 1111 1111 1100 0111 (2&#039;s complement) = -57° degrees&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Battery voltage&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;span style=&amp;quot;background:#00BFFF&amp;quot;&amp;gt;67&amp;lt;/span&amp;gt;&lt;br /&gt;
|&#039;&#039;&#039;Battery voltage –&#039;&#039;&#039; raw value example 0x67 hex. Decimal value of parameter 103&#039;&#039;&#039;.&#039;&#039;&#039; To calculate battery voltage need to use calculation 2000 + (VALUE * 10). In this case battery voltage value 2000+(103x10)= 3030 mV&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;FM Packet parsing example (Base firmware / Advanced mode)&amp;lt;/span&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; | Unparsed data&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Received data in hexadecimal stream: &amp;lt;code&amp;gt;00000000000000488E010000017CA6B6BFD8010F0E5188209AB482008600A80F0000000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;00006000000020019090400560024000301CF0000001601D00000FF4D01D10000006D00000001014B0001B6010000CF7D&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; | AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 48&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E (Codec8 Extended)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;34&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 7C A6 B6 BF D8 (GMT: Friday, 22 October 2021 06:36:07)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0F 0E 51 88&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20 9A B4 82&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 86&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 06&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 19 (25 = BLE Temperature #1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |09 04 (2308=23.08°C)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 56 (86 = BLE Humidity #1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 00 36 (24 %RHT)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 CF (463 - BLE 1 Custom #2 = Movement status and movement events count)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 16 (Currently not moving events count 22)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 D0 (464 - BLE 1 Custom #3 = Angle )&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 FF 4D (Pitch = 0°, Roll = -179°)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 D1 (465 - BLE 1 Custom #4 = Battery Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 6D (109 = 2000 + 109 * 10 mV = 3090 mV)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N’th IO ID - AVL ID.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 4B (331 - BLE 1 Custom #1 = Flags)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Value of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |B7 = (MSB)&amp;lt;span style=&amp;quot;background:#B284BE&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;011 011&amp;lt;span style=&amp;quot;background:#00FFFF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt;(LSB) &lt;br /&gt;
It&#039;s parsed from least significant byte(LSB):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bit 0 – Temperature value presence. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#00FFFF&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; Means device is reading and transmitting temperature value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bit 1 – Humidity value presence. &lt;br /&gt;
&lt;br /&gt;
1 Means device is reading and transmitting humidity value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bit 2 – Magnetic sensor presence. &lt;br /&gt;
&lt;br /&gt;
1 Means device is reading and transmitting Magnetic sensor value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bit 3 – Magnetic sensor state &lt;br /&gt;
&lt;br /&gt;
1 magnetic field is detected/0 magnetic field is not detected) Valid value is present only if bit 2 flag is set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bit 4 – Movement sensor counter. &lt;br /&gt;
&lt;br /&gt;
1 Means device is reading and transmitting movement state and count values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bit 5 – Movement sensor angle. &lt;br /&gt;
&lt;br /&gt;
1 Means device is reading and transmitting angle roll and pitch values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bit 6 – Low Battery indication. &lt;br /&gt;
&lt;br /&gt;
0 – Means device battery is from 100 to 15 % (When value changes to 1 Battery level is lower than 15 %.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7 – Battery voltage value presence. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background:#B284BE&amp;quot;&amp;gt;1&amp;lt;/span&amp;gt; Means device is reading and transmitting battery voltage value.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 CF 7D&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
===&amp;lt;p style=&amp;quot;font-size:24px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;FM EYE Sensor record parsing example with the new firmware supporting EYE Sensor filtering by name)&amp;lt;/span&amp;gt;===&lt;br /&gt;
&#039;&#039;&#039;Parsing EYE Sensor records example&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Below You will find an example on how to parse EYE Sensor record with two EYE Sensors present.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Unparsed data&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Received data in hexadecimal stream: &amp;lt;code&amp;gt;00000000000000908E0100000183407a2beb000f0e3fe3209ab40e008801290d00002c350001000000000&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;000000000012c350063&amp;lt;span style=&amp;quot;background-color:#91d4b9;&amp;quot;&amp;gt;0130050f4d50315f42453241413500000000000602d60807012f0801000901000a024e000b01f90c025aff0d01000e020bcc&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;lt;span style=&amp;quot;background-color:#91d4b9;&amp;quot;&amp;gt;30050f4d50315f33464539414100000000000602cb080701300801000901000a0263000b01000c02af000d01000e020b90&amp;lt;/code&amp;gt;&amp;lt;code&amp;gt;010000fef4&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 90&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E (Codec8 Extended)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;24&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 83 40 7a 2b eb(GMT: Tuesday, 18 June 2019 08:25:22.001)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0f 0e 3f e3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20 9a b4 0e&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 88&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 01 29&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 0d&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2c 35 (11317)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N’th IO ID - AVL ID.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2c 35 (11317)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 63 (99 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value of Variable Length IO 11317&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
&#039;&#039;&#039;0130050f4d50315f42453241413500000000000602d60807012f0801000901000a024e000b01f90c025aff0d01000e020bcc&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;30050f4d50315f33464539414100000000000602cb080701300801000901000a0263000b01000c02af000d01000e020b90&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 fe f4&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Parsing AVL ID 11317 data===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL ID 11317 Unparsed data&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&amp;lt;code&amp;gt;&#039;&#039;&#039;0130050f4d50315f42453241413500000000000602d60807012f0801000901000a024e000b01f90c025aff0d01000e020bcc&#039;&#039;&#039;&amp;lt;/code&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;30050f4d50315f33464539414100000000000602cb080701300801000901000a0263000b01000c02af000d01000e020b90&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Parsing the data&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data packet part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Constant&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Eye Sensor #1 data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |30 (48 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05 (Eye Sensor Device name)&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;60&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0f (15 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4d 50 31 5f 42 45 32 41 41 35 00 00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06 (Eye Sensor #1 temperature)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02 (2 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |d6 08&amp;lt;br&amp;gt;Starting from firmware 03.28.04.rev.203 the value is little endian, converted to decimal and multiplied by 0.01C = 22.42C.&amp;lt;br&amp;gt;Starting from firmware 03.28.04.rev.204 the value is big endian.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |07 (Eye Sensor #1 Humidity)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2f (converted to decimal = 47%)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08 (Eye Sensor #1 Magnet)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 (no magnet detected)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |09 (EYE Sensor #1 Movement presence)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 (none detected)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0a (parameter ID #10, EYE Sensor #1 Movement count)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02 (2 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 4e 00 (converted to dec = 19968)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0b (Parameter ID #11 Eye Sensor #1 Pitch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |f9 (converted to decimal = 159 degrees)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0c (Parameter ID #12 Eye sensor #1 Roll)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02 (2 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5a ff&amp;lt;br&amp;gt;With firmware 03.28.04.rev.203 the value is Little endian, converted to decimal signed 2&#039;s complement =-166 degrees.&amp;lt;br&amp;gt;Starting from firmware 03.28.04.rev.204 the value is Big Endian.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0d (parameter ID #13 low battery voltage indicator)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 (low battery voltage not detected)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0e (Eye Sensor #1 battery voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02 (2 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0b cc (Converted to decimal = 3020 mV)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Eye Sensor #2 data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 30 (48 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 05 (Eye Sensor Device name)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0f (15 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |09 (EYE Sensor #1 Movement presence)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06 (Eye Sensor #1 temperature)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02 (2 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |cb 08&amp;lt;br&amp;gt;With firmware 03.28.04.rev.203 the value is little endian, converted to decimal and multiplied by 0.01C = 22.51C.&amp;lt;br&amp;gt;Starting from firmware 03.28.04.rev.204 the value is big endian.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |07 (Eye Sensor #1 Humidity)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |30 (converted to decimal = 48%)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08 (Eye Sensor #1 Magnet)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 00 (no magnet presence detected)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |09 (EYE Sensor #1 Movement presence)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 00 (no movement presence detected)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0a (parameter ID #10, EYE Sensor #1 Movement count)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02 (2 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |63 00 (converted to decimal = 25344)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0b (Parameter ID #11 Eye Sensor #1 Pitch)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 (converted to dec = 0 degrees)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0c (Parameter ID #12 Eye sensor #1 Roll)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02 (2 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |af 00&amp;lt;br&amp;gt;With firmware 03.28.04.rev.203 the value is little endian, converted to decimal and multiplied by 0.01C =1.75C.&amp;lt;br&amp;gt;Starting from firmware 03.28.04.rev.204 the value is big endian.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0d (parameter ID #13 low battery voltage indicator)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (1 byte)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 (low battery voltage not detected)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0e (Eye Sensor #1 battery voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter data length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02 (2 bytes)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0b 90 (Converted to decimal = 2960mV)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Safety information&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
This message contains information on how to operate BTSID1 safely. By following these requirements and recommendations, you will avoid dangerous situations. You must read these instructions carefully and follow them strictly before operating the device!&lt;br /&gt;
&lt;br /&gt;
1. To avoid mechanical damage, it is advised to transport the device in an impact-proof package.&lt;br /&gt;
&lt;br /&gt;
2. In case of malfunction contact your Teltonika account manager or write to the technical support team over the Partner Portal/Helpdesk.&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Safety information.png]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Certification &amp;amp; Approvals&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:50%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Certificates&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Links&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Valid for Model&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |E-Mark (EU)&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_E-Mark|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |FCC (USA)&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_FCC|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; | CE/RED (EU)&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_CE_/_RED|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |RoHS (EU)&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_RoHS|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; | REACH (EU)&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_REACH|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Anatel (BR) (PR)&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_ANATEL|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |IP rating&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_IP67|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |SIRIM QAS&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_SIRIM QAS|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |SDPPI POSTEL&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_SDPPI POSTEL|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; | TELEC&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_TELEC|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |ATEX&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_ATEX|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |ATEX&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |EN12830&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_EN12830|Yes]]&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |EN12830&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Nomenclature &amp;amp; Classification codes&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:50%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Links&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; | EAN&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_EAN|Yes]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |HS&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_HS|Yes]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |ECCN&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1_ECCN|Yes]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;Memberships&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! style=&amp;quot;width:50%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Name&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: left;&amp;quot; |Links&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Bluetooth® SIG&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1 Bluetooth® SIG|Yes]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |WEEE&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1 WEEE|Yes]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |Battery WEEE&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; text-align: left; vertical-align: center; background: white;&amp;quot; |[[BTSMP1 Battery WEEE|Yes]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;p style=&amp;quot;font-size:32px&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;color:#0054A6&amp;quot;&amp;gt;External Links&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
===Product Page===&lt;br /&gt;
https://teltonika-gps.com/eye/&lt;br /&gt;
&lt;br /&gt;
===Product Change Notifications===&lt;br /&gt;
&lt;br /&gt;
The latest Product Change Notifications can be found: [[BTSMP1_Product_Change_Notifications|Product Change Notifications]]&lt;br /&gt;
&lt;br /&gt;
===Software Errata===&lt;br /&gt;
Firmware Errata: [https://wiki.teltonika-gps.com/view/BTS_firmware_errata BTS firmware errata]&lt;br /&gt;
&lt;br /&gt;
EYE App Errata: [https://wiki.teltonika-gps.com/view/EYE_APP_errata BTS APP errata]&lt;br /&gt;
&lt;br /&gt;
===Promotional Material===&lt;br /&gt;
[[EYE Sensor Promotional Material]]&lt;br /&gt;
&lt;br /&gt;
===Compatibilty with other Teltonika Devices===&lt;br /&gt;
Teltonika Networks:&lt;br /&gt;
https://wiki.teltonika-networks.com/view/Bluetooth_EYE_Sensor_and_EYE_Beacon_support&lt;br /&gt;
&lt;br /&gt;
https://wiki.teltonika-networks.com/view/Teltonika_EYE_device_pairing_and_data_sender_configuration_example&lt;br /&gt;
&lt;br /&gt;
===Partner Providers Supporting Software===&lt;br /&gt;
*[[3Dtracking with Fleet Management (FM)|3Dtracking]]&lt;br /&gt;
*[[GPS-server with Fleet Management (FM)|GPS-server]]&lt;br /&gt;
*[[Wialon with Fleet Management (FM)|Wialon]]&lt;br /&gt;
*[[Mapon with Fleet Management (FM)|Mapon]]&lt;br /&gt;
*[[WhiteLabel Tracking with Fleet Management (FM)|WhiteLabel Tracking]]&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;[[EYE FAQ|Frequently asked questions (FAQ)]]&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
*[[EYE FAQ#Questions%20about%20Power%20and%20Electrical%20characteristics|Questions about Power and Electrical characteristics]]&lt;br /&gt;
*[[EYE FAQ#Questions%20about%20EYE%20Accessory%20configuration%20.28EYE%20APP.29|Questions about EYE Accessory configuration (EYE APP)]]&lt;br /&gt;
*[[EYE FAQ#Questions%20about%20FMBxxx%20compatibility%20with%20EYE%20Accessories|Questions about FMBxxx compatibility with EYE Accessories]]&lt;br /&gt;
*[[EYE FAQ#Questions%20about%20Protocols|Questions about Protocols]]&lt;br /&gt;
*[[EYE FAQ#Other%20questions%20.28Questions%20without%20category.29|Other questions  (Questions without category)]]&lt;br /&gt;
&lt;br /&gt;
===Documents===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:pdf_icon.png|32px|]]&lt;br /&gt;
|[[Media:Datasheet-BTSMP1 EYE SENSOR 4.5.pdf|Eye Sensor Datasheet]]&lt;br /&gt;
|&amp;lt;small&amp;gt;(Updated on: {{{datasheet_date|2024-03-15}}})&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|[[File:pdf_icon.png|32px|]]&lt;br /&gt;
|[[Media:EYE SENSOR ATEX Datasheet V1.0.pdf|Eye Sensor ATEX Datasheet]]&lt;br /&gt;
|&amp;lt;small&amp;gt;(Updated on: {{{datasheet_date|2024-05-29}}})&amp;lt;/small&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|[[File:pdf_icon.png|32px|]]&lt;br /&gt;
|[[Media:EYE SENSOR EN12830 Datasheet 1.0.pdf|Eye Sensor EN12830 Datasheet]]&lt;br /&gt;
|&amp;lt;small&amp;gt;(Updated on: {{{datasheet_date|2024-05-29}}})&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{|&lt;br /&gt;
|[[File:pdf_icon.png|32px|]]&lt;br /&gt;
|[[Media:QM-BTSMP1.pdf|BTSMP1 Quick Manual (EN)]]&lt;br /&gt;
|&amp;lt;small&amp;gt;(Updated on: {{{datasheet_date|2024-01-17}}})&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:zip_icon.png|32px|]]&lt;br /&gt;
|[[Teltonika EN12830 EYE APP|EN12830 EYE APP]]&lt;br /&gt;
|&amp;lt;small&amp;gt;(Updated on: {{{datasheet_date|2024-04-02}}})&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Additional information==&lt;br /&gt;
&lt;br /&gt;
{{{EOL|For EOL policy please refer to link [https://teltonika-gps.com/support/eol-products here].}}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Sensors]]&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=FMB_scanfms&amp;diff=104301</id>
		<title>FMB scanfms</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=FMB_scanfms&amp;diff=104301"/>
		<updated>2025-04-25T06:05:22Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example (FMB640):&amp;lt;br/&amp;gt; &amp;quot;1,1,1,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0&amp;quot; (67 elements)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; only first 49 elements are important for Base Firmware versions. Other elements are for Special Firmware versions and should be ignored if Base Firmware is used.&lt;br /&gt;
&lt;br /&gt;
Example (FM63XY):&amp;lt;br/&amp;gt; &amp;quot;FMS:1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1&amp;quot; (48 elements)&lt;br /&gt;
&lt;br /&gt;
Example (FMX650 from 03.01.00.Rev.09):&amp;lt;br/&amp;gt; &amp;quot;FMS:1;1111100000000000000000000000000000000000000000000010000;	&lt;br /&gt;
&amp;quot; (55 elements) &amp;lt;br/&amp;gt;&lt;br /&gt;
First number shows Ignition state. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;scanfms&amp;quot; command EXCEL parser can be downloaded here: [[File:Download_zip.png|x30px|link=Special:Redirect/file/FMB6_scanfmsV1.2.xlsx]]&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot;scanfms&amp;quot; command EXCEL parser you will be able to see which FMS parameters are available from your vehicle. In order to see what parameters are available, simply insert received &amp;quot;scanfms&amp;quot; response from your device to EXCEL parser.&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=File:FMB6_scanfmsV1.2.xlsx&amp;diff=104300</id>
		<title>File:FMB6 scanfmsV1.2.xlsx</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=File:FMB6_scanfmsV1.2.xlsx&amp;diff=104300"/>
		<updated>2025-04-25T06:02:28Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: Updated scanfms command parser&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Updated scanfms command parser&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=FMB_scanfms&amp;diff=104299</id>
		<title>FMB scanfms</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=FMB_scanfms&amp;diff=104299"/>
		<updated>2025-04-25T06:01:29Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example (FMB640):&amp;lt;br/&amp;gt; &amp;quot;1,1,1,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0&amp;quot; (67 elements)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; only first 49 elements are important for Base Firmware versions. Other elements are for Special Firmware versions and should be ignored if Base Firmware is used.&lt;br /&gt;
&lt;br /&gt;
Example (FM63XY):&amp;lt;br/&amp;gt; &amp;quot;FMS:1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1&amp;quot; (48 elements)&lt;br /&gt;
&lt;br /&gt;
Example (FMX650 from 03.01.00.Rev.09):&amp;lt;br/&amp;gt; &amp;quot;FMS:1;1111100000000000000000000000000000000000000000000010000;	&lt;br /&gt;
&amp;quot; (55 elements) &amp;lt;br/&amp;gt;&lt;br /&gt;
First number shows Ignition state.&lt;br /&gt;
&lt;br /&gt;
FMB640 and FM63XY &amp;quot;scanfms&amp;quot; command EXCEL parser can be downloaded here: [[File:Download_zip.png|x30px|link=Special:Redirect/file/FMB6_scanfms.zip]]&lt;br /&gt;
&lt;br /&gt;
Using &amp;quot;scanfms&amp;quot; command EXCEL parser you will be able to see which FMS parameters are available from your vehicle. In order to see what parameters are available, simply insert received &amp;quot;scanfms&amp;quot; response from your device to EXCEL parser.&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=Codec&amp;diff=98062</id>
		<title>Codec</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=Codec&amp;diff=98062"/>
		<updated>2024-05-07T14:32:01Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&#039;&#039;&#039;&amp;lt;big&amp;gt;Introduction&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
A codec is a device or computer program for encoding or decoding a digital data stream or signal. Codec is a portmanteau of coder – decoder. A codec encodes a data stream or a signal for transmission and storage, possibly in encrypted form, and the decoder function reverses the encoding for playback or editing. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Below you will see a table of all Codec types with ID’s: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 8&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 8 Extended&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 16&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 12&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 13&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 14&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x8E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x10&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0C&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0E&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Also, there are using two data transport protocols: TCP and UDP. But it is not important which one will be used in Codec. &lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec for device data sending&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
In this chapter you will find information about every Codec protocol which are using for device data sending and differences between them.  &lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 8&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Protocol Overview&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec8 – a main FM device protocol that is used for sending data to server. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 8 protocol sending over TCP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TCP is a connection-oriented protocol that is used for communication between devices. The workings of this type of protocol is described below in the &#039;&#039;&#039;communication with server&#039;&#039;&#039; section. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AVL Data Packet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL Data Packet structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Field Length&#039;&#039;&#039; – size is calculated starting from Codec ID to Number of Data 2. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec8 it is always &amp;lt;code&amp;gt;0x08&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 1&#039;&#039;&#039; – a number which defines how many records is in the packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;AVL Data&#039;&#039;&#039; – actual data in the packet (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 2&#039;&#039;&#039; – a number which defines how many records is in the packet. This number must be the same as “Number of Data 1”. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for [[FMB630]], [[FMB640]] and [[FM6300|FM63XY]], minimum AVL record size is 45 bytes (all IO elements disabled). Maximum AVL record size is 255 bytes. Maximum AVL packet size is 512 bytes. For other devices, minimum AVL record size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 1280 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*AVL Data&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL Data structure. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |GPS Element&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IO Element&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Timestamp&#039;&#039;&#039; – a difference, in milliseconds, between the current time and midnight, January, 1970 UTC (UNIX time). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Priority&#039;&#039;&#039; – field which define AVL data priority (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;GPS Element&#039;&#039;&#039; – location information of the AVL data (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IO Element&#039;&#039;&#039; – additional configurable information from device (more information below). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Priority&lt;br /&gt;
&lt;br /&gt;
Below table represents Priority values. Packet priority depends on device configuration and records sent. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:25%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Low&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |High&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Panic&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*GPS element&lt;br /&gt;
&lt;br /&gt;
Below table represents GPS Element structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Longitude&#039;&#039;&#039; – east – west position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Latitude&#039;&#039;&#039; – north – south position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Altitude&#039;&#039;&#039; – meters above sea level. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Angle&#039;&#039;&#039; – degrees from north pole. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Satellites&#039;&#039;&#039; – number of visible satellites. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Speed&#039;&#039;&#039; – speed calculated from satellites. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; 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. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:GPS.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Where: &amp;lt;br&amp;gt;&lt;br /&gt;
d – Degrees; m – Minutes; s – Seconds; ms – Milliseconds; p – Precision (10000000) &amp;lt;br&amp;gt;&lt;br /&gt;
If longitude is in west or latitude in south, multiply result by –1. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: &amp;lt;br&amp;gt;&lt;br /&gt;
To determine if the coordinate is negative, convert it to binary format and check the very first bit. If it is 0, coordinate is positive, if it is 1, coordinate is negative. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;br&amp;gt;&lt;br /&gt;
Received value: &amp;lt;code&amp;gt;20 9C CA 80&amp;lt;/code&amp;gt; converted to BIN: &amp;lt;code&amp;gt;00100000 10011100 11001010 10000000&amp;lt;/code&amp;gt; first bit is 0, which means coordinate is positive converted to DEC: &amp;lt;code&amp;gt;547146368&amp;lt;/code&amp;gt;. For more information see two‘s complement arithmetic. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*IO Element&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| rowspan=&amp;quot;26&amp;quot; style=&amp;quot; width:5%; vertical-align: middle; text-align: left;&amp;quot; |&lt;br /&gt;
| rowspan=&amp;quot;26&amp;quot; style=&amp;quot; width:65%; vertical-align: middle; text-align: left;&amp;quot; |&#039;&#039;&#039;Event IO ID&#039;&#039;&#039; – 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 &amp;lt;code&amp;gt;0xEF&amp;lt;/code&amp;gt; (AVL ID: 239). If it’s not eventual record – the value is 0. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; – a total number of properties coming with record (N = N1 + N2 + N4 + N8). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N1&#039;&#039;&#039; – number of properties, which length is 1 byte. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N2&#039;&#039;&#039; – number of properties, which length is 2 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N4&#039;&#039;&#039; – number of properties, which length is 4 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N8&#039;&#039;&#039; – number of properties, which length is 8 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO ID&#039;&#039;&#039; - AVL ID. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO Value&#039;&#039;&#039; - AVL ID value. &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N of Total IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First, when module connects to server, module sends its IMEI. First comes short identifying number of bytes written and then goes IMEI as text (bytes). &amp;lt;br&amp;gt;&lt;br /&gt;
For example, IMEI &amp;lt;code&amp;gt;356307042441013&amp;lt;/code&amp;gt; would be sent as &amp;lt;code&amp;gt;000F333536333037303432343431303133&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
First two bytes denote IMEI length. In this case &amp;lt;code&amp;gt;0x000F&amp;lt;/code&amp;gt; means, that IMEI is 15 bytes long. &amp;lt;br&amp;gt;&lt;br /&gt;
After receiving IMEI, server should determine if it would accept data from this module. If yes, server will reply to module &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;, if not - &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;. Note that confirmation should be sent as binary packet. I.e. 1 byte &amp;lt;code&amp;gt;0x01&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0x00&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
Then module starts to send first AVL data packet. After server receives packet and parses it, server must report to module number of data received as integer (four bytes). &amp;lt;br&amp;gt;&lt;br /&gt;
If sent data number and reported by server doesn’t match module resends sent data. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Example:  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Module connects to server and sends IMEI: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000F333536333037303432343431303133&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server accepts the module: &amp;lt;br&amp;gt;&lt;br /&gt;
01 &amp;lt;br&amp;gt;&lt;br /&gt;
Module sends data packet: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Four Zero Bytes – 0x00000000,&lt;br /&gt;
“AVL Data Array” length – 0x000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x08,&lt;br /&gt;
Number of Data – &#039;&#039;&#039;0x02&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC of “AVL Data Array”&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00000000000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&#039;&#039;&#039;02&#039;&#039;&#039;...(data elements)...&#039;&#039;&#039;02&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00008612&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server acknowledges data reception (2 data elements): &#039;&#039;&#039;&amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt;&#039;&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in these examples are given in hexadecimal form. The different fields of packets are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;st example&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Receiving one data record with each element property (1 byte, 2 bytes, 4 byte and 8 byte). &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000003608010000016B40D8EA30010000000000000000000000000000000105021503010101425E0F01F10000601A014E0000000000000000010000C7CF&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 36&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;24&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 40 D8 EA 30 (GMT: Monday, June 10, 2019 10:04:46 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 (AVL ID: 21, Name: GSM Signal)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5E 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |F1 (AVL ID: 241, Name: Active GSM Operator)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 60 1A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4E (AVL ID: 78, Name: iButton)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 C7 CF&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;nd example&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Receiving one data record with one or two different element properties (1 byte, 2 byte). &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000002808010000016B40D9AD80010000000000000000000000000000000103021503010101425E100000010000F22A&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 28&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;20&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 40 D9 AD 80 (GMT: Monday, June 10, 2019 10:05:36 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 (AVL ID: 21, Name: GSM Signal)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5E 10&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 F2 2A&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;rd example&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Receiving two or more data records with one or more different element properties. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000004308020000016B40D57B480100000000000000000000000000000001010101000000000000016B40D5C198010000000000000000000000000000000&lt;br /&gt;
101010101000000020000252C&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 43&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
(1&#039;st record)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 40 D5 7B 48 (GMT: Monday, June 10, 2019 10:01:01 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
(2&#039;nd record)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 40 D5 C1 98 (GMT: Monday, June 10, 2019 10:01:19 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 25 2C&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec8 protocol sending over UDP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec8 protocol over UDP is a transport layer protocol above UDP/IP to add reliability to plain UDP/IP using acknowledgment packets. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AVL Data Packet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packet structure is as follows: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Datagram&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Example&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Usable Byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet Payload&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Variable&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039; – packet length (excluding this field) in big ending byte order. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Packet ID&#039;&#039;&#039; – packet ID unique for this channel. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Not Usable Byte&#039;&#039;&#039; – not usable byte. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Packet payload&#039;&#039;&#039; – data payload. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Acknowledgment packet&lt;br /&gt;
&lt;br /&gt;
Acknowledgment packet should have the same Packet ID as acknowledged data packet and empty Data Payload. Acknowledgement should be sent in binary format. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Acknowledgment Packet&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Packet Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Not Usable Byte&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Packet Length&#039;&#039;&#039; – packet length by sending/response data. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Packet ID&#039;&#039;&#039; – same as in acknowledgment packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Not Usable Byte&#039;&#039;&#039; – always will be &amp;lt;code&amp;gt;0x01&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Sending AVL Packet Payload using UDP channel&lt;br /&gt;
&lt;br /&gt;
Below table represents Sending Packet Payload structure. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL data encapsulated in UDP channel packet&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |IMEI Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Module IMEI&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;AVL Packet ID&#039;&#039;&#039; – ID identifying this AVL packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IMEI Length&#039;&#039;&#039; – always will be &amp;lt;code&amp;gt;0x000F&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Module IMEI&#039;&#039;&#039; – IMEI of a sending module encoded the same as with TCP. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;AVL Data Array&#039;&#039;&#039; – array of encoded AVL data (same as TCP AVL Data Array). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Server response Packet Payload using UDP channel&lt;br /&gt;
&lt;br /&gt;
Below table represents Server Response Packet Payload structure. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Response to AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Number of Accepted AVL Elements&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module sends the data: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x00FE,&lt;br /&gt;
Packet ID – 0xCAFE &amp;lt;br&amp;gt;&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
IMEI Length – 0x000F &amp;lt;br&amp;gt;&lt;br /&gt;
IMEI – 0x313233343536373839303132333435&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x08,&lt;br /&gt;
Number of Data – 0x02 &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00FECAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD000F3133343536373839303132333435&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0802…(data elements)…02&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server must respond with acknowledgment: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x0005,&lt;br /&gt;
Packet ID – 0xCAFE,&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
Number of Accepted Data – 0x02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0005CAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD02&lt;br /&gt;
|-&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;003DCAFE0105000F33353230393330383634303336353508010000016B4F815B30010000000000000000000000000000000103021503010101425DBC000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 3D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |33 35 32 30 39 33 30 38 36 34 30 33 36 35 35&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;23&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 4F 81 5B 30 (GMT: Thursday, June 13, 2019 6:23:26 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 (AVL ID: 21, Name: GSM Signal)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5D BC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response in hexadecimal stream:&lt;br /&gt;
&amp;lt;code&amp;gt;0005CAFE010501&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Response to AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |Server Response Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Accepted Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 8 Extended&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Protocols overview&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec8 Extended is using for FMBXXX family devices. This protocol looks familiar like Codec8 but they have some differences. Main differences between are shown in below table: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8 Extended&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x8E&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element total IO count length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element IO count length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element AVL ID length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Variable size IO elements&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Does not include&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Includes variable size elements&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 8 Extended protocol sending over TCP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;AVL data packet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL data packet structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Field Length&#039;&#039;&#039; – size is calculated starting from Codec ID to Number of Data 2. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec8 Extended it is always &amp;lt;code&amp;gt;0x8E&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 1&#039;&#039;&#039; – a number which defines how many records is in the packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;AVL Data&#039;&#039;&#039; – actual data in the packet (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 2&#039;&#039;&#039; – a number which defines how many records is in the packet. This number must be the same as “Number of Data 1”. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for [[FMB630]], [[FMB640]] and [[FM6300|FM63XY]], minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 255 bytes. For other devices, minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 1280 bytes. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*AVL Data&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL Data structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |GPS Element&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IO Element&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Timestamp&#039;&#039;&#039; – a difference, in milliseconds, between the current time and midnight, January, 1970 UTC (UNIX time). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Priority&#039;&#039;&#039; – field which define AVL data priority (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;GPS Element&#039;&#039;&#039; – locational information of the AVL data (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IO Element&#039;&#039;&#039; – additional configurable information from device (more information below). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Priority&lt;br /&gt;
&lt;br /&gt;
Below table represents Priority values. Packet priority depends on device configuration and records sent. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:25%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Low&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |High&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Panic&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*GPS element&lt;br /&gt;
&lt;br /&gt;
Below table represents GPS Element structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Longitude&#039;&#039;&#039; – east – west position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Latitude&#039;&#039;&#039; – north – south position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Altitude&#039;&#039;&#039; – meters above sea level. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Angle&#039;&#039;&#039; – degrees from north pole. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Satellites&#039;&#039;&#039; – number of visible satellites. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Speed&#039;&#039;&#039; – speed calculated from satellites. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; 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. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:GPS.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Where: &amp;lt;br&amp;gt;&lt;br /&gt;
d – Degrees; m – Minutes; s – Seconds; ms – Milliseconds; p – Precision (10000000) &amp;lt;br&amp;gt;&lt;br /&gt;
If longitude is in west or latitude in south, multiply result by –1. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: &amp;lt;br&amp;gt;&lt;br /&gt;
To determine if the coordinate is negative, convert it to binary format and check the very first bit. If it is &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, coordinate is positive, if it is &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, coordinate is negative. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;br&amp;gt;&lt;br /&gt;
Received value: &amp;lt;code&amp;gt;20 9C CA 80&amp;lt;/code&amp;gt; converted to BIN: &amp;lt;code&amp;gt;00100000 10011100 11001010 10000000&amp;lt;/code&amp;gt; first bit is 0, which means coordinate is positive converted to DEC: &amp;lt;code&amp;gt;547146368&amp;lt;/code&amp;gt;. For more information see two‘s complement arithmetic. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*IO Element&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| rowspan=&amp;quot;33&amp;quot; style=&amp;quot; width:5%; vertical-align: middle; text-align: left;&amp;quot; |&lt;br /&gt;
| rowspan=&amp;quot;33&amp;quot; style=&amp;quot; width:65%; vertical-align: middle; text-align: left;&amp;quot; |&#039;&#039;&#039;Event IO ID&#039;&#039;&#039; – 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. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; – a total number of properties coming with record (N = N1 + N2 + N4 + N8). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N1&#039;&#039;&#039; – number of properties, which length is 1 byte. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N2&#039;&#039;&#039; – number of properties, which length is 2 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N4&#039;&#039;&#039; – number of properties, which length is 4 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N8&#039;&#039;&#039; – number of properties, which length is 8 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NX&#039;&#039;&#039; – a number of properties, which length is defined by length element.&lt;br /&gt;
&#039;&#039;&#039;N’th IO ID&#039;&#039;&#039; - AVL ID. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N&#039;th Lenght&#039;&#039;&#039; - AVL ID value lenght. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO Value&#039;&#039;&#039; - AVL ID value. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N of Total IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |NX of X Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Defined by lenght&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |NX’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |NX’th Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |NX’th Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Defined by lenght&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Communication with server is the same as with Codec8 protocol, except in Codec8 Extended protocol Codec ID is 0x8E. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module connects to server and sends IMEI: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000F333536333037303432343431303133&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server accepts the module: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Module sends data packet: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Four Zero Bytes – 0x00000000,&lt;br /&gt;
“AVL Data Array” length – 0x000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x8E,&lt;br /&gt;
Number of Data – &#039;&#039;&#039;0x02&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC of “AVL Data Array”&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00000000000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&#039;&#039;&#039;02&#039;&#039;&#039;...(data elements)...&#039;&#039;&#039;02&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00008612&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server acknowledges data reception (2 data elements): &#039;&#039;&#039;&amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt;&#039;&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000004A8E010000016B412CEE000100000000000000000000000000000000010005000100010100010011001D00010010015E2C880002000B000000003544C87&lt;br /&gt;
A000E000000001DD7E06A00000100002994&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed data:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 4A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;25&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 41 2C EE 00 (GMT: Monday, June 10, 2019 11:36:32 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 11 (AVL ID: 17, Name: Axis X)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 1D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 10 (AVL ID: 16, Name: Total Odometer)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 5E 2C 88&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B (AVL ID: 11, Name: ICCID1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 35 44 C8 7A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0E (AVL ID: 14, Name: ICCID2)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 1D D7 E0 6A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 29 94&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec8 Extended protocol sending over UDP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;UDP channel protocol&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AVL data packet is the same as with Codec8, except Codec ID is changed to &amp;lt;code&amp;gt;0x8E&amp;lt;/code&amp;gt;. AVL Data encoding performed according to Codec8 Extended protocol. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module sends the data: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x00FE,&lt;br /&gt;
Packet ID – 0xCAFE &amp;lt;br&amp;gt;&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
IMEI Length – 0x000F &amp;lt;br&amp;gt;&lt;br /&gt;
IMEI – 0x313233343536373839303132333435&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x8E,&lt;br /&gt;
Number of Data – 0x02 &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00FECAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD000F3133343536373839303132333435&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E02…(data elements)…02&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server must respond with acknowledgment: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x0005,&lt;br /&gt;
Packet ID – 0xCAFE,&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
Number of Accepted Data – 0x02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0005CAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD02&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;005FCAFE0107000F3335323039333038363430333635358E010000016B4F831C680100000000000000000000000000000000010005000100010100010011009D000100&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;10015E2C880002000B000000003544C87A000E000000001DD7E06A000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 5F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |33 35 32 30 39 33 30 38 36 34 30 33 36 35 35&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;27&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 4F 83 1C 68 (GMT: Thursday, June 13, 2019 6:25:21 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 11 (AVL ID: 17, Name: Axis X)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 1D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 10 (AVL ID: 16, Name: Total Odometer)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 5E 2C 88&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B (AVL ID: 11, Name: ICCID1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 35 44 C8 7A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0E (AVL ID: 14, Name: ICCID2)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 1D D7 E0 6A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response in hexadecimal stream:&lt;br /&gt;
&amp;lt;code&amp;gt;0005CAFE010701&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Response to AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |Server Response Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |07&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Accepted Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 16&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Protocol overview&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec16 is using for FMB630/FM63XY devices. This protocol looks familiar like Codec8 but they have some differences. Main differences between are shown in table below: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec16&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x10&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element ID event length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element AVL ID length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Is Using&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Codec16 is supported from firmware – 00.03.xx and newer. ([[FMB630]]/FM63XY) || AVL ID‘s which are higher than 255 will can be used only in Codec16 protocol. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 16 protocol sending over TCP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;AVL data packet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL data packet structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Field Length&#039;&#039;&#039; – size is calculated starting from Codec ID to Number of Data 2. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec16 it is always 0x10. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 1&#039;&#039;&#039; – a number which defines how many records is in the packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;AVL Data&#039;&#039;&#039; – actual data in the packet (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 2&#039;&#039;&#039; – a number which defines how many records is in the packet. This number must be the same as “Number of Data 1”. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for [[FMB630]] and FM63XY, minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 255 bytes. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*AVL Data&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL Data structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |GPS Element&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IO Element&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Timestamp&#039;&#039;&#039; – a difference, in milliseconds, between the current time and midnight, January, 1970 UTC (UNIX time). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Priority&#039;&#039;&#039; – field which define AVL data priority (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;GPS Element&#039;&#039;&#039; – location information of the AVL data (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IO Element&#039;&#039;&#039; – additional configurable information from device (more information below). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Priority&lt;br /&gt;
&lt;br /&gt;
Below table represents Priority values. Packet priority depends on device configuration and records sent. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:25%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Low&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |High&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Panic&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*GPS element&lt;br /&gt;
&lt;br /&gt;
Below table represents GPS Element structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Longitude&#039;&#039;&#039; – east – west position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Latitude&#039;&#039;&#039; – north – south position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Altitude&#039;&#039;&#039; – meters above sea level. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Angle&#039;&#039;&#039; – degrees from north pole. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Satellites&#039;&#039;&#039; – number of visible satellites. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Speed&#039;&#039;&#039; – speed calculated from satellites. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; 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. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:GPS.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Where: &amp;lt;br&amp;gt;&lt;br /&gt;
d – Degrees; m – Minutes; s – Seconds; ms – Milliseconds; p – Precision (10000000) &amp;lt;br&amp;gt;&lt;br /&gt;
If longitude is in west or latitude in south, multiply result by –1. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: &amp;lt;br&amp;gt;&lt;br /&gt;
To determine if the coordinate is negative, convert it to binary format and check the very first bit. If it is &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, coordinate is positive, if it is &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, coordinate is negative. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;br&amp;gt;&lt;br /&gt;
Received value: &amp;lt;code&amp;gt;20 9C CA 80&amp;lt;/code&amp;gt; converted to BIN: &amp;lt;code&amp;gt;00100000 10011100 11001010 10000000&amp;lt;/code&amp;gt; first bit is 0, which means coordinate is positive converted to DEC: &amp;lt;code&amp;gt;547146368&amp;lt;/code&amp;gt;. For more information see two‘s complement arithmetic. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*IO Element&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| rowspan=&amp;quot;27&amp;quot; style=&amp;quot; width:5%; vertical-align: middle; text-align: left;&amp;quot; |&lt;br /&gt;
| rowspan=&amp;quot;27&amp;quot; style=&amp;quot; width:65%; vertical-align: middle; text-align: left;&amp;quot; |&#039;&#039;&#039;Event IO ID&#039;&#039;&#039; – 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. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Generation type&#039;&#039;&#039; - data event generation type. More information about it you can find here. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; – a total number of properties coming with record (N = N1 + N2 + N4 + N8). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N1&#039;&#039;&#039; – number of properties, which length is 1 byte. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N2&#039;&#039;&#039; – number of properties, which length is 2 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N4&#039;&#039;&#039; – number of properties, which length is 4 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N8&#039;&#039;&#039; – number of properties, which length is 8 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO ID&#039;&#039;&#039; - AVL ID. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO Value&#039;&#039;&#039; - AVL ID value. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N of Total IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Generation type&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:30%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Value&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Record Created&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |On Exit&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |On Entrance&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |On Both&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Reserved&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Hysteresis&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |On Change&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Eventual&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Periodical&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Communication with server is the same as with Codec8 protocol, except in Codec16 protocol Codec ID is &amp;lt;code&amp;gt;0x10&amp;lt;/code&amp;gt; and has generation type. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module connects to server and sends IMEI: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000F333536333037303432343431303133&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server accepts the module: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Module sends data packet: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Four Zero Bytes – 0x00000000,&lt;br /&gt;
“AVL Data Array” length – 0x000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x10,&lt;br /&gt;
Number of Data – &#039;&#039;&#039;0x02&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC of “AVL Data Array”&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00000000000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10&#039;&#039;&#039;02&#039;&#039;&#039;...(data elements)...&#039;&#039;&#039;02&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00008612&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server acknowledges data reception (2 data elements): &#039;&#039;&#039;&amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt;&#039;&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000005F10020000016BDBC7833000000000000000000000000000000000000B05040200010000030002000B00270042563A00000000016BDBC78718&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000000000000000000000000B05040200010000030002000B00260042563A00000200005FB3&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed data: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 5F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;23&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
(1&#039;st record)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B DB C7 83 30 (GMT: Wednesday, July 10, 2019 12:06:54 PM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 03 (AVL ID: 3, Name: DIN3)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B (AVL ID: 11, Name: ICCID1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 27&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |56 3A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;23&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
(2&#039;nd record)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B DB C7 87 18 (GMT: Wednesday, July 10, 2019 12:06:55 PM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 03 (AVL ID: 3, Name: DIN3)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B (AVL ID: 11, Name: ICCID1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 26&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |56 3A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 5F B3&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec16 protocol sending over UDP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;UDP channel protocol&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AVL data packet is the same as with Codec8, except Codec ID is changed to &amp;lt;code&amp;gt;0x10&amp;lt;/code&amp;gt;. AVL Data encoding performed according to Codec16 protocol. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module sends the data: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x00FE,&lt;br /&gt;
Packet ID – 0xCAFE &amp;lt;br&amp;gt;&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
IMEI Length – 0x000F &amp;lt;br&amp;gt;&lt;br /&gt;
IMEI – 0x313233343536373839303132333435&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x10,&lt;br /&gt;
Number of Data – 0x02 &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00FECAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD000F3133343536373839303132333435&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1002…(data elements)…02&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server must respond with acknowledgment:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x0005,&lt;br /&gt;
Packet ID – 0xCAFE,&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
Number of Accepted Data – 0x02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0005CAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD02&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;015BCAFE0101000F33353230393430383532333135393210070000015117E40FE80000000000000000000000000000000000EF05050400010000030000B4000&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;0EF01010042111A000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 5B&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |07&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |33 35 32 30 39 34 30 38 35 32 33 31 35 39 32&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;28&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 51 17 E4 0F E8 (GMT: Wednesday, November 18, 2015 12:00:01 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 EF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Generation type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 03 (AVL ID: 3, Name: DIN3)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3’rd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 B4 (AVL ID: 180, Name: DOUT2)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3’rd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 EF (AVL ID: 239, Name: Ignition)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |11 1A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response in hexadecimal stream:&lt;br /&gt;
&amp;lt;code&amp;gt;0005CAFE010701&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Response to AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |Server Response Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |07&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Accepted Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Differences between Codec 8, Codec 8 Extended and Codec 16&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
In the table below you will see differences between Codec8, Codec8 Extended and Codec16. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8 Extended&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec16&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x8E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x10&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element total IO count length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Is Using&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element IO count length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element AVL ID length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Variable size IO elements&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Does not include&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Includes variable size elements&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Does not include&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec for communication over GPRS messages&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
In this chapter you will find information about every Codec protocol which are using for communication over GPRS messages and differences between them. &lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 12&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;About Codec12&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec12 is the original and main Teltonika protocol for device-server communication over GPRS messages. Codec12 GPRS commands can be used for sending configuration, debug, digital outputs control commands or other (special purpose command on special firmware versions). This protocol is also necessary for using [[FMB630]]/[[FM6300]]/FM5300/FM5500/FM4200 features like: Garmin, LCD communication, COM TCP Link Mode. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;FM firmware requirements&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Supported GPRS commands on each device depending on the firmware version. For available GPRS commands on each device, please refer to the table below. &lt;br /&gt;
{| class=&amp;quot;nd-othertables&amp;quot; style=&amp;quot;width:75%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:25%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:25%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS over GPRS via TCP&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:25%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS over GPRS via UDP&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |FM36YX&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Since base firmware 01.06.01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |FM63YX&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Since base firmware 00.02.19&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |FMB, FMC, FMM, FMU family devices (exclude FMB6YX, [[FMC640]], [[FMM640]])&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |FMB6YX&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Since base firmware 00.02.19&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |[[FMC640]], [[FMM640]]&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; “SMS over GPRS” means that all standard SMS commands text can be sent to the device via GPRS in Codec12 format.  &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; UDP commands are sent the same exact way as TCP commands.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;GPRS command session&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following figure shows how the GRPS command session is started over TCP. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Codec12.png|1150px]]&lt;br /&gt;
First, the Teltonika device opens the GPRS session and sends AVL data to the server (refer device protocols). Once all records are sent and correct sent data array acknowledgment is received by device then GPRS commands in Hex can be sent to the device. &amp;lt;br&amp;gt;&lt;br /&gt;
The ACK (acknowledge of IMEI from server) is a one-byte constant 0x01. The acknowledgment of each data array send from the device is four bytes integer – the number of records received. &amp;lt;br&amp;gt;&lt;br /&gt;
Note, that the GPRS session should remain active between device and server, while GPRS commands are sent. For this reason, active datalink timeout (global parameters in device configuration) is recommended to be set to 259200 (maximum value). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;General Codec12 message structure&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following diagram shows basic structure of Codec12 messages. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command message structure:&#039;&#039;&#039; &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Type (0x05)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Response message structure:&#039;&#039;&#039; &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Type (0x06)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; - the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Size&#039;&#039;&#039; - size is calculated from Codec ID field to the second command or response quantity field. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; - in Codec12 it is always &amp;lt;code&amp;gt;0x0C&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Quantity 1&#039;&#039;&#039; - it is ignored when parsing the message. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039; - it can be 0x05 to denote command or 0x06 to denote response. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Size&#039;&#039;&#039; – command or response length. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response&#039;&#039;&#039; – command or response in HEX. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Quantity 2&#039;&#039;&#039; - a byte which defines how many records (commands or responses) 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. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Command Quantity 2. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Note that difference between commands and responses is message type field: &amp;lt;code&amp;gt;0x05&amp;lt;/code&amp;gt; means command and &amp;lt;code&amp;gt;0x06&amp;lt;/code&amp;gt; means response. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Command coding table&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command has to be converted from ASCII characters (char) to hexadecimal (HEX): &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ASCII.png]] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Command parsing example&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of command and answer in this example is given in hexadecimal form. The different fields of the message are separated into different table columns for better readability and understanding. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;GPRS commands examples&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of GPRS command and answer in these examples are given in hexadecimal form. The different fields of messages are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1&#039;st example:&#039;&#039;&#039; Sending &#039;&#039;[[FMB getinfo|getinfo]]&#039;&#039; SMS command via GPRS Codec12 &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server request in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000000F0C010500000007676574696E666F0100004312&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Command&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; vertical-align: middle; text-align: center;&amp;quot; |Server Command Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 07&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |67 65 74 69 6E 66 6F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 43 12&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Server Command converted from HEX to ASCII means &#039;&#039;[[FMB getinfo|getinfo]]&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Device response in hexadecimal stream:  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000900C010600000088494E493A323031392F372F323220373A3232205254433A323031392F372F323220373A3533205253543A32204552523A&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;312053523A302042523A302043463A302046473A3020464C3A302054553A302F302055543A3020534D533A30204E4F4750533A303A3330204750533A312053&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;41543A302052533A332052463A36352053463A31204D443A30010000C78F&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device Answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device Answer Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 90&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 88&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |49 4E 49 3A 32 30 31 39 2F 37 2F 32 32 20 37 3A 32 32 20 52 54 43 3A 32 30 31 39 2F 37 2F 32 32 20 37 3A 35 33 20 52 53 54 3A 32 20 45 52 52 3A 31 20 53 52 3A 30 20 42 52 3A 30 20 43 46 3A 30 20 46 47 3A 30 20 46 4C 3A 30 20 54 55 3A 30 2F 30 20 55 54 3A 30 20 53 4D 53 3A 30 20 4E 4F 47 50 53 3A 30 3A 33 30 20 47 50 53 3A 31 20 53 41 54 3A 30 20 52 53 3A 33 20 52 46 3A 36 35 20 53 46 3A 31 20 4D 44 3A 30&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 C7 8F&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br&amp;gt;&lt;br /&gt;
Note that Device Response converted from HEX to ASCII means: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;INI:2019/7/22 7:22 RTC:2019/7/22 7:53 RST:2 ERR:1 SR:0 BR:0 CF:0 FG:0 FL:0 TU:0/0 UT:0 SMS:0 NOGPS:0:30 GPS:1 SAT:0 RS:3 RF:65 SF:1 MD:0&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;nd example:&#039;&#039;&#039; Sending &#039;&#039;[[FMB getio|getio]]&#039;&#039; SMS command via GPRS Codec12 &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Server request in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000000D0C010500000005676574696F01000000CB&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Command&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Server Command Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 0D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |67 65 74 69 6F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 CB&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Server Command converted from HEX to ASCII means &#039;&#039;[[FMB getio|getio]]&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Device response in hexadecimal stream:  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000370C01060000002F4449313A31204449323A30204449333A302041494E313A302041494E323A313639323420444F313A3020444F323A3101000066E3&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device Answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device Answer Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 37&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 2F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |44 49 31 3A 31 20 44 49 32 3A 30 20 44 49 33 3A 30 20 41 49 4E 31 3A 30 20 41 49 4E 32 3A 31 36 39 32 34 20 44 4F 31 3A 30 20 44 4F 32 3A 31&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 66 E3&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Device Response converted from HEX to ASCII means: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;DI1:1 DI2:0 DI3:0 AIN1:0 AIN2:16924 DO1:0 DO2:1&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Communication with server&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The GSM/GPRS commands can be sent from a terminal program. We recommend to use Hercules (in TCP server mode). Simply write command as explained below into Hercules Send field, check HEX box and click Send button. Note that the TCP server must be listening on specified port (see Port field and Listen button below). &lt;br /&gt;
&lt;br /&gt;
[[File:Hercules.jpeg]]&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;FMXX and Codec12 functionality&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Garmin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All information is provided in “FMXX and Garmin development.pdf” document. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;COM TCP Link Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All information is provided in “FMxx TCP Link mode test instructions.pdf” document.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 13&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;About Codec13&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec13 is original Teltonika protocol for device-server communication over GPRS messages. This protocol is necessary for using following FM features: COM TCP Link Mode (binary/ASCII/binary buffered/ASCII buffered) if message timestamp parameter is enabled in device configuration. Codec13 messages are one way only (Device → Server sending).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;General Codec13 message structure&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following diagram shows basic structure of Codec 13 messages: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Type&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with preamble field (four zero bytes). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Size&#039;&#039;&#039; – size is calculated from Codec ID field to the second Response Quantity field. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec13 it is always &amp;lt;code&amp;gt;0x0D&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response Quantity 1&#039;&#039;&#039; – &amp;lt;code&amp;gt;0x01&amp;lt;/code&amp;gt;, it is ignored when parsing the message. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response Type&#039;&#039;&#039; – it is always &amp;lt;code&amp;gt;0x06&amp;lt;/code&amp;gt; since the packet is direction is FM-&amp;gt;Server. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response Size&#039;&#039;&#039; – response size field includes size of timestamp too, so it is equal to size of payload + size of timestamp. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Timestamp&#039;&#039;&#039; – a difference, in seconds, between the current time and midnight, January, 1970 UTC (UNIX time). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response&#039;&#039;&#039; – actual received data. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response Quantity 2&#039;&#039;&#039; – a byte which defines how many records (responses) is in the packet. This byte will not be parsed but it’s recommended that it should contain same value as Response Quantity 1. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Codec13 packets are used only when “Message Timestamp” parameter in RS232 settings is enabled. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Command parsing example&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of GPRS command in this example is given in hexadecimal form. The different fields of message are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Receiving &amp;quot;hello lets test&amp;quot; SMS response via GPRS Codec13&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000001D0D01060000001564E8328168656C6C6F206C65747320746573740D0A0100003548&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device answer part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 1D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 15&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |64 E8 32 81&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |68 65 6C 6C 6F 20 6C 65 74 73 20 74 65 73 74 0D 0A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 35 48&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Server Response converted from HEX to ASCII means &amp;quot;hello lets test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 14&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;About Codec14&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec14 is original Teltonika protocol for device-server communication over GPRS messages and it is based on Codec12 protocol. &amp;lt;br&amp;gt;&lt;br /&gt;
Main difference of Codec14 is that, device will answer to GPRS command if device physical IMEI number matches specified IMEI number in GPRS command. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codec14 GPRS commands can be used for sending configuration, debug, digital outputs control commands or other (special purpose command on special firmware versions). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;FMB firmware requirements&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implemented in base firmware from FMB.Ver.03.25.04.Rev.00 and newer. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;General Codec14 message structure&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following diagram shows basic structure of Codec14 messages. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command message structure&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x0E (Codec ID)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command quantity&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x05&amp;lt;br&amp;gt;(Message type)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command size + IMEI size (8 bytes)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IMEI (HEX)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command quantity&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Response message structure&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x0E (Codec ID)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response quantity&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x06 / 0x11 (Message type)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response size + IMEI size (8 bytes)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IMEI (HEX)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response quantity&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Size&#039;&#039;&#039; – size is calculated from Codec ID field to the second command or response quantity field. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec14 it is always &amp;lt;code&amp;gt;0x0E&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Quantity 1&#039;&#039;&#039; – it is ignored when parsing the message. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039; – if it is request command from server it has to contain 0x05. The response type field will contain &amp;lt;code&amp;gt;0x06&amp;lt;/code&amp;gt; if it’s ACK or &amp;lt;code&amp;gt;0x11&amp;lt;/code&amp;gt; if it’s nACK. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Explanation:&#039;&#039; If command message IMEI is equal to actual device IMEI, received command will be executed and response will be sent with ACK (&amp;lt;code&amp;gt;0x06&amp;lt;/code&amp;gt;) message type field value. If command message IMEI doesn’t match actual device IMEI, received command won’t be executed and response to server will be sent with nACK (&amp;lt;code&amp;gt;0x11&amp;lt;/code&amp;gt;) message type field value. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Size&#039;&#039;&#039; – command or response length. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; make sure that size is IMEI size 8 + actual command size. Minimal value is 8 because Codec14 always contain IMEI and it’s 8 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IMEI (HEX)&#039;&#039;&#039; – it is send as HEX value. Example if device IMEI is 123456789123456 then IMEI data field will contain &amp;lt;code&amp;gt;0x0123456789123456&amp;lt;/code&amp;gt; value. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response&#039;&#039;&#039; – command or response in HEX. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Quantity 2&#039;&#039;&#039; - a byte which defines how many records (commands or responses) 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. &amp;lt;br&amp;gt;&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;GPRS in Codec14 examples&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of GPRS command and answer in this example are given in hexadecimal form. The different fields of message are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Sending &#039;&#039;[[FMB getver|getver]]&#039;&#039; SMS command via GPRS Codec14: &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server requests in Hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000160E01050000000E0352093081452251676574766572010000D2C1&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Command&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Server Command Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 0E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03 52 09 30 81 45 22 51&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |67 65 74 76 65 72&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 D2 C1&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Server Command converted from HEX to ASCII means &#039;&#039;[[FMB getver|getver]]&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Device ACK response in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000AB0E0106000000A303520930814522515665723A30332E31382E31345F3034204750533A41584E5F352E31305F333333332048773A464D42313230&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;204D6F643A313520494D45493A33353230393330383134353232353120496E69743A323031382D31312D323220373A313320557074696D653A3137323334204D4143&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;3A363042444430303136323631205350433A312830292041584C3A30204F42443A3020424C3A312E362042543A340100007AAE&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device Answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device Answer Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 37&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 A3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03 52 09 30 81 45 22 51&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |56 65 72 3A 30 33 2E 31 38 2E 31 34 5F 30 34 20 47 50 53 3A 41 58 4E 5F 35 2E 31 30 5F 33 33 33 33 20 48 77 3A 46 4D 42 31 32 30 20 4D 6F 64 3A 31 35 20 49 4D 45 49 3A 33 35 32 30 39 33 30 38 31 34 35 32 32 35 31 20 49 6E 69 74 3A 32 30 31 38 2D 31 31 2D 32 32 20 37 3A 31 33 20 55 70 74 69 6D 65 3A 31 37 32 33 34 20 4D 41 43 3A 36 30 42 44 44 30 30 31 36 32 36 31 20 53 50 43 3A 31 28 30 29 20 41 58 4C 3A 30 20 4F 42 44 3A 30 20 42 4C 3A 31 2E 36 20 42 54 3A 34&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 7A AE&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Device Response converted from HEX to ASCII means: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Ver:03.18.14_04 GPS:AXN_5.10_3333 Hw:FMB120 Mod:15 IMEI:352093081452251 Init:2018-11-22 7:13 Uptime:17234 MAC:60BDD0016261 SPC:1(0) AXL:0 OBD:0 BL:1.6 BT:4&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Device nACK response in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000100E011100000008035209308145246801000032AC&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device Answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device Answer Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 10&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |11&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03 52 09 30 81 45 24 68&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 32 AC&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Differences between Codec 12, Codec 13 and Codec 14&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
In the table below you will see differences between Codec12, Codec13 and Codec14. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec12&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec13&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec14&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Communication&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Server ⇄ Device Communication&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |One-way (Device → Server communication)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Server ⇄ Device Communication&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0C&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0E&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |command message type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x05&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x05&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Response Message Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 0x06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x06 (if it is ACK) or 0x11 (if it is nACK)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Command / Response size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command/Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Only Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command/Response + IMEI&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Is Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Is Using&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;24 Position SMS Data Protocol&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
&lt;br /&gt;
24-hour SMS is usually sent once every day and contains GPS data of last 24 hours. TP-DCS field of this SMS should indicate that message contains 8-bit data (i.e. TP-DCS can be &amp;lt;code&amp;gt;0x04&amp;lt;/code&amp;gt;). &amp;lt;br&amp;gt;&lt;br /&gt;
Note, that 24 position data protocol is used only with subscribed SMS. Event SMS use standard AVL data protocol. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Encoding&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To be able to compress 24 GPS data entries into one SMS (140 octets), the data is encoded extensively using bit fields. Data packet can be interpreted as a bit stream, where all bits are numbered as follows: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Byte 1&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Byte 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Byte 3&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Byte 4 ...&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Bits 0 - 7&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Bits 8 - 15&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Bits 16 - 24&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Bits 25 - ...&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bits in a byte are numbered starting from least significant bit. A field of 25 bits would consist of bits 0 to 24 where 0 is the least significant bit and bit 24 – most significant bit. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Structure&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Below in the tables you will see SMS Data Structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS Data Structure&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |8&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID = 4 (0x04)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |35&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Time corresponding to the first (oldest) GPS data element, represented in seconds elapsed from 2000.01.01 00:00 EET.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ElementCount&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of GPS data elements&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS Data Structure&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |ElementCount *&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |GPSDataElement&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |GPS data elements&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Byte - align padding&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Padding bits to align to 8 - bits boundary represented in seconds elapsed from 2000.01.01 00:00 EET.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |64&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI of sending device as 8 byte long integer&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The time of only the first GPS data element is specified in Timestamp field. Time corresponding to each further element can be computed as elementTime = Timestamp + (1 hour * elementNumber). &amp;lt;br&amp;gt; &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |GPS Data Element&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:12%; vertical-align: middle; text-align: center;&amp;quot; |Size (bits)&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Field&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:28%; vertical-align: middle; text-align: center;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ValidElement&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ValidElement = 1 – there is a valid Gps Data Element following, &lt;br /&gt;
ValidElement = 0 – no element at this position &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ValidElement == 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DifferentialCoords&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Format of following data&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DifferentialCoords == 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |14&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |LongitudeDiff&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Difference from previous element‘s longitude.&lt;br /&gt;
LongitudeDiff = prevLongitude – Longitude + 213 – 1 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |14&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |LatitudeDiff&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Difference from previous element‘s latitude&lt;br /&gt;
LatitudeDiff = prevLatitude – Latitude + 213 – 1&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DifferentialCoords == 0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |21&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude = {(LongDegMult + 18 * 108) * (221 – 1)} over {36*108}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude = (LatDegMult + 9*108) * (220 – 1) over {18*108}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed in km/h&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Longitude&#039;&#039;&#039; - longitude field value of GPSDataElement &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Latitude&#039;&#039;&#039; - latitude field value of GPSDataElement &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LongDegMult&#039;&#039;&#039; - longitude in degrees multiplied by 107 (integer part) &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LatDegMult&#039;&#039;&#039; - latitude in degrees multiplied by 107 (integer part) &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;prevLongitude&#039;&#039;&#039; - longitude field value of previous GPSDataElemen &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;prevLatitude&#039;&#039;&#039; - latitude field value of previous GPSDataElement &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Decoding GPS position&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When decoding GPS data with DifferentialCoords = 1, Latitude and Longitude values can be computed as follows: Longitude = prevLongitude – LongitudeDiff + 213 – 1, Latitude = prevLatitude – LatitudeDiff + 213 – 1. &amp;lt;br&amp;gt;&lt;br /&gt;
If there were no previous non-differential positions, differential coordinates should be computed assuming prevLongitude = prevLatitude = 0. &amp;lt;br&amp;gt;&lt;br /&gt;
When Longitude and Latitude values are known, longitude and latitude representation in degrees can be computed as follows: &lt;br /&gt;
&lt;br /&gt;
[[File:24SMS.png]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;SMS Events&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Configured to generate SMS event user will get this SMS upon event: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&amp;lt;Year/Month/Day&amp;gt; &amp;lt;Hour:Minute:Second&amp;gt; P:&amp;lt;profile_nr&amp;gt; &amp;lt;SMS Text&amp;gt; Val:&amp;lt;Event Value&amp;gt; Lon:&amp;lt;longitude&amp;gt; Lat:&amp;lt;latitude&amp;gt; Q:&amp;lt;HDOP&amp;gt;&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;2016./04/11 12:00:00 P:3 Digital Input 1 Val:1 Lon:51.12258 Lat: 25.7461 Q:0.6&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;Sending data using SMS&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
This type data sending is using for FMBXXX devices which can be configured in [[FMB120 SMS/Call settings#SMS Data Sending|SMS Data Sending settings]].&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Data sending via SMS&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AVL data or events can be sent encapsulated in binary SMS. TP-DCS field of these SMS should indicate that message contains 8-bit data (for example: TP-DCS can be &amp;lt;code&amp;gt;0x04&amp;lt;/code&amp;gt;). &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS data (TP-UD)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL data array&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVL data array&#039;&#039;&#039; – array of encoded AVL data. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IMEI&#039;&#039;&#039; – IMEI of sending module encoded as a big endian 8 byte long number.&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;CRC-16&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. The algorithm how to calculate CRC-16 (also known as CRC-16/IBM) you will find below. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:CRC16.png]]&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=Codec&amp;diff=98061</id>
		<title>Codec</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=Codec&amp;diff=98061"/>
		<updated>2024-05-07T14:30:36Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&#039;&#039;&#039;&amp;lt;big&amp;gt;Introduction&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
A codec is a device or computer program for encoding or decoding a digital data stream or signal. Codec is a portmanteau of coder – decoder. A codec encodes a data stream or a signal for transmission and storage, possibly in encrypted form, and the decoder function reverses the encoding for playback or editing. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Below you will see a table of all Codec types with ID’s: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 8&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 8 Extended&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 16&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 12&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 13&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec 14&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x8E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x10&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0C&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0E&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
Also, there are using two data transport protocols: TCP and UDP. But it is not important which one will be used in Codec. &lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec for device data sending&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
In this chapter you will find information about every Codec protocol which are using for device data sending and differences between them.  &lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 8&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Protocol Overview&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec8 – a main FM device protocol that is used for sending data to server. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 8 protocol sending over TCP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TCP is a connection-oriented protocol that is used for communication between devices. The workings of this type of protocol is described below in the &#039;&#039;&#039;communication with server&#039;&#039;&#039; section. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AVL Data Packet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL Data Packet structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Field Length&#039;&#039;&#039; – size is calculated starting from Codec ID to Number of Data 2. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec8 it is always &amp;lt;code&amp;gt;0x08&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 1&#039;&#039;&#039; – a number which defines how many records is in the packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;AVL Data&#039;&#039;&#039; – actual data in the packet (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 2&#039;&#039;&#039; – a number which defines how many records is in the packet. This number must be the same as “Number of Data 1”. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for [[FMB630]], [[FMB640]] and [[FM6300|FM63XY]], minimum AVL record size is 45 bytes (all IO elements disabled). Maximum AVL record size is 255 bytes. Maximum AVL packet size is 512 bytes. For other devices, minimum AVL record size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 1280 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*AVL Data&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL Data structure. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |GPS Element&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IO Element&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Timestamp&#039;&#039;&#039; – a difference, in milliseconds, between the current time and midnight, January, 1970 UTC (UNIX time). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Priority&#039;&#039;&#039; – field which define AVL data priority (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;GPS Element&#039;&#039;&#039; – location information of the AVL data (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IO Element&#039;&#039;&#039; – additional configurable information from device (more information below). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Priority&lt;br /&gt;
&lt;br /&gt;
Below table represents Priority values. Packet priority depends on device configuration and records sent. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:25%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Low&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |High&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Panic&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*GPS element&lt;br /&gt;
&lt;br /&gt;
Below table represents GPS Element structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Longitude&#039;&#039;&#039; – east – west position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Latitude&#039;&#039;&#039; – north – south position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Altitude&#039;&#039;&#039; – meters above sea level. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Angle&#039;&#039;&#039; – degrees from north pole. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Satellites&#039;&#039;&#039; – number of visible satellites. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Speed&#039;&#039;&#039; – speed calculated from satellites. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; 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. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:GPS.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Where: &amp;lt;br&amp;gt;&lt;br /&gt;
d – Degrees; m – Minutes; s – Seconds; ms – Milliseconds; p – Precision (10000000) &amp;lt;br&amp;gt;&lt;br /&gt;
If longitude is in west or latitude in south, multiply result by –1. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: &amp;lt;br&amp;gt;&lt;br /&gt;
To determine if the coordinate is negative, convert it to binary format and check the very first bit. If it is 0, coordinate is positive, if it is 1, coordinate is negative. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;br&amp;gt;&lt;br /&gt;
Received value: &amp;lt;code&amp;gt;20 9C CA 80&amp;lt;/code&amp;gt; converted to BIN: &amp;lt;code&amp;gt;00100000 10011100 11001010 10000000&amp;lt;/code&amp;gt; first bit is 0, which means coordinate is positive converted to DEC: &amp;lt;code&amp;gt;547146368&amp;lt;/code&amp;gt;. For more information see two‘s complement arithmetic. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*IO Element&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| rowspan=&amp;quot;26&amp;quot; style=&amp;quot; width:5%; vertical-align: middle; text-align: left;&amp;quot; |&lt;br /&gt;
| rowspan=&amp;quot;26&amp;quot; style=&amp;quot; width:65%; vertical-align: middle; text-align: left;&amp;quot; |&#039;&#039;&#039;Event IO ID&#039;&#039;&#039; – 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 &amp;lt;code&amp;gt;0xEF&amp;lt;/code&amp;gt; (AVL ID: 239). If it’s not eventual record – the value is 0. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; – a total number of properties coming with record (N = N1 + N2 + N4 + N8). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N1&#039;&#039;&#039; – number of properties, which length is 1 byte. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N2&#039;&#039;&#039; – number of properties, which length is 2 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N4&#039;&#039;&#039; – number of properties, which length is 4 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N8&#039;&#039;&#039; – number of properties, which length is 8 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO ID&#039;&#039;&#039; - AVL ID. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO Value&#039;&#039;&#039; - AVL ID value. &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N of Total IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First, when module connects to server, module sends its IMEI. First comes short identifying number of bytes written and then goes IMEI as text (bytes). &amp;lt;br&amp;gt;&lt;br /&gt;
For example, IMEI &amp;lt;code&amp;gt;356307042441013&amp;lt;/code&amp;gt; would be sent as &amp;lt;code&amp;gt;000F333536333037303432343431303133&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
First two bytes denote IMEI length. In this case &amp;lt;code&amp;gt;0x000F&amp;lt;/code&amp;gt; means, that IMEI is 15 bytes long. &amp;lt;br&amp;gt;&lt;br /&gt;
After receiving IMEI, server should determine if it would accept data from this module. If yes, server will reply to module &amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt;, if not - &amp;lt;code&amp;gt;00&amp;lt;/code&amp;gt;. Note that confirmation should be sent as binary packet. I.e. 1 byte &amp;lt;code&amp;gt;0x01&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;0x00&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
Then module starts to send first AVL data packet. After server receives packet and parses it, server must report to module number of data received as integer (four bytes). &amp;lt;br&amp;gt;&lt;br /&gt;
If sent data number and reported by server doesn’t match module resends sent data. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Example:  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Module connects to server and sends IMEI: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000F333536333037303432343431303133&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server accepts the module: &amp;lt;br&amp;gt;&lt;br /&gt;
01 &amp;lt;br&amp;gt;&lt;br /&gt;
Module sends data packet: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Four Zero Bytes – 0x00000000,&lt;br /&gt;
“AVL Data Array” length – 0x000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x08,&lt;br /&gt;
Number of Data – &#039;&#039;&#039;0x02&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC of “AVL Data Array”&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00000000000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&#039;&#039;&#039;02&#039;&#039;&#039;...(data elements)...&#039;&#039;&#039;02&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00008612&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server acknowledges data reception (2 data elements): &#039;&#039;&#039;&amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt;&#039;&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in these examples are given in hexadecimal form. The different fields of packets are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1&#039;st example&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Receiving one data record with each element property (1 byte, 2 bytes, 4 byte and 8 byte). &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000003608010000016B40D8EA30010000000000000000000000000000000105021503010101425E0F01F10000601A014E0000000000000000010000C7CF&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 36&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;24&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 40 D8 EA 30 (GMT: Monday, June 10, 2019 10:04:46 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 (AVL ID: 21, Name: GSM Signal)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5E 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |F1 (AVL ID: 241, Name: Active GSM Operator)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 60 1A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4E (AVL ID: 78, Name: iButton)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 C7 CF&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;nd example&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Receiving one data record with one or two different element properties (1 byte, 2 byte). &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000002808010000016B40D9AD80010000000000000000000000000000000103021503010101425E100000010000F22A&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 28&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;20&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 40 D9 AD 80 (GMT: Monday, June 10, 2019 10:05:36 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 (AVL ID: 21, Name: GSM Signal)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5E 10&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 F2 2A&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3&#039;rd example&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
Receiving two or more data records with one or more different element properties. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000004308020000016B40D57B480100000000000000000000000000000001010101000000000000016B40D5C198010000000000000000000000000000000&lt;br /&gt;
101010101000000020000252C&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 43&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
(1&#039;st record)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 40 D5 7B 48 (GMT: Monday, June 10, 2019 10:01:01 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;16&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
(2&#039;nd record)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 40 D5 C1 98 (GMT: Monday, June 10, 2019 10:01:19 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 25 2C&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec8 protocol sending over UDP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec8 protocol over UDP is a transport layer protocol above UDP/IP to add reliability to plain UDP/IP using acknowledgment packets. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AVL Data Packet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The packet structure is as follows: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Datagram&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Example&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Usable Byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet Payload&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Variable&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039; – packet length (excluding this field) in big ending byte order. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Packet ID&#039;&#039;&#039; – packet ID unique for this channel. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Not Usable Byte&#039;&#039;&#039; – not usable byte. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Packet payload&#039;&#039;&#039; – data payload. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Acknowledgment packet&lt;br /&gt;
&lt;br /&gt;
Acknowledgment packet should have the same Packet ID as acknowledged data packet and empty Data Payload. Acknowledgement should be sent in binary format. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Acknowledgment Packet&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Packet Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Not Usable Byte&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Packet Length&#039;&#039;&#039; – packet length by sending/response data. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Packet ID&#039;&#039;&#039; – same as in acknowledgment packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Not Usable Byte&#039;&#039;&#039; – always will be &amp;lt;code&amp;gt;0x01&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Sending AVL Packet Payload using UDP channel&lt;br /&gt;
&lt;br /&gt;
Below table represents Sending Packet Payload structure. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL data encapsulated in UDP channel packet&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |IMEI Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Module IMEI&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;AVL Packet ID&#039;&#039;&#039; – ID identifying this AVL packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IMEI Length&#039;&#039;&#039; – always will be &amp;lt;code&amp;gt;0x000F&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Module IMEI&#039;&#039;&#039; – IMEI of a sending module encoded the same as with TCP. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;AVL Data Array&#039;&#039;&#039; – array of encoded AVL data (same as TCP AVL Data Array). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Server response Packet Payload using UDP channel&lt;br /&gt;
&lt;br /&gt;
Below table represents Server Response Packet Payload structure. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Response to AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Number of Accepted AVL Elements&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module sends the data: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x00FE,&lt;br /&gt;
Packet ID – 0xCAFE &amp;lt;br&amp;gt;&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
IMEI Length – 0x000F &amp;lt;br&amp;gt;&lt;br /&gt;
IMEI – 0x313233343536373839303132333435&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x08,&lt;br /&gt;
Number of Data – 0x02 &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00FECAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD000F3133343536373839303132333435&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0802…(data elements)…02&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server must respond with acknowledgment: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x0005,&lt;br /&gt;
Packet ID – 0xCAFE,&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
Number of Accepted Data – 0x02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0005CAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD02&lt;br /&gt;
|-&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;003DCAFE0105000F33353230393330383634303336353508010000016B4F815B30010000000000000000000000000000000103021503010101425DBC000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 3D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |33 35 32 30 39 33 30 38 36 34 30 33 36 35 35&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;23&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 4F 81 5B 30 (GMT: Thursday, June 13, 2019 6:23:26 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 (AVL ID: 21, Name: GSM Signal)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5D BC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response in hexadecimal stream:&lt;br /&gt;
&amp;lt;code&amp;gt;0005CAFE010501&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Response to AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |Server Response Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Accepted Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 8 Extended&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Protocols overview&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec8 Extended is using for FMBXXX family devices. This protocol looks familiar like Codec8 but they have some differences. Main differences between are shown in below table: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8 Extended&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x8E&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element total IO count length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element IO count length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element AVL ID length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Variable size IO elements&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Does not include&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Includes variable size elements&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 8 Extended protocol sending over TCP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;AVL data packet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL data packet structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Field Length&#039;&#039;&#039; – size is calculated starting from Codec ID to Number of Data 2. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec8 Extended it is always &amp;lt;code&amp;gt;0x8E&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 1&#039;&#039;&#039; – a number which defines how many records is in the packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;AVL Data&#039;&#039;&#039; – actual data in the packet (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 2&#039;&#039;&#039; – a number which defines how many records is in the packet. This number must be the same as “Number of Data 1”. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for [[FMB630]], [[FMB640]] and [[FM6300|FM63XY]], minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 255 bytes. For other devices, minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 1280 bytes. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*AVL Data&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL Data structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |GPS Element&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IO Element&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Timestamp&#039;&#039;&#039; – a difference, in milliseconds, between the current time and midnight, January, 1970 UTC (UNIX time). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Priority&#039;&#039;&#039; – field which define AVL data priority (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;GPS Element&#039;&#039;&#039; – locational information of the AVL data (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IO Element&#039;&#039;&#039; – additional configurable information from device (more information below). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Priority&lt;br /&gt;
&lt;br /&gt;
Below table represents Priority values. Packet priority depends on device configuration and records sent. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:25%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Low&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |High&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Panic&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*GPS element&lt;br /&gt;
&lt;br /&gt;
Below table represents GPS Element structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Longitude&#039;&#039;&#039; – east – west position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Latitude&#039;&#039;&#039; – north – south position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Altitude&#039;&#039;&#039; – meters above sea level. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Angle&#039;&#039;&#039; – degrees from north pole. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Satellites&#039;&#039;&#039; – number of visible satellites. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Speed&#039;&#039;&#039; – speed calculated from satellites. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; 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. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:GPS.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Where: &amp;lt;br&amp;gt;&lt;br /&gt;
d – Degrees; m – Minutes; s – Seconds; ms – Milliseconds; p – Precision (10000000) &amp;lt;br&amp;gt;&lt;br /&gt;
If longitude is in west or latitude in south, multiply result by –1. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: &amp;lt;br&amp;gt;&lt;br /&gt;
To determine if the coordinate is negative, convert it to binary format and check the very first bit. If it is &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, coordinate is positive, if it is &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, coordinate is negative. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;br&amp;gt;&lt;br /&gt;
Received value: &amp;lt;code&amp;gt;20 9C CA 80&amp;lt;/code&amp;gt; converted to BIN: &amp;lt;code&amp;gt;00100000 10011100 11001010 10000000&amp;lt;/code&amp;gt; first bit is 0, which means coordinate is positive converted to DEC: &amp;lt;code&amp;gt;547146368&amp;lt;/code&amp;gt;. For more information see two‘s complement arithmetic. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*IO Element&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| rowspan=&amp;quot;33&amp;quot; style=&amp;quot; width:5%; vertical-align: middle; text-align: left;&amp;quot; |&lt;br /&gt;
| rowspan=&amp;quot;33&amp;quot; style=&amp;quot; width:65%; vertical-align: middle; text-align: left;&amp;quot; |&#039;&#039;&#039;Event IO ID&#039;&#039;&#039; – 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. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; – a total number of properties coming with record (N = N1 + N2 + N4 + N8). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N1&#039;&#039;&#039; – number of properties, which length is 1 byte. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N2&#039;&#039;&#039; – number of properties, which length is 2 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N4&#039;&#039;&#039; – number of properties, which length is 4 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N8&#039;&#039;&#039; – number of properties, which length is 8 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;NX&#039;&#039;&#039; – a number of properties, which length is defined by length element.&lt;br /&gt;
&#039;&#039;&#039;N’th IO ID&#039;&#039;&#039; - AVL ID. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N&#039;th Lenght&#039;&#039;&#039; - AVL ID value lenght. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO Value&#039;&#039;&#039; - AVL ID value. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N of Total IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |NX of X Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Defined by lenght&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |NX’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |NX’th Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |NX’th Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Defined by lenght&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Communication with server is the same as with Codec8 protocol, except in Codec8 Extended protocol Codec ID is 0x8E. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module connects to server and sends IMEI: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000F333536333037303432343431303133&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server accepts the module: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Module sends data packet: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Four Zero Bytes – 0x00000000,&lt;br /&gt;
“AVL Data Array” length – 0x000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x8E,&lt;br /&gt;
Number of Data – &#039;&#039;&#039;0x02&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC of “AVL Data Array”&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00000000000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&#039;&#039;&#039;02&#039;&#039;&#039;...(data elements)...&#039;&#039;&#039;02&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00008612&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server acknowledges data reception (2 data elements): &#039;&#039;&#039;&amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt;&#039;&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000004A8E010000016B412CEE000100000000000000000000000000000000010005000100010100010011001D00010010015E2C880002000B000000003544C87&lt;br /&gt;
A000E000000001DD7E06A00000100002994&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed data:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 4A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;25&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 41 2C EE 00 (GMT: Monday, June 10, 2019 11:36:32 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 11 (AVL ID: 17, Name: Axis X)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 1D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 10 (AVL ID: 16, Name: Total Odometer)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 5E 2C 88&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B (AVL ID: 11, Name: ICCID1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 35 44 C8 7A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0E (AVL ID: 14, Name: ICCID2)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 1D D7 E0 6A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 29 94&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec8 Extended protocol sending over UDP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;UDP channel protocol&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AVL data packet is the same as with Codec8, except Codec ID is changed to &amp;lt;code&amp;gt;0x8E&amp;lt;/code&amp;gt;. AVL Data encoding performed according to Codec8 Extended protocol. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module sends the data: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x00FE,&lt;br /&gt;
Packet ID – 0xCAFE &amp;lt;br&amp;gt;&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
IMEI Length – 0x000F &amp;lt;br&amp;gt;&lt;br /&gt;
IMEI – 0x313233343536373839303132333435&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x8E,&lt;br /&gt;
Number of Data – 0x02 &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00FECAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD000F3133343536373839303132333435&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E02…(data elements)…02&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server must respond with acknowledgment: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x0005,&lt;br /&gt;
Packet ID – 0xCAFE,&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
Number of Accepted Data – 0x02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0005CAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD02&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;005FCAFE0107000F3335323039333038363430333635358E010000016B4F831C680100000000000000000000000000000000010005000100010100010011009D000100&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;10015E2C880002000B000000003544C87A000E000000001DD7E06A000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 5F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |33 35 32 30 39 33 30 38 36 34 30 33 36 35 35&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;27&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B 4F 83 1C 68 (GMT: Thursday, June 13, 2019 6:25:21 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 11 (AVL ID: 17, Name: Axis X)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 1D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 10 (AVL ID: 16, Name: Total Odometer)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 5E 2C 88&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B (AVL ID: 11, Name: ICCID1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 35 44 C8 7A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0E (AVL ID: 14, Name: ICCID2)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00 1D D7 E0 6A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response in hexadecimal stream:&lt;br /&gt;
&amp;lt;code&amp;gt;0005CAFE010701&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Response to AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |Server Response Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |07&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Accepted Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 16&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Protocol overview&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec16 is using for FMB630/FM63XY devices. This protocol looks familiar like Codec8 but they have some differences. Main differences between are shown in table below: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec16&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x10&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element ID event length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element AVL ID length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Is Using&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Codec16 is supported from firmware – 00.03.xx and newer. ([[FMB630]]/FM63XY) || AVL ID‘s which are higher than 255 will can be used only in Codec16 protocol. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 16 protocol sending over TCP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;AVL data packet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL data packet structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Field Length&#039;&#039;&#039; – size is calculated starting from Codec ID to Number of Data 2. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec16 it is always 0x10. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 1&#039;&#039;&#039; – a number which defines how many records is in the packet. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;AVL Data&#039;&#039;&#039; – actual data in the packet (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number of Data 2&#039;&#039;&#039; – a number which defines how many records is in the packet. This number must be the same as “Number of Data 1”. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for [[FMB630]] and FM63XY, minimum AVL packet size is 45 bytes (all IO elements disabled). Maximum AVL packet size is 255 bytes. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*AVL Data&lt;br /&gt;
&lt;br /&gt;
Below table represents AVL Data structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |GPS Element&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IO Element&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |15 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Timestamp&#039;&#039;&#039; – a difference, in milliseconds, between the current time and midnight, January, 1970 UTC (UNIX time). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Priority&#039;&#039;&#039; – field which define AVL data priority (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;GPS Element&#039;&#039;&#039; – location information of the AVL data (more information below). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IO Element&#039;&#039;&#039; – additional configurable information from device (more information below). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Priority&lt;br /&gt;
&lt;br /&gt;
Below table represents Priority values. Packet priority depends on device configuration and records sent. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:25%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Low&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |High&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Panic&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*GPS element&lt;br /&gt;
&lt;br /&gt;
Below table represents GPS Element structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Longitude&#039;&#039;&#039; – east – west position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Latitude&#039;&#039;&#039; – north – south position. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Altitude&#039;&#039;&#039; – meters above sea level. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Angle&#039;&#039;&#039; – degrees from north pole. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Satellites&#039;&#039;&#039; – number of visible satellites. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Speed&#039;&#039;&#039; – speed calculated from satellites. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; 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. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Longitude and latitude are integer values built from degrees, minutes, seconds and milliseconds by formula: &amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:GPS.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Where: &amp;lt;br&amp;gt;&lt;br /&gt;
d – Degrees; m – Minutes; s – Seconds; ms – Milliseconds; p – Precision (10000000) &amp;lt;br&amp;gt;&lt;br /&gt;
If longitude is in west or latitude in south, multiply result by –1. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Note: &amp;lt;br&amp;gt;&lt;br /&gt;
To determine if the coordinate is negative, convert it to binary format and check the very first bit. If it is &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, coordinate is positive, if it is &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, coordinate is negative. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;br&amp;gt;&lt;br /&gt;
Received value: &amp;lt;code&amp;gt;20 9C CA 80&amp;lt;/code&amp;gt; converted to BIN: &amp;lt;code&amp;gt;00100000 10011100 11001010 10000000&amp;lt;/code&amp;gt; first bit is 0, which means coordinate is positive converted to DEC: &amp;lt;code&amp;gt;547146368&amp;lt;/code&amp;gt;. For more information see two‘s complement arithmetic. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*IO Element&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| rowspan=&amp;quot;27&amp;quot; style=&amp;quot; width:5%; vertical-align: middle; text-align: left;&amp;quot; |&lt;br /&gt;
| rowspan=&amp;quot;27&amp;quot; style=&amp;quot; width:65%; vertical-align: middle; text-align: left;&amp;quot; |&#039;&#039;&#039;Event IO ID&#039;&#039;&#039; – 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. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Generation type&#039;&#039;&#039; - data event generation type. More information about it you can find here. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N&#039;&#039;&#039; – a total number of properties coming with record (N = N1 + N2 + N4 + N8). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N1&#039;&#039;&#039; – number of properties, which length is 1 byte. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N2&#039;&#039;&#039; – number of properties, which length is 2 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N4&#039;&#039;&#039; – number of properties, which length is 4 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N8&#039;&#039;&#039; – number of properties, which length is 8 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO ID&#039;&#039;&#039; - AVL ID. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;N’th IO Value&#039;&#039;&#039; - AVL ID value. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N of Total IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N1’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N2’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N4’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 byte&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |...&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:15%; vertical-align: middle; text-align: center;&amp;quot; |N8’IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Generation type&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:30%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Value&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Record Created&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |On Exit&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |On Entrance&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |On Both&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Reserved&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Hysteresis&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |On Change&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Eventual&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Periodical&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Communication with server is the same as with Codec8 protocol, except in Codec16 protocol Codec ID is &amp;lt;code&amp;gt;0x10&amp;lt;/code&amp;gt; and has generation type. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module connects to server and sends IMEI: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000F333536333037303432343431303133&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server accepts the module: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;01&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Module sends data packet: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Four Zero Bytes – 0x00000000,&lt;br /&gt;
“AVL Data Array” length – 0x000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x10,&lt;br /&gt;
Number of Data – &#039;&#039;&#039;0x02&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC of “AVL Data Array”&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00000000000000FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10&#039;&#039;&#039;02&#039;&#039;&#039;...(data elements)...&#039;&#039;&#039;02&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00008612&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server acknowledges data reception (2 data elements): &#039;&#039;&#039;&amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt;&#039;&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000005F10020000016BDBC7833000000000000000000000000000000000000B05040200010000030002000B00270042563A00000000016BDBC78718&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000000000000000000000000B05040200010000030002000B00260042563A00000200005FB3&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed data: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 5F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;23&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
(1&#039;st record)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B DB C7 83 30 (GMT: Wednesday, July 10, 2019 12:06:54 PM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 03 (AVL ID: 3, Name: DIN3)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B (AVL ID: 11, Name: ICCID1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 27&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |56 3A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;23&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data&lt;br /&gt;
(2&#039;nd record)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 6B DB C7 87 18 (GMT: Wednesday, July 10, 2019 12:06:55 PM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 03 (AVL ID: 3, Name: DIN3)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0B (AVL ID: 11, Name: ICCID1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 26&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |56 3A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 5F B3&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response: &amp;lt;code&amp;gt;00000002&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec16 protocol sending over UDP&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;UDP channel protocol&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AVL data packet is the same as with Codec8, except Codec ID is changed to &amp;lt;code&amp;gt;0x10&amp;lt;/code&amp;gt;. AVL Data encoding performed according to Codec16 protocol. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Communication with server&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Module sends UDP channel packet with encapsulated AVL data packet. Server sends UDP channel packet with encapsulated response module validates AVL Packet ID and Number of accepted AVL elements. If server response with valid AVL Packet ID is not received within configured timeout, module can retry sending. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
Module sends the data: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x00FE,&lt;br /&gt;
Packet ID – 0xCAFE &amp;lt;br&amp;gt;&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
IMEI Length – 0x000F &amp;lt;br&amp;gt;&lt;br /&gt;
IMEI – 0x313233343536373839303132333435&lt;br /&gt;
(Encoded using continuous bit stream. Last byte padded to align to byte boundary)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID – 0x10,&lt;br /&gt;
Number of Data – 0x02 &amp;lt;br&amp;gt;&lt;br /&gt;
(Encoded using continuous bit stream)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00FECAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD000F3133343536373839303132333435&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1002…(data elements)…02&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server must respond with acknowledgment:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length – 0x0005,&lt;br /&gt;
Packet ID – 0xCAFE,&lt;br /&gt;
Not Usable Byte – 0x01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet ID – 0xDD,&lt;br /&gt;
Number of Accepted Data – 0x02&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0005CAFE01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DD02&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of AVL Data Packet receiving and response in this example are given in hexadecimal form. The different fields of packet are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Received data in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;015BCAFE0101000F33353230393430383532333135393210070000015117E40FE80000000000000000000000000000000000EF05050400010000030000B4000&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;0EF01010042111A000001&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 5B&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |07&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |33 35 32 30 39 34 30 38 35 32 33 31 35 39 32&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;28&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Data Array&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 51 17 E4 0F E8 (GMT: Wednesday, November 18, 2015 12:00:01 AM)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 EF&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Generation type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |04&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01 (AVL ID: 1, Name: DIN1)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 03 (AVL ID: 3, Name: DIN3)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2’nd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3’rd IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 B4 (AVL ID: 180, Name: DOUT2)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3’rd IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4’th IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 EF (AVL ID: 239, Name: Ignition)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4’th IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |42 (AVL ID: 66, Name: External Voltage)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1’st IO Value&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |11 1A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server response in hexadecimal stream:&lt;br /&gt;
&amp;lt;code&amp;gt;0005CAFE010701&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed:&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Response to AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:60%; vertical-align: middle; text-align: center;&amp;quot; |Server Response Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:40%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |UDP Channel Header&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CA FE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not usable byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL Packet Acknowledgment&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL packet ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |07&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Accepted Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Differences between Codec 8, Codec 8 Extended and Codec 16&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
In the table below you will see differences between Codec8, Codec8 Extended and Codec16. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec8 Extended&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec16&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x8E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x10&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element total IO count length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Generation Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Is Using&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element IO count length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data IO element AVL ID length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2 bytes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Variable size IO elements&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Does not include&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Includes variable size elements&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Does not include&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec for communication over GPRS messages&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
In this chapter you will find information about every Codec protocol which are using for communication over GPRS messages and differences between them. &lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 12&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;About Codec12&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec12 is the original and main Teltonika protocol for device-server communication over GPRS messages. Codec12 GPRS commands can be used for sending configuration, debug, digital outputs control commands or other (special purpose command on special firmware versions). This protocol is also necessary for using [[FMB630]]/[[FM6300]]/FM5300/FM5500/FM4200 features like: Garmin, LCD communication, COM TCP Link Mode. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;FM firmware requirements&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Supported GPRS commands on each device depending on the firmware version. For available GPRS commands on each device, please refer to the table below. &lt;br /&gt;
{| class=&amp;quot;nd-othertables&amp;quot; style=&amp;quot;width:75%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:25%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:25%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS over GPRS via TCP&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:25%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS over GPRS via UDP&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |FM36YX&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Since base firmware 01.06.01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |FM63YX&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Since base firmware 00.02.19&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |FMB, FMC, FMM, FMU family devices (exclude FMB6YX, [[FMC640]], [[FMM640]])&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |FMB6YX&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Since base firmware 00.02.19&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: left;&amp;quot; |[[FMC640]], [[FMM640]]&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Available in base firmware&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; “SMS over GPRS” means that all standard SMS commands text can be sent to the device via GPRS in Codec12 format.  &lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; UDP commands are sent the same exact way as TCP commands.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;GPRS command session&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following figure shows how the GRPS command session is started over TCP. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Codec12.png|1150px]]&lt;br /&gt;
First, the Teltonika device opens the GPRS session and sends AVL data to the server (refer device protocols). Once all records are sent and correct sent data array acknowledgment is received by device then GPRS commands in Hex can be sent to the device. &amp;lt;br&amp;gt;&lt;br /&gt;
The ACK (acknowledge of IMEI from server) is a one-byte constant 0x01. The acknowledgment of each data array send from the device is four bytes integer – the number of records received. &amp;lt;br&amp;gt;&lt;br /&gt;
Note, that the GPRS session should remain active between device and server, while GPRS commands are sent. For this reason, active datalink timeout (global parameters in device configuration) is recommended to be set to 259200 (maximum value). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;General Codec12 message structure&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following diagram shows basic structure of Codec12 messages. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command message structure:&#039;&#039;&#039; &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Type (0x05)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Response message structure:&#039;&#039;&#039; &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Type (0x06)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; - the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Size&#039;&#039;&#039; - size is calculated from Codec ID field to the second command or response quantity field. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; - in Codec12 it is always &amp;lt;code&amp;gt;0x0C&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Quantity 1&#039;&#039;&#039; - it is ignored when parsing the message. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039; - it can be 0x05 to denote command or 0x06 to denote response. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Size&#039;&#039;&#039; – command or response length. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response&#039;&#039;&#039; – command or response in HEX. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Quantity 2&#039;&#039;&#039; - a byte which defines how many records (commands or responses) 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. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Command Quantity 2. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Note that difference between commands and responses is message type field: &amp;lt;code&amp;gt;0x05&amp;lt;/code&amp;gt; means command and &amp;lt;code&amp;gt;0x06&amp;lt;/code&amp;gt; means response. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Command coding table&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Command has to be converted from ASCII characters (char) to hexadecimal (HEX): &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ASCII.png]] &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Command parsing example&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of command and answer in this example is given in hexadecimal form. The different fields of the message are separated into different table columns for better readability and understanding. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;GPRS commands examples&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of GPRS command and answer in these examples are given in hexadecimal form. The different fields of messages are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;1&#039;st example:&#039;&#039;&#039; Sending &#039;&#039;[[FMB getinfo|getinfo]]&#039;&#039; SMS command via GPRS Codec12 &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server request in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000000F0C010500000007676574696E666F0100004312&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Command&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; vertical-align: middle; text-align: center;&amp;quot; |Server Command Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:14%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 0F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 07&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |67 65 74 69 6E 66 6F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 43 12&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Server Command converted from HEX to ASCII means &#039;&#039;[[FMB getinfo|getinfo]]&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Device response in hexadecimal stream:  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000900C010600000088494E493A323031392F372F323220373A3232205254433A323031392F372F323220373A3533205253543A32204552523A&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;312053523A302042523A302043463A302046473A3020464C3A302054553A302F302055543A3020534D533A30204E4F4750533A303A3330204750533A312053&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;41543A302052533A332052463A36352053463A31204D443A30010000C78F&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device Answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device Answer Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 90&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 88&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |49 4E 49 3A 32 30 31 39 2F 37 2F 32 32 20 37 3A 32 32 20 52 54 43 3A 32 30 31 39 2F 37 2F 32 32 20 37 3A 35 33 20 52 53 54 3A 32 20 45 52 52 3A 31 20 53 52 3A 30 20 42 52 3A 30 20 43 46 3A 30 20 46 47 3A 30 20 46 4C 3A 30 20 54 55 3A 30 2F 30 20 55 54 3A 30 20 53 4D 53 3A 30 20 4E 4F 47 50 53 3A 30 3A 33 30 20 47 50 53 3A 31 20 53 41 54 3A 30 20 52 53 3A 33 20 52 46 3A 36 35 20 53 46 3A 31 20 4D 44 3A 30&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 C7 8F&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br&amp;gt;&lt;br /&gt;
Note that Device Response converted from HEX to ASCII means: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;INI:2019/7/22 7:22 RTC:2019/7/22 7:53 RST:2 ERR:1 SR:0 BR:0 CF:0 FG:0 FL:0 TU:0/0 UT:0 SMS:0 NOGPS:0:30 GPS:1 SAT:0 RS:3 RF:65 SF:1 MD:0&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2&#039;nd example:&#039;&#039;&#039; Sending &#039;&#039;[[FMB getio|getio]]&#039;&#039; SMS command via GPRS Codec12 &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Server request in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000000D0C010500000005676574696F01000000CB&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Command&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Server Command Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 0D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |67 65 74 69 6F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 CB&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Server Command converted from HEX to ASCII means &#039;&#039;[[FMB getio|getio]]&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Device response in hexadecimal stream:  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000370C01060000002F4449313A31204449323A30204449333A302041494E313A302041494E323A313639323420444F313A3020444F323A3101000066E3&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device Answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device Answer Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 37&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0C&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 2F&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |44 49 31 3A 31 20 44 49 32 3A 30 20 44 49 33 3A 30 20 41 49 4E 31 3A 30 20 41 49 4E 32 3A 31 36 39 32 34 20 44 4F 31 3A 30 20 44 4F 32 3A 31&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 66 E3&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Device Response converted from HEX to ASCII means: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;DI1:1 DI2:0 DI3:0 AIN1:0 AIN2:16924 DO1:0 DO2:1&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Communication with server&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The GSM/GPRS commands can be sent from a terminal program. We recommend to use Hercules (in TCP server mode). Simply write command as explained below into Hercules Send field, check HEX box and click Send button. Note that the TCP server must be listening on specified port (see Port field and Listen button below). &lt;br /&gt;
&lt;br /&gt;
[[File:Hercules.jpeg]]&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;FMXX and Codec12 functionality&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Garmin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All information is provided in “FMXX and Garmin development.pdf” document. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;COM TCP Link Mode&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All information is provided in “FMxx TCP Link mode test instructions.pdf” document.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 13&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;About Codec13&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec13 is original Teltonika protocol for device-server communication over GPRS messages. This protocol is necessary for using following FM features: COM TCP Link Mode (binary/ASCII/binary buffered/ASCII buffered) if message timestamp parameter is enabled in device configuration. Codec13 messages are one way only (Device → Server sending).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;General Codec13 message structure&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following diagram shows basic structure of Codec 13 messages: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (Preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Type&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 byte&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with preamble field (four zero bytes). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Size&#039;&#039;&#039; – size is calculated from Codec ID field to the second Response Quantity field. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec13 it is always &amp;lt;code&amp;gt;0x0D&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response Quantity 1&#039;&#039;&#039; – &amp;lt;code&amp;gt;0x01&amp;lt;/code&amp;gt;, it is ignored when parsing the message. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response Type&#039;&#039;&#039; – it is always &amp;lt;code&amp;gt;0x06&amp;lt;/code&amp;gt; since the packet is direction is FM-&amp;gt;Server. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response Size&#039;&#039;&#039; – response size field includes size of timestamp too, so it is equal to size of payload + size of timestamp. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Timestamp&#039;&#039;&#039; – a difference, in seconds, between the current time and midnight, January, 1970 UTC (UNIX time). &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response&#039;&#039;&#039; – actual received data. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Response Quantity 2&#039;&#039;&#039; – a byte which defines how many records (responses) is in the packet. This byte will not be parsed but it’s recommended that it should contain same value as Response Quantity 1. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Codec13 packets are used only when “Message Timestamp” parameter in RS232 settings is enabled. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Command parsing example&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of GPRS command in this example is given in hexadecimal form. The different fields of message are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Receiving &amp;quot;hello lets test&amp;quot; SMS response via GPRS Codec13&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;000000000000001D0D01060000001564E8328168656C6C6F206C65747320746573740D0A0100003548&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device answer part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 1D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 15&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |64 E8 32 81&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |68 65 6C 6C 6F 20 6C 65 74 73 20 74 65 73 74 0D 0A&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 35 48&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Server Response converted from HEX to ASCII means &amp;quot;hello lets test&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Codec 14&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;About Codec14&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Codec14 is original Teltonika protocol for device-server communication over GPRS messages and it is based on Codec12 protocol. &amp;lt;br&amp;gt;&lt;br /&gt;
Main difference of Codec14 is that, device will answer to GPRS command if device physical IMEI number matches specified IMEI number in GPRS command. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Codec14 GPRS commands can be used for sending configuration, debug, digital outputs control commands or other (special purpose command on special firmware versions). &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;FMB firmware requirements&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Implemented in base firmware from FMB.Ver.03.25.04.Rev.00 and newer. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;General Codec14 message structure&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following diagram shows basic structure of Codec14 messages. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Command message structure&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x0E (Codec ID)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command quantity&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x05&amp;lt;br&amp;gt;(Message type)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command size + IMEI size (8 bytes)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IMEI (HEX)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Command quantity&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Response message structure&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x00000000 (preamble)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Data size&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x0E (Codec ID)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response quantity&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |0x06 / 0x11 (Message type)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response size + IMEI size (8 bytes)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |IMEI (HEX)&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Response quantity&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1 bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preamble&#039;&#039;&#039; – the packet starts with four zero bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Data Size&#039;&#039;&#039; – size is calculated from Codec ID field to the second command or response quantity field. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Codec ID&#039;&#039;&#039; – in Codec14 it is always &amp;lt;code&amp;gt;0x0E&amp;lt;/code&amp;gt;. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Quantity 1&#039;&#039;&#039; – it is ignored when parsing the message. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Type&#039;&#039;&#039; – if it is request command from server it has to contain 0x05. The response type field will contain &amp;lt;code&amp;gt;0x06&amp;lt;/code&amp;gt; if it’s ACK or &amp;lt;code&amp;gt;0x11&amp;lt;/code&amp;gt; if it’s nACK. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Explanation:&#039;&#039; If command message IMEI is equal to actual device IMEI, received command will be executed and response will be sent with ACK (&amp;lt;code&amp;gt;0x06&amp;lt;/code&amp;gt;) message type field value. If command message IMEI doesn’t match actual device IMEI, received command won’t be executed and response to server will be sent with nACK (&amp;lt;code&amp;gt;0x11&amp;lt;/code&amp;gt;) message type field value. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Size&#039;&#039;&#039; – command or response length. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; make sure that size is IMEI size 8 + actual command size. Minimal value is 8 because Codec14 always contain IMEI and it’s 8 bytes. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IMEI (HEX)&#039;&#039;&#039; – it is send as HEX value. Example if device IMEI is 123456789123456 then IMEI data field will contain &amp;lt;code&amp;gt;0x0123456789123456&amp;lt;/code&amp;gt; value. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response&#039;&#039;&#039; – command or response in HEX. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Command/Response Quantity 2&#039;&#039;&#039; - a byte which defines how many records (commands or responses) 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. &amp;lt;br&amp;gt;&#039;&#039;&#039;CRC-16&#039;&#039;&#039; – calculated from Codec ID to the Second Number of Data. CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. For calculation we are using [[Codec#CRC-16|CRC-16/IBM]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;GPRS in Codec14 examples&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Hexadecimal stream of GPRS command and answer in this example are given in hexadecimal form. The different fields of message are separate into different table columns for better readability and some of them are converted to ASCII values for better understanding. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Sending &#039;&#039;[[FMB getver|getver]]&#039;&#039; SMS command via GPRS Codec14: &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Server requests in Hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000160E01050000000E0352093081452251676574766572010000D2C1&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Server Command&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Server Command Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 16&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 0E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03 52 09 30 81 45 22 51&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |67 65 74 76 65 72&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 D2 C1&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Server Command converted from HEX to ASCII means &#039;&#039;[[FMB getver|getver]]&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Device ACK response in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000AB0E0106000000A303520930814522515665723A30332E31382E31345F3034204750533A41584E5F352E31305F333333332048773A464D42313230&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;204D6F643A313520494D45493A33353230393330383134353232353120496E69743A323031382D31312D323220373A313320557074696D653A3137323334204D4143&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;3A363042444430303136323631205350433A312830292041584C3A30204F42443A3020424C3A312E362042543A340100007AAE&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device Answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device Answer Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 37&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 A3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03 52 09 30 81 45 22 51&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |56 65 72 3A 30 33 2E 31 38 2E 31 34 5F 30 34 20 47 50 53 3A 41 58 4E 5F 35 2E 31 30 5F 33 33 33 33 20 48 77 3A 46 4D 42 31 32 30 20 4D 6F 64 3A 31 35 20 49 4D 45 49 3A 33 35 32 30 39 33 30 38 31 34 35 32 32 35 31 20 49 6E 69 74 3A 32 30 31 38 2D 31 31 2D 32 32 20 37 3A 31 33 20 55 70 74 69 6D 65 3A 31 37 32 33 34 20 4D 41 43 3A 36 30 42 44 44 30 30 31 36 32 36 31 20 53 50 43 3A 31 28 30 29 20 41 58 4C 3A 30 20 4F 42 44 3A 30 20 42 4C 3A 31 2E 36 20 42 54 3A 34&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 7A AE&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Device Response converted from HEX to ASCII means: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Ver:03.18.14_04 GPS:AXN_5.10_3333 Hw:FMB120 Mod:15 IMEI:352093081452251 Init:2018-11-22 7:13 Uptime:17234 MAC:60BDD0016261 SPC:1(0) AXL:0 OBD:0 BL:1.6 BT:4&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Device nACK response in hexadecimal stream: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;00000000000000100E011100000008035209308145246801000032AC&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Parsed: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Device Answer&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |Device Answer Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 10&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |11&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 08&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03 52 09 30 81 45 24 68&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Response Quantity 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 32 AC&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;&amp;lt;big&amp;gt;Differences between Codec 12, Codec 13 and Codec 14&amp;lt;/big&amp;gt;&#039;&#039;&#039;==&lt;br /&gt;
In the table below you will see differences between Codec12, Codec13 and Codec14. &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec12&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec13&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Codec14&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Communication&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Server ⇄ Device Communication&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |One-way (Device → Server communication)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Server ⇄ Device Communication&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0C&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x0E&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |command message type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x05&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x05&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Response Message Type&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 0x06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0x06 (if it is ACK) or 0x11 (if it is nACK)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Command / Response size&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command/Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Only Response&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Command/Response + IMEI&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Is Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Not Using&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Is Using&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;24 Position SMS Data Protocol&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
&lt;br /&gt;
24-hour SMS is usually sent once every day and contains GPS data of last 24 hours. TP-DCS field of this SMS should indicate that message contains 8-bit data (i.e. TP-DCS can be &amp;lt;code&amp;gt;0x04&amp;lt;/code&amp;gt;). &amp;lt;br&amp;gt;&lt;br /&gt;
Note, that 24 position data protocol is used only with subscribed SMS. Event SMS use standard AVL data protocol. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Encoding&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To be able to compress 24 GPS data entries into one SMS (140 octets), the data is encoded extensively using bit fields. Data packet can be interpreted as a bit stream, where all bits are numbered as follows: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Byte 1&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Byte 2&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Byte 3&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |Byte 4 ...&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Bits 0 - 7&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Bits 8 - 15&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Bits 16 - 24&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Bits 25 - ...&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bits in a byte are numbered starting from least significant bit. A field of 25 bits would consist of bits 0 to 24 where 0 is the least significant bit and bit 24 – most significant bit. &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Structure&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Below in the tables you will see SMS Data Structure: &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS Data Structure&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |8&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |Codec ID = 4 (0x04)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |35&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Time corresponding to the first (oldest) GPS data element, represented in seconds elapsed from 2000.01.01 00:00 EET.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ElementCount&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of GPS data elements&lt;br /&gt;
|-&lt;br /&gt;
|} &amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS Data Structure&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |ElementCount *&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |GPSDataElement&lt;br /&gt;
| style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |GPS data elements&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Byte - align padding&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Padding bits to align to 8 - bits boundary represented in seconds elapsed from 2000.01.01 00:00 EET.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |64&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |IMEI of sending device as 8 byte long integer&lt;br /&gt;
|-&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The time of only the first GPS data element is specified in Timestamp field. Time corresponding to each further element can be computed as elementTime = Timestamp + (1 hour * elementNumber). &amp;lt;br&amp;gt; &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |GPS Data Element&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:12%; vertical-align: middle; text-align: center;&amp;quot; |Size (bits)&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Field&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:28%; vertical-align: middle; text-align: center;&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ValidElement&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ValidElement = 1 – there is a valid Gps Data Element following, &lt;br /&gt;
ValidElement = 0 – no element at this position &lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |ValidElement == 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DifferentialCoords&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Format of following data&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DifferentialCoords == 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |14&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |LongitudeDiff&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Difference from previous element‘s longitude.&lt;br /&gt;
LongitudeDiff = prevLongitude – Longitude + 213 – 1 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |14&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |LatitudeDiff&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Difference from previous element‘s latitude&lt;br /&gt;
LatitudeDiff = prevLatitude – Latitude + 213 – 1&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |DifferentialCoords == 0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |21&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude = {(LongDegMult + 18 * 108) * (221 – 1)} over {36*108}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude = (LatDegMult + 9*108) * (220 – 1) over {18*108}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed in km/h&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Longitude&#039;&#039;&#039; - longitude field value of GPSDataElement &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Latitude&#039;&#039;&#039; - latitude field value of GPSDataElement &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LongDegMult&#039;&#039;&#039; - longitude in degrees multiplied by 107 (integer part) &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;LatDegMult&#039;&#039;&#039; - latitude in degrees multiplied by 107 (integer part) &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;prevLongitude&#039;&#039;&#039; - longitude field value of previous GPSDataElemen &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;prevLatitude&#039;&#039;&#039; - latitude field value of previous GPSDataElement &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Decoding GPS position&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When decoding GPS data with DifferentialCoords = 1, Latitude and Longitude values can be computed as follows: Longitude = prevLongitude – LongitudeDiff + 213 – 1, Latitude = prevLatitude – LatitudeDiff + 213 – 1. &amp;lt;br&amp;gt;&lt;br /&gt;
If there were no previous non-differential positions, differential coordinates should be computed assuming prevLongitude = prevLatitude = 0. &amp;lt;br&amp;gt;&lt;br /&gt;
When Longitude and Latitude values are known, longitude and latitude representation in degrees can be computed as follows: &lt;br /&gt;
&lt;br /&gt;
[[File:24SMS.png]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;SMS Events&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Configured to generate SMS event user will get this SMS upon event: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&amp;lt;Year/Month/Day&amp;gt; &amp;lt;Hour:Minute:Second&amp;gt; P:&amp;lt;profile_nr&amp;gt; &amp;lt;SMS Text&amp;gt; Val:&amp;lt;Event Value&amp;gt; Lon:&amp;lt;longitude&amp;gt; Lat:&amp;lt;latitude&amp;gt; Q:&amp;lt;HDOP&amp;gt;&#039;&#039; &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;2016./04/11 12:00:00 P:3 Digital Input 1 Val:1 Lon:51.12258 Lat: 25.7461 Q:0.6&#039;&#039; &amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;Sending data using SMS&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
This type data sending is using for FMBXXX devices which can be configured in [[FMB120 SMS/Call settings#SMS Data Sending|SMS Data Sending settings]].&amp;lt;br&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&amp;lt;big&amp;gt;Data sending via SMS&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
AVL data or events can be sent encapsulated in binary SMS. TP-DCS field of these SMS should indicate that message contains 8-bit data (for example: TP-DCS can be &amp;lt;code&amp;gt;0x04&amp;lt;/code&amp;gt;). &lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |SMS data (TP-UD)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |AVL data array&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:10%; vertical-align: middle; text-align: center;&amp;quot; |IMEI&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |X bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AVL data array&#039;&#039;&#039; – array of encoded AVL data. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IMEI&#039;&#039;&#039; – IMEI of sending module encoded as a big endian 8 byte long number.&lt;br /&gt;
&lt;br /&gt;
=&#039;&#039;&#039;&amp;lt;big&amp;gt;CRC-16&amp;lt;/big&amp;gt;&#039;&#039;&#039;=&lt;br /&gt;
CRC (Cyclic Redundancy Check) is an error-detecting code using for detect accidental changes to RAW data. The algorithm how to calculate CRC-16 (also known as CRC-16/IBM) you will find below. &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:CRC16.png]]&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=Wialon_and_EYE_proximity&amp;diff=96976</id>
		<title>Wialon and EYE proximity</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=Wialon_and_EYE_proximity&amp;diff=96976"/>
		<updated>2024-03-25T07:24:46Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: /* New Features in Wialon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Teltonika Eye Beacons have two new scenarios related to RSSI value. RSSI means “Received Signal Strength Indicator” and this value can be use as distance indicator, or to know if the Beacon is detected by the FM tracker.&lt;br /&gt;
&lt;br /&gt;
Following sections describe &#039;&#039;&#039;Proximity&#039;&#039;&#039; and &#039;&#039;&#039;Lost &amp;amp; Found&#039;&#039;&#039; Scenarios.&lt;br /&gt;
&lt;br /&gt;
== Eye Beacon Configuration ==&lt;br /&gt;
Devices work constantly and are ready to perform out of the box. Default basic Sensor settings are set to:&lt;br /&gt;
&lt;br /&gt;
* Transmitting at 2 dBm power.&lt;br /&gt;
* Data advertising at 3 second intervals.&lt;br /&gt;
* Eddystone protocol&lt;br /&gt;
&lt;br /&gt;
However, these parameters can be changed. Transmitting power can be set from -14dBm to 8dBm – higher transmitting power equates to a larger beacon range. Data advertising interval can be selected from the range 20ms to 10s, shorter data advertising intervals ensure a more stable signal. However, increasing power or reducing the advertising interval affects the battery life of the Eye Beacon.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|&#039;&#039;&#039;EYE Beacon / BTSID1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;EYE Sensor / BTSMP1&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|2+ years&lt;br /&gt;
(Tx=2 dBm; interval: 1 s)&lt;br /&gt;
|1+ year&lt;br /&gt;
(Tx=2 dBm; interval: 1 s)&lt;br /&gt;
|-&lt;br /&gt;
|5+ years&lt;br /&gt;
(Tx=2 dBm; interval: 3 s)&lt;br /&gt;
|2.5+ years&lt;br /&gt;
(Tx=2 dBm; interval: 3 s)&lt;br /&gt;
|-&lt;br /&gt;
|8+ years&lt;br /&gt;
(Tx=2 dBm; interval: 5 s)&lt;br /&gt;
|4+ years&lt;br /&gt;
(Tx=2 dBm; interval: 5 s)&lt;br /&gt;
|-&lt;br /&gt;
|10+ years&lt;br /&gt;
(Tx=2 dBm; interval: 10s)&lt;br /&gt;
|5+ years&lt;br /&gt;
(Tx=2 dBm; interval: 10s)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
More information can be found [[EYE FAQ#Questions%20about%20FMBxxx%20compatibility%20with%20EYE%20Accessories.|here]] All configuration of the Eye Beacon will be done via [[EYE BEACON / BTSID1#EYE%20App%20Configuration|EYEapp.]] On the app, wanted protocol can be selected, transmitting power, advertising interval and Beacon ID can be easily configured. Below is an example configuration.&lt;br /&gt;
[[File:Eye Beacon configuration.gif|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
== Teltonika Configurator ==&lt;br /&gt;
&lt;br /&gt;
=== Common Settings ===&lt;br /&gt;
We need to set up proper Protocol and Bluetooth settings in order to have beacons information&lt;br /&gt;
&lt;br /&gt;
# In System Settings Enable [[Codec#Codec%208%20Extended|Codec8 Extended]].&lt;br /&gt;
# In [[FMB120 Bluetooth® settings|Bluetooth®]] settings Enable Bluetooth®, set this setting as either &amp;quot;Enable (hidden)&amp;quot; or &amp;quot;Enable (visible)&amp;quot;, otherwise Bluetooth® will be disabled.&lt;br /&gt;
&lt;br /&gt;
=== Proximity Scenario ===&lt;br /&gt;
[[File:Eye_Beacon_Proximity_Events.png|alt=|right|frameless]]&lt;br /&gt;
EYE beacon Proximity events is a functionality which creates three different types of records, depending on the captured Beacons RSSI level. This functionality is only supported with Teltonika EYE beacons.&lt;br /&gt;
Proximity events consist of near, away and lost events:&lt;br /&gt;
&lt;br /&gt;
* When EYE beacon RSSI level is below the first configured threshold, the beacon will be added to Near Beacon Record &#039;&#039;&#039;(AVL ID: 10828)&#039;&#039;&#039;&lt;br /&gt;
* When EYE BEACON RSSI level is between the second and first configured threshold, beacon is added to Away Beacon record &#039;&#039;&#039;(AVL ID: 10829)&#039;&#039;&#039;&lt;br /&gt;
* When EYE Beacon RSSI level is lower than the second configured threshold, beacon is added to Lost Beacon record &#039;&#039;&#039;(AVL ID: 10831)&#039;&#039;&#039;. In the case of EYE Beacon disappearing from the environment and not being detected by the FM tracker anymore, the beacon will be added to Lost Beacon record and will be removed from Beacon list.&lt;br /&gt;
&#039;&#039;&#039;Event modes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Disabled – Record generating is disabled for the selected range&lt;br /&gt;
* Periodic – Records will be periodically generated for the selected range, according to the configured record period on move or on stop value.&lt;br /&gt;
* On Change – Records will be generated as soon as the Eye Beacon number changes for the selected range.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Averaging Timeout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This parameter specifies how long it will take current RSSI value to reach new RSSI value. For example, current EYE Beacon RSSI value is -40 dBm. FMB captures same EYE Beacon with RSSI value of -60 dBm. If averaging timeout is configured to be 10 seconds, it will take 10 seconds for RSSI value to reach -60 dBm from -40 dBm. Keep in mind that this is assuming perfect conditions and subsequent EYE Beacon RSSI.&lt;br /&gt;
&lt;br /&gt;
=== Lost &amp;amp; Found Scenario ===&lt;br /&gt;
[[File:Lost &amp;amp; found.png|right|frameless]]&lt;br /&gt;
Purpose of this functionality is to &#039;&#039;&#039;periodically&#039;&#039;&#039; generate records with all EYE Beacon list (AVL ID: 10828) and create eventual &#039;&#039;&#039;On Change&#039;&#039;&#039; records only when EYE Beacon is lost (AVL ID: 10831) or found (AVL ID: 10829).&lt;br /&gt;
&lt;br /&gt;
Lost and Found Beacon records only include EYE Beacon which was lost or found, not the full Beacon list.&lt;br /&gt;
&lt;br /&gt;
* If multiple EYE Beacons were found or lost at the same time, multiple will be included into the record.&lt;br /&gt;
* If Visible Beacon List is enabled, Beacon records containing the list of visible beacons will be generated according to the configured period parameters &#039;&#039;Record Period on Move&#039;&#039; and &#039;&#039;Record Period on Stop&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Advanced Beacon protocol is being used to send Lost &amp;amp; Found records.&lt;br /&gt;
&lt;br /&gt;
Note:Same AVL ID’s as for Proximity events are being used, since two features cannot work at the same time.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AVL ID: 10828&#039;&#039;&#039; Visible Beacon List (periodic)&lt;br /&gt;
* &#039;&#039;&#039;AVL ID: 10829&#039;&#039;&#039; Found Beacon List (On Change)&lt;br /&gt;
* &#039;&#039;&#039;AVL ID: 10831&#039;&#039;&#039; Lost Eye Beacon List (On Change)&lt;br /&gt;
&lt;br /&gt;
== Parsing Data ==&lt;br /&gt;
&lt;br /&gt;
=== Proximity Parsing ===&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |PROXIMITY FEATURE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Received data in hexadecimal stream: &lt;br /&gt;
00000000000000BD8E03&lt;br /&gt;
&amp;lt;br&amp;gt;0000018D1468C11B00E42CC908F1F475CC000000000300002A4C0001000000000000000000012A4C001401120001E50F067CD9F401EF770D01000E020BFE&lt;br /&gt;
&amp;lt;br&amp;gt;0000018D1468C12500E42CC908F1F475CC000000000300002A4D0001000000000000000000012A4D001401120001C80F067CD9F40255BE0D01000E020BF4&lt;br /&gt;
&amp;lt;br&amp;gt;0000018D1468C12F00E42CC908F1F475CC000000000300002A4F0001000000000000000000012A4F001401120001B90F067CD9F4004B490D01000E020BFE&lt;br /&gt;
&amp;lt;br&amp;gt;03000086BA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Decoded&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 BD&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |189 bytes&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec8 Extended&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;18&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL DATA&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 8D 14 68 C1 1B&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2024/01/16 - 22:33:46.001&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |HIGH&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |E4 2C C9 08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -466827000&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |F1 F4 75 CC&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -235637300&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4C&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10828 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N’th IO ID - AVL ID.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4C&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10828 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 14&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 12 00 01 E5 0F 06 7C D9 F4 01 EF 77 0D 01 00 0E 02 0B FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;18&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL DATA&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 8D 14 68 C1 25&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2024/01/16 - 22:33:46.001&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |E4 2C C9 08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -466827000&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |F1 F4 75 CC&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -235637300&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10829&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N’th IO ID - AVL ID.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10829&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 14&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 12 00 01 C8 0F 06 7C D9 F4 02 55 BE 0D 01 00 0E 02 0B F4&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;18&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL DATA&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 8D 14 68 C1 2F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2024/01/16 - 22:33:46.001&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |E4 2C C9 08&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -466827000&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |F1 F4 75 CC&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -235637300&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10831&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N’th IO ID - AVL ID.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10831&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 14&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01 12 00 01 B9 0F 06 7C D9 F4 00 4B 49 0D 01 00 0E 02 0B FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |03&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 86 BA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Near example (AVL ID - 10828) ====&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |nEAR BEACONS (AVL ID - 10828)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01120001E50F067CD9F401EF770D01000E020BFE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Decoded&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Protocol  ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |12&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |18&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Beacon RSSI Level&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |E5&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -27&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor MAC address&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7C D9 F4 01 EF 77&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F401EF77&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Low Battery&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Battery Voltage&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0B FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3070&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Away example (AVL ID - 10829) ====&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AWAY BEACONS (AVL ID - 10829)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01120001C80F067CD9F40255BE0D01000E020BF4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Decoded&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Protocol  ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |12&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |18&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Beacon RSSI Level&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |C8&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |  -56&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor MAC address&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7C D9 F4 02 55 BE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F40255BE&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Low Battery&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Battery Voltage&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0BF4&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3060&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Lost example (AVL ID - 10831) ====&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |LOST BEACONS (AVL ID - 10831)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01120001E50F067CD9F401EF770D01000E020BFE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Decoded&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Protocol  ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |12&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |18&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Beacon RSSI Level&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |B9&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |  -71&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor MAC address&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7C D9 F4 00 4B 49&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F4004B49&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Low Battery&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Battery Voltage&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot;|Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0BFE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3070&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Lost &amp;amp; Found Parsing ===&lt;br /&gt;
&lt;br /&gt;
==== Visible Beacons (AVL ID - 10828) ====&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |LOST &amp;amp; FOUND FEATURE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Received data in hexadecimal stream: &lt;br /&gt;
00000000000000678E010000018D1459964B00E42CA472F1F5B94D00000000000000&lt;br /&gt;
&lt;br /&gt;
2A4C0001000000000000000000012A4C003A01120001D60F067CD9F40255BE0D01000E020BF4120001E00F067CD9F4004B490D01000E020BFE120001AC0F067CD9F401EF770D01000E020BFE&lt;br /&gt;
&lt;br /&gt;
0100001ACD&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Decoded&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 67&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |103&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |142&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;18&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL DATA&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 8D 14 59 96 4B&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2024/01/16 - 22:17:12.001&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |E4 2C A4 72&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -466827000&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |F1 F5 B9 4D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -235637300&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4C&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10828 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N’th IO ID - AVL ID.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4C&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10828 &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 3A&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |58&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01120001D60F067CD9F40255BE0D01000E020BF4&lt;br /&gt;
120001E00F067CD9F4004B490D01000E020BFE&lt;br /&gt;
&lt;br /&gt;
120001AC0F067CD9F401EF770D01000E020BFE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 1A CD&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |vISIBLE BEACONS (AVL ID - 10828)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01120001D60F067CD9F40255BE0D01000E020BF4&lt;br /&gt;
120001E00F067CD9F4004B490D01000E020BFE&lt;br /&gt;
&lt;br /&gt;
120001AC0F067CD9F401EF770D01000E020BFE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Decoded&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Protocol  ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;13&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE BEACON 1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |12&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |18&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Beacon RSSI Level&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |D6&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |  -42&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor MAC address&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F40255BE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F40255BE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Low Battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Battery Voltage&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0B F4&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3060&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;13&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE BEACON 2&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |12&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |18&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Beacon RSSI Level&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |E0&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |  -32&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor MAC address&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F4004B49&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F4004B49&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Low Battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Battery Voltage&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0B FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3070&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;13&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE BEACON 3&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |12&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |18&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Beacon RSSI Level&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AC&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |  -32&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor MAC address&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F401EF77&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F401EF77&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Low Battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Battery Voltage&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0B FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3070&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Lost Beacons (AVL ID 10831) ====&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |LOST &amp;amp; FOUND FEATURE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Received data in hexadecimal stream: &lt;br /&gt;
00000000000000418E010000018D145CF59300E42CA472F1F5B94D00000000000000&lt;br /&gt;
&lt;br /&gt;
2A4F0001000000000000000000012A4F001401120001AB0F067CD9F401EF770D01000E020BFE010000CBD8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Decoded&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 41&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |65&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |142&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;18&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL DATA&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 8D 14 5C F5 93&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2024/01/16 - 22:20:53.001&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |E4 2C A4 72&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -466827000&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |F1 F5 B9 4D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -235637300&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10831&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N’th IO ID - AVL ID.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10831&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 14&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01120001AB0F067CD9F401EF770D01000E020BFE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 CB D8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |lOST BEACONS (AVL ID - 10831)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01120001AB0F067CD9F401EF770D01000E020BFE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Protocol  ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |12&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |18&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Beacon RSSI Level&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AB&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |  -85&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor MAC address&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F401EF77&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F401EF77&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Low Battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Battery Voltage&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0B FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3070&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Found Beacons (AVL ID - 10829) ====&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |LOST &amp;amp; FOUND FEATURE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Received data in hexadecimal stream: &lt;br /&gt;
00000000000000418E010000018D1464ECA300E42CD682F1F4768402B1005A050003&lt;br /&gt;
&lt;br /&gt;
2A4D0001000000000000000000012A4D001401120001D60F067CD9F401EF770D01000E020BFE010000E720&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:20%; vertical-align: middle; text-align: center;&amp;quot; |Decoded&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Zero Bytes&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 00&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data Field Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 00 41&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |65&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Codec ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |8E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |142&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 1 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;18&amp;quot; style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |AVL DATA&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Timestamp&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 01 8D 14 64 EC A3&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2024/01/16 - 22:29:35.001&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Priority&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Longitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |E4 2C D6 82&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -466827000&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Latitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |F1 F4 76 84&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | -235637300&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Altitude&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02 B1&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |689&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Angle&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 5A&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |90&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Satellites&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |05&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |5&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Speed&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 03&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Event IO ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10829&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | N of Total ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N1 of One Byte IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N2 of Two Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N4 of Four Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N8 of Eight Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |NX of X Bytes IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |N’th IO ID - AVL ID.&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2A 4D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |10829&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Length of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 14&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |20&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Value of Variable Length IO&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01120001D60F067CD9F401EF770D01000E020BFE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Number of Data 2 (Number of Total Records)&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |CRC-16&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00 00 E7 20&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |FOUND BEACONS (AVL ID - 10829)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01120001D60F067CD9F401EF770D01000E020BFE&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nd-othertables_2&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; style=&amp;quot;border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:50%; vertical-align: middle; text-align: center;&amp;quot; |AVL Data Packet Part&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; style=&amp;quot;width:30%; vertical-align: middle; text-align: center;&amp;quot; |HEX Code Part&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Protocol  ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Data  Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |12&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |18&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Beacon RSSI Level&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |D6&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |  -42&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0F&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor MAC address&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |06&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F401EF77&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |7CD9F401EF77&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0D&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Low Battery&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |01&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; | Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |00&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter ID&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0E&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |EYE Sensor Battery Voltage&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data Length&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |02&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |Parameter Data&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |0B FE&lt;br /&gt;
| style=&amp;quot;vertical-align: middle; text-align: center;&amp;quot; |3070&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== New Features in Wialon ==&lt;br /&gt;
[[File:Wialon Beacon 1.png|frame]]&lt;br /&gt;
Wialon is identifying AVL ID&#039;s - 10828, 10829 and 10831. When registering parameters in messages - the following parameters will be created: &amp;quot;event_io_id=10828; event_io_id=10829; event_io_id=10831&amp;quot;. All BLE will be registered as parameters as well.&lt;br /&gt;
&lt;br /&gt;
When IO 10828 and 10829 will arrive - they are registered as &#039;&#039;&#039;beacon_&amp;lt;ID&amp;gt;&#039;&#039;id=ID;&#039;&#039;&#039;&#039;&#039; &#039;&#039;(&#039;&#039;as stated already){_}&lt;br /&gt;
When IO 10831 arrives - it will be registered as &#039;&#039;&#039;beacon_&amp;lt;ID&amp;gt;_id=0;&#039;&#039;&#039;&lt;br /&gt;
Although its possible to use Proximity feature, more or less, by manually creating sensors using the &#039;&#039;&#039;beacon_&amp;lt;MAC or ID&amp;gt;_rssi&#039;&#039;&#039; parameter, and manually inputting ranges, see below.&lt;br /&gt;
[[File:Wialon Sensors New EYE Parameters.png|left|frameless|586x586px]]&lt;br /&gt;
[[File:Creating new sensors Wialon for New EYE Parameters - 1.png|left|frameless|585x585px]]&lt;br /&gt;
[[File:Creating_new_sensors_Wialon_for_New_EYE_Parameters_-_2.png|alt=|left|frameless|587x587px]]&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=File:Wialon_Beacon_1.png&amp;diff=96975</id>
		<title>File:Wialon Beacon 1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=File:Wialon_Beacon_1.png&amp;diff=96975"/>
		<updated>2024-03-25T07:19:54Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wialon Beacon 1&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=How_to_debug_FMB_device_over_Android_smartphone%3F&amp;diff=95978</id>
		<title>How to debug FMB device over Android smartphone?</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=How_to_debug_FMB_device_over_Android_smartphone%3F&amp;diff=95978"/>
		<updated>2024-02-20T07:23:02Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: FMx640 devices can not pair with Bluetooth, hence they cannot be debugged this way.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Solution applies for these FM devices===&lt;br /&gt;
[[FMB001]] [[FMM001]] [[FMC001]] [[FMB002]] [[FMB010]] [[FMB020]] [[FM3001]] [[FMB110]] [[FMB120]] [[FMB122]] [[FMB125]] [[FMU125]] [[FMC125]] [[FMM125]] [[FMU126]] [[FMB130]] [[FMU130]] [[FMC130]] [[FMM130]] [[FMB140]] [[FMB202|FMB202]] [[FMB204|FMB204]] [[FMB209]] [[FMB900]] [[FMB910]]&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt; [[FMB920]] [[FMB962|FMB962]] [[FMB964|FMB964]] [[FMT100]] [[MTB100]] [[MSP500]]&lt;br /&gt;
&lt;br /&gt;
1) Does not apply to basic version&lt;br /&gt;
==Disclaimer==&lt;br /&gt;
&lt;br /&gt;
[[File:Alert.png|left|link=]] &amp;lt;br&amp;gt; If you are not using Bluetooth®, &#039;&#039;&#039;please consider turning it off&#039;&#039;&#039; or &#039;&#039;&#039;change Bluetooth® PIN&#039;&#039;&#039; to remove potential risks.&lt;br /&gt;
&lt;br /&gt;
If you are using Bluetooth® we strongly recommend &#039;&#039;&#039;using AES encryption&#039;&#039;&#039; for enhanced security.&lt;br /&gt;
&lt;br /&gt;
===Pair and connect  device===&lt;br /&gt;
Bluetooth® starts automatically when {{{model_2|FMB}}} device is on. Take your mobile phone, go to Settings-&amp;gt;Bluetooth® and turn it on. Scan for nearby devices, find the device in the list, distinguish the device by last IMEI digits on device module. Press pair, wait until the device asks to enter pairing password, type: &#039;&#039;&amp;quot;5555&amp;quot;&#039;&#039; (as in the example on the figure). A paired device will show up in the paired device list. Download a terminal for Bluetooth® e.g. BlueTerm from Play Store/App Store. Run the app, click Find-&amp;gt;Connect to your paired device. Now we need to send a command to {{{model|FMB}}} from Bluetooth® terminal, type: &#039;&#039;&amp;quot;.log:1&amp;quot;&#039;&#039;&amp;lt;br /&amp;gt;Device will respond with &#039;&#039;&amp;quot;Debug enabled&amp;quot;&#039;&#039; and {{{model|FMB1YX}}} log will show up. Do not forget to save the log file to the mobile phone.&lt;br /&gt;
&lt;br /&gt;
===Device debug over Android smartphone===&lt;br /&gt;
In order to pair {{{model_2|FMB}}} device with Android smartphone, make sure that BT radio is enabled (visible) in device configuration. It can be checked via SMS command too:&amp;lt;br /&amp;gt;&#039;&#039;&amp;quot;getparam 800&amp;quot;&#039;&#039;&amp;lt;br /&amp;gt;The answer has to be &#039;&#039;&amp;quot;2&amp;quot;&#039;&#039;, which means &amp;quot;Enabled and visible&amp;quot;.&lt;br /&gt;
[[File:Capture.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Scan for visible BT devices using your Android smartphone and connect to your {{{model_2|FMB}}} device. Default {{{model_2|FMB}}} BT name is: &#039;&#039;&amp;quot;{{{model|FMB1YX}}}_last_7_imei_digits&amp;quot;&#039;&#039;. Default PIN code is: &#039;&#039;&amp;quot;5555&amp;quot;&#039;&#039;. In example it will be FMB130_3832065.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot 20201215-101316 Settings.jpg|thumb|alt=|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Download &amp;quot;Bluetooth® Terminal&amp;quot; application. The following link can be used: https://play.google.com/store/apps/details?id=com.hatflabs.btt&lt;br /&gt;
*Step 1. Run &amp;quot;Bluetooth® Terminal&amp;quot; app click 3 line drop down menu -&amp;gt;settings -&amp;gt; Terminal  -&amp;gt; Buffer size : set to &amp;quot;Unlimited&amp;quot; &lt;br /&gt;
[[File:20201217 151355.gif|none|thumb]]&lt;br /&gt;
*Step 2. Go back to main screen, click 3 dots -&amp;gt; Data  : Mark log.&lt;br /&gt;
[[File:20201217 150717.gif|none|thumb]]&lt;br /&gt;
*Step 3. Go back to same menu, click 3 dots -&amp;gt; Data  -&amp;gt; Info -&amp;gt; Edit folder -&amp;gt; Edit custom: set to downloads or other convenient folder where you could find the log easily.&lt;br /&gt;
[[File:20201217 150356.gif|none|thumb]]&lt;br /&gt;
*Step 4. Go back to main screen Access the app click 3 line drop down menu -&amp;gt; Devices: select the device you want to connect to. In our case it&#039;s FMB130.&lt;br /&gt;
[[File:20201217 150016.gif|none|thumb]]&lt;br /&gt;
*Step 5. Type &#039;&#039;.log:1&#039;&#039; in the command line and send it, you should be seeing log from the device.&lt;br /&gt;
[[File:20201217 145540.gif|none|thumb]]&lt;br /&gt;
*Do a test drive with log running.&lt;br /&gt;
*Type .log:0 to stop log running.&lt;br /&gt;
*At the end click 3 dots (on right) -&amp;gt; Data : Unmark log. The same procedure like before in Step 2, only difference is that you need Unmark log.&lt;br /&gt;
*Find the file and send it to your PC, then attach it in the query.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border-style: solid; border-width: 0px&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: left; background: #F6F6FB;&amp;quot; |[[Image:Bw_nb.png|50px]]&lt;br /&gt;
| style=&amp;quot;text-align: left; background: #F6F6FB;&amp;quot; |Unfortunately it is not possible to perform debug the same way on iPhone, because there is no native SPP Bluetooth® profile support on iPhone.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: Frequently Asked Questions - FAQ]]&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=Help_with_Server_FAQ&amp;diff=95911</id>
		<title>Help with Server FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=Help_with_Server_FAQ&amp;diff=95911"/>
		<updated>2024-02-13T08:50:21Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Server Related Questions and Tips.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Pre-Requisites for server implementation&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;What are the pre-requisites for deploying devices on my server?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|To develop the platform, below are the requirements:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Requirement&lt;br /&gt;
!Comment&lt;br /&gt;
|-&lt;br /&gt;
|Hardware &lt;br /&gt;
|A high CPU count promotes better cloud tiering throughout because although object storage can be slow in I/O operations per thread, object storage can support many threads. Any standard x86 64-bit servers can be ideally used.&lt;br /&gt;
|-&lt;br /&gt;
|Memory/RAM Requirements&lt;br /&gt;
|Cloud services demand a large amount of memory, which is why the minimum recommended memory size is 8GB.&lt;br /&gt;
|-&lt;br /&gt;
|Harddisk&lt;br /&gt;
|For a medium-sized server, 300GB RAID1 disks can be recommended.&lt;br /&gt;
|-&lt;br /&gt;
|Database&lt;br /&gt;
|A database is required to store the records/messages incoming from multiple devices. Further, this data must be assigned to its appropriate device ( recognized by IMEI ). MySQL can be used for the database.&lt;br /&gt;
|-&lt;br /&gt;
|Security&lt;br /&gt;
|Teltonika devices support TLS Encryption which can be implemented on the server side.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to open ports in my computer for virtual testing?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
The step by step instructions to open a TCP/UDP port can be found here: https://wiki.teltonika-gps.com/view/Opening_TCP/UDP_port&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;What ports should i use to keep connection with the server?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Any Non-reserved ports on the server side, which are not being blocked and used by server&#039;s firewall and services respectively.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Documentation&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;Does Teltonika offer any homologation or server implementation documents which we can use to see how the data is sent, received, and parsed?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Regarding the documents/sources, here&#039;s what we offer:&lt;br /&gt;
# The wiki link on data sending protocols: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols&lt;br /&gt;
# The parsing toolkit containing the TCP/UDP Listener, source code and other related documents. It can be downloaded from here: https://wiki.teltonika-gps.com/view/Universal_Device_Test_Guide#Protocols_implementation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;What are the supported Network Protocols for Teltonika devices which I need to implement on my server&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Currently, the Teltonika devices works with 03 different protocols for Data Sending; TCP, UDP, and MQTT. Please keep a note that MQTT is supported only via AWS server or a custom server which should be implemented based on the AWS protocols. More information on MQTT ( based on AWS ) can be found here: https://wiki.teltonika-gps.com/view/Getting_Started_with_AWS_IoT_Core.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;Is there any ID/Value available corresponding to the paramters that Teltonika devices offer? &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Yes, there are several parameters that you can get from our devices and the AVL IDs corresponding to each one of them can be found here: https://wiki.teltonika-gps.com/view/FMM130_Teltonika_Data_Sending_Parameters_ID.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Communication with server&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How does device communicate with the server?&lt;br /&gt;
&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|First, when module connects to server, module sends its IMEI. First comes short identifying number of bytes written and then goes IMEI as text (bytes).&lt;br /&gt;
For example, IMEI 356307042441013 would be sent as 000F333536333037303432343431303133. First two bytes denote IMEI length. In this case 0x000F means, that IMEI is 15 bytes long.&lt;br /&gt;
&lt;br /&gt;
After receiving IMEI, server should determine if it would accept data from this module. If yes, server will reply to module 01, if not - 00. Note that confirmation should be sent as binary packet. I.e. 1 byte 0x01 or 0x00. Then module starts to send first AVL data packet. After server receives packet and parses it, server must report to module number of data received as integer (four bytes). If sent data number and reported by server doesn&#039;t match module resends sent data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to setup records sorting from protocols Codec? &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Records can be sorted by using timestamp as a record sorting method, as it allows us to know what record was received early.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to setup the answer to the Codec protocols in C#, Java, C++ from the server side, while counting records?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|You can write script in your preferred language ( C#, JAVA or Python ) which can extract the number of records received from device and send it as a ACK packet to the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Troubleshooting Data&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to know if the device is sending the data to server or not? And how to know if the server is accepting the data from device or not?&lt;br /&gt;
&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
#We can always check the Device Status-&amp;gt;GSM info page on the Teltonika Configurator. If device&#039; GPRS status is &amp;quot;Activated&amp;quot; and  Sent Records count is above zero and the Sent Records count is increasing that means device is sending data to the server. Thereafter, the server has to accept the data and send back response.&lt;br /&gt;
#If the server has the Codec 8 protocol integerated properly, it will send the response in HEX as number of records received by server. On Teltonika Configurator under Status-&amp;gt;GSM info, we can check the &amp;quot;Received Data&amp;quot;, Socket and Last server Response time to confirm when was the last connection happened with server and its response hour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to make multiple session separation from the server side from different devices?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Multiple devices can be separated by recognizing the IMEIs of the devices on the server side. The very first step by the device is to send the IMEI on the server and server receives IMEI and sends ACK packet back to the module. All the modules have different IMEI which can be used as a point of differenciation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How can we know if the acknowledgment is required on the server or not? Can we change this setting?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Acknowledgment is made depending upon the &amp;quot;Record Settings&amp;quot;:&lt;br /&gt;
#If ACK Type, TCP/IP is selected then Server Acknowledgement is not required&lt;br /&gt;
#If ACK Type, AVL is selected then the Server must respond with the Acknowledgement.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Common Mistakes&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;I am getting the error on the server side saying&amp;quot;Protocol Mismatch&amp;quot;. What could possible be wrong in this case?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|This is because of mismatch in the selection of Network Protocol on the device and server side. It is possible that on the Device, TCP is selected and on the server side its UDP or vice-versa. Since the structure for both the protocols is different, this mismatch can restrict establishing a connection on the server.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Communication over GPRS &#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How can my device communicate over GPRS messages?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|We have few CODEC protocols supporting GPRS communication: Codec 12,13,14,15. However the functionality basics remains the same and is explained below for Codec 12.&lt;br /&gt;
#First, the Teltonika device opens the GPRS session and sends AVL data to the server (refer to device protocols). &lt;br /&gt;
#Once all records are sent and the correct sent data array acknowledgment is received by the device then GPRS commands in Hex can be sent to the device.&lt;br /&gt;
#The ACK (acknowledgment of IMEI from server) is a one-byte constant 0x01. The acknowledgment of each data array sent from the device is four bytes integer â€“ a number of received records.&lt;br /&gt;
Detailed information on the protocol can be found here: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols#Codec_12&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;RAW Data Example&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;I need to parse the data received on my end. Do you have any piece of code or examples that you can provide that I can use to develop my parser?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Here&#039;s an example of the Data Received in the HEX Format and how to parse it:&lt;br /&gt;
Received data in the hexadecimal stream:&lt;br /&gt;
000000000000003608010000016B40D8EA30010000000000000000000000000000000105021503010101425E0F01F10000601A014E0000000000000000010000C7CF.&lt;br /&gt;
&lt;br /&gt;
The detailed parsing can be found in the wiki page, under the category Communication with server: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols#Codec_8&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=Help_with_Server_FAQ&amp;diff=95910</id>
		<title>Help with Server FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=Help_with_Server_FAQ&amp;diff=95910"/>
		<updated>2024-02-13T08:49:40Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Server Related Questions and Tips.&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Pre-Requisites for server implementation&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;What are the pre-requisites for deploying devices on my server?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|To develop the platform, below are the requirements:&lt;br /&gt;
&lt;br /&gt;
#Hardware Requirements: A high CPU count promotes better cloud tiering throughout because although object storage can be slow in I/O operations per thread, object storage can support many threads. Any standard x86 64-bit servers can be ideally used.&lt;br /&gt;
#Memory/RAM Requirements: Cloud tiering services demand a large amount of memory, which is why the minimum recommended memory size is 8GB.&lt;br /&gt;
#Harddisk Requirements: For a medium-sized server, 300GB RAID1 disks can be recommended.&lt;br /&gt;
#Network Protocols: TCP/IP and UDP are the basic protocols supported by our devices. MQTT is also supported.&lt;br /&gt;
#Knowledge about programming language is an asset, where Python, C#, JAVA can be used for Backend.&lt;br /&gt;
#Database: A database is required to store the records/messages incoming from multiple devices. Further, this data must be assigned to its appropriate device ( recognized by IMEI ). MySQL can be used for the database.&lt;br /&gt;
#Skillsket for Socket Programming is an asset to develop a server.&lt;br /&gt;
#Security: Teltonika device support TLS Encryption which can be implemented on the server side.&lt;br /&gt;
#Hardware Knowledge: It can be found on our Teltonika WIKI: https://wiki.teltonika-gps.com/view/Main_Page&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to open ports in my computer for virtual testing?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
The step by step instructions to open a TCP/UDP port can be found here: https://wiki.teltonika-gps.com/view/Opening_TCP/UDP_port&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;What ports should i use to keep connection with the server?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Any Non-reserved ports on the server side, which are not being blocked and used by server&#039;s firewall and services respectively.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Documentation&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;Does Teltonika offer any homologation or server implementation documents which we can use to see how the data is sent, received, and parsed?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Regarding the documents/sources, here&#039;s what we offer:&lt;br /&gt;
# The wiki link on data sending protocols: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols&lt;br /&gt;
# The parsing toolkit containing the TCP/UDP Listener, source code and other related documents. It can be downloaded from here: https://wiki.teltonika-gps.com/view/Universal_Device_Test_Guide#Protocols_implementation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;What are the supported Network Protocols for Teltonika devices which I need to implement on my server&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Currently, the Teltonika devices works with 03 different protocols for Data Sending; TCP, UDP, and MQTT. Please keep a note that MQTT is supported only via AWS server or a custom server which should be implemented based on the AWS protocols. More information on MQTT ( based on AWS ) can be found here: https://wiki.teltonika-gps.com/view/Getting_Started_with_AWS_IoT_Core.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;Is there any ID/Value available corresponding to the paramters that Teltonika devices offer? &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Yes, there are several parameters that you can get from our devices and the AVL IDs corresponding to each one of them can be found here: https://wiki.teltonika-gps.com/view/FMM130_Teltonika_Data_Sending_Parameters_ID.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Communication with server&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How does device communicate with the server?&lt;br /&gt;
&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|First, when module connects to server, module sends its IMEI. First comes short identifying number of bytes written and then goes IMEI as text (bytes).&lt;br /&gt;
For example, IMEI 356307042441013 would be sent as 000F333536333037303432343431303133. First two bytes denote IMEI length. In this case 0x000F means, that IMEI is 15 bytes long.&lt;br /&gt;
&lt;br /&gt;
After receiving IMEI, server should determine if it would accept data from this module. If yes, server will reply to module 01, if not - 00. Note that confirmation should be sent as binary packet. I.e. 1 byte 0x01 or 0x00. Then module starts to send first AVL data packet. After server receives packet and parses it, server must report to module number of data received as integer (four bytes). If sent data number and reported by server doesn&#039;t match module resends sent data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to setup records sorting from protocols Codec? &amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Records can be sorted by using timestamp as a record sorting method, as it allows us to know what record was received early.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to setup the answer to the Codec protocols in C#, Java, C++ from the server side, while counting records?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|You can write script in your preferred language ( C#, JAVA or Python ) which can extract the number of records received from device and send it as a ACK packet to the device.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Troubleshooting Data&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to know if the device is sending the data to server or not? And how to know if the server is accepting the data from device or not?&lt;br /&gt;
&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
#We can always check the Device Status-&amp;gt;GSM info page on the Teltonika Configurator. If device&#039; GPRS status is &amp;quot;Activated&amp;quot; and  Sent Records count is above zero and the Sent Records count is increasing that means device is sending data to the server. Thereafter, the server has to accept the data and send back response.&lt;br /&gt;
#If the server has the Codec 8 protocol integerated properly, it will send the response in HEX as number of records received by server. On Teltonika Configurator under Status-&amp;gt;GSM info, we can check the &amp;quot;Received Data&amp;quot;, Socket and Last server Response time to confirm when was the last connection happened with server and its response hour.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How to make multiple session separation from the server side from different devices?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Multiple devices can be separated by recognizing the IMEIs of the devices on the server side. The very first step by the device is to send the IMEI on the server and server receives IMEI and sends ACK packet back to the module. All the modules have different IMEI which can be used as a point of differenciation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How can we know if the acknowledgment is required on the server or not? Can we change this setting?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Acknowledgment is made depending upon the &amp;quot;Record Settings&amp;quot;:&lt;br /&gt;
#If ACK Type, TCP/IP is selected then Server Acknowledgement is not required&lt;br /&gt;
#If ACK Type, AVL is selected then the Server must respond with the Acknowledgement.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Common Mistakes&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;I am getting the error on the server side saying&amp;quot;Protocol Mismatch&amp;quot;. What could possible be wrong in this case?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|This is because of mismatch in the selection of Network Protocol on the device and server side. It is possible that on the Device, TCP is selected and on the server side its UDP or vice-versa. Since the structure for both the protocols is different, this mismatch can restrict establishing a connection on the server.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;Communication over GPRS &#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;How can my device communicate over GPRS messages?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|We have few CODEC protocols supporting GPRS communication: Codec 12,13,14,15. However the functionality basics remains the same and is explained below for Codec 12.&lt;br /&gt;
#First, the Teltonika device opens the GPRS session and sends AVL data to the server (refer to device protocols). &lt;br /&gt;
#Once all records are sent and the correct sent data array acknowledgment is received by the device then GPRS commands in Hex can be sent to the device.&lt;br /&gt;
#The ACK (acknowledgment of IMEI from server) is a one-byte constant 0x01. The acknowledgment of each data array sent from the device is four bytes integer â€“ a number of received records.&lt;br /&gt;
Detailed information on the protocol can be found here: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols#Codec_12&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==&#039;&#039;&#039;RAW Data Example&#039;&#039;&#039;==&lt;br /&gt;
{| class=&amp;quot;wikitable mw-collapsible mw-collapsed&amp;quot; role=&amp;quot;presentation&amp;quot;&lt;br /&gt;
|&amp;lt;strong&amp;gt;I need to parse the data received on my end. Do you have any piece of code or examples that you can provide that I can use to develop my parser?&amp;lt;/strong&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|Here&#039;s an example of the Data Received in the HEX Format and how to parse it:&lt;br /&gt;
Received data in the hexadecimal stream:&lt;br /&gt;
000000000000003608010000016B40D8EA30010000000000000000000000000000000105021503010101425E0F01F10000601A014E0000000000000000010000C7CF.&lt;br /&gt;
&lt;br /&gt;
The detailed parsing can be found in the wiki page, under the category Communication with server: https://wiki.teltonika-gps.com/view/Teltonika_Data_Sending_Protocols#Codec_8&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
	<entry>
		<id>https://wiki.teltonika-gps.com/index.php?title=DriverID&amp;diff=95904</id>
		<title>DriverID</title>
		<link rel="alternate" type="text/html" href="https://wiki.teltonika-gps.com/index.php?title=DriverID&amp;diff=95904"/>
		<updated>2024-02-12T10:53:36Z</updated>

		<summary type="html">&lt;p&gt;Einius.vienazindis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==How to read Driver ID==&lt;br /&gt;
Driver 1 ID is divided trough two IO elements and to read actual Driver 1 ID written on driver card, two conversions need to be proceeded. Example provided in table below:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;width:20%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: center;&amp;quot; |Step&lt;br /&gt;
! style=&amp;quot;width:35%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: center;&amp;quot; |Driver 1 ID MSB (AVL ID:195)&lt;br /&gt;
! style=&amp;quot;width:35%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: center;&amp;quot; |Driver 1 ID LSB (AVL ID:196)&lt;br /&gt;
! style=&amp;quot;width:10%; border: 1px solid white; border-bottom: 2px solid #0054A6; background: white; color: #0054A6; text-align: center;&amp;quot; |Format&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: left;&amp;quot; |1. Received value&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |3544385890265608240&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |4123102840462782769&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |DEC&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: left; &amp;quot; |2. Converted to HEX&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |3130303030303030&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |3938343032303131&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |HEX&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: left;&amp;quot; |3. Converted to ASCII&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |10000000&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |98402011&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |ASCII&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: left;&amp;quot; |4. Mirrored ASCII&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |00000001&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |11020489&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |ASCII&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: left;&amp;quot; |5. Merged&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |0000000111020489&lt;br /&gt;
| style=&amp;quot;border: 1px solid white; border-bottom: 2px solid #E8E8E8; background: white; text-align: center;&amp;quot; |ASCII&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
The same procedure is applied to Driver 2 ID.&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Einius.vienazindis</name></author>
	</entry>
</feed>