Reduce read (characteristic) timeout for BLE

b = ble(...)
c = charachteristic(...)
read(c, 'oldest')
% read(c, 'latest')
If there is no data, read will wait for 10s and then issue error message:
Device has not sent new data. If device is disconnected, then clear existing ble object and recreate it.
Is there a way to reduce the timeout from 10s? The serialport object for example has a Timeout property.
Alternatively, is there a way to check if there is data available to read without actually calling read?

Answers (1)

  • As of the current release, the default timeout of read cannot be configured.
  • If a given characteristic supports 'Notify' attribute, subscribe method can be used to check if data is available. Documentation about it can be found here.

Products

Release

R2020b

Asked:

on 5 Feb 2021

Answered:

on 9 Feb 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!