I am trying to use the tickless low power feature of FreeRtos in my application.
I noticed that portSUPPRESS_TICKS_AND_SLEEP never get called, the only way to make it work is disabling the only task that i have in my test application. This is very weird because the test task that i have only does this:
if(xQueueReceive(handler->events, &cur_event, portMAX_DELAY) == pdTRUE)
FSM_Process((HSM_PRIME*) handler, &cur_event);
I disabled all the interrupts that puts some data into this queue, so it would block indefinitely, leaving the system in IDLE state, i am using the IdleHook callback to make sure it is locked in this state, but still the portSUPPRESS_TICKS_AND_SLEEP doesnt get called. This is VERY frustrating.
configUSE_TICKLESS_IDLE is 2
configEXPECTED_IDLE_TIME_BEFORE_SLEEP is 200
INCLUDE_vTaskSuspend is 1
I really cant figure out what is happening, Could you guys help me?