Particle documentation says that “FreeRTOS supports a maximum of 10 active software timers”. My question is about the correct understanding of this statement:
Does it mean that you can have more than 10 timers in your program, but that FreeRTOS can handle only up to 10 timers that are somehow active simultaneously? Or does this mean that the number of timers that you can you in your program is anyhow limited to 10?
Oops, a typo in the last sentence of the question I’ve just created.
The sentence should be read:
Or is the number of softwaretimer to be used in user software anyhow limited to 10, even if they are not used simultateously?
I think what the documentation means is 10 timers can be defined/registered. Whether you use them Timer.start/Timer.stop; is not important.
If you are requiring more timers then a simple use of millis(); means you can keep track of many times - clearly for these to be accurate you need to keep your loop cadence > 1000 Hz.
Or you multiplex timers that can be alligned on a greates common divisor, set the timer interval to that and use the callback as dispatcher for the dedicated function calls.