diff --git a/cube/User/Src/regularCmds.c b/cube/User/Src/regularCmds.c index 5e8d578..12b9cac 100644 --- a/cube/User/Src/regularCmds.c +++ b/cube/User/Src/regularCmds.c @@ -2,21 +2,41 @@ #include #include +#include static bool globalStatsCmd(uint8_t argc, char **args) { - t_mbusCommStats *stats = mbusCommGetStats(); + uint32_t uptime = HAL_GetTick() / 1000; sendFormatString(\ - "Global statistics\n\r" \ - " Meterbus Requests: %ld\n\r" \ - " Meterbus Errors: %ld\n\r" \ - " UART Octets: %ld\n\r" \ - " UART Overruns: %ld\n\r" \ - " UART Framing Errs: %ld\n\r" \ - " UART Parity Errs: %ld\n\r" \ - " UART Noise Errs: %ld\n\r", - stats->mbusRequestCnt, stats->mbusErrorCnt, - stats->uartOctetCnt, stats->uartOverrunCnt, stats->uartFramingErrCnt, stats->uartParityErrCnt, stats->uartNoiseErrCnt + "Current uptime: %ld\n\r" \ + "\n\r", + uptime + ); + + t_deviceStats *deviceStats = getGlobalDeviceStats(); + sendFormatString(\ + "Global Device statistics\n\r" \ + " Total running hours: %ld\n\r" \ + " Total power cycles: %ld\n\r" \ + " Total requests: %ld\n\r" \ + " Total failures: %ld\n\r" \ + "\n\r", + deviceStats->totalRunningHours, deviceStats->totalPowercycles, + deviceStats->totalRequests, deviceStats->totalFailures + ); + + t_mbusCommStats *mbusStats = mbusCommGetStats(); + sendFormatString(\ + "Global Meterbus/UART statistics\n\r" \ + " Meterbus Requests: %ld\n\r" \ + " Meterbus Errors: %ld\n\r" \ + " UART Octets: %ld\n\r" \ + " UART Overruns: %ld\n\r" \ + " UART Framing Errs: %ld\n\r" \ + " UART Parity Errs: %ld\n\r" \ + " UART Noise Errs: %ld\n\r", + mbusStats->mbusRequestCnt, mbusStats->mbusErrorCnt, + mbusStats->uartOctetCnt, mbusStats->uartOverrunCnt, mbusStats->uartFramingErrCnt, mbusStats->uartParityErrCnt, mbusStats->uartNoiseErrCnt ); return true; }