Files
ZephCore/zephcore/helpers/ui/telemetry_text.h
T
liquidraver 059022403b ui: admin telemetry decoder, battery % from board curves, PowerPolicy
- admin screen: telemetry via upstream LPPDataHelpers (ported; fixed its
  1-byte humidity size), every field, per-channel, signed current
  (helpers/ui/telemetry_text)
- battery %: both UIs show ZephyrBoard::getBattPercent() (discharge
  curve / fuel gauge) instead of a linear 3.0-4.2 V estimate
- app/PowerPolicy: low-battery auto-shutdown + v-contact alert +
  autoshutdown CLI on every companion (headless too); under 2000 mV
  counts as no battery; default 3200 mV, stored 3300 migrated once
- one time_sync.c for both UIs; ui_push_radio_state() for all roles
- repeater admin screen in its own file; handleInput split per mode
- dead UI code removed; companion help fits one reply frame
2026-09-25 20:49:48 +02:00

18 lines
623 B
C

/*
* SPDX-License-Identifier: MIT
*
* CayenneLPP telemetry as display text, one field per line (the joystick UI's
* repeater admin screen). Channel 1 is the node itself (battery, MCU
* temperature, GPS); every other channel is a sensor, shown with a "cN "
* prefix. Types it does not show are skipped by their size (upstream's
* LPPData), never a reason to stop. No Zephyr dependencies (host-tested).
*/
#pragma once
#include <stddef.h>
#include <stdint.h>
/* Writes a NUL-terminated string; "no telemetry" when nothing was shown. */
void telemetry_text(const uint8_t *data, uint8_t len, char *out, size_t cap);