mirror of https://github.com/meshcore-dev/MeshCore
Browse Source
- Added formatStatsReply, formatRadioStatsReply, and formatPacketStatsReply methods in MyMesh for both simple_repeater, simple_room_server, and simple_sensor. - Updated CommonCLI to handle new stats commands.pull/900/head
9 changed files with 114 additions and 0 deletions
@ -0,0 +1,54 @@ |
|||||
|
#pragma once |
||||
|
|
||||
|
#include "Mesh.h" |
||||
|
|
||||
|
class StatsFormatHelper { |
||||
|
public: |
||||
|
static void formatCoreStats(char* reply, |
||||
|
mesh::MainBoard& board, |
||||
|
mesh::MillisecondClock& ms, |
||||
|
uint16_t err_flags, |
||||
|
mesh::PacketManager* mgr) { |
||||
|
sprintf(reply, |
||||
|
"{\"battery_mv\":%u,\"uptime_secs\":%u,\"errors\":%u,\"queue_len\":%u}", |
||||
|
board.getBattMilliVolts(), |
||||
|
ms.getMillis() / 1000, |
||||
|
err_flags, |
||||
|
mgr->getOutboundCount(0xFFFFFFFF) |
||||
|
); |
||||
|
} |
||||
|
|
||||
|
template<typename RadioDriverType> |
||||
|
static void formatRadioStats(char* reply, |
||||
|
mesh::Radio* radio, |
||||
|
RadioDriverType& driver, |
||||
|
uint32_t total_air_time_ms, |
||||
|
uint32_t total_rx_air_time_ms) { |
||||
|
sprintf(reply, |
||||
|
"{\"noise_floor\":%d,\"last_rssi\":%d,\"last_snr\":%.2f,\"tx_air_secs\":%u,\"rx_air_secs\":%u}", |
||||
|
(int16_t)radio->getNoiseFloor(), |
||||
|
(int16_t)driver.getLastRSSI(), |
||||
|
driver.getLastSNR(), |
||||
|
total_air_time_ms / 1000, |
||||
|
total_rx_air_time_ms / 1000 |
||||
|
); |
||||
|
} |
||||
|
|
||||
|
template<typename RadioDriverType> |
||||
|
static void formatPacketStats(char* reply, |
||||
|
RadioDriverType& driver, |
||||
|
uint32_t n_sent_flood, |
||||
|
uint32_t n_sent_direct, |
||||
|
uint32_t n_recv_flood, |
||||
|
uint32_t n_recv_direct) { |
||||
|
sprintf(reply, |
||||
|
"{\"recv\":%u,\"sent\":%u,\"flood_tx\":%u,\"direct_tx\":%u,\"flood_rx\":%u,\"direct_rx\":%u}", |
||||
|
driver.getPacketsRecv(), |
||||
|
driver.getPacketsSent(), |
||||
|
n_sent_flood, |
||||
|
n_sent_direct, |
||||
|
n_recv_flood, |
||||
|
n_recv_direct |
||||
|
); |
||||
|
} |
||||
|
}; |
||||
Loading…
Reference in new issue