Use different IMU

Hello! We would like to use a IMU different from the one you suggest. In particular, we want to install the LORD MicroStrain 3DM-GX3-25, which use the same protocol of the CX5. Unfortunately, I cannot read any data from the IMU using the ParseSensorData() method of the masterboard sdk.

Looking at the the masterboard interface it seems that the IMU is not initialized: the init_imu() method is not called.

Do you think that my IMU does not give me any data beacuse of the absence of the init_imu() in the masterboard sdk? Or do you think it depends on something else?

Any suggestion is well appreciated!

Maybe @thomas.flayols can help out since he offered his help in another thread on this forum and already mentioned that something inside the masterboard software would need to be altered.

Thanks!

Hello and sorry for the delay.

I’m not sure what is happening with your IMU, but just wanted to mention that the init_imu() is called directly on the firmware of the master board here: master-board/masterboard_main.c at 347dfa697b179550545e7c7696e7666ffe543734 · open-dynamic-robot-initiative/master-board · GitHub

To investigate properly the issue I would advise you to probe the RX and TX wire with an oscilloscope and/or logic probe analyzer.
Hope this helps,
Thomas.

Hi and sorry for my (a bit long) delay,

I cannot see which is the function calling app_main(). My code is based on solopython: here, the masterboard is initialized through the master_board_sdk.

Isn’t it? Where is the call to app_main?

Hi,

This code is executed inside the masterboard itself (it is the firmware), you do not need to call any function on the PC side for the IMU to be initialized.

Best, T.