DavidEGrayson / minimu9-ahrs

Program for reading data from the Pololu MinIMU-9 over I²C. Works on the Raspberry Pi and other embedded ARM Linux boards.
Other
167 stars 68 forks source link

LSM6DS33 standalone mode #42

Closed Ninic0c0 closed 3 years ago

Ninic0c0 commented 3 years ago

Hello :)

First of all thank you a lot for the work! I'm trying to use your tool with a standalone LSM6D33

`Error: No magnetometer to read. pi@raspberrypi:~/minimu9-ahrs $ i2cdetect -y -r 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- 6b -- -- -- -- 70: -- -- -- -- -- -- -- --

pi@raspberrypi:~/minimu9-ahrs $ ./minimu9-ahrs -b /dev/i2c-1 --mode raw --output euler Error: No magnetometer to read. `

Seems normal because of the LSM6D33 doesn't have magnetometer.

I can't spend too much time on that but after removing the read_mag_raw method from imu.h i'm able to get datas :)

pi@raspberrypi:~/minimu9-ahrs $ make -j4 && ./minimu9-ahrs -b /dev/i2c-1 --mode raw --output euler g++ -I. -I/usr/include/eigen3 -Wall -std=gnu++11 -O2 -MD -MP -c -o minimu9-ahrs.o minimu9-ahrs.cpp g++ -I. -I/usr/include/eigen3 -Wall -std=gnu++11 -O2 -MD -MP -c -o minimu9.o minimu9.cpp g++ minimu9-ahrs.o lsm303.o minimu9.o prog_options.o i2c_bus.o lis3mdl.o l3g.o lsm6.o -lboost_program_options -o minimu9-ahrs -1229777103 -1229783072 -1097588588 1886 -82 3691 78 -103 -67 -1229777103 -1229783072 -1097588588 2005 -79 3683 72 -91 -52 -1229777103 -1229783072 -1097588588 1988 -75 3653 67 -76 -54 -1229777103 -1229783072 -1097588588 2015 -81 3576 67 -90 -63 -1229777103 -1229783072 -1097588588 1970 -68 3619 38 -44 -43 -1229777103 -1229783072 -1097588588 1979 -80 3671 80 -109 -69 -1229777103 -1229783072 -1097588588 1979 -65 3578 68 19 -24 -1229777103 -1229783072 -1097588588 1990 -70 3628 77 -97 -60 -1229777103 -1229783072 -1097588588 1985 -61 3743 101 -129 -85 -1229777103 -1229783072 -1097588588 1953 -79 3621 21 -3 -25 -1229777103 -1229783072 -1097588588 2047 -69 3600 68 -89 -94

Of the 3rd first columns are unusable. So the question is what is simplest way to use your tool with LSM6DS33 ?

Thank you !

DavidEGrayson commented 3 years ago

It sounds like you already figured out how to read data from your LSM6DS33 so I am not really sure what you are looking for. Inside this project, there is a reusable C++ library for reading data from the LSM6, so you can just write C++ code that uses that, or modify the C++ code of this project so it doesn't require a magnetomter.

However, the main point of this project is to make an AHRS system, not to read raw data from individual sensors. The list of supported boards is in README.md.