- Purpose
- Scope
- Context
- Deployment
- Layers
- System Startup
- System States
- Details
- Issues, Ideas And Bugs
- License
- Contribution
The SW architecture provides an overview regarding the relationships of different classes and components. It serves for understanding, maintaining, fixing and extending the software.
The SW architecture document is valid for the PIXELIX project.
PIXELIX as a system is not complete alone. It interacts with other neighbor systems over different kind of interfaces.
Task name | Core | Description |
---|---|---|
arduinoEvents | APP_CPU | WiFi handling, see details in Arduino framework WiFiGeneric.cpp |
AsyncHttpClientTask | APP_CPU | The AsyncHttpClient uses the task for decoupling. |
async_tcp | PRO_CPU | AsnycTCPSock library uses the task to interact with the LwIP TCP/IP stack and the application. |
buttonTask | APP_CPU | The task is triggered by a hardware button and provides its status. |
esp_timer | PRO_CPU | High resolution timer task, which calls the timer callbacks. |
eventTask | PRO_CPU | ? TODO ? |
IDLE0 | PRO_CPU | Idle task created for CPU 0. See FreeRTOS applications. |
IDLE1 | APP_CPU | Idle task created for CPU 1. See FreeRTOS applications. |
ipc0 | PRO_CPU | IPC task created for CPU 0. IPC tasks are used to implement the Inter-Processor-Call feature. See FreeRTOS applications. |
ipc1 | APP_CPU | IPC task created for CPU 1. IPC tasks are used to implement the Inter-Processor-Call feature. See FreeRTOS applications. |
loopTask | APP_CPU | The standard Arduino loop task. It will call setup() once and periodically loop(). |
mdns | PRO_CPU | mDNS (multicast UDP) service. |
network_event | APP_CPU | The task processes system events, e.g. WiFi and TCP/IP events. See event loop library for more information. |
processTask | APP_CPU | The DisplayMgr process the plugins in this task. |
spectrumAnalyzerTask | APP_CPU | Spectrum analyzer task, which receives data via DMA, performs the FFT incl. further steps and provides the data to the application. |
tiT | PRO_CPU | The LwIP TCP/IP stack task. |
Tmr Svc | PRO_CPU | FreeRTOS timer service. |
updateTask | no-affinity | The DisplayMgr updates the physical display there. |
wifi | PRO_CPU | WiFi handling. |
If you have further ideas or you found some bugs, great! Create a issue or if you are able and willing to fix it by yourself, clone the repository and create a pull request.
The whole source code is published under the MIT license. Consider the different licenses of the used third party libraries too!
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.