pulkin / micropython

MicroPython implementation on Ai-Thinker GPRS module A9 (RDA8955)
https://micropython.org
MIT License
103 stars 30 forks source link

I2C reading issues on MPU-6886 and 4 channel relay #103

Open nigel-f-francis opened 3 years ago

nigel-f-francis commented 3 years ago

Hello All,

First off I would like to thank all those who contributed to this amazing port. If not for MicroPython I would not be able to use this board. Thanks much everyone! Currently I am having issues reading registers on my I2C four channel relay. I can write to the register using the mem_transmit() function and the relay clicks however whenever I read from the same register using mem_receive() the relay hangs and is only operational after a hard reboot of the relay (a restart of the device only will not fix the hang). Any ideas or known issues there? I am using I2C id 3 and both 100 and 400 frequencies will not work. The receive function is as follows; mem_receive(3, 100, 0x26, 0x11, 1, 1, 10). I also have an issue with the MPU-6886 IMU and I can write successfully to registers and read the who am i register successfully however the temp, acceleration and gyro data makes no sense as they jump all over the place I am using a function to combine the two bytes however the data received is just wrong. I have reverse engineered some C and python code but to no avail. Any ideas as to where I should start? I am totally lost here.

Regards, NFF