Error flags: NPM deconnecte (0xFF) → ERR_NPM bit 3 dans byte 66

- npm_status 0xFF = pas de reponse du capteur → flag ERR_NPM (byte 66 bit 3)
  et byte 67 reste a 0x00 (pas de status valide a transmettre)
- npm_status valide → byte 67 tel quel, pas de flag dans byte 66

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-03-18 16:38:56 +01:00
parent 52b86dbc3d
commit 11585b4783

View File

@@ -847,9 +847,17 @@ try:
payload_csv[19] = npm_hum payload_csv[19] = npm_hum
# npm_status: last value only (no average), use rowid (not timestamp) # npm_status: last value only (no average), use rowid (not timestamp)
npm_status_value = rows[0][7] if rows and rows[0][7] is not None else 0 npm_status_value = rows[0][7] if rows and rows[0][7] is not None else 0xFF
payload.set_npm_status(npm_status_value)
print(f"NPM status: 0x{npm_status_value:02X}") npm_disconnected = False
if npm_status_value == 0xFF:
# 0xFF = NPM disconnected/no response → will set ERR_NPM in error_flags
npm_disconnected = True
print("NPM status: 0xFF (disconnected)")
else:
# Valid status from NPM → send as byte 67
payload.set_npm_status(npm_status_value)
print(f"NPM status: 0x{npm_status_value:02X}")
#add data to payload UDP #add data to payload UDP
payload.set_npm_core(PM1, PM25, PM10) payload.set_npm_core(PM1, PM25, PM10)
@@ -1139,6 +1147,8 @@ try:
error_flags |= ERR_RTC_DISCONNECTED error_flags |= ERR_RTC_DISCONNECTED
if rtc_status == "reset": if rtc_status == "reset":
error_flags |= ERR_RTC_RESET error_flags |= ERR_RTC_RESET
if npm_disconnected:
error_flags |= ERR_NPM
payload.set_error_flags(error_flags) payload.set_error_flags(error_flags)
# ---- Firmware version (bytes 69-71) ---- # ---- Firmware version (bytes 69-71) ----