Leaperkim Protocol
Leaperkim/Veteran protocol implementation based on WheelLog raw frame behavior.
Stream framing:
Header: DC 5A 5C
Byte 3: frame length marker (len)
Full frame size: len + 4 bytes
For long frames (len > 38), trailing CRC32 is expected
Inheritors
Constructors
Properties
Manufacturer name
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.
List of supported models
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.
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
Optional fast header check: returns true if chunk appears to contain frames belonging to this protocol, based on magic-byte patterns alone. The default returns false (opt-out). Protocols override this to enable frame-header-based routing without full decoding.
Optional query/response matcher used by BLEManager observability and retry loop.