@@ -10,11 +10,11 @@ MoonLight uses a multi-core, multi-task architecture on ESP32 to achieve smooth
1010| ------| ------| ----------| ------------| -----------| ---------|
1111| ** WiFi/BT** | 0 (PRO_CPU) | 23 | System | Event-driven | System networking stack |
1212| ** lwIP TCP/IP** | 0 (PRO_CPU) | 18 | System | Event-driven | TCP/IP protocol processing |
13- | ** Effect Task** | 0 (PRO_CPU) | 3 | 3-4KB | ~ 60 fps | Calculate LED colors and effects |
13+ | ** Effect Task** | 0 (PRO_CPU) | 10 | 3-4KB | ~ 60 fps | Calculate LED colors and effects |
1414| ** ESP32SvelteKit** | 1 (APP_CPU) | 2 | System | 10ms | HTTP/WebSocket UI framework |
1515| ** Driver Task** | 1 (APP_CPU) | 3 | 3-4KB | ~ 60 fps | Output data to LEDs via DMA/I2S/LCD/PARLIO |
1616
17- Effect Task (Core 0, Priority 3 )
17+ Effect Task (Core 0, Priority 10 )
1818
1919- ** Function** : Pure computation - calculates pixel colors based on effect algorithms
2020- ** Operations** : Reads/writes to ` channels ` array, performs mathematical calculations
@@ -162,7 +162,6 @@ Synchronization Flow
162162void effectTask (void* param) {
163163 while (true) {
164164 if (layerP.lights.useDoubleBuffer) {
165- layerP.lights.channelsE = layerP.lights.channelsD;
166165
167166 layerP.loop(); // getRGB and setRGB both use channelsBack
168167
@@ -177,7 +176,6 @@ void effectTask(void* param) {
177176 } else {
178177 xSemaphoreTake(swapMutex, portMAX_DELAY);
179178 layerP.loop();
180-
181179 xSemaphoreGive(swapMutex);
182180 }
183181 vTaskDelay(1);
0 commit comments