i want to discuss for a new feature for future implementation.
Actually it is possible to syncronize ISR and task using semaphore (giveFromISR - take from Task). But sometimes i need (it could be useful IMO) that a task notifies something to ISR driver (for example, “pause acquisition”), without using global flag or calling a function and in task-safe mode . I can imagine the first objection of Richard: a task can wait on Q, and stay in wait state, and the scheduler can put it in ready when an element is present on the queue, for the ISR is a nonsense. But i’m imaging something similar to queueReceive, without the waitDelay, without a switch, because the ISR should only check if an element is present, and the rtos can only garantee that task cannot send element if the q is full, and remove element when the ISR read th element.
Sorry if my post is a little confused… i hope it was clear my idea.