I’ve been attempting to thread a highly interrupt driven programme and bashing my head against a wall failing to get anything working. So today I decided to reduce it right down to its simplest form. Blinky. Well ain’t nothin blinky about this. Nothing happens. I can add function calls to the main thread (such as printf) and they run. But nothing ever happens on the queue:
I am not 100% sure if I understand your issue correctly, because your code worked fine (the LED is blinking).
If you need to use EventQueue only (without thread), you need to use dispatch function.
int main(){
outputQueue.call_every(500ms, blink);
outputQueue.dispatch();
thread_sleep_for(osWaitForever);
}
Also yes unfortunately I do need threading, this is a supersimplification of the actual program in question that is dealing with CAN messages coming in and out in millisecond timings.