Merge PowerSaving-v17 and harden noise calibration and RX recovery
Port the measured RXPS model without changing Cascade wire preambles or automatically enabling experimental levels. Use a spaced weighted median with bounded calibration windows, preserve packet ownership across CAD, and check actual SX126x receive mode before recovery. Preserve Cascade sleep and radio fixes, integrate the new sensor and board profiles, and correct BSEC script inheritance and the MKE UART pin conflict. Native regressions, production-method/SPI harnesses, and ESP32, nRF52, and STM32 builds pass. Hardware comparison and fault-injection validation are recorded privately.
This commit is contained in:
commit
581b82fa51
34 files changed
+1800
-495
No files matched your search
@@ -225,7 +225,18 @@ uint8_t SensorMesh::handleRequest(uint8_t perms, uint32_t sender_timestamp, uint
|
||||
if (telemetry_permissions & TELEM_PERM_BASE) {
|
||||
telemetry.addVoltage(TELEM_CHANNEL_SELF, (float)board.getBattMilliVolts() / 1000.0f);
|
||||
}
|
||||
if (telemetry_permissions & TELEM_PERM_BASE) {
|
||||
const float temperature = board.getMCUTemperature();
|
||||
if (!isnan(temperature)) {
|
||||
telemetry.addTemperature(TELEM_CHANNEL_SELF, temperature);
|
||||
}
|
||||
}
|
||||
// query other sensors -- target specific
|
||||
if ((telemetry_permissions & TELEM_PERM_LOCATION)
|
||||
&& sensors.getLocationProvider() != nullptr
|
||||
&& sensors.getLocationProvider()->getGPSPowerSaving()) {
|
||||
sensors.getLocationProvider()->syncTime();
|
||||
}
|
||||
sensors.querySensors(telemetry_permissions, telemetry);
|
||||
// TODO: let requester know permissions they have: telemetry.addPresence(TELEM_CHANNEL_SELF, perms);
|
||||
|
||||
|
||||
Reference in new issue
Block a user