Просмотр исходного кода

Disabled pseudo-increase in the bit depth of the DS18S20 sensor. Current bit depth - 9 bits

Victor 3 лет назад
Родитель
Сommit
55e936e763
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      interfaces/OneWireSensor.c

+ 4 - 1
interfaces/OneWireSensor.c

@@ -469,7 +469,10 @@ UnitempStatus unitemp_onewire_sensor_update(Sensor* sensor) {
         }
         int16_t raw = buff[0] | ((int16_t)buff[1] << 8);
         if(instance->familyCode == FC_DS18S20) {
-            sensor->temp = ((float)raw / 2.0f) - 0.25 + ((float)(buff[6]) / 16);
+            //Песевдо-12-бит. Отключено из-за неестественности и нестабильности показаний по сравнению с DS18B20
+            //sensor->temp = ((float)raw / 2.0f) - 0.25f + (16.0f - buff[6]) / 16.0f;
+            //Честные 9 бит
+            sensor->temp = ((float)raw / 2.0f);
         } else {
             sensor->temp = (float)raw / 16.0f;
         }