Modify statistics handling in MessageReader to support binary parsing for core, radio, and packet stats. Update DeviceCommands to send appropriate commands for each stats type.

This commit is contained in:
agessaman
2025-11-17 09:59:50 -08:00
parent f82ed89c02
commit 4a97dd0968
2 changed files with 87 additions and 35 deletions

View File

@@ -208,12 +208,15 @@ class DeviceCommands(CommandHandlerBase):
async def get_stats_core(self) -> Event:
logger.debug("Getting core statistics")
return await self.send(b"\x38", [EventType.STATS_CORE, EventType.ERROR])
# CMD_GET_STATS (56) + STATS_TYPE_CORE (0)
return await self.send(b"\x38\x00", [EventType.STATS_CORE, EventType.ERROR])
async def get_stats_radio(self) -> Event:
logger.debug("Getting radio statistics")
return await self.send(b"\x39", [EventType.STATS_RADIO, EventType.ERROR])
# CMD_GET_STATS (56) + STATS_TYPE_RADIO (1)
return await self.send(b"\x38\x01", [EventType.STATS_RADIO, EventType.ERROR])
async def get_stats_packets(self) -> Event:
logger.debug("Getting packet statistics")
return await self.send(b"\x3a", [EventType.STATS_PACKETS, EventType.ERROR])
# CMD_GET_STATS (56) + STATS_TYPE_PACKETS (2)
return await self.send(b"\x38\x02", [EventType.STATS_PACKETS, EventType.ERROR])