Some of us have had trouble with the 20 timer limit in Agents.
Worse case, this limit can stop some critical recurring timers. If the limit is hit exactly when the critical timer reloads, it’s this one that doesn’t get reloaded and obviously, this remains true until the agent restarts. As an example we have a task scheduler that absolutely needs to run, but extremely sporadic did stop unexpectedly due to this.
Having a sort of guaranteed (ie OS controlled outsideof the normal timer pool) watchdog timer that creates a tick every second, minute or configurable, would allow checking those critical timers and if needed relaunch them.
Not sure about the use of HW timers on the STM, but this can be done easily by just allocating a free HW timer to it, or using the underlying impOSs scheduler to create it. Shouldn’t be too hard …
Exact timing isn’t critical, the certainty of occurence is.