Hi,
Using Argon with OS 4.0.0 configured as a BLE central device to do a simple data transfer routine to an ESL display.
SCAN->CONNECT->TRANSFER->DISCONNECT
2 characteristics. One to write and other that notifies ACK after a write.
const BleUuid esl_write_uuid("FEA1");
const BleUuid esl_notify_uuid("FEA2");
BleCharacteristic esl_write;
BleCharacteristic esl_notify;
Questions are:
- What kind of transfer rates are others seeing? With an Android (Broadcom) device I can move data @ ~3KB/s to this device.
With the Argon its more like 0.5KB/s. I have another nrf based device here too and that screams at >10KB/s. Since the Argon is nrf based I would have assumed I could achieve similar.
All examples have the same negotiated MTU and packet size.
Question 2:
I find it odd that I have to set the notify of the characteristic before every write or else I get no response. Is this expected behavior? I do not see this behavior with the other central devices so the ESL device is not resetting this.
esl_notify.subscribe(true);
esl_write.setValue(data, data_sz);
I wonder if the oddity above might suggest why my transfer rates are so slow relative other central devices. I enabled trace but I am not seeing anything there that suggest and issue with the connection.
Any thoughts appreciated.