@@ -182,9 +182,9 @@ unsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout);
182
182
void shiftOut (uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val);
183
183
uint8_t shiftIn (uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder);
184
184
185
- void attachInterrupt (uint8_t pin, void (*)(void ), int mode);
185
+ void attachInterrupt (uint8_t pin, void (*)(), int mode);
186
+ void attachInterruptParam (uint8_t pin, void (*)(void *), int mode, void* param);
186
187
void detachInterrupt (uint8_t pin);
187
- void attachInterruptArg (uint8_t pin, void (*)(void *), void* arg, int mode);
188
188
189
189
void preinit (void );
190
190
void setup (void );
@@ -223,6 +223,7 @@ void optimistic_yield(uint32_t interval_us);
223
223
#ifdef __cplusplus
224
224
225
225
#include < algorithm>
226
+ #include < functional>
226
227
#include < cstdlib>
227
228
#include < cmath>
228
229
@@ -264,6 +265,9 @@ long secureRandom(long);
264
265
long secureRandom (long , long );
265
266
long map (long , long , long , long , long );
266
267
268
+ // Functional interrupt handler
269
+ void attachInterrupt (uint8_t pin, std::function<void ()>, int mode);
270
+
267
271
void setTZ (const char * tz);
268
272
269
273
void configTime (int timezone , int daylightOffset_sec, const char * server1,
0 commit comments