ソースを参照

Added MAX31855 sensor missing detection

Victor 3 年 前
コミット
e538cf13de
1 ファイル変更3 行追加1 行削除
  1. 3 1
      sensors/MAX31855.c

+ 3 - 1
sensors/MAX31855.c

@@ -22,7 +22,7 @@ const SensorType MAX31855 = {
     .altname = "MAX31855 (Thermocouple)",
     .altname = "MAX31855 (Thermocouple)",
     .interface = &SPI,
     .interface = &SPI,
     .datatype = UT_TEMPERATURE,
     .datatype = UT_TEMPERATURE,
-    .pollingInterval = 1000,
+    .pollingInterval = 500,
     .allocator = unitemp_MAX31855_alloc,
     .allocator = unitemp_MAX31855_alloc,
     .mem_releaser = unitemp_MAX31855_free,
     .mem_releaser = unitemp_MAX31855_free,
     .initializer = unitemp_MAX31855_init,
     .initializer = unitemp_MAX31855_init,
@@ -65,6 +65,8 @@ UnitempStatus unitemp_MAX31855_update(Sensor* sensor) {
 
 
     uint32_t raw = (buff[0] << 24) | (buff[1] << 16) | (buff[2] << 8) | buff[3];
     uint32_t raw = (buff[0] << 24) | (buff[1] << 16) | (buff[2] << 8) | buff[3];
 
 
+    if(raw == 0xFFFFFFFF || raw == 0) return UT_SENSORSTATUS_TIMEOUT;
+
     //Определение состояния термопары
     //Определение состояния термопары
     uint8_t state = raw & 0b111;
     uint8_t state = raw & 0b111;
     //Обрыв
     //Обрыв