- Support for Control+ devices by :gh_user:`dlech`
- Fixed extraneous print statements
- Fixed regression in tachomotor position/rotation setting
- Refactored peripheral code into multiple files in sensor/
- Fixed a regression in port information querying
- Added support for Boost external motors (:class:`~bricknil.sensor.ExternalMotor`)
- Added positioning commands for External and Internal motors:
- :meth:`~bricknil.peripheral.TachoMotor.set_pos` to set an absolute position in degrees on a clock-face
- :meth:`~bricknil.peripheral.TachoMotor.rotate` to rotate a relative number of degrees
- Quick fix for :gh_issue:`3`. When instantiating a hub, use arg ble_id with either a UUID (mac) or BLE Network Address (Linux/Win) string
- Added support for PoweredUp light module 88005 and Win10 (thanks to :gh_user:`dlech`)
- Added support for current and voltage sensors
- Fixed bug with hub buttons
- Rewrote message parsing structure to be more modular
- Each message is separated out into its own class
- State is now stored only in the dispatch and the hub, and not the message parsing
- Peripheral value update is now handled safely as messages on the UniversalQueue going to the hub
- Changed hub matching to be more robust
- Since the name can change, we now use the manufacturer data instead to match hubs
- Tested using both Mac (adafruit) and Linux (bleak) libraries
- Added support for Duplo trains
- Motor speed control and sensing
- LED color
- Vision sensor
- Speaker sounds
- Hotfix for issue with UUID
- Fixed connecting to specific BTLE adapters based on network address
- Added linux support with Bleak (and possibly Win10). Tested on RPi
- Changed name to BrickNil
- Added support for PoweredUp Remote
- First release