При ошибках чтения с датчика корректно сообщаем ошибку наверх

This commit is contained in:
ftc
2025-12-25 09:39:27 +03:00
parent 71b4ab6fc1
commit 3a39d3b4a3
+4
View File
@@ -21,6 +21,7 @@ IPAddress subnet(MY_NET);
ModbusIP mb;
DHT dht(DHTPIN, DHTTYPE);
char id[64];
bool dht_read_error = false;
#define REGISTER_CURRENT_TEMP 0
#define REGISTER_CURRENT_HUM 1
@@ -35,6 +36,7 @@ unsigned long current = 0;
Modbus::ResultCode OnModbusRequest(Modbus::FunctionCode fc, const Modbus::RequestData data)
{
last_poll = current;
if (dht_read_error) return Modbus::EX_ILLEGAL_VALUE;
return Modbus::EX_SUCCESS;
}
@@ -81,6 +83,8 @@ void UpdateDHTData()
float t = dht.readTemperature();
cur_hum = (int)(h * 100);
cur_t = (int)(t * 100);
if (cur_t == 2147483647 && cur_hum == 2147483647) dht_read_error = true;
else dht_read_error = false;
}
unsigned long last_read = 0;