đ Changes
- Make
services
direct references and match properties for I/O (#238), special thanks to @solvek for reporting the issue and providing inspiration for the implementation
âšī¸ Note: This is a potentially breaking change for users of peripherals that have incorrect (or missing) characteristic properties:
characteristicOf
will now only match characteristics with the expected property; in other words, when performing characteristic I/O, the following properties must be on the characteristic:
Characteristic action | Required property |
---|---|
read(..)
| read
|
write(.., WithResponse)
| write
|
write(.., WithoutReponse)
| writeWithoutResponse
|
observe(..)
| notify or indicate
|
If a sought after characteristic does not have the required property, then NoSuchElementException
will be thrown at the time of the I/O operation. If you're communicating with a peripheral that has incorrect (or missing) characteristic properties, then you'll need to manually traverse the Peripheral.services
to locate the desired Characteristic
to perform I/O against.
See I/O documentation for more details.