@@ -69,7 +69,8 @@ class CallbackTimer
69
69
* @param arg Optional argument passed to callback
70
70
* @retval CallbackTimer& Reference to timer
71
71
*/
72
- CallbackTimer& IRAM_ATTR initializeUs (TimeType microseconds, TimerCallback callback, void * arg = nullptr )
72
+ __forceinline CallbackTimer& IRAM_ATTR initializeUs (TimeType microseconds, TimerCallback callback,
73
+ void * arg = nullptr )
73
74
{
74
75
setCallback (callback, arg);
75
76
setIntervalUs (microseconds);
@@ -81,7 +82,7 @@ class CallbackTimer
81
82
* @param callback Interrupt-style callback function to call when timer triggers (Default: none)
82
83
* @retval CallbackTimer& Reference to timer
83
84
*/
84
- CallbackTimer& IRAM_ATTR initializeUs (TimeType microseconds, InterruptCallback callback = nullptr )
85
+ __forceinline CallbackTimer& IRAM_ATTR initializeUs (TimeType microseconds, InterruptCallback callback = nullptr )
85
86
{
86
87
setCallback (reinterpret_cast <TimerCallback>(callback));
87
88
setIntervalUs (microseconds);
@@ -107,7 +108,8 @@ class CallbackTimer
107
108
* @param arg Optional argument passed to callback
108
109
* @retval CallbackTimer& Reference to timer
109
110
*/
110
- CallbackTimer& IRAM_ATTR initializeMs (uint32_t milliseconds, TimerCallback callback, void * arg = nullptr )
111
+ __forceinline CallbackTimer& IRAM_ATTR initializeMs (uint32_t milliseconds, TimerCallback callback,
112
+ void * arg = nullptr )
111
113
{
112
114
setCallback (callback, arg);
113
115
setIntervalMs (milliseconds);
@@ -119,7 +121,7 @@ class CallbackTimer
119
121
* @param callback Interrupt-style callback function to call when timer triggers (Default: none)
120
122
* @retval CallbackTimer& Reference to timer
121
123
*/
122
- CallbackTimer& IRAM_ATTR initializeMs (uint32_t milliseconds, InterruptCallback callback = nullptr )
124
+ __forceinline CallbackTimer& IRAM_ATTR initializeMs (uint32_t milliseconds, InterruptCallback callback = nullptr )
123
125
{
124
126
setCallback (reinterpret_cast <TimerCallback>(callback));
125
127
setIntervalMs (milliseconds);
@@ -131,7 +133,7 @@ class CallbackTimer
131
133
* @param delegateFunction Function to call when timer triggers
132
134
* @note Delegate callback method
133
135
*/
134
- CallbackTimer& initializeMs (uint32_t milliseconds, TimerDelegate delegateFunction)
136
+ __forceinline CallbackTimer& initializeMs (uint32_t milliseconds, TimerDelegate delegateFunction)
135
137
{
136
138
setCallback (delegateFunction);
137
139
setIntervalMs (milliseconds);
@@ -143,7 +145,7 @@ class CallbackTimer
143
145
* @param delegateFunction Function to call when timer triggers
144
146
* @note Delegate callback method
145
147
*/
146
- CallbackTimer& initializeUs (uint32_t microseconds, TimerDelegate delegateFunction)
148
+ __forceinline CallbackTimer& initializeUs (uint32_t microseconds, TimerDelegate delegateFunction)
147
149
{
148
150
setCallback (delegateFunction);
149
151
setIntervalUs (microseconds);
@@ -154,7 +156,7 @@ class CallbackTimer
154
156
* @param repeating True to restart timer when it triggers, false for one-shot (Default: true)
155
157
* @retval bool True if timer started
156
158
*/
157
- bool IRAM_ATTR start (bool repeating = true )
159
+ __forceinline bool IRAM_ATTR start (bool repeating = true )
158
160
{
159
161
if (!callbackSet || interval == 0 ) {
160
162
stop ();
@@ -176,7 +178,7 @@ class CallbackTimer
176
178
177
179
/* * @brief Stops timer
178
180
*/
179
- void IRAM_ATTR stop ()
181
+ __forceinline void IRAM_ATTR stop ()
180
182
{
181
183
if (started) {
182
184
api.disarm ();
@@ -188,15 +190,15 @@ class CallbackTimer
188
190
* @retval bool True if timer started
189
191
* @note Timer is stopped then started with current configuration
190
192
*/
191
- bool IRAM_ATTR restart ()
193
+ __forceinline bool IRAM_ATTR restart ()
192
194
{
193
195
return start (repeating);
194
196
}
195
197
196
198
/* * @brief Check if timer is started
197
199
* @retval bool True if started
198
200
*/
199
- bool isStarted () const
201
+ __forceinline bool isStarted () const
200
202
{
201
203
return started;
202
204
}
@@ -225,7 +227,7 @@ class CallbackTimer
225
227
/* * @brief Set timer interval in timer ticks
226
228
* @param ticks Interval in ticks
227
229
*/
228
- bool IRAM_ATTR checkInterval (uint32_t ticks) const
230
+ __forceinline bool checkInterval (uint32_t ticks) const
229
231
{
230
232
return ticks > api.minTicks () && ticks < api.maxTicks ();
231
233
}
@@ -250,7 +252,7 @@ class CallbackTimer
250
252
/* * @brief Set timer interval in timer ticks
251
253
* @param ticks Interval in ticks
252
254
*/
253
- bool IRAM_ATTR setInterval (TickType ticks)
255
+ __forceinline bool setInterval (TickType ticks)
254
256
{
255
257
if (checkInterval (ticks)) {
256
258
interval = ticks;
@@ -266,23 +268,23 @@ class CallbackTimer
266
268
/* * @brief Set timer interval
267
269
* @param microseconds Interval time in microseconds
268
270
*/
269
- bool IRAM_ATTR setIntervalUs (TimeType microseconds)
271
+ __forceinline bool IRAM_ATTR setIntervalUs (TimeType microseconds)
270
272
{
271
273
return setInterval (this ->timeToTicks (microseconds));
272
274
}
273
275
274
276
/* * @brief Set timer interval
275
277
* @param milliseconds Interval time in milliseconds
276
278
*/
277
- bool IRAM_ATTR setIntervalMs (uint32_t milliseconds)
279
+ __forceinline bool IRAM_ATTR setIntervalMs (uint32_t milliseconds)
278
280
{
279
281
return setInterval (Millis::timeToTicks (milliseconds));
280
282
}
281
283
282
284
/* * @brief Set timer trigger callback
283
285
* @param callback Function to call when timer triggers
284
286
*/
285
- void IRAM_ATTR setCallback (TimerCallback callback, void * arg = nullptr )
287
+ __forceinline void IRAM_ATTR setCallback (TimerCallback callback, void * arg = nullptr )
286
288
{
287
289
stop ();
288
290
api.setCallback (callback, arg);
0 commit comments