You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the client calls pRemoteCharacteristic->writeValue(ftmcpData, true), write-with-response, it takes some time (about 300-400ms?) before the server has acknowledged the write action....
However, if within that time period a second call to pRemoteCharacteristic->writeValue(ftmcpData, true) is executed, that second call is handled correctly at first, but the acknowledgement by the server of the write action is later causing a fatal error!
Have a look at the critical part of the log file (it is about the Char with UUID 0x2AD9):
16:39:01.289 -> D NimBLEServer: >> handleGapEvent:
16:39:01.289 -> D NimBLECharacteristicCallbacks: onStatus: default
16:39:01.289 -> D NimBLECharacteristic: Characteristic 0x2ad9 Write event
16:39:01.289 -> D NimBLECharacteristic: >> setValue: length=1, data=01, characteristic UUID=0x2ad9
16:39:01.289 -> D NimBLECharacteristic: << setValue
16:39:01.289 -> >> CPWrite
16:39:01.289 -> << CPWrite
16:39:01.289 -> D NimBLERemoteCharacteristic: >> writeValue(), length: 1
16:39:01.334 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 01] [Values: 00 ]
16:39:01.334 -> Reset Machine!
16:39:01.334 -> D NimBLECharacteristicCallbacks: onWrite: default
16:39:01.409 -> D NimBLECharacteristic: Characteristic 0x2ad9 Write event
16:39:01.409 -> D NimBLECharacteristic: >> setValue: length=1, data=00, characteristic UUID=0x2ad9
16:39:01.409 -> D NimBLECharacteristic: << setValue
16:39:01.409 -> >> CPWrite
16:39:01.409 -> << CPWrite
16:39:01.409 -> D NimBLERemoteCharacteristic: >> writeValue(), length: 1
16:39:01.409 -> --> Raw FTM Control Point Data [len: 1] [OpCode: 00] [Values: 00 ]
16:39:01.444 -> Request Control of Machine!
16:39:01.444 -> D NimBLECharacteristicCallbacks: onWrite: default
16:39:01.570 -> D NimBLEClient: Got Client event
16:39:01.570 -> D NimBLEClient: Notify Recieved for handle: 16
16:39:01.570 -> D NimBLEClient: checking service 0x180a for handle: 16
16:39:01.604 -> D NimBLEClient: checking service 0x1818 for handle: 16
16:39:01.604 -> D NimBLEClient: checking service 0x1816 for handle: 16
16:39:01.604 -> D NimBLEClient: checking service 0x1826 for handle: 16
16:39:01.604 -> D NimBLEClient: Got Notification for characteristic Characteristic: uuid: 0x2ad2, handle: 16 0x0010, props: 0x10
16:39:01.604 -> Descriptor: uuid: 0x2902, handle: 17
16:39:01.604 -> D NimBLEClient: Invoking callback for notification on characteristic Characteristic: uuid: 0x2ad2, handle: 16 0x0010, props: 0x10
16:39:01.637 -> Descriptor: uuid: 0x2902, handle: 17
16:39:01.637 -> D NimBLECharacteristic: >> setValue: length=11, data=6402000000001400000000, characteristic UUID=0x2ad2
16:39:01.637 -> D NimBLECharacteristic: << setValue
16:39:01.637 -> D NimBLECharacteristic: >> notify: length: 11
16:39:01.637 -> D NimBLECharacteristicCallbacks: onNotify: default
16:39:01.637 -> D NimBLEServer: >> handleGapEvent:
16:39:01.670 -> D NimBLECharacteristicCallbacks: onStatus: default
16:39:01.670 -> D NimBLECharacteristic: << notify
16:39:01.670 -> D NimBLEClient: Got Client event
16:39:01.670 -> D NimBLEClient: Notify Recieved for handle: 43
16:39:01.670 -> D NimBLEClient: checking service 0x180a for handle: 43
16:39:01.670 -> D NimBLEClient: checking service 0x1818 for handle: 43
16:39:01.670 -> D NimBLEClient: Got Notification for characteristic Characteristic: uuid: 0x2a63, handle: 43 0x002b, props: 0x10
16:39:01.704 -> Descriptor: uuid: 0x2902, handle: 44
16:39:01.704 -> D NimBLEClient: Invoking callback for notification on characteristic Characteristic: uuid: 0x2a63, handle: 43 0x002b, props: 0x10
16:39:01.704 -> Descriptor: uuid: 0x2902, handle: 44
16:39:01.704 -> D NimBLECharacteristic: >> setValue: length=4, data=00000000, characteristic UUID=0x2a63
16:39:01.704 -> D NimBLECharacteristic: << setValue
16:39:01.704 -> D NimBLECharacteristic: >> notify: length: 4
16:39:01.737 -> D NimBLECharacteristicCallbacks: onNotify: default
16:39:01.737 -> D NimBLEServer: >> handleGapEvent:
16:39:01.737 -> D NimBLECharacteristicCallbacks: onStatus: default
16:39:01.737 -> D NimBLECharacteristic: << notify
16:39:01.737 -> I NimBLERemoteCharacteristic: Write complete; status=0 conn_handle=0
16:39:01.737 -> D NimBLERemoteCharacteristic: << writeValue, rc: 0
When the client calls pRemoteCharacteristic->writeValue(ftmcpData, true), write-with-response, it takes some time (about 300-400ms?) before the server has acknowledged the write action....
However, if within that time period a second call to pRemoteCharacteristic->writeValue(ftmcpData, true) is executed, that second call is handled correctly at first, but the acknowledgement by the server of the write action is later causing a fatal error!
Have a look at the critical part of the log file (it is about the Char with UUID 0x2AD9):
The text was updated successfully, but these errors were encountered: