Tool/software: Code Composer Studio
I'm using the HDC2010 on my own hardware. On-demand measurement mode has been working fine with this device, and I'm trying to get automatic ODR mode to work. i want to set the HDC2010 so it samples at 5Hz, and then I'll read the latest humidity reading once per second. I'm not using the interrupts; I just have a one second timer on my microcontrolller to trigger a read. When I setup the HDC2010 for automatic ODR mode, the humidity register doesn't update unless I also trigger a reading in the Measurement Configuration Register. Here's the sequence I am following from power up:
1. Power up system and wait at least 100 milliseconds prior to talking to the HDC2010
2. Set register 0x0E (Reset and DRDY/INT Configuration Register) to 0xF8. This performs a soft reset of the sensor, sets the ODR for 5Hz and turns on the heater.
3. Wait for 10 milliseconds
4. Set register 0x0E to 0x70. This turns off the heater and leaves the ODR at 5 Hz.
5. Set register 0x0F to 0x05. This triggers measurements to start and sets the sensor to only perform humidity measurements.
6. Once per second, do the following:
a. Read register 0x0F, set bit 0 of the result to 1 and write back to register 0x0F. This triggers a measurement.
b. Wait at least 2 milliseconds.
c. Read registers 0x02 and 0x03 to get the humidity reading.
If I do all the following steps above, I get updated humidity measurements each time through the loop. If I skip step 6a, then I get a valid humidity reading each second but they all match the first reading. If I skip steps 5 and 6a, then all humidity readings are 0.
Is there some other order I should be performing the register settings? How do I get automatic ODR mode to run without forcing measurement triggers?