I am working on a project which consists of an embedded system with an Atmel AVR32 microcontroller and FreeRTOS.
The system has 8 fans connected to different GPIO pins and it produces separate interrupt for every fan (if it is faulty or not installed and if it is OK).
I have implemented this specification with a FreeRTOS ISR and a queue (using xQueueSendFromISR when the status change) by sending the status to a task which wait for queue reception. The task then informs the user.
My problem is that I want to delay for some time after an interrupt arise in order to be sure of the fan status avoiding rapid on/off situations.
How can I do this in FreeRTOS apart from implemented 8 tasks and checking the status of every fan with some delay?
Thanks in advance.