I have an ADXL375 chip in a breadboard that I am reading and writing using an NXP processor over I2C. I am applying a minimal configuration to the device and attempting to read the X, Y, and Z-axis readings while the device is motionless with minimal ambient vibration, and the values don't seem correct.
Here is my register configuration:
Register 0x2C: 0x0A (100 Hz)
Register 0x2D: 0x08 (Set measure bit)
Register 0x31: 0x0B
Here are a couple of the X, Y, and Z-axis readings that I see when I read the data registers and do the necessary conversion to g's:
ADXL375 is flat and right-side-up (I expect 0,0,1):
X reading: 0.097999
Y reading: 0.636999
Z reading: 2.645999
ADXL375 is upside-down (I expect 0,0,-1):
X reading: -0.097999
Y reading: 0.734999
Z reading: 0.833000
ADXL375 is positioned vertically (I expect 1,0,0):
X reading: 1.176000
Y reading: 0.881999
Z reading: 1.666000
Since the values that I'm reading don't match my expectations, initially I thought that this particular ADXL375 chip might just need calibration and have offsets applied to each of the axis readings. However, when I swap out the ADXL375 for a DIFFERENT ADXL375 chip and run the same test, I am seeing (roughly) the same measurements as the first chip!
My questions:
Based on my readings, does it appear that my chip(s) are behaving properly? Am I overlooking something in my configuration, or is this just a matter of needing to apply offsets to my readings in order for my readings to match my expectations?