Functionality partially exists with the messaging system. There are a few different tasks running concurrently, and they all have unique state machines which should be influenced by the idea of "events" generating from other tasks.
Example:
- Device task detects "wifi button" held, generates a "wifi button held" event
- Network task receives "wifi button held" event, attempts to connect to wifi as sta
- Network task detects successful connection, generates a "wifi sta connected" event
- Device task should receive a "wifi sta connected" event, and toggle the "wifi LED"
- Display task can indicate a wifi connection event (?)
Functionality partially exists with the messaging system. There are a few different tasks running concurrently, and they all have unique state machines which should be influenced by the idea of "events" generating from other tasks.
Example: