I now had time to look through the patches you implemented.
You now implemented it with fully automatic reload where you don't have to call chVTReload in the callback to make it periodic, correct? What made you change your mind? You had to add last and reload to virtual_timer_t.
This part of the documentation for chVTSetContinuous and chVTSetContinuousI does not look correct to me:
Code: Select all
+ * @param[in] vtfunc the timer callback function. After invoking the
+ * callback the timer is disabled and the structure can
+ * be disposed or reused.
Will chVTGetRemainingIntervalX() work for one-shot timers? I think it won't because you calculate based on the reload value. I think this should at least be documented. It would be better if it would work for both kinds of timers though
Oh, and one small request from me: please sync changes like these to github too. I know you prefer SVN over git, but I find extracting patches using svn or the OSDN webinterface much slower and more cumbersome than using git where they are all synced to your local system and are easily accessible.