|
@@ -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;
|
|
|
}
|
|
}
|