Releases: ThomasGerstenberg/blatann
Releases · ThomasGerstenberg/blatann
Release v0.6.0
v0.5.0
v0.4.0
v0.3.6
v0.3.5
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.3.0 taken out of release candidate state
Summary
- Python 3.7+ only, for Python 2.7 builds use
v0.2.x
releases - Requires
pc-ble-driver-py
v0.12.0+ (also py3.7+) - Uses Nordic Connectivity firmware v4.1.1 which corresponds with Softdevice v5 API
- Images can be flashed to dev kits and nrf52840 using nRF Connect and the hex files provided by
pc-ble-driver-py
- Images can be flashed to dev kits and nrf52840 using nRF Connect and the hex files provided by
- Should be mostly backwards compatible with v0.2.x, other than the above changes to dependent libraries and firmware
Known changes which may affect codebases
Scanner.scanning
field was replaced with a read-only propertyScanner.is_scanning
- Parameter validation was added for Advertising interval, scan window/interval/timeout, and connection interval/timeout. Will raise
ValueError
exceptions when provided parameters are out of range - With python3, converting from
bytes
tostr
(and vice-versa) requires an encoding format. By default the encoding scheme used isutf-8
but can be set per-characteristic peer.disconnect()
will now always return a Waitable object. Before it would returnNone
if not connected. Ifdisconnect()
is called when the peer is not connected, it will return a Waitable object that expires immediately
New Features (not a comprehensive list)
- Driver now properly works with 2 devices simultaneously
- event callbacks can now be used in a
with
context so the handler can be deregistered at the end of the block- Example usage here
- The
ScanFinishedWaitable
now provides ascan_reports
iterable which can be used to iterate on advertising packets as they're seen in real-time- Example usage here
- the
Peer
object now exposes properties the active connection parameters and the configured preferred connection parameters - the
Peripheral
object now exposes anon_service_discovery_complete
event - added
AdvertisingData.to_bytes()
to get the actual packet that will be advertised over the air