I am using a device with FreeRTOS that receives GPS information, and I have noticed that the direction values do not always match when I compare them with an online compass tool. The online compass uses the device’s GPS location to provide direction information and works as a real-time direction tool for checking orientation based on current location data.
The issue I am seeing is that the heading from my device can sometimes be slightly different from what the online compass shows, even when the device is staying in the same place. The difference is not constant, and I am trying to figure out if this could be related to how FreeRTOS handles task timing or data updates.
My GPS readings are handled in a periodic task, while other tasks are also running for communication and sensor processing. When I look at traces, I wonder if the timing of when data is collected, processed, or displayed could affect the final direction value. For example, if the GPS task updates at one moment and another task reads the data a little later, could this create a mismatch in the reported heading?
I have checked the GPS signal and the values seem reasonable, but I am not sure how much delay is normal in a FreeRTOS system when working with location-based data. I am also curious if trace tools can help identify whether the problem is caused by task scheduling, interrupts, delays, or synchronization between different tasks.
Has anyone experienced similar differences between GPS heading data and compass readings on a FreeRTOS device? Are there specific trace events or timing details I should look at to understand whether the data is being updated at the expected intervals?