Ask a question

3510 questions

4005 answers

2989 comments

27602 members

Ask a question
0 votes
162 views
in Vehicle tracking by

Hello...

I think there is an issue with endianess when setting up a BLE sensor in advanced mode.

I have a set of TPMS sensors that broadcast pressure, temperature and battery data that I want to capture with my FMB920 tracker (03.27.07 Rev: 00 firmware and configurator).

When I setup the data with little endian, they are reported with big endian and vice versa.

Little endian setup

Little endian status

BLE 1 Custom 1 : 0x0201050303B0FB13FF000181EACA3006D5FD580000F90600001B000D0954504D53325F333030364435...
BLE 1 Custom 2 : 4250402816
BLE 1 Custom 3 : 4177920000
BLE 1 Custom 4 : 27
Big endian setup
Big endian status
BLE 1 Custom 1 : 0x0201050303B0FB13FF000181EACA3006D564580000170700001B010D0954504D53325F333030364435...
BLE 1 Custom 2 : 22628
BLE 1 Custom 3 : 1815
BLE 1 Custom 4 : 27

1 Answer

0 votes
by
Hello.

Please note, that we don't know how is your sensor transmitting data.

Please try to use BLE TPMS preset and check if received data is correct.

Regards
by

Hello and thank you for your reply.

I know how the data is transmitted, that's not the problem.

The full transmitted packet is, for example, the following:

0x0201050303B0FB13FF000181EACA3006D564580000170700001B010D0954504D53325F333030364435

  • 64580000 (data offset 17, length 4) is the tire pressure.
  • 17070000 (data offset 21, length 4) is the temperature.
  • 1B (data offset 25, length 1) is the battery level.

The problem is that when I set little endian for 64580000, I get in I/O 1683488768 which is the big endian.

If I set big endian, I get in I/O 22628 which is the little endian.

by

Hello.

All is correct because in little endian, data comes as it is from sensor, big endian -> data is reversed and MSB byte is the last.

64580000 hex -> MSB is 64, LSB is 00

by

Thank you for the clarificationsmiley.

Seasons Greetings and Happy New Year!