Move beepTask and rfDecodeTask to Core 0 to keep Core 1 free for the main loop

This commit is contained in:
2026-05-07 09:38:28 +02:00
parent d3406529cc
commit c367533b0a
+3 -4
View File
@@ -30,10 +30,9 @@ void InterruptHandler_Init(void)
beepSemaphore = xSemaphoreCreateBinary(); beepSemaphore = xSemaphoreCreateBinary();
rfEventQueue = xQueueCreate(RF_QUEUE_SIZE, sizeof(RfEvent_t)); rfEventQueue = xQueueCreate(RF_QUEUE_SIZE, sizeof(RfEvent_t));
/* beepTask: replaces beep logic that was in timerIsr — high priority so it responds within one tick */ /* beepTask and rfDecodeTask do little work per activation — pin to Core 0 to keep Core 1 free for the main loop */
xTaskCreatePinnedToCore(beepTask, "beepTask", 2048, NULL, 5, NULL, 1); xTaskCreatePinnedToCore(beepTask, "beepTask", 2048, NULL, 5, NULL, 0);
/* rfDecodeTask: replaces receiver ISR calls that were in pinLevelChangeIsr */ xTaskCreatePinnedToCore(rfDecodeTask, "rfTask", 3072, NULL, 4, NULL, 0);
xTaskCreatePinnedToCore(rfDecodeTask, "rfTask", 3072, NULL, 4, NULL, 1);
attachInterrupt(digitalPinToInterrupt(DIN_FUNK), pinLevelChangeIsr, CHANGE); attachInterrupt(digitalPinToInterrupt(DIN_FUNK), pinLevelChangeIsr, CHANGE);