I am a BMA222e accelerometer user. I use the CJMCU 222e board to connect to it. Having connected to the board for the first time, I received the correct temperature and acceleration values. However, recently, on a temperature request, I get 0x00 in register 0x08. Register 0x07 contains the value 0x7F permanently. register 0x05, regardless of position, contains the value 0x08. In register 0x03, the values change, but do not correspond to reality. At the same time, the rest of the accelerometer registers have a standard value, except for the 0x0E register, which contains the value 0x81. To solve this problem, I did a self-test for each axis as well as a softreset. Nothing helped. Could you help me?
I apologize for the long answer, the attached txt file contains the values contained in the registers of my accelerometer.(file Response.txt)
I do not have the opportunity to use an accelerometer of another model, in my country it is rather difficult to buy quickly.
I also added the firmware that I use for polling. (I am using PlatformIO in Visual Studio Code)
I am not sure whether you succeed to read out the register values. But I had a look at response.txt, I didn't see the flag I want to confirm first.
Please see the following picture:
First CHIP_ID need be read out to check whether to choose the corresponding Sensor.
BMA222E CHIP ID at register 0x00 is 0xf8. You should first check whether to get this value.
I tried to read the register values of my accelerometer using the official API (https://github.com/BoschSensortec/BMA2x2_driver), but I could not run the project on my ESP NODEMCU V2. Do you have an example of firmware for ESP? Could you please share it