Quantcast
Channel: Embarcadero Community - Embarcadero Community
Viewing all articles
Browse latest Browse all 3212

BLE Notifications corrupted data

$
0
0

I'm trying to interact with a custom BLE device that uses notifications. When the notifications are received in Delphi, using the following in Characteristic read

procedure TForm1.BLECharacteristicRead(const Sender: TObject;
                                                                        const ACharacteristic: TBluetoothGattCharacteristic;
                                                                        AGattStatus: TBluetoothGattStatus);

...
       L:=length(ACharacteristic.GetValue);
       HexStr:=' =';

       for I := 0 to L-1
       do begin
          HexStr:=HexStr+inttohex(ACharacteristic.GetValueAsInt8(I),2);
       end;
       LogList.Lines.Add(HexStr);


the data I see is

 =010000010100FFFFFF8002000000FFFFFFC0FFFFFF8E00000000000000
 =020000010200037F000000FFFFFF8022000000FFFFFF80510100

 =2100000121000F00000000FFFFFF8000FFFFFF80000000000000
 =2200000122000F00010000FFFFFF8000FFFFFF80000000000000
 =2300000123000F00020000FFFFFF8000FFFFFF80000000000000
 =2400000124000F00030000FFFFFF8000FFFFFF80000000000000
 

but when I use the BLE tool nRF Connect, I get

Notification received from 15db2002-a532-4c8e-978a-49b768439405, value: (0x) 01-00-00-01-01-00-80-02-00-00-00-C0-8E-00-00-00-00-00-00-00
Notification received from 15db2002-a532-4c8e-978a-49b768439405, value: (0x) 02-00-00-01-02-00-03-7F-00-00-00-80-22-00-00-00-80-51-01-00

Notification received from 15db2002-a532-4c8e-978a-49b768439405, value: (0x) 21-00-00-01-21-00-0F-00-00-00-00-80-00-80-00-00-00-00-00-00
Notification received from 15db2002-a532-4c8e-978a-49b768439405, value: (0x) 22-00-00-01-22-00-0F-00-01-00-00-80-00-80-00-00-00-00-00-00
Notification received from 15db2002-a532-4c8e-978a-49b768439405, value: (0x) 23-00-00-01-23-00-0F-00-02-00-00-80-00-80-00-00-00-00-00-00
Notification received from 15db2002-a532-4c8e-978a-49b768439405, value: (0x) 24-00-00-01-24-00-0F-00-03-00-00-80-00-80-00-00-00-00-00-00

Since I have access to the device firmware, i've been able to confirm that the nRF Connect matches what the device is sending .

What would cause the ACharacteristic to be corrupted?


Viewing all articles
Browse latest Browse all 3212

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>