C code and C++ library, driver software for Maxim Integrated DS1775, DS75 thermometer and thermostat temperature sensor. Code supports continuous or shut-down/standby, hysteresis, alarm limits, comparator or interrupt mode, fault filtering, and active low/high. Compact 5-pin SOT23 packaging

Dependents:   DS1775_Digital_Thermostat_Temperature

Revision:
14:c74a5b4d6715
Parent:
12:3ca79cd71289
Child:
15:449134e4b43f
--- a/ds1775_c.cpp	Sun Apr 07 11:05:28 2019 +0000
+++ b/ds1775_c.cpp	Sun Apr 07 11:24:02 2019 +0000
@@ -85,8 +85,7 @@
     ds1775_raw_data tmp;
      
     if (reg == DS1775_REG_TEMPERATURE || 
-        (reg == DS1775_REG_THYST_LOW_TRIP ||
-        reg == DS1775_REG_TOS_HIGH_TRIP)) {
+        reg == DS1775_REG_THYST_LOW_TRIP || reg == DS1775_REG_TOS_HIGH_TRIP) {
         /* write to the Register Select, true is for repeated start */
         ret = i2c_bus.write(ds1775_write_address, &reg, 1, true);
         /* read the two bytes of data */
@@ -119,7 +118,7 @@
     if (reg == DS1775_REG_TEMPERATURE ||
         reg == DS1775_REG_THYST_LOW_TRIP || reg == DS1775_REG_TOS_HIGH_TRIP) {
         ds1775_read_reg(&tmp.swrd, reg, i2c_bus);
-        temperature = (float)tmp.swrd;
+        temperature = (float)tmp.swrd;  /* values are 2's complement */
         temperature *= DS1775_CF_LSB;
         return temperature;
     } else {
@@ -136,7 +135,7 @@
     char cmd[3];
     ds1775_raw_data tmp;
 
-    if (reg >= DS1775_REG_CONFIGURATION && reg <= DS1775_REG_MAX) {
+    if (reg >= DS1775_REG_THYST_LOW_TRIP && reg <= DS1775_REG_MAX) {
         cmd[0] = reg;
         tmp.swrd = value;
         cmd[1] = tmp.msb;