Comms Classes

BlueProxy

This class provides a managed interface to the bleak bluetooth library functions like scan, connect, disconnect, etc. bleak is better suited to asyncio-based applications, so the proxy class provides its own event loop to run bleak functions.

Despatcher

Despatcher is the abstract base class for BLEDespatcher and UDPDespatcher. All despatchers support the high-level communications interface with methods for fetch_telemetry, fetch_pose and despatch. The despatcher maintains statistics for the communications with the robot: for asynchronous commands, synchronous commands and sequential failures.

BLEDespatcher

The BLEDEspatcher has specific methods for send and recv that call methods in the hosted BlueProxy object.

UDPDespatcher

The UDPDEspatcher has specific methods for send and recv that interfaces with the hosted UDP socket.

Scanner

The scanner class handles background scanning for mowers. It pings all configured mowers over ICMP and clocks bluetooth advertising packets. Scanning stops once a connection is made, or if there is no ui demand for the Comms feature.

The scanner handles all connection and disconnection processes through the correct despatcher, and maintains a DataTable which underpins the Comms feature.