2024-08-20 01:13 PM
Almost all examples dedicated to boards (for example for board X-NUCLEO-53L5A1 + NUCLEO F401) have structure (project tree) based only on RTOS usage.
Let me explain using example of X-NUCLEO-53L5A1 board. After importing the project to CUBE-IDE we have main() with standard init and config function inside, after that we have MX_TOF_Init(); Next in while() loop goes MX_TOF_Process();. And all the magic takes place inside that process.
Usually, when we take working project, its perfect base to modify to get at the end our own, customized solution. But for person, not familarized with RTOS and such file structure its almost imposiible to modify anything. As far as I saw, almost every example has structure mentioned above (RTOS and main process in while() loop).
I am looking for tutorials, documents, advices and posts which will let me learn how to deal with such software, how understand what is going in it, how to modify code to achieve my own functionality. Where to modify code, to change configuration, how to add next processes, etc...
Maybe there are some tutorials, where some issues are exaplained?
2024-08-20 02:12 PM
I don't see an RTOS here. The term Process is used for data processing, done in the main loop.
Check the UM2853 User manual "How to use the VL53L3CX with STMicroelectronics' X-CUBE-TOF1 Time-of-Flight
sensor software packages for STM32CubeMX" in the Documentation folder of X-CUBE-TOF1.
If you can debug the sample project, it is easy to find you the API usage and check the low-level drivers in X-CUBE-TOF1 Drivers\BSP\Components\vl53l5cx
hth
KnarfB
2024-08-20 02:45 PM
Where would one normally learn new skills, school, technical college? From text books? From spending the time and doing the analysis?
RTOS or multi-threading does require a somewhat different mindset, than simple linear code, for sure.
Perhaps look at "Static Analysis Tools" that help navigate and show how code and subroutines interact?