Summary
Our use of the sensor involves reading and triggering via I2C conversions for X-axis and Temperature in 16-bit mode with CRC enabled. In our testing we simulated a power loss by powering off/on the sensor. We hoped to rely on reading the CONV_STATUS register to make use of the POR bit to indicate a power on reset's occurrence. However once the sensor has been triggered for a conversion we can no longer read register values.
The device responds with 00 for any I2C register read.
Detail of Test
Initialization
Configure Sensor A with unique address write 0x21 to I2C_ADDR register. Sensor B remains at the default address.
Configure 2 sensors for triaxial sampling with CRC enabled
General Call writes to configure all sensors on the I2C bus
00 00 81 # DEVICE_CONFIG_1 : CRC_EN I2C_RD 01b for 16-bit reads
00 02 10 # SENSOR_CONFIG_1 : enable x-channel conv
00 07 01 # T_CONFIG : enable temperature conv
Power up A sensor
configure non-default address
dump A registers
init sensor
dump A registers
set to 16-bit mode
power up B sensor
dump B registers
init sensor
dump B registers
set to 16-bit mode
trigger conv
read A success
read B success
toggle sensor A and B power
trigger conv
read A
read B
Reading all 0s
power off B sensor
Reading all 0s
toggle sensor A and B power
dump registers
reading proper values
trigger conv
dump registers
reading all 0s