From 11585b4783415b97d3f7fb239e25d5cad5d71383 Mon Sep 17 00:00:00 2001 From: PaulVua Date: Wed, 18 Mar 2026 16:38:56 +0100 Subject: [PATCH] =?UTF-8?q?Error=20flags:=20NPM=20deconnecte=20(0xFF)=20?= =?UTF-8?q?=E2=86=92=20ERR=5FNPM=20bit=203=20dans=20byte=2066?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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) --- loop/SARA_send_data_v2.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/loop/SARA_send_data_v2.py b/loop/SARA_send_data_v2.py index 4e7c135..98d768b 100755 --- a/loop/SARA_send_data_v2.py +++ b/loop/SARA_send_data_v2.py @@ -847,9 +847,17 @@ try: payload_csv[19] = npm_hum # 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 - payload.set_npm_status(npm_status_value) - print(f"NPM status: 0x{npm_status_value:02X}") + npm_status_value = rows[0][7] if rows and rows[0][7] is not None else 0xFF + + 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 payload.set_npm_core(PM1, PM25, PM10) @@ -1139,6 +1147,8 @@ try: error_flags |= ERR_RTC_DISCONNECTED if rtc_status == "reset": error_flags |= ERR_RTC_RESET + if npm_disconnected: + error_flags |= ERR_NPM payload.set_error_flags(error_flags) # ---- Firmware version (bytes 69-71) ----