Hi all,
I’m working on a sensor fusion project using FreeRTOS on an STM32 board. I have three different sensors (IMU, temperature, and GPS) all communicating over I2C or UART, and I’m running separate tasks for each. I’m a bit confused about the cleanest way to synchronize data between them especially when timing is critical and some data needs to be shared across tasks. Should I be using queues, mutexes, or event groups here? I’ve seen a few examples online, but they vary a lot. Would love to hear what approaches others have found reliable in production or long-running prototypes.
Here’s some of the material I’ve been looking through:
https://www.theengineeringprojects.com/2023/08/introduction-to-freertos.html
https://www.freertos.org/Real-time-embedded-RTOS-task-synchronization.html
https://interrupt.memfault.com/blog/freertos-timers