Я использую библиотеку ArduinoBLE для создания сервиса и характеристик c:
BLEService angleService("1826");
BLEFloatCharacteristic pitchBLE("2A57", BLERead | BLENotify);
Я добавляю сервисы и характеристики и рекламирую свое устройство:
BLE.setLocalName("acsAssist");
BLE.setAdvertisedService(angleService);
angleService.addCharacteristic(pitchBLE);
BLE.addService(angleService);
pitchBLE.writeValue(0);
BLE.advertise();
Я выполняю некоторые вычисления, а затем записать мое вычисленное значение в службу:
pitchBLE.writeValue(posiPitch);
posiPitch
- это значение с плавающей запятой, например, 1,96. он может go с -90,00 до 90,00
Я пытаюсь прочитать это значение из моего приложения Android:
(characteristic.getFloatValue(BluetoothGattCharacteristic.FORMAT_SFLOAT,0))
У меня появляются сумасшедшие числа, такие как -1.10300006E9
.
Как я могу прочитать мое значение с плавающей запятой, чтобы мое приложение android соответствовало значению значения arduino?