2024-04-26 02:02 AM
Hi everyone.
I'm trying to use a NUCLEO-F401RE, a X-NUCLEO-IKS02A1, and a STEVAL-MKI197v1 and the following software: v3.2.0.4544 AlgoBuilder, v1.25.1.11665 Unicleo-GUI, v1.15.0 STM32CubeIDE, v6.11.0 STM32CubeMX and the X-CUBE-ALGOBUILD and x-CUBE-MEMS1 software packages (everything running on windows 11).
First I didnt use AlgoBuider
I selected every sensor each board has on the x-cube-mems1 (package) and build it using CubeIDE (no error or warnings), but the Unicleo-GUI shows only the X-NUCLEO sensors, being unable to switch between (for example) the different Gyr/Acc sensors.
If i dont select the board extension IKS02A1 CubeIDE gives no trouble (0 error and warnings) but the Unicleo-GUI doesnt recognice my board and i get stuck here:
(note: If i select to list all coms it appears, but shows nothing and cannot start)
When I try to create a custom firmware for AlgoBuilder, if I select the Algo custom aplication option without the MEMS IKS board extension. I copy the project into the path /STMicroelectronics/AlgoBuilder/FirmwareTemplate but it doesnt show up on the AlgoBuilders Target display. and I cannot even choose the option of just the IKS02A1 alone as a template.
(Note: I downloaded an already made custom firmware for a different board as a test and it appears, so its the correct path)
Any help on both this problems would be so greatly appreciated,
thanks in advance
Solved! Go to Solution.
2024-06-05 07:09 AM
First problem was that your timers should be switched, TIMER2 have to support Capture Compare functionality and you have the timer with this functionality (TIM1) in TIMER1 (I understand that it was logical choice to use TIM1 as TIMER1 but...).
Second problem was that you need to implement the BSP_SENSOR_XXX_GetOrientation functions in custom_mems_control_ex.c file. Here is the example of implementation for LSM6DSO which is onboard on IKS01A3:
2024-04-29 10:27 AM
Hello @aesteban,
would you please describe what you would like to achieve in more details?
Concerning the first issue I don't know what application did you generate and if you even select any applications in CubeMX.
Concerning the second issue there might be issue with generated AlgoBuilder firmware template, if you can share it we can check it.
We have recently release our new application called MEMS Studio which replaces Unicleo-GUI and AlgoBuilder, you can try it if you want.
2024-05-06 03:28 AM
Hello,
What i'm trying to make is a custom board consisting on a nucleo board (dont mind if its L401RE or R476RG), a X-NUCLEO-IKS (dont mind if its 02A1 or 01A3) and a STEVAL-MKI197V1.
I'm trying to work with AlgoBuilder and get the data mostly from the STEVAL sensors. The example workflow below will be using nucleo L476RG, x-nucleo-iks01A3 and the steval:
- I enabled the defaults for this board and activate the PB8 and PB9 for I2C1
- I set Tim1 and Tim 2 with internal clock and default parameters and PB7 as an EXTI
- I activate clock source and calendar from the RTC
- For the algobuilder Software pack i selected this (the warning goes off later on when i select the MEMS custom motion sensor):
- For the MEMS Software pack i selected this (to make everything easier for starters i selected only the Steval sensor):
The algobuilder pack configuration is as shown below:
and the MEMS is this one (everything on I2C1):
The project settings are like this (IKS board is 01A3, ignore the wrong project name):
On code generator i checked the "Generate peripheral inicialization as a pair .c.h" and everything else is default.
The code generated succesfully with no errors or warnings.
Building it on STM32CubeIDE gives two warning:
../ALGOBUILD/Target/bsp_ip_conf.h:32:31: warning: implicit declaration of function 'MX_TIM1_Init'; did you mean 'MX_I2C1_Init'? [-Wimplicit-function-declaration]
../ALGOBUILD/Target/bsp_ip_conf.h:36:31: warning: implicit declaration of function 'MX_TIM2_Init'; did you mean 'MX_I2C1_Init'? [-Wimplicit-function-declaration]
If i run the code using the CubeIDE and try to connect the board i get this error (im tying now with MEMS Studio too):
(I know there are no sensor data, but it should at least display the sensor available, am i wrong?)
if i copy the project folder and get it into "C:\Users\user\STMicroelectronics\MEMS Studio\algobuilder\FirmwareTemplate" it does not show up in the firmware target
Copying the project into "C:\Users\user\STMicroelectronics\AlgoBuilder\FirmwareTemplate" gives the same outcome on algobuilder
Thanks in advance for the help
2024-05-10 02:11 AM
Hello @aesteban,
For the quick look I would mention these points:
2024-05-10 02:24 AM
The path to copy your project to should be:
c:\Users\<user>\STMicroelectronics\MEMS Studio\algobuilder\firmware_template\
2024-05-13 12:58 AM
Hi, thanks for your advice, unfortunately it still doesn't work. I attach to this reply a .ioc updated with your advice to make help easier.
A question i'm having is, where are those example settings documentation you mentioned?
As for MEMS Studio, my program gives so many errors with the same block and subdesigns configuration of algobuilder (which works fine on my tests), so im using X-CUBE-ALGOBUILD v1.3.0 to ensure algobuilder support. (It gives code errors, not block configuration errors).
Thank you so much.
2024-05-13 03:09 AM
I didn't test it but what I see for the first look is that:
Please try it and let me know.
2024-05-13 05:03 AM
Hi, thanks for pointing out those mistakes, unfortunately it still doesn't work
I still get the TIM warnings of my first message.
Also, and i dont get the warning:
"Error:C:/ST/STM32CubeIDE_1.15.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.100.202403111256/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: warning: STM32L4xx-Nucleo-Project.elf has a LOAD segment with RWX permissions"
(the default firmwares work with it).
I also enabled usart nvic
By the way, i want to use the LSM6DSOX sensor instead of the LSM6DSO so, is it an option to add that sensor and set it to GND instead of the DIL24?
Anything else that i could do?
I upload the updated .ioc
2024-05-16 02:22 AM
What versions of STM32CubeMX and STM32CubeIDE do you use? Please try latest CubeMX v6.11.1 and CubeIDE v1.15.1. I have slightly modified the ioc file in terms of GPIO pullups, project and code generator settings. It compiles well on my side, I just didn't test it in MEMS Studio on HW.
2024-05-16 02:39 AM
Im using the latest versions released, but the .ioc you provided me doesn't open, it gives an error about being made on CubeMX version 6.12.0