diff --git a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_copter.c b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_copter.c index a5b5962d..8cb87b3f 100644 --- a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_copter.c +++ b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_copter.c @@ -27,10 +27,10 @@ #ifdef COPTER_DATAFLOW #define STATE_PLUS_DATA(X) {TASK_RNG_STATE+=(X);} - #define MAKE_OUTPUT (OUTPUT_BITS(TASK_LAST_INPUT^TASK_RNG_STATE)) + #define MAKE_OUTPUT (OUTPUT_BITS(TASK_LAST_INPUT^TASK_RNG_STATE)+1) #else #define STATE_PLUS_DATA(X) {} - #define MAKE_OUTPUT (0) + #define MAKE_OUTPUT (1) #endif #define HYPER_PERIOD 9 @@ -350,7 +350,7 @@ void ISR_0_Handler(void) { RNG_RESET // timing_start(2 | TIMING_POINT_START_INTERRUPT_FROM_IDLE); WASTE_USEC(SHORT_CALC); - xTaskNotifyFromISR(xTask_CopterControlTask, 0, eNoAction, NULL); + xTaskNotifyFromISR(xTask_CopterControlTask, 1, eSetValueWithOverwrite, NULL); WASTE_USEC(SHORT_CALC); } } diff --git a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_polycopter.c b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_polycopter.c index 3d7e8a45..c351392e 100644 --- a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_polycopter.c +++ b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_polycopter.c @@ -33,10 +33,10 @@ #ifdef COPTER_DATAFLOW #define STATE_PLUS_DATA(X) {TASK_RNG_STATE+=(X);} - #define MAKE_OUTPUT (OUTPUT_BITS(TASK_LAST_INPUT^TASK_RNG_STATE)) + #define MAKE_OUTPUT (OUTPUT_BITS(TASK_LAST_INPUT^TASK_RNG_STATE)+1) #else #define STATE_PLUS_DATA(X) {} - #define MAKE_OUTPUT (0) + #define MAKE_OUTPUT (1) #endif #define HYPER_PERIOD 9 diff --git a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_release.c b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_release.c index 4f8dabf9..d3827dca 100644 --- a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_release.c +++ b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_release.c @@ -199,7 +199,7 @@ static void prvTask3( void * pvParameters ) { xTaskDelayUntil( &xLastWakeTime, xFrequency ); // periodic int y = ulTaskNotifyTake(pdTRUE, 0); #else - int y = ulTaskNotifyTake(pdTRUE, portMAX_DELAY); // sporadic + int y = ulTaskNotifyTake(pdTRUE, portMAX_DELAY)-1; // sporadic #endif RNG_RESET // Actions -------------------------------------- @@ -242,7 +242,7 @@ static void prvTask5( void * pvParameters ) { xTaskDelayUntil( &xLastWakeTime, xFrequency ); // periodic // int y = ulTaskNotifyTake(pdTRUE, 0); #else - int y = ulTaskNotifyTake(pdTRUE, portMAX_DELAY); // sporadic + int y = ulTaskNotifyTake(pdTRUE, portMAX_DELAY)-1; // sporadic #endif RNG_RESET // Actions -------------------------------------- @@ -273,7 +273,8 @@ void ISR_0_Handler( void ) { puts("Interrupt"); if (xTask3) { - vTaskNotifyGiveFromISR(xTask3, NULL); + BaseType_t _tmp = 0; + xTaskNotifyFromISR(xTask3, 1, eSetValueWithOverwrite, &_tmp); } } @@ -281,7 +282,8 @@ void ISR_1_Handler( void ) { puts("Interrupt"); if (xTask5) { - vTaskNotifyGiveFromISR(xTask5, NULL); + BaseType_t _tmp = 0; + xTaskNotifyFromISR(xTask5, 1, eSetValueWithOverwrite, &_tmp); } } diff --git a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_waters.c b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_waters.c index 4d8a98a8..3766fa7e 100644 --- a/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_waters.c +++ b/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/main_waters.c @@ -505,7 +505,8 @@ void ISR_0_Handler( void ) { puts("Interrupt"); if (xTaskC31) { - vTaskNotifyGiveFromISR(xTaskC31, NULL); + BaseType_t _tmp = 0; + xTaskNotifyFromISR(xTaskC31, 1, eSetValueWithOverwrite, &_tmp); } }