@@ -61,14 +61,25 @@ class SoftwareTimer
61
61
void stop (void ) { xTimerStop (_handle, 0 ); }
62
62
void reset (void ) { xTimerReset (_handle, 0 ); }
63
63
64
- BaseType_t startFromISR (BaseType_t* pxHigherPriorityTaskWoken = NULL ) {
65
- return xTimerStartFromISR (_handle, pxHigherPriorityTaskWoken);
64
+ bool startFromISR (void ) {
65
+ BaseType_t ret, xHigherPriorityTaskWoken = pdFALSE;
66
+ ret = xTimerStartFromISR (_handle, &xHigherPriorityTaskWoken);
67
+ portYIELD_FROM_ISR (xHigherPriorityTaskWoken);
68
+ return (ret == pdPASS);
66
69
}
67
- BaseType_t stopFromISR (BaseType_t* pxHigherPriorityTaskWoken = NULL ) {
68
- return xTimerStopFromISR (_handle, pxHigherPriorityTaskWoken);
70
+
71
+ bool stopFromISR (void ) {
72
+ BaseType_t ret, xHigherPriorityTaskWoken = pdFALSE;
73
+ ret = xTimerStopFromISR (_handle, &xHigherPriorityTaskWoken);
74
+ portYIELD_FROM_ISR (xHigherPriorityTaskWoken);
75
+ return (ret == pdPASS);
69
76
}
70
- BaseType_t resetFromISR (BaseType_t* pxHigherPriorityTaskWoken = NULL ) {
71
- return xTimerResetFromISR (_handle, pxHigherPriorityTaskWoken);
77
+
78
+ bool resetFromISR (void ) {
79
+ BaseType_t ret, xHigherPriorityTaskWoken = pdFALSE;
80
+ ret = xTimerResetFromISR (_handle, &xHigherPriorityTaskWoken);
81
+ portYIELD_FROM_ISR (xHigherPriorityTaskWoken);
82
+ return (ret == pdPASS);
72
83
}
73
84
74
85
void setPeriod (uint32_t ms)
0 commit comments