cancel
Showing results for 
Search instead for 
Did you mean: 

Validation of X-CUBE MEMS1 Fusion data

SG.9
Associate II

Hi,

we are using LSM9DS1 IMU board with NUCLEO L053R8 eval board for our project, we are using X-CUBE MEMS1 Fusion, we've validated the Raw data, and we are getting the Fusion output, we need to validate it. Is there any procedure to find whether Fusion data is valid or not? 

Thanks in advance

G Saicharan

1 ACCEPTED SOLUTION

Accepted Solutions
Martin B
ST Employee

To read AccGyr and Mag data from LSM9DS1 IMU 9DOF board there is no need to use X-Nucleo-IKS01A2 board.

  1. At ST MEMS Standard C drivers Github repository there are drivers and simple examples for each supported sensor. Directory lsm9ds1_STdC contains necessary driver files and example files for LSM9DS1 IMU 9DOF board.
  2. Use NUCLEO-F411RE and properly wire LSM9DS1 IMU 9DOF board to it. Usually pins GNDVDDSDASCL should be enough:0693W00000QLLLVQA5.png
  3. Use lsm9ds1_STdC/examples/lsm9ds1_read_data_polling.c example code as a main application file to run example. Note: With minor modification of example code it is possible to use NUCLEO-L053R8 board

View solution in original post

8 REPLIES 8
Petr S
ST Employee
  • Recommended is to make the test in the interference-free environment
  • Connect the board and start data streaming in Unicleo-GUI application
  • Put the board to start position and click Reset model button in Unicleo
  • Rotate the board in all axes to get it calibrated
  • Return board to start position, click Reset model button in Unicleo
  • Start recording data in Unicleo
  • Rotate the board with defined angles in all axes
  • Stop recording data in Unicleo and compare your physical rotation with the stored data
  • The more precisely you know the physical rotation angle (using some handler), the more precisely you can compare it with output data

SG.9
Associate II

Thank you for the reply @Petr S_O​ ,

Actually we have integrated MEMS1 Software code to the Raw data code with the reference of MEMS1 Fusion Example code.

Is that works fine to get Fusion Output ?

Petr S
ST Employee

If you integrated it well following all the steps done in DataLogFusion application of the X-CUBE-MEMS1 then it should work well, if it's what you're asking ;)

SG.9
Associate II

Hi @Petr S_O​ ,

Thank you for the reply,

I've tried using MEMS_Init function attached below. But now I'm observing FLASH Overflow error. I have not used BSP type functions. Is there any setting/process to overcome this error. Go through the attached images and Please help me to resolve this error.

Any help would be very thankful.

0693W00000NqpsyQAB.png0693W00000NqpsBQAR.png0693W00000NqptNQAR.png

Petr S
ST Employee

L0 has very limited memory and MotionFX is quite demanding library so it's not the best combination. If you haven't already tried you can turn on the optimization for size and also try to avoid using too many global variables initialized to the non-zero values. You can use the DataLogFusion application for Nucleo-L073RZ in the X-CUBE-MEMS1 package as a reference.

SG.9
Associate II

Thank you for the reply @Petr S_O​ ,

Okay, we are trying to run with existing example so, need some inputs. We have example on L053R8 Board with X-Nucleo-IKS01A2 in X-CUBE-MEMS1 V4.4.1 version at path "..\STM32CubeExpansion_MEMS1_V4.4.1\Projects\Multi\Examples\IKS01A2\DataLog\MDK-ARM\STM32L053R8-Nucleo".

I got one doubt while doing this experiment i.e. we have LSM9DS1 IMU 9DOF board. Is that example works fine to get Acc, Gyr, Mag Data from LSM9DS1 using NUCLEO-L053R8 Board with X-Nucleo-IKS01A2(expansion board).?

If yes, we will proceed to buy X-Nucleo-IKS01A2 expansion board for LSM9DS1 IMU.

else, need solution on which reads Acc, Gyr, Mag Data from LSM9DS1 IMU through NUCLEO-L053R8 or some other boards etc.

Any help would be very thankful.

Martin B
ST Employee

To read AccGyr and Mag data from LSM9DS1 IMU 9DOF board there is no need to use X-Nucleo-IKS01A2 board.

  1. At ST MEMS Standard C drivers Github repository there are drivers and simple examples for each supported sensor. Directory lsm9ds1_STdC contains necessary driver files and example files for LSM9DS1 IMU 9DOF board.
  2. Use NUCLEO-F411RE and properly wire LSM9DS1 IMU 9DOF board to it. Usually pins GNDVDDSDASCL should be enough:0693W00000QLLLVQA5.png
  3. Use lsm9ds1_STdC/examples/lsm9ds1_read_data_polling.c example code as a main application file to run example. Note: With minor modification of example code it is possible to use NUCLEO-L053R8 board

SG.9
Associate II

Thank you @Martin B​ ,

I tried with the provided example now it is working as expected.