lower wcet to prevent deadline misses

This commit is contained in:
Alwin Berger 2025-03-10 13:40:50 +01:00
parent 59b2ca79cb
commit e1179c292d

View File

@ -29,7 +29,7 @@
#ifdef IGNORE_BYTES
#define SHORT_CALC (50)
#define LONG_CALC (200)
#define LONG_CALC (175)
#else
#define SHORT_CALC (15+RNG_CHAR_NEXT%35)
#define LONG_CALC (50+RNG_CHAR_NEXT%150)
@ -201,8 +201,8 @@ static void prv_SignalGatherInitiateTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT;
x = STRETCH_i32(inp);
x = FUNCTION_1(x);
x = TRANSLATE_1(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_1(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
if ((round % 2) == 0) {
xTaskNotify(xTask_SignalGatherTimeoutTask, MAKE_OUTPUT, eSetValueWithOverwrite);
@ -213,15 +213,15 @@ static void prv_SignalGatherInitiateTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT;
x = STRETCH_i32(inp);
x = FUNCTION_2(x);
x = TRANSLATE_2(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_2(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
xSemaphoreGive(xSemaphore_SPIBus);
inp = INPUT_SHORT_NEXT;
x = STRETCH_i32(inp);
x = FUNCTION_3(x);
x = TRANSLATE_3(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_3(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
trigger_job_done();
xTaskDelayUntil( &xLastWakeTime, xFrequency );
@ -240,22 +240,22 @@ static void prv_SignalGatherFinishedTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_1(x);
x = TRANSLATE_1(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_1(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
xTaskNotify(xTask_SignalProcessingAttitudeTask, MAKE_OUTPUT, eSetValueWithOverwrite);
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_4(x);
x = TRANSLATE_4(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_4(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
xTaskNotify(xTask_SignalProcessingActuateTask, MAKE_OUTPUT, eSetValueWithOverwrite);
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_5(x);
x = TRANSLATE_5(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_5(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
trigger_job_done();
} while (1);
@ -273,22 +273,22 @@ static void prv_SignalGatherTimeoutTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_6(x);
x = TRANSLATE_6(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_6(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
xSemaphoreTake(xSemaphore_SPIBus, portMAX_DELAY);
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_7(x);
x = TRANSLATE_7(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_7(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
xSemaphoreGive(xSemaphore_SPIBus);
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_8(x);
x = TRANSLATE_8(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_8(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
xTaskNotify(xTask_SignalGatherFinishedTask, MAKE_OUTPUT, eSetValueWithOverwrite);
trigger_job_done();
@ -309,8 +309,8 @@ static void prv_SignalProcessingActuateTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_9(x);
x = TRANSLATE_9(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_9(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
trigger_job_done();
} while (1);
@ -328,8 +328,8 @@ static void prv_SignalProcessingAttitudeTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_10(x);
x = TRANSLATE_10(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_10(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
trigger_job_done();
} while (1);
@ -347,8 +347,8 @@ static void prv_FlightControlTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT;
x = STRETCH_i32(inp);
x = FUNCTION_1(x);
x = TRANSLATE_1(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_1(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
xTaskNotify(xTask_FlightControlAttitudeTask, 0, eSetValueWithOverwrite);
xTaskNotify(xTask_FlightControlActuateTask, 0, eSetValueWithOverwrite);
@ -356,8 +356,8 @@ static void prv_FlightControlTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT;
x = STRETCH_i32(inp);
x = FUNCTION_2(x);
x = TRANSLATE_2(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_2(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
trigger_job_done();
xTaskDelayUntil( &xLastWakeTime, xFrequency );
@ -376,8 +376,8 @@ static void prv_FlightControlAttitudeTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_3(x);
x = TRANSLATE_3(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_3(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
trigger_job_done();
} while (1);
@ -395,8 +395,8 @@ static void prv_FlightControlActuateTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_4(x);
x = TRANSLATE_4(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_4(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
trigger_job_done();
} while (1);
@ -414,23 +414,23 @@ static void prv_MavlinkSendTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_5(x);
x = TRANSLATE_5(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_5(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
xSemaphoreTake(xSemaphore_SPIBus, portMAX_DELAY);
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_1(x);
x = TRANSLATE_1(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_1(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
// NVIC_SetPendingIRQ(1);
xSemaphoreGive(xSemaphore_SPIBus);
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_6(x);
x = TRANSLATE_6(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_6(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
// timing_end(1);
trigger_job_done();
@ -456,8 +456,8 @@ static void prv_CopterControlTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_7(x);
x = TRANSLATE_7(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_7(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
vTaskSuspendAll();
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
@ -470,8 +470,8 @@ static void prv_CopterControlTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT * CLAMP(y, 1, 3);
x = STRETCH_i32(inp);
x = FUNCTION_8(x);
x = TRANSLATE_8(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_8(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
// timing_end(2);
@ -513,8 +513,8 @@ static void prv_CopterControlWatchdogTask(void *pvParameters) {
inp = INPUT_SHORT_NEXT;
x = STRETCH_i32(inp);
x = FUNCTION_9(x);
x = TRANSLATE_9(x, 50, 200);
x = WC_SWITCH(x, 200);
x = TRANSLATE_9(x, 50, 175);
x = WC_SWITCH(x, 175);
WASTE_USEC(x);
trigger_job_done();
xTaskDelayUntil( &xLastWakeTime, xFrequency );