In Motion Protocol
Single InMotion protocol entrypoint with auto-detected internal dialects (legacy V1 and V2).
Properties
Manufacturer name (used for display and logging).
Flow that emits every raw BLE characteristic notification received by this protocol, as a defensive copy of the original byte array. Collectors can use this to write raw logs or perform any custom processing on the unmodified BLE data.
Explicit command support matrix for this protocol. Commands outside this set are considered unsupported by design.
Functions
Create a command for the EUC
Get BMS (Battery Management System) data for this protocol. Returns null if this protocol does not support BMS data extraction. Protocols that support BMS data should override this method to return a list of BMSData objects representing the current state of all battery packs.
InMotion exposes two possible data characteristics depending on the dialect detected at runtime. Both must be enabled for notifications at connection time so that the protocol can determine which dialect is in use from the incoming frames:
API-level command support check (used by framework and clients).
Get the UUID for the data characteristic
Optional polling/query plan consumed by BLEManager orchestration.
Get the UUID for the service
Get the UUID for the write characteristic (if different from data characteristic)
Check if the device is ready for operation
Returns true if the given BLE device advertisement name suggests this protocol.
Optional query/response matcher used by BLEManager observability and retry loop.