Sample host software for the Maxim Integrated DS1775, DS75 Digital Thermometer Thermostat IC hosted on the MAX32630FTHR. The DS1775 is suitable for PCs, cell phones, and other thermally sensitive systems.
Dependencies: max32630fthr DS1775_Digitial_Thermometer_Thermostat USBDevice
Diff: main.cpp
- Revision:
- 4:d3171636a86b
- Parent:
- 3:d1beaf95d945
- Child:
- 5:af38bfffd6d3
--- a/main.cpp Sun Apr 07 09:40:04 2019 +0000 +++ b/main.cpp Sun Apr 07 09:55:34 2019 +0000 @@ -74,7 +74,7 @@ DS1775 temp_sensor(i2cBus, DS1775_I2C_SLAVE_ADR_R0); i2cBus.frequency(400000); - + #if 0 /* Configure for 9 bit resolution, fault filter 1, active low, comparator, continuous, */ @@ -135,7 +135,7 @@ printf("\r\n\r\n"); -#if 1 +#if 0 temp_sensor.write_trip_low(-55.0f); wait(0.03); temperature = temp_sensor.read_reg_as_temperature(DS1775_REG_THYST_LOW_TRIP); @@ -149,8 +149,7 @@ temperature, temp_sensor.celsius_to_fahrenheit(temperature)); printf("\r\n\r\n"); #endif -#if 0 - + #endif /*************************************************************************** * Call the C code version of the driver *************************************************************************** @@ -158,22 +157,23 @@ #include "ds1775_c.h" printf("C implementation of the code\r\n"); ds1775_init(DS1775_I2C_SLAVE_ADR_R0); - /* Configure for fault filter 1, comparator, continuous, - * normal format, 8 sps, 12 bit resolution + /* Configure for 9 bit resolution, fault filter 1, + active low, comparator, continuous, */ - ds1775_write_cfg(uint16_t(DS1775_CFG_FAULT_FILTER_1 | - DS1775_CFG_COMPARATOR_MODE | DS1775_CFG_CONTINUOUS | - DS1775_CFG_NORMAL_FORMAT | DS1775_CFG_CONV_RATE_8 | - DS1775_CFG_RESOLUTION_12BIT), i2cBus); + ds1775_write_cfg_reg(uint8_t(DS1775_CFG_RESOLUTION_9BIT | + DS1775_CFG_FAULT_FILTER_6 | DS1775_CFG_OS_POLARITY_ACT_LOW | + DS1775_CFG_COMPARATOR_MODE | DS1775_CFG_CONTINUOUS), i2cBus); for (i = 0; i < 10; i++) { - wait(DS1775_WAIT_CONV_RATE_8); + wait(DS1775_WAIT_CONV_TIME_9BIT); temperature = ds1775_read_reg_as_temperature(DS1775_REG_TEMPERATURE, i2cBus); printf("Temperature = %3.4f Celsius, %3.4f Fahrenheit\r\n", temperature, temp_sensor.celsius_to_fahrenheit(temperature)); } - ds1775_read_reg(&cfg, DS1775_REG_CONFIGURATION, i2cBus); + + ds1775_read_cfg_reg(&cfg, i2cBus); printf("Configuration Register = 0x%04Xh \r\n", cfg); +#if 0 #if 0 ds1775_write_trip_low(-63.9375, i2cBus);