Удаленное устройство в конечном итоге отправляет индикацию, которую я обрабатываю в onCharacteristicChanged и отправляю последующую команду через gatt.writeCharacteristic из обратного вызова.
Код выглядит примерно так:
Код: Выделить всё
override fun onCharacteristicChanged(gatt: BluetoothGatt, ...) {
gatt.writeCharacteristic(...) # this sometimes returns 201
}
Это имеет смысл, поскольку стек BLE находится в процессе отправки подтверждения индикации обратно на периферийное устройство.
Мой вопрос: как я могу определить, когда стек BLE снова освободится, и я смогу отправить еще один пакет?
Я не нашел обратного вызова, чтобы определить, когда индикация была успешно подтверждена...
Подробнее здесь: https://stackoverflow.com/questions/798 ... onse-fails
Мобильная версия