Is there any available or ported RTOS for STM32F407VE using stevstrong's core?
Thank you.

Code: Select all
loop() {
task1();
task2();
task3();
}
I don't know how hard is it to port.
Thanks ag123 for sharing your insights about this. Actually I haven't tried to use an RTOS ever since, just having some hearsay that its hard to debug a program if you are using an RTOS.ag123 wrote: Fri Feb 14, 2020 3:23 pm but seriously even an event loop may be deemed superfluous, if ray reads this thread, he'd probably agree![]()
many other things has been done without needing an event loop
Demonstration code for several things at the same time
https://forum.arduino.cc/index.php?topic=223286.0
Multi-tasking the Arduino - Part 1
https://learn.adafruit.com/multi-taskin ... ino-part-1
Well, firstly, I want to experience using an RTOS, secondly, one library for an RFID reader (PN532) with HSU from elechouse( https://github.com/elechouse/PN532 ) has a longer waiting time or timeout for waiting an acknowledgement or response therefor other activity of the mcu or in the program would be delayed significantly for 1 second.stevestrong wrote: Sat Feb 15, 2020 11:24 amI don't know how hard is it to port.
But I will not do it because I don't need it.
Why do you need it?
For easily managing timings I lately used this simple tasker: https://github.com/joysfera/arduino-tasker
Code: Select all
enum state_enum {
INIT = 0;
RUN,
DONE,
TIMEOUT
};
state_enum state = INIT;
int timeout = 0;
int done = false;
loop() {
if(state == INIT) {
timeout = millis() + 10000; //wait 10 secs
done = false;
state = RUN;
} else if (state == RUN && millis() =< timeout) {
done = check_results();
if(done) state = DONE;
} else if (state == RUN && millis() > timeout) {
state = TIMEOUT;
//do things when timeout if necessary
}
}
Code: Select all
while(1)
if( check_results() ) break;