-
Notifications
You must be signed in to change notification settings - Fork 7.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BLEEddystoneTLM wrong handling of temperature field of beacon data #3833
Comments
Hi, |
Thanks for confirming. Not sure about the Will prepare a pull-request together with samples for EddystoneTLM, EddystoneURL and a beacon scanner. |
Maybe you like this: |
Interesting, but it's not exactly EddystoneTLM format. Will check details tomorrow. |
Add Beacon scanner example to show usage of BLEEddystoneTLM class and BLEEddystoneURL class Add EddystoneTLM beacon example Add EddystoneURL beacon example
Fixed with #3836 |
* Fix issue #3833, data parsing of Eddystone TLM data frame Add Beacon scanner example to show usage of BLEEddystoneTLM class and BLEEddystoneURL class Add EddystoneTLM beacon example Add EddystoneURL beacon example * Fix buffer size for .toString()
Hardware:
Board: ESP32 Dev Module
Core Installation version: 1.0.3
IDE name: Arduino IDE & Platform.io
Flash Frequency: 40Mhz
PSRAM enabled: no
Upload Speed: 115200
Computer OS: Windows 7
Description:
@chegewara , can you confirm?
EddystoneTLM has a temperature value.
According to Google definition the format is
8.8 fixed-point notation
. But in the BLEEddystoneTLM class the temperature is declared as float, and the two bytes of the temperature value is just interpreted as an float value which gives complete wrong values. I found one Eddystone TLM example, and there the setting the temperature values is done wrong as well. The wrong value can be seen in nRFConnect, where it shows impossible temperatures.The correct conversion from float to 8.8 fixed-point and back is shown in Fixed Point Maths.
The correct conversion on the beacon side would be (as example read temperature from a DHT sensor)
And in BLEEddystoneTLM class the
getTemp()
function should beSketch: Modified BLE scanner example
Debug Messages: Log output with both the incorrect calculated and correct calculated temperature.
The text was updated successfully, but these errors were encountered: