Famine
A data acquisition system runs two FreeRTOS tasks at equal priority. The sensor task collects readings through an IIR filter and reports results on UART. The logger task prints a heartbeat message after each sensor reading completes.
The sensor readings appear on UART, but the logger never prints anything. The output shows all three sensor readings back to back, but no heartbeats and no DONE message until much later.
With fair scheduling the output interleaves: each of the three cycles prints its sensor reading line immediately followed by its logger heartbeat line, ending with DONE. The starter code already contains both tasks' print statements — the bug is in the scheduling, not the output formatting.
The starter code compiles and runs without warnings. Find and fix the scheduling bug so both tasks get fair CPU time.
The simulation runs for 1 second of virtual time, and all required output must appear within that window.