waters: activate using interrupt

This commit is contained in:
Alwin Berger 2023-03-02 15:33:06 +01:00
parent 6789bf2af6
commit a940133430

View File

@ -124,11 +124,11 @@ static void prvTask1129( void * pvParameters );
#define mainTASK_90_PRIO ( tskIDLE_PRIORITY + 8 )
#define mainTASK_397_PRIO ( tskIDLE_PRIORITY + 10 )
#define mainTASK_400_PRIO ( tskIDLE_PRIORITY + 9 )
#define mainTASK_416_PRIO ( tskIDLE_PRIORITY + 3 )
#define mainTASK_579_PRIO ( tskIDLE_PRIORITY + 7 )
#define mainTASK_1009_PRIO ( tskIDLE_PRIORITY + 6 )
#define mainTASK_416_PRIO ( tskIDLE_PRIORITY + 5 )
#define mainTASK_579_PRIO ( tskIDLE_PRIORITY + 5 )
#define mainTASK_1009_PRIO ( tskIDLE_PRIORITY + 5 )
#define mainTASK_1107_PRIO ( tskIDLE_PRIORITY + 2 )
#define mainTASK_1129_PRIO ( tskIDLE_PRIORITY + 4 )
#define mainTASK_1129_PRIO ( tskIDLE_PRIORITY + 5 )
// RM with pref for short
// #define mainTASK_31_PRIO ( tskIDLE_PRIORITY + 1 )
@ -344,9 +344,9 @@ static void prvTask397( void * pvParameters ) {
xTaskNotify(xTask90, x & 0x1, eSetValueWithOverwrite);
// 3 different activation strategies -------------
// activate sporadically from interrupts
// ulTaskNotifyTake(pdTRUE,portMAX_DELAY);
ulTaskNotifyTake(pdTRUE,portMAX_DELAY);
// activate with worst possible frequency (700us, but tick resolution is too low)
vTaskDelayUntil( &xLastWakeTime, xFrequency );
// vTaskDelayUntil( &xLastWakeTime, xFrequency );
// wait pseudo random many ticks
// vTaskDelayUntil( &xLastWakeTime, CLAMP(RNG, 1, 100) / portTICK_PERIOD_MS );
}
@ -487,7 +487,10 @@ void vWatersIdleFunction() {
void isr_starter( void )
{
xTaskNotifyGive(xTask397);
puts("Interrupt");
if (xTask397) {
vTaskNotifyGiveFromISR(xTask397, NULL);
}
}
/*-----------------------------------------------------------*/