Merge branch 'master' into 2264-feature-check-for-low-heap-before-adding-to-nodedb-was-reboot-loop-heap-too-low

This commit is contained in:
Ben Meadors 2023-03-10 19:50:41 -06:00 committed by GitHub
commit 2e3b86608a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions
protobufs
src
mesh/generated/meshtastic
modules/Telemetry

@ -1 +1 @@
Subproject commit 19d49ec5280b6904f8c4cd1182ba4250d4122dbe
Subproject commit e3e22cdee6024663031fa2d87afd98a88adc2685

View File

@ -45,7 +45,7 @@ typedef enum _meshtastic_TelemetrySensorType {
/* Struct definitions */
/* Key native device metrics such as battery level */
typedef struct _meshtastic_DeviceMetrics {
/* 1-100 (0 means powered) */
/* 0-100 (>100 means powered) */
uint32_t battery_level;
/* Voltage measured */
float voltage;

View File

@ -10,6 +10,8 @@
#include <OLEDDisplay.h>
#include <OLEDDisplayUi.h>
#define MAGIC_USB_BATTERY_LEVEL 111
int32_t DeviceTelemetryModule::runOnce()
{
uint32_t now = millis();
@ -48,7 +50,12 @@ bool DeviceTelemetryModule::sendTelemetry(NodeNum dest, bool phoneOnly)
t.which_variant = meshtastic_Telemetry_device_metrics_tag;
t.variant.device_metrics.air_util_tx = myNodeInfo.air_util_tx;
t.variant.device_metrics.battery_level = powerStatus->getBatteryChargePercent();
if (powerStatus->getIsCharging()) {
t.variant.device_metrics.battery_level = MAGIC_USB_BATTERY_LEVEL;
} else {
t.variant.device_metrics.battery_level = powerStatus->getBatteryChargePercent();
}
t.variant.device_metrics.channel_utilization = myNodeInfo.channel_utilization;
t.variant.device_metrics.voltage = powerStatus->getBatteryVoltageMv() / 1000.0;