Skip to content

Commit 2ce11a6

Browse files
committed
Abstract away scheduler wake.
1 parent 5b6e35d commit 2ce11a6

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

cores/nRF5/utility/SoftwareTimer.h

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,25 @@ class SoftwareTimer
6161
void stop (void) { xTimerStop (_handle, 0); }
6262
void reset(void) { xTimerReset(_handle, 0); }
6363

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);
6669
}
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);
6976
}
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);
7283
}
7384

7485
void setPeriod(uint32_t ms)

0 commit comments

Comments
 (0)