Data Characteristic Changed works on one device and not on an identical second one

75 Views Asked by At

I have a small program to send BluetoothLE data on a Xamarin Forms application.

the bluetoothle device is a Honeywell Dex Adapter. the handheld devices are Honeywell CT60 running 7.1.1 the port sniffer i use is Device Monitoring Studio

I write to a characteristic and receive data through the DataCharacteristicChange event.

this is how i get the write characteristic

WriteCharacteristic = gatt.GetService(DEX_SERVICE_SPP)
                        .GetCharacteristic(DEX_CHARACTERISTIC_DATAWRITE);

then i do this

gatt.SetCharacteristicNotification(WriteCharacteristic, true)

and finally this

BluetoothGattDescriptor descWrite = WriteCharacteristic.GetDescriptor(CLIENT_CHARACTERISTIC_CONFIG);

descWrite.SetValue(BluetoothGattDescriptor.EnableIndicationValue.ToArray()); gatt.WriteDescriptor(descWrite);

this is the event that is fired on device #1, but not device #2

public override void OnCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic)

On Device #1, it works, i send 0x05 and get back 0x10 0x30. The 0x10 0x30 is handled in the DataCharacteristicChanged event. I see it also in the port sniffer i have.

On Device #2, which is identical to #1 (same OS 7.1.1, upgrade, etc..), the same operation sends the 0x05 but and i get the 0x10 0x30 to the port sniffer but it never gets to the DataCharacteristicEvent in the Device #2.

My question is two-fold. Does anyone have any idea what could cause this behavior. What tools could I use to detect difference in configuration between 2 identical devices.

Thanks

0

There are 0 best solutions below