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) ----