Victor 3 лет назад
Родитель
Сommit
d8d8632491
1 измененных файлов с 7 добавлено и 7 удалено
  1. 7 7
      sensors/HDC1080.c

+ 7 - 7
sensors/HDC1080.c

@@ -48,8 +48,8 @@ bool unitemp_HDC1080_free(Sensor* sensor) {
 bool unitemp_HDC1080_init(Sensor* sensor) {
     I2CSensor* i2c_sensor = (I2CSensor*)sensor->instance;
 
-    uint8_t data[2]; // = {0b0001000};
-    unitemp_i2c_readRegArray(i2c_sensor, 0xFF, 2, data);
+    uint8_t data[2];
+    if(!unitemp_i2c_readRegArray(i2c_sensor, 0xFF, 2, data)) return UT_SENSORSTATUS_TIMEOUT;
     uint16_t device_id = ((uint16_t)data[0] << 8) | data[1];
     if(device_id != 0x1050) {
         FURI_LOG_E(
@@ -62,7 +62,7 @@ bool unitemp_HDC1080_init(Sensor* sensor) {
     data[0] = 0b0001000;
     data[1] = 0;
     //Установка режима работы и разрядности измерений
-    unitemp_i2c_writeRegArray(i2c_sensor, 0x02, 2, data);
+    if(!unitemp_i2c_writeRegArray(i2c_sensor, 0x02, 2, data)) return UT_SENSORSTATUS_TIMEOUT;
 
     return true;
 }
@@ -78,16 +78,16 @@ UnitempStatus unitemp_HDC1080_update(Sensor* sensor) {
 
     uint8_t data[2] = {0};
     //Запуск измерения
-    unitemp_i2c_writeArray(i2c_sensor, 1, data);
+    if(!unitemp_i2c_writeArray(i2c_sensor, 1, data)) return UT_SENSORSTATUS_TIMEOUT;
     furi_delay_ms(10);
-    unitemp_i2c_readArray(i2c_sensor, 2, data);
+    if(!unitemp_i2c_readArray(i2c_sensor, 2, data)) return UT_SENSORSTATUS_TIMEOUT;
 
     sensor->temp = ((float)(((uint16_t)data[0] << 8) | data[1]) / 65536) * 165 - 40;
 
     data[0] = 1;
-    unitemp_i2c_writeArray(i2c_sensor, 1, data);
+    if(!unitemp_i2c_writeArray(i2c_sensor, 1, data)) return UT_SENSORSTATUS_TIMEOUT;
     furi_delay_ms(10);
-    unitemp_i2c_readArray(i2c_sensor, 2, data);
+    if(!unitemp_i2c_readArray(i2c_sensor, 2, data)) return UT_SENSORSTATUS_TIMEOUT;
     sensor->hum = ((float)(((uint16_t)data[0] << 8) | data[1]) / 65536) * 100;
 
     return UT_SENSORSTATUS_OK;