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