- Rename
reading.compass
toreading.heading
for better "naming things" - SignalK telemetry: Use Radian (rad) unit for angle values
- SignalK telemetry: Use Kelvin unit for temperature
- SignalK telemetry: Use ratio (percentage) for battery level
- Compass: Add
--compass=on
option to enable compass - NMEA0183 telemetry: Use
$MLVWR
sentence prefix for wind data - NMEA0183 telemetry: Emit compass/heading data using
$MLHDT
sentence - NMEA0183 telemetry: Emit compass/pitch+roll data using
$MLXDR
sentence - NMEA0183 telemetry: Emit air temperature and battery level data using
$MLXDR
sentences - Project metadata: Migrate from
setup.py
topyproject.toml
Thanks to @UserMacUseface and @honigwald for providing excellent domain knowledge and bug reports.
- Fix import error
ModuleNotFoundError: No module named 'aiorate'
- Configure minimum log level to
WARNING
when using the--quiet
option
- Fix import error on Python 3.7
AttributeError: module 'asyncio' has no attribute 'exceptions'
- Add a few more software tests
- Add a few example programs
- Drop support for Python 3.6
- Add
make lint
sandbox utility task - Emit
CalypsoDecodingError
exceptions when decoding wire data fails - Refactor workhorse functions from
cli.py
toengine.py
- Significantly improve test coverage
- Introduce
Settings
, to bundle configuration settings through command line options or environment variables.--ble-adapter
/CALYPSO_BLE_ADAPTER
--ble-address
/CALYPSO_BLE_ADDRESS
--ble-discovery-timeout
/CALYPSO_BLE_DISCOVERY_TIMEOUT
--ble-connect-timeout
/CALYPSO_BLE_CONNECT_TIMEOUT
- Add
--quiet
option /CALYPSO_QUIET
environment variable for silencing output to STDOUT - Explicitly use little-endian byte order for decoding binary data
- The
CALYPSO_ADDRESS
environment variable has been renamed toCALYPSO_BLE_ADDRESS
.
- Telemetry: Generate fake device readings, for supplying synthetic data
- CI: Run software tests on GHA
- Fix installation on Python 3.6
- NMEA-0183: Fix computing
LR
direction indicator - NMEA-0183: Compute missing
speed_
from otherspeed_
values - NMEA-0183: Implement checksum
- Telemetry: Synthesize zeroing of wind direction, when wind speed goes zero
- Add software tests for telemetry subsystem
- NMEA-0183: Fix message structure
- NMEA-0183: Fix wind direction and add "left/right of bow" indicator
- Fix reading/decoding data rate
- Optimize discovery: Stop scanning when device was found
- Minimal implementation, connecting to the device
- Add CLI interface with subcommands
info
andexplore
- Implement client interface as context manager
- Increase default timeout values to 15 seconds
- Rework device info acquisition
- Read and decode device status bytes: mode, rate, compass
- Add
set-option
subcommand - Add
read
subcommand - Implement
--subscribe
flag toread
subcommand - Add
--rate
option toread
subcommand to set the device data rate before starting the conversation - Add telemetry subsystem, to be used with new
--target
option - Add telemetry adapter for
UDP_SIGNALK_DELTA
- Add telemetry adapter for
UDP_BROADCAST_NMEA0183