LIS2DE12 mangles REG1 register
I'm attempting to use the LIS2DE12 in perhaps the simplest configuration: To directly poll the X,Y,Z registers as needed. I'm using the I2C bus. At this point, I've added some debug checks, so the current process looks like this:
1. On wakeup, I read the WHO_AM_I register to verify I'm talking to the correct device. I am.
2. (debug) I read all the read/writeable registers so I can see what they are. All of them match the documentation's default values except CTRL_REG1 (0x20). Instead of the expected response of 0x07, I get 0x01.
3. I write to CTRL_REG1 (0x20) the value 0x5F. According to the docs, this should enable X, Y, Z, enable the device, and set the rate to 100Hz
4. (debug) I read all the readable values. All other writeable registers are still defaults, but the CTRL_REG1 register has changed... but it doesn't contain 0x5F... it contains 0x02 !? Also interesting is the X, Y, and Z all contain non-zero values at this point, but the STATUS register reads 0x00 (no data, no overruns). On a few runs, there was data at this point, but it quickly was cleared on following reads.
5. I read the STATUS register, and if the lower 3 bits are set, I read the appropriate X, Y, Z values. The status register never returns 0x00 at this point.
Anyone have ideas of what could be happening here?
