Line 1,397: |
Line 1,397: |
| | | |
| '''Note:''' 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.<p style="font-size:32px"><span style="color:#0054A6">EYE Sensor Protocol overview</span></p> | | '''Note:''' 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.<p style="font-size:32px"><span style="color:#0054A6">EYE Sensor Protocol overview</span></p> |
| + | </div> |
| + | </div> |
| + | <div class="mw-collapsible mw-collapsed"> |
| + | ==<p style="font-size:24px><span style="color:#0054A6">Sensor advertising</span>== |
| + | <div class="mw-collapsible-content"> |
| + | <br> |
| + | [[File:Sensors data.png|center]] |
| + | <br> |
| + | ===<p style="font-size:24px><span style="color:#0054A6">Beacon and sensors data</span>=== |
| + | [[File:Beacon and sensors data.png|center|1000x1000px|alt=|frameless]] |
| + | <br> |
| + | <br> |
| + | |
| + | ===<p style="font-size:24px><span style="color:#0054A6">Protocol description</span>=== |
| + | 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. |
| + | <br><br> |
| + | 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. |
| + | <br><br> |
| + | 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. |
| + | <br><br> |
| + | |
| + | Teltonika BTSX devices are transmitting one or two packets depending on the selected protocol. Broadcast packet + Scan response packet. |
| + | |
| + | A scan response packet is sent when an active scan is used, within the BLE layer of communication. |
| + | The default for our FM devices and many other applications for example our EYE Appication or nRF connect Application is an active scan. |
| + | |
| + | There are three protocols, with the following packets: |
| + | |
| + | '''1.iBeacon + EYE Sensors''' |
| + | |
| + | '''2.Eddystone + EYE Sensors''' |
| + | |
| + | For '''iBeacon + EYE Sensors''' and '''Eddystone + EYE Sensors''' 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. |
| + | 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. |
| + | |
| + | '''3. EYE Sensors''' |
| + | |
| + | With '''EYE Sensors''' protocol, the EYE Sensor packet becomes broadcast. |
| + | 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. |
| + | |
| + | More Information on |
| + | [https://support.digitalmatter.com/support/solutions/articles/16000100684-active-vs-passive-bluetooth-scanning| Active vs passive scans] |
| + | <br> |
| + | <br> |
| + | Device Name has the following default value for Beacon – ID1_XXXXXXX |
| + | <br> |
| + | <div style="display:inline-table"> |
| + | {| class="nd-othertables_2" style="width:125%;" ; |
| + | |+'''Table 1. Flag Encoded Date''' |
| + | |- |
| + | !Data!! Size (Bytes)!!Description |
| + | |- |
| + | |Flags||1||Each set bit (0-7) means the presence of value (0-7). Bits: |
| + | <br>0 – Temperature value presence |
| + | <br>1 – Humidity value presence |
| + | <br>2 – Magnetic sensor presence |
| + | <br>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. |
| + | <br>4 – Movement sensor counter |
| + | <br>5 – Movement sensor angle |
| + | <br>6 – Low Battery indication (if set to 1 low battery voltage detected) |
| + | <br>7 – Battery voltage value presence |
| + | |- |
| + | |Value 0||2||Temperature |
| + | <br>Value in Celsius / 100 |
| + | <br>NOTE: present only if bit 0 is set, otherwise is not being sent |
| + | |- |
| + | |Value 1 ||1||Humidity |
| + | <br>Value in percent |
| + | <br>NOTE: present only if bit 1 is set, otherwise is not being sent |
| + | |- |
| + | |Value 2||2||Movement Sensor counter |
| + | <br>Most significant bit indicates movement state and 15 least significant bits represent count of movement events. |
| + | <br>NOTE: present only if bit 4 is set, otherwise is not being sent |
| + | |- |
| + | |Value 3 ||3||Movement sensor angle |
| + | <br>Most significant byte – pitch (-90/+90) |
| + | <br>Two least significant bytes – roll (-180/+180) |
| + | <br>NOTE: present only if bit 5 is set, otherwise is not being sent |
| + | |- |
| + | |Value 4||1|| Battery Voltage |
| + | <br>Battery voltage in mV = 2000 + VALUE * 10 |
| + | <br>NOTE: present only if bit 7 is set, otherwise is not being sent |
| + | |} |
| + | </div> |
| + | |
| + | ===<p style="font-size:24px><span style="color:#0054A6">GATT Characteristics</span>=== |
| + | |
| + | {| class="wikitable" style="width: 100%; background-color: white; border-bottom: 2px solid #0054A6;" |
| + | |
| + | |- |
| + | |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 20px;" | Name |
| + | |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 280px;" | Service UUID |
| + | |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 280px;" | Characteristic UUID |
| + | |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6;" | Data Type |
| + | |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6;" | Min |
| + | |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6;" | Max |
| + | |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 120px" | Default Value |
| + | |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6;" | Notes |
| + | |
| + | |- |
| + | |
| + | | Device Name || e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0016-7df2-4d4e-8e6d-c611745b92e9 || ASCII || 0 || 12 || Unique for each device || - |
| + | |
| + | |- |
| + | |
| + | | Tx Power Lever || 1804 || 2a07 || SINT8 || -14 || 8 || 2 || Possible values: -14, -11, -8, -5, -2, 2, 4, 8 |
| + | |
| + | |- |
| + | |
| + | | Protocol Type|| e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0001-7df2-4d4e-8e6d-c611745b92e9 || UINT8 || 0 || 4* |
| + | |
| + | |
| + | <small>*Max 2 with 01.02.10+ firmware</small> |
| + | | 1 for EYE_Beacon, <br>4 for EYE_Sensor* |
| + | |
| + | |
| + | <small>*with 01.02.10+ firmware 1 for both EYE_Beacon & EYE_Sensor</small> |
| + | | 0 - iBeacon <br>1 - Eddystone <br>2 - EYE Sensor <br>3 - iBeacon + EYE Sensor* <br>4 - Eddystone + EYE Sensor* |
| + | |
| + | |
| + | <small>*01.02.10+ sensors are enabled over ''Activate / Deactivate Sensors''</small> |
| + | |- |
| + | |Activate / Deactivate Sensors* |
| + | |
| + | |
| + | <small>*from 01.02.10+ firmware</small> |
| + | |e61c0000-7df2-4d4e-8e6d-c611745b92e9 |
| + | |e61c0021-7df2-4d4e-8e6d-c611745b92e9 |
| + | |UINT8 |
| + | |0 |
| + | |15 |
| + | |
| + | (0b1111) |
| + | |4 (0b0100) for EYE_Beacon, <br>15 (0b1111) for EYE_Sensor |
| + | |(LSb) bit 0 – Temperature |
| + | |
| + | Bit 1 – Humidity |
| + | |
| + | Bit 2 – Magnetic |
| + | |
| + | Bit 3 - Movement |
| + | |
| + | |
| + | E.g. EYE_Sensor disabled movement & enabled temperature, humidity, magnetic sensors 7 (0b0111) |
| + | |- |
| + | |
| + | | Advertising Interval|| e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0002-7df2-4d4e-8e6d-c611745b92e9 || UINT16 || 1000 || 10000 || 5000 || miliseconds |
| + | |
| + | |- |
| + | |
| + | | Sub Advertising Interval || e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0003-7df2-4d4e-8e6d-c611745b92e9 || UINT16 || 20 || 1000 || 100 || Used by repeats, miliseconds |
| + | |
| + | |- |
| + | |
| + | | 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 |
| + | |
| + | |- |
| + | |
| + | | 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<br>2 B - major<br>2 B - minor |
| + | |
| + | |- |
| + | |
| + | | 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<br>6 B - Instance |
| + | |- |
| + | |Command |
| + | |e61c0000-7df2-4d4e-8e6d-c611745b92e9 |
| + | |e61c0007-7df2-4d4e-8e6d-c611745b92e9 |
| + | | colspan="5" |[[EYE SENSOR / BTSMP1#Command characteristic|Command characteristic]] |
| + | |- |
| + | |
| + | |Password||e61c0000-7df2-4d4e-8e6d-c611745b92e9|| e61c0008-7df2-4d4e-8e6d-c611745b92e9 ||BYTE ARRAY|| 6 bytes||6 bytes||123456||Always 6 Digits |
| + | |
| + | |- |
| + | |
| + | |Sensor Interval||e61c0000-7df2-4d4e-8e6d-c611745b92e9|| e61c0009-7df2-4d4e-8e6d-c611745b92e9||UINT16||0||10000||1000||miliseconds |
| + | |
| + | |- |
| + | |
| + | |Event Interval||e61c0000-7df2-4d4e-8e6d-c611745b92e9|| e61c000a-7df2-4d4e-8e6d-c611745b92e9||UINT16||0||10000||1000 || miliseconds |
| + | |
| + | |- |
| + | |
| + | |Event Duration||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c000b-7df2-4d4e-8e6d-c611745b92e9||UINT8||0||30 ||30||seconds |
| + | |
| + | |- |
| + | |
| + | | Temperature Event||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c000c-7df2-4d4e-8e6d-c611745b92e9||UINT8 ||0||2|| 2||0 - on entrance<br>1 - on exit<br>2 - no event |
| + | |
| + | |- |
| + | |
| + | |Temperature Low||e61c0000-7df2-4d4e-8e6d-c611745b92e9 ||e61c000d-7df2-4d4e-8e6d-c611745b92e9||INT8||-40|| 85||-20||celsius |
| + | |
| + | |- |
| + | |
| + | |Temperature High|| e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c000e-7df2-4d4e-8e6d-c611745b92e9||INT8||-40||85 ||50||celsius |
| + | |
| + | |- |
| + | |
| + | | Humidity Event||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c000f-7df2-4d4e-8e6d-c611745b92e9||UINT8||0||2||2||0 - on entrance<br>1 - on exit<br>2 - no event |
| + | |
| + | |- |
| + | |
| + | |Humidity Low||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c0010-7df2-4d4e-8e6d-c611745b92e9 || UINT8||0||100||15||% |
| + | |
| + | |- |
| + | |
| + | |Humidity High ||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c0011-7df2-4d4e-8e6d-c611745b92e9||UINT8||0||100||50||% |
| + | |
| + | |- |
| + | |
| + | |Movement Event||e61c0000-7df2-4d4e-8e6d-c611745b92e9 || e61c0012-7df2-4d4e-8e6d-c611745b92e9||UINT8||0||2||2||0 - on entrance<br>1 - on exit<br>2 - no event |
| + | |
| + | |- |
| + | |
| + | |Movement Start ||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c0013-7df2-4d4e-8e6d-c611745b92e9|| UINT16||0||300||5||seconds |
| + | |
| + | |- |
| + | |
| + | |Movement Stop||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c0014-7df2-4d4e-8e6d-c611745b92e9|| UINT16||0||300||5 ||seconds |
| + | |
| + | |- |
| + | |
| + | |Magnetic Event||e61c0000-7df2-4d4e-8e6d-c611745b92e9||e61c0015-7df2-4d4e-8e6d-c611745b92e9||UINT8||0||2|| 2||0 - on entrance <br> 1 - on exit <br> 2 - no event |
| + | |- |
| + | | Password Counter |
| + | |e61c0000-7df2-4d4e-8e6d-c611745b92e9 |
| + | | e61c0019-7df2-4d4e-8e6d-c611745b92e9 |
| + | |UINT8 |
| + | |0 (counter) |
| + | |10 (counter) |
| + | | 0 |
| + | |Byte 0 – counter, |
| + | |
| + | Byte 1 and 2 - timeout |
| + | |- |
| + | |Master Password (PUK) |
| + | |e61c0000-7df2-4d4e-8e6d-c611745b92e9 |
| + | |e61c0020-7df2-4d4e-8e6d-c611745b92e9 |
| + | | UINT8 |
| + | |8 bytes |
| + | |8 bytes |
| + | |MAC address dependency |
| + | |Byte array |
| + | |- |
| + | |Manufacturer sleep (Hibernate mode) |
| + | |e61c0000-7df2-4d4e-8e6d-c611745b92e9 |
| + | |e61c0018-7df2-4d4e-8e6d-c611745b92e9 |
| + | |UINT8 |
| + | |0 |
| + | |1 |
| + | |1 |
| + | |0 – sleep disabled, |
| + | |
| + | 1 – sleep enabled |
| + | |- |
| + | |User ADV Spam Duration |
| + | |e61c0000-7df2-4d4e-8e6d-c611745b92e9 |
| + | |e61c0022-7df2-4d4e-8e6d-c611745b92e9 |
| + | |UINT16 |
| + | |1 |
| + | |300 |
| + | |30 |
| + | |WakeUp Advertising |
| + | |
| + | Spam Duration in seconds |
| + | |- |
| + | |RSSI Calibration Value |
| + | |e61c0000-7df2-4d4e-8e6d-c611745b92e9 |
| + | |e61c0023-7df2-4d4e-8e6d-c611745b92e9 |
| + | |INT8 |
| + | |<nowiki>-100</nowiki> |
| + | |127 |
| + | | 127 |
| + | |RSSI value in dBm |
| + | |
| + | 127 – Use default calib. table |
| + | |- |
| + | |
| + | |Manufacturer||180A||2A29||BYTE ARRAY||-||-||Not Configurable ||Read Only. Ex. "Teltonika" |
| + | |
| + | |- |
| + | |
| + | | Model|| 180A||2A24|| BYTE ARRAY|| -||-|| Not Configurable||Read Only. Ex. "BTSID1" |
| + | |
| + | |- |
| + | |
| + | |Serial||180A||2A25 ||BYTE ARRAY||-||-||Not Configurable ||Not used |
| + | |
| + | |- |
| + | |
| + | | Hardware||180A|| 2A27 ||BYTE ARRAY||-||-||Not Configurable||Read Only. Ex. "Table:1 Volt:325 |
| + | |
| + | |- |
| + | |
| + | |Firmware|| 180A ||2A26||BYTE ARRAY||-||-||Not Configurable||Read Only. Ex. "1.1.0-beta" |
| + | |
| + | |- |
| + | |
| + | | System ID ||180A||2A23||BYTE ARRAY||-||-|| Not Configurable||Not used |
| + | |
| + | |- |
| + | |
| + | |MAC||180A||652143dc-dec6-4fb1-bd46-3e919d2410a6 || BYTE ARRAY||6||6||Not Configurable||Read Only. ex. 112233445566 -> 11:22:33:44:55:66 |
| + | |
| + | |- |
| + | |
| + | |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 |
| + | |
| + | |} |
| + | |
| + | [[File:Lentele0603.png|800px|frameless|center]] |
| + | ===Command characteristic=== |
| + | {| class="wikitable" style="width: 100%; background-color: white; border-bottom: 2px solid #0054A6;" |
| + | |- |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 20px;" |Command's name |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 280px;" |Data to send |
| + | ! style="color: #0054A6; background-color: white; border-bottom: 2px solid #0054A6; width: 280px;" |Description |
| + | |- |
| + | |Write to flash||0x0010|| Writes set parameters to flash |
| + | |- |
| + | |General boot||0x0011||Enter boot mode |
| + | |- |
| + | |Instant reset||0x0012||Software reset |
| + | |- |
| + | |Reset after connection||0x0013||Reset after disconnect |
| + | |- |
| + | |Get hw voltage||0x0014||Sets detected hw voltage in response data |
| + | |- |
| + | |Keep connection alive||0x0015|| Resets disconnect timer |
| + | |- |
| + | |Restore defaults||0x0016||Sets all configurable parameters to default values |
| + | |} |
| + | |
| + | ===<p style="font-size:24px"><span style="color:#0054A6">EYE Sensor Bluetooth® frame parsing example</span>=== |
| + | |
| + | {| class="nd-othertables_2" style="width:100%;" |
| + | |+ |
| + | ! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Unparsed data |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#0048BA">02</span><span style="background:#B0BF1A">01</span><span style="background:#7CB9E8">06</span><span style="background:#C0E8D5">1A</span><span style="background:#B284BE">FF</span><span style="background:#72A0C1">4C00</span><span style="background:#EDEAE0">0215</span><span style="background:#C46210">FFFFFFFF0B8C404510C655AAB636EBEF</span><span style="background:#EFDECD">BB70</span><span style="background:#E52B50">0055</span><span style="background:#FFF600">02</span><span style="background:#03C03C">0C</span><span style="background:#FF3800">09</span><span style="background:#FFBF00">4D50315F31323334353637</span><span style="background:#FF7E00">0E</span><span style="background:#3DDC84">FF</span><span style="background:#008000">9A08</span><span style="background:#00FFFF">01</span><span style="background:#D0FF14">B7</span><span style="background:#00FF00">08B4</span><span style="background:#007FFF">12</span><span style="background:#F4C2C2">0CCB</span><span style="background:#BFFF00">0BFFC7</span><span style="background:#00BFFF">67</span> |
| + | |} |
| + | <br> |
| + | {| class="nd-othertables_2" style="width:100%;" |
| + | |+ |
| + | ! colspan="4" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Parsed data |
| + | |- |
| + | ! colspan="2" rowspan="1" style="width:33%; vertical-align: middle; text-align: center;" |Parameter |
| + | ! rowspan="1" style="width:33%; vertical-align: middle; text-align: center;" |HEX Code Part |
| + | ! rowspan="1" style="width:33%; vertical-align: middle; text-align: center;" |Actual Value |
| + | |- |
| + | | rowspan="50" style="vertical-align: middle; text-align: center;" | |
| + | | style="vertical-align: middle; text-align: center;" |Length |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#0048BA">02</span> |
| + | | |
| + | |- |
| + | |
| + | | style="vertical-align: middle; text-align: center;" |Type |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#B0BF1A">01</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Flags |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#7CB9E8">06</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Length |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#C0E8D5">1A</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Type |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#B284BE">FF</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Apple company identifier (big endian) |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#72A0C1">4C00</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Beacon type |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#EDEAE0">0215</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |UUID |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#C46210">FFFFFFFF0B8C404510C655AAB636EBEF</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Major |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#EFDECD">BB70</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Minor |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#E52B50">0055</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Power |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#FFF600">02</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Length |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#03C03C">0C</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Type |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#FF3800">09</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Device name |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#FFBF00">4D50315F31323334353637</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Length |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#FF7E00">0E</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Type |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#3DDC84">FF</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Teltonika company ID (big endian) |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#008000">9A08</span> |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Protocol version |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#00FFFF">01</span> |
| + | | |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Flags |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#D0FF14">B7</span> |
| + | |Raw value example 0xB7. Data has to be interpretated as binary value. |
| + | In this example would be (MSB)<span style="background:#B284BE">1</span>011 011<span style="background:#00FFFF">1</span>(LSB) and is parsed from least significant byte(LSB). |
| + | |
| + | |
| + | 0 – Temperature value presence. <span style="background:#00FFFF">1</span> Means device is reading and transmitting temperature value. |
| + | |
| + | 1 – Humidity value presence. 1 Means device is reading and transmitting humidity value. |
| + | |
| + | 2 – Magnetic sensor presence. 1 Means device is reading and transmitting Magnetic sensor value. |
| + | |
| + | 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. |
| + | |
| + | 4 – Movement sensor counter. 1 Means device is reading and transmitting movement state and count values. |
| + | |
| + | 5 – Movement sensor angle. 1 Means device is reading and transmitting angle roll and pitch values. |
| + | |
| + | 6 – Low Battery indication. 0 – Means device battery is from 100 to 15 % (When value changes to 1 Battery level is lower than 15 %. |
| + | |
| + | 7 – Battery voltage value presence. <span style="background:#B284BE">1</span> Means device is reading and transmitting battery voltage value. |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Temperature |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#00FF00">08B4</span> |
| + | |Raw value example 0x08B4 hex, 2228 dec. |
| + | |
| + | Raw value needs to be divided by 100. |
| + | |
| + | '''Real temperature''' is 22,28 Celsius. |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Humidity |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#007FFF">12</span> |
| + | |Raw value example 0x12 hex, 18 dec. |
| + | Decimal value is humidity in percent. Humidity 18 % |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Movement |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#F4C2C2">0CCB</span> |
| + | | (MSB)0000 1100 1100 1011(LSB) binary |
| + | 0 - Most significant byte(MSB) represents '''Movement status'''. In this case device is not moving 0. If it was 1 device is moving. |
| + | |
| + | 000 1100 1100 1011 – represent detected movements count 3275 decimal value means device has detected total 3275 movement events, |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Angle |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#BFFF00">0BFFC7</span> |
| + | |0B – Most significant byte represents '''device pitch'''. Device pitch can be from -90 to 90 degrees. |
| + | In this example device pitch is 0000 1011 (2's complement) = 11° degrees. |
| + | |
| + | |
| + | FFC7– Two least significant bytes represent '''device roll'''. Device roll can be from -180 to 180 degrees. |
| + | |
| + | In this example device Roll is 1111 1111 1100 0111 (2's complement) = -57° degrees |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Battery voltage |
| + | | style="vertical-align: middle; text-align: center;" |<span style="background:#00BFFF">67</span> |
| + | |'''Battery voltage –''' raw value example 0x67 hex. Decimal value of parameter 103'''.''' To calculate battery voltage need to use calculation 2000 + (VALUE * 10). In this case battery voltage value 2000+(103x10)= 3030 mV |
| + | |} |
| + | |
| + | ===<p style="font-size:24px"><span style="color:#0054A6">FM Packet parsing example (Base firmware / Advanced mode)</span>=== |
| + | |
| + | |
| + | {| class="nd-othertables_2" style="width:100%;" |
| + | |+ |
| + | ! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" | Unparsed data |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Received data in hexadecimal stream: <code>00000000000000488E010000017CA6B6BFD8010F0E5188209AB482008600A80F0000000</code><br><code>00006000000020019090400560024000301CF0000001601D00000FF4D01D10000006D00000001014B0001B6010000CF7D</code> |
| + | |} |
| + | |
| + | {| class="nd-othertables_2" style="width:100%;" |
| + | ! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet |
| + | |- |
| + | ! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" | AVL Data Packet Part |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part |
| + | |- |
| + | | rowspan="4" style="vertical-align: middle; text-align: center;" | |
| + | | style="vertical-align: middle; text-align: center;" |Zero Bytes |
| + | | style="vertical-align: middle; text-align: center;" | 00 00 00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Data Field Length |
| + | | style="vertical-align: middle; text-align: center;" |00 00 00 48 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Codec ID |
| + | | style="vertical-align: middle; text-align: center;" |8E (Codec8 Extended) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Number of Data 1 (Number of Total Records) |
| + | | style="vertical-align: middle; text-align: center;" |01 |
| + | |- |
| + | | rowspan="34" style="vertical-align: middle; text-align: center;" |AVL Data |
| + | | style="vertical-align: middle; text-align: center;" |Timestamp |
| + | | style="vertical-align: middle; text-align: center;" |00 00 01 7C A6 B6 BF D8 (GMT: Friday, 22 October 2021 06:36:07) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Priority |
| + | | style="vertical-align: middle; text-align: center;" |01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Longitude |
| + | | style="vertical-align: middle; text-align: center;" |0F 0E 51 88 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Latitude |
| + | | style="vertical-align: middle; text-align: center;" |20 9A B4 82 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Altitude |
| + | | style="vertical-align: middle; text-align: center;" |00 86 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Angle |
| + | | style="vertical-align: middle; text-align: center;" |00 0A |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Satellites |
| + | | style="vertical-align: middle; text-align: center;" |0E |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Speed |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Event IO ID |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N of Total ID |
| + | | style="vertical-align: middle; text-align: center;" |00 06 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N1 of One Byte IO |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N2 of Two Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 02 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |ID |
| + | | style="vertical-align: middle; text-align: center;" |00 19 (25 = BLE Temperature #1) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Value |
| + | | style="vertical-align: middle; text-align: center;" |09 04 (2308=23.08°C) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |ID |
| + | | style="vertical-align: middle; text-align: center;" |00 56 (86 = BLE Humidity #1) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Value |
| + | | style="vertical-align: middle; text-align: center;" | 00 36 (24 %RHT) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | N4 of Four Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 03 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |ID |
| + | | style="vertical-align: middle; text-align: center;" |01 CF (463 - BLE 1 Custom #2 = Movement status and movement events count) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Value |
| + | | style="vertical-align: middle; text-align: center;" |00 00 00 16 (Currently not moving events count 22) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |ID |
| + | | style="vertical-align: middle; text-align: center;" |01 D0 (464 - BLE 1 Custom #3 = Angle ) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Value |
| + | | style="vertical-align: middle; text-align: center;" |00 00 FF 4D (Pitch = 0°, Roll = -179°) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |ID |
| + | | style="vertical-align: middle; text-align: center;" |01 D1 (465 - BLE 1 Custom #4 = Battery Voltage) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Value |
| + | | style="vertical-align: middle; text-align: center;" |00 00 00 6D (109 = 2000 + 109 * 10 mV = 3090 mV) |
| + | |- |
| + | |
| + | | style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |NX of X Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N’th IO ID - AVL ID. |
| + | | style="vertical-align: middle; text-align: center;" |01 4B (331 - BLE 1 Custom #1 = Flags) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Length of Variable Length IO |
| + | | style="vertical-align: middle; text-align: center;" |00 01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Value of Variable Length IO |
| + | | style="vertical-align: middle; text-align: center;" |B7 = (MSB)<span style="background:#B284BE">1</span>1011 011<span style="background:#00FFFF">1</span>(LSB) |
| + | It's parsed from least significant byte(LSB): |
| + | |
| + | |
| + | Bit 0 – Temperature value presence. |
| + | |
| + | <span style="background:#00FFFF">1</span> Means device is reading and transmitting temperature value. |
| + | |
| + | |
| + | Bit 1 – Humidity value presence. |
| + | |
| + | 1 Means device is reading and transmitting humidity value. |
| + | |
| + | |
| + | Bit 2 – Magnetic sensor presence. |
| + | |
| + | 1 Means device is reading and transmitting Magnetic sensor value. |
| + | |
| + | |
| + | Bit 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. |
| + | |
| + | |
| + | Bit 4 – Movement sensor counter. |
| + | |
| + | 1 Means device is reading and transmitting movement state and count values. |
| + | |
| + | |
| + | Bit 5 – Movement sensor angle. |
| + | |
| + | 1 Means device is reading and transmitting angle roll and pitch values. |
| + | |
| + | |
| + | Bit 6 – Low Battery indication. |
| + | |
| + | 0 – Means device battery is from 100 to 15 % (When value changes to 1 Battery level is lower than 15 %. |
| + | |
| + | |
| + | 7 – Battery voltage value presence. |
| + | |
| + | <span style="background:#B284BE">1</span> Means device is reading and transmitting battery voltage value. |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records) |
| + | | style="vertical-align: middle; text-align: center;" |01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |CRC-16 |
| + | | style="vertical-align: middle; text-align: center;" |00 00 CF 7D |
| + | |- |
| + | |} |
| + | ===<p style="font-size:24px"><span style="color:#0054A6">FM EYE Sensor record parsing example with the new firmware (Evaluation firmware / EYE Sensor filtering by name)</span>=== |
| + | '''Parsing EYE Sensor records example''' <br> |
| + | Below You will find an example on how to parse EYE Sensor record with two EYE Sensors present. |
| + | |
| + | {| class="nd-othertables_2" style="width:100%;" |
| + | |+ |
| + | ! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Unparsed data |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Received data in hexadecimal stream: <code>00000000000000908E0100000183407a2beb000f0e3fe3209ab40e008801290d00002c350001000000000</code><br><code>000000000012c350063<span style="background-color:#91d4b9;">0130050f4d50315f42453241413500000000000602d60807012f0801000901000a024e000b01f90c025aff0d01000e020bcc</code><br><code><span style="background-color:#91d4b9;">30050f4d50315f33464539414100000000000602cb080701300801000901000a0263000b01000c02af000d01000e020b90</code><code>010000fef4</code> |
| + | |} |
| + | |
| + | {| class="nd-othertables_2" style="width:100%;" |
| + | |+ |
| + | |
| + | ! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL Data Packet |
| + | |- |
| + | ! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data Packet Part |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part |
| + | |- |
| + | | rowspan="4" style="vertical-align: middle; text-align: center;" | |
| + | | style="vertical-align: middle; text-align: center;" |Zero Bytes |
| + | | style="vertical-align: middle; text-align: center;" |00 00 00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Data Field Length |
| + | | style="vertical-align: middle; text-align: center;" |00 00 00 90 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Codec ID |
| + | | style="vertical-align: middle; text-align: center;" |8E (Codec8 Extended) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Number of Data 1 (Number of Total Records) |
| + | | style="vertical-align: middle; text-align: center;" |01 |
| + | |- |
| + | | rowspan="24" style="vertical-align: middle; text-align: center;" |AVL Data |
| + | | style="vertical-align: middle; text-align: center;" |Timestamp |
| + | | style="vertical-align: middle; text-align: center;" |00 00 01 83 40 7a 2b eb(GMT: Tuesday, 18 June 2019 08:25:22.001) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Priority |
| + | | style="vertical-align: middle; text-align: center;" |00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Longitude |
| + | | style="vertical-align: middle; text-align: center;" |0f 0e 3f e3 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Latitude |
| + | | style="vertical-align: middle; text-align: center;" |20 9a b4 0e |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Altitude |
| + | | style="vertical-align: middle; text-align: center;" |00 88 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Angle |
| + | | style="vertical-align: middle; text-align: center;" | 01 29 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Satellites |
| + | | style="vertical-align: middle; text-align: center;" | 0d |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Speed |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Event IO ID |
| + | | style="vertical-align: middle; text-align: center;" |2c 35 (11317) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N of Total ID |
| + | | style="vertical-align: middle; text-align: center;" |00 01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N1 of One Byte IO |
| + | | style="vertical-align: middle; text-align: center;" | 00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | N2 of Two Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N4 of Four Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | |
| + | | style="vertical-align: middle; text-align: center;" |N8 of Eight Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |NX of X Bytes IO |
| + | | style="vertical-align: middle; text-align: center;" |00 01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |N’th IO ID - AVL ID. |
| + | | style="vertical-align: middle; text-align: center;" |2c 35 (11317) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Length of Variable Length IO |
| + | | style="vertical-align: middle; text-align: center;" |00 63 (99 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Value of Variable Length IO 11317 |
| + | | style="vertical-align: middle; text-align: center;" | |
| + | '''0130050f4d50315f42453241413500000000000602d60807012f0801000901000a024e000b01f90c025aff0d01000e020bcc''' |
| + | '''30050f4d50315f33464539414100000000000602cb080701300801000901000a0263000b01000c02af000d01000e020b90''' |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Number of Data 2 (Number of Total Records) |
| + | | style="vertical-align: middle; text-align: center;" |01 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |CRC-16 |
| + | | style="vertical-align: middle; text-align: center;" |00 00 fe f4 |
| + | |- |
| + | |} |
| + | |
| + | ===Parsing AVL ID 11317 data=== |
| + | |
| + | {| class="nd-othertables_2" style="width:100%;" |
| + | |+ |
| + | ! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |AVL ID 11317 Unparsed data |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |<code>'''0130050f4d50315f42453241413500000000000602d60807012f0801000901000a024e000b01f90c025aff0d01000e020bcc'''</code>'''<br><code>30050f4d50315f33464539414100000000000602cb080701300801000901000a0263000b01000c02af000d01000e020b90''' |
| + | |} |
| + | |
| + | {| class="nd-othertables_2" style="width:100%;" |
| + | |+ |
| + | |
| + | ! colspan="3" style="border-bottom: 2px solid #0054A6; vertical-align: middle; text-align: center;" |Parsing the data |
| + | |- |
| + | ! colspan="2" rowspan="1" style="width:60%; vertical-align: middle; text-align: center;" |AVL Data packet part |
| + | ! rowspan="1" style="width:40%; vertical-align: middle; text-align: center;" |HEX Code Part |
| + | |- |
| + | | rowspan="3" | |
| + | | style="vertical-align: middle; text-align: center;" |Constant |
| + | | style="vertical-align: middle; text-align: center;" |01 |
| + | |- |
| + | ! style="vertical-align: middle; text-align: center;" |Eye Sensor #1 data length |
| + | | style="vertical-align: middle; text-align: center;" |30 (48 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |05 (Eye Sensor Device name) |
| + | |- |
| + | | rowspan="60" style="vertical-align: middle; text-align: center;" |AVL Data |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |0f (15 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data |
| + | | style="vertical-align: middle; text-align: center;" |4d 50 31 5f 42 45 32 41 41 35 00 00 00 00 00 |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |06 (Eye Sensor #1 temperature) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |02 (2 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data |
| + | | style="vertical-align: middle; text-align: center;" |d6 08 (With firmware 03.28.04.rev.203 the value is little endian, converted to decimal and multiplied by 0.01C = 22.42C.<br> |
| + | With firmware 03.28.04.rev.204 the value is big endian) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |07 (Eye Sensor #1 Humidity) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data |
| + | | style="vertical-align: middle; text-align: center;" |2f (converted to decimal = 47%) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |08 (Eye Sensor #1 Magnet) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" |00 (no magnet detected) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |09 (EYE Sensor #1 Movement presence) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" | 01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data |
| + | | style="vertical-align: middle; text-align: center;" |00 (none detected) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0a (parameter ID #10, EYE Sensor #1 Movement count) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data length |
| + | | style="vertical-align: middle; text-align: center;" |02 (2 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data |
| + | | style="vertical-align: middle; text-align: center;" | 4e 00 (converted to dec = 19968) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0b (Parameter ID #11 Eye Sensor #1 Pitch) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data length |
| + | | style="vertical-align: middle; text-align: center;" | 01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data |
| + | | style="vertical-align: middle; text-align: center;" |f9 (converted to decimal = 159 degrees) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0c (Parameter ID #12 Eye sensor #1 Roll) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |02 (2 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data |
| + | | style="vertical-align: middle; text-align: center;" |5a ff (With firmware 03.28.04.rev.203 the value is Little endian, converted to decimal signed 2's complement =-166 degrees <br> |
| + | With firmware 03.28.04.rev.204 the value is Big Endian) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0d (parameter ID #13 low battery voltage indicator) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data |
| + | | style="vertical-align: middle; text-align: center;" |00 (low battery voltage not detected) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" | Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0e (Eye Sensor #1 battery voltage) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |02 (2 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data |
| + | | style="vertical-align: middle; text-align: center;" |0b cc (Converted to decimal = 3020 mV) |
| + | |- |
| + | ! style="vertical-align: middle; text-align: center;" |Eye Sensor #2 data length |
| + | | style="vertical-align: middle; text-align: center;" | 30 (48 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" | 05 (Eye Sensor Device name) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |0f (15 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" |09 (EYE Sensor #1 Movement presence) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |06 (Eye Sensor #1 temperature) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |02 (2 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" |cb 08 (little endian, converted to decimal and multiplied by 0.01C = 22.51C) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |07 (Eye Sensor #1 Humidity) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" |30 (converted to decimal = 48%) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |08 (Eye Sensor #1 Magnet) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" | 00 (no magnet presence detected) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |09 (EYE Sensor #1 Movement presence) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" | 00 (no movement presence detected) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0a (parameter ID #10, EYE Sensor #1 Movement count) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |02 (2 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" |63 00 (converted to decimal = 25344) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0b (Parameter ID #11 Eye Sensor #1 Pitch) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" |00 (converted to dec = 0 degrees) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0c (Parameter ID #12 Eye sensor #1 Roll) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |02 (2 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" |af 00 (Little endian, converted to decimal signed 2's complement =175 degrees) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0d (parameter ID #13 low battery voltage indicator) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |01 (1 byte) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" |00 (low battery voltage not detected) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter ID |
| + | | style="vertical-align: middle; text-align: center;" |0e (Eye Sensor #1 battery voltage) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter data length |
| + | | style="vertical-align: middle; text-align: center;" |02 (2 bytes) |
| + | |- |
| + | | style="vertical-align: middle; text-align: center;" |Parameter Data |
| + | | style="vertical-align: middle; text-align: center;" |0b 90 (Converted to decimal = 2960mV) |
| + | |- |
| + | |} |
| </div> | | </div> |
| </div> | | </div> |