Application Threads¶
Under Construction
This page is a stub and still under construction. Details may be incomplete or change.
PEROVSAT uses a fixed set of Zephyr threads. System Health acts as the coordinator: it reads EPS power state, maintains global flags (DEPLOY_COMPLETE, OP_STATUS), and starts child threads when conditions allow.
Threads that depend on deployment or power level are created with K_FOREVER delay and started later via k_thread_start().
Thread overview¶
| Thread | Starts when | Primary role |
|---|---|---|
| System Health | Always (boot) | Heartbeats, global flags, thread lifecycle |
| Payload | Always | Sensor reads and raw data storage |
| Data Filtering & Analysis | Deploy complete + nominal/high power | Filter payload data, wake comms |
| Communications | Deploy complete | Iridium/Eyestar sessions, beacons, downlink |
| Commands | Deploy complete | Process ground commands |
Wake patterns mix intervals (sleep for N epochs) and events (message queues with optional timeouts). See Zephyr Threads for the underlying patterns.