I am trying to grab IMU data from an MPU device, i know i need to read the data using I2C.
the only decent library i found that works with I2C is libi2c and it does not really cover reading specific type of message only general I2C communication.
I am hoping someone can help aim me to how to receive data from the MPU. On ESP32 i am using Wire library and the documentation is fairly simple but i can’t find similar library with the Jetson.
I am writing in C++.
i can find the device using sudo i2cdetect -y -r 8
on address 0x68
Did you try i2cget/i2cwrite/i2ctransfer utility?
using i2c-util i can find the IMU device sure, but to read data from it is a different story. I’ve went over the arduino Wire library, and adafruit blinka library and saw how they are communicating with the device. It requires a lot more than simple read and write i2c communication, need to use specific addresses and commands to actually get IMU data from an MPU device. I might try to reverse engineer adafruit’s library and type it in C++
Maybe you can do some research to use i2ctransfer
I find it a bit odd that there is no pure C++ library for this, the only C library that i found uses arduino headers. for now I need a fast solution so I am using adafruit’s library CircuitPython MPU6050 and moving the data using UDP server to my project. It might not be the most ideal but it is the fast solution. i’ll try to either translate that library or go into your suggestion of i2ctransfer although i’ll need to build everything from 0 if i use i2ctransfer from what i’ve read about it. might try to go into the arduino C library and translate that, meaning transferring some arduino headers.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.