У меня проблема с порядком следования при чтении данных из ble. Эта проблема упоминается здесь
Версия 1.2.4 из cordova-plugin-ble-central имеет новый параметр, позволяющий получить порядок последовательности и оставить возможность клиент переупорядочивает пакет. PR - , здесь . Итак, у обратного вызова есть второй параметр, который является порядковым номером:
ble.startNotification("device", "service", "characteristic", function (data, sequence) {
/*
* The sequence parameter will be undefined on iOS. On Android it will be
* monotonically increasing, starting at 0 for the first call to this callback function
* and then increasing by 1 for each callback in order. There will be no gaps in
* the sequence number so it is safe to wait forever for the next expected number.
*
* So, if you receive sequence 0 and then 2, it is guaranteed that 1 has already been
* processed by the plugin and dispatched into a queue for delivery so it will arrive
* to your callback.
*/
}, function (err) {});
Как я могу использовать этот порядковый номер в моем приложении ioni c? Я получаю Observable и не вижу, как получить доступ к этому параметру:
this.ble.startNotification(device.handle,
BSC_SERVICE_UUID,
BSC_OUTPUT_CHARACTERISTIC_UUID).subscribe(y => {
const x = new Uint8Array(y);
....
});