فهرست منبع

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

Victor 3 سال پیش
والد
کامیت
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);
         int16_t raw = buff[0] | ((int16_t)buff[1] << 8);
         if(instance->familyCode == FC_DS18S20) {
         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 {
         } else {
             sensor->temp = (float)raw / 16.0f;
             sensor->temp = (float)raw / 16.0f;
         }
         }