mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-10-15 09:20:00 +00:00
peripherals & power: GPS fixes, poweroff/pwrmgt, upstream SensorManager telemetry
- gps: servers honour gps_enabled at boot (was lost on reboot; zc.gps_set upgrades older prefs to on once); sleep lock only while acquiring; gps off works on boards without a power line (UART sleep); UI toggles and fixes handled on the main thread; configure only after a good init; observer parks its GPS; one interval clamp (clampGpsInterval); one nav-mode knob (room servers on Air530Z now stationary); GNSS UARTE from DT - gps: split into ZephyrGPSManager / gps_power / gps_module_cfg (+gps_internal.h); dead driver branches, gps_get_diag, sats_* removed - clock: ZephyrRTCClock writes the hardware RTC itself (clkreboot now resets it); MESH_EVENT_RTC_SAVE gone - power: one power-off path (zephcore_power_off, ZephyrBoard::powerOff), poweroff/shutdown CLI, get pwrmgt.*, crash record kept across reboot, battery reading cached 10 s, fuel gauge on the current API - telemetry: upstream SensorManager + CayenneLPP (rounded to nearest), one builder for all roles; per-sensor channels, MCU temp always, guest gating and inverse mask on servers; sensor list/get/set work; BME280/BMP280 also probed at 0x77 - CLI: gps in upstream's form, get gps detail, gps sync
This commit is contained in:
@@ -237,6 +237,7 @@ protected:
|
||||
def("tz_offset", _p->tz_offset);
|
||||
def("backoff", _p->backoff_multiplier);
|
||||
def("disc_ts", _p->discovery_mod_timestamp);
|
||||
def("gps_set", _p->gps_enabled_set);
|
||||
}
|
||||
|
||||
public:
|
||||
@@ -329,9 +330,17 @@ bool serverPrefsFromJson(NodePrefs &p, Stream &in)
|
||||
NodePrefs t = p;
|
||||
ServerJson j(&t);
|
||||
|
||||
/* Absent keys keep the caller's value, so clear the marker first: a
|
||||
* file from before it existed was written by firmware that ran the GPS
|
||||
* regardless of gps.en, and keeps doing so (NodePrefs.h). */
|
||||
t.gps_enabled_set = 0;
|
||||
if (!j.load(in)) {
|
||||
return false;
|
||||
}
|
||||
if (!t.gps_enabled_set) {
|
||||
t.gps_enabled = 1;
|
||||
t.gps_enabled_set = 1;
|
||||
}
|
||||
saneRadio(t);
|
||||
sanitizeNodePrefs(&t);
|
||||
p = t;
|
||||
|
||||
Reference in New Issue
Block a user