Skip to content

Commit cf515f3

Browse files
committed
revert from Delegate to std::function to make it easier to accept PR
1 parent 0a1180d commit cf515f3

File tree

5 files changed

+12
-13
lines changed

5 files changed

+12
-13
lines changed

cores/esp8266/Arduino.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,6 @@ void optimistic_yield(uint32_t interval_us);
229229
#include <algorithm>
230230
#include <cstdlib>
231231
#include <cmath>
232-
#include "Delegate.h"
233232

234233

235234
#include "mmu_iram.h"
@@ -276,7 +275,7 @@ void setTZ(const char* tz);
276275
void configTime(const char* tz, const char* server1,
277276
const char* server2 = nullptr, const char* server3 = nullptr);
278277

279-
void attachInterrupt(uint8_t pin, Delegate<void(), void*> userFunc, int mode);
278+
void attachInterrupt(uint8_t pin, std::function<void()> userFunc, int mode);
280279

281280
// configures with approximated TZ value. part of the old api, prefer configTime with TZ variable
282281
void configTime(int timezone, int daylightOffset_sec, const char* server1,

cores/esp8266/core_esp8266_wiring_digital.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ extern "C" {
129129
{
130130
}
131131
uint8_t mode;
132-
Delegate<void(), void*> userFunc;
132+
std::function<void()> userFunc;
133133
};
134134

135135
static interrupt_handler_t interrupt_handlers[16];
@@ -147,7 +147,7 @@ extern "C" {
147147
}
148148
}
149149

150-
void set_interrupt_handlers(uint8_t pin, Delegate<void(), void*>&& userFunc, uint8_t mode)
150+
void set_interrupt_handlers(uint8_t pin, std::function<void()>&& userFunc, uint8_t mode)
151151
{
152152
interrupt_handler_t& handler = interrupt_handlers[pin];
153153
handler.userFunc = std::move(userFunc);
@@ -171,7 +171,7 @@ extern "C" {
171171
extern void __attachInterruptArg(uint8_t pin, voidFuncPtrArg const userFunc, void* const arg, int mode)
172172
{
173173
isr_iram_assertion(userFunc);
174-
attachInterrupt(pin, { userFunc, arg }, mode);
174+
attachInterrupt(pin, std::bind(userFunc, arg), mode);
175175
}
176176

177177
extern void __attachInterrupt(uint8_t pin, voidFuncPtr userFunc, int mode)
@@ -224,9 +224,9 @@ extern "C" {
224224

225225
};
226226

227-
extern void attachInterrupt(uint8_t pin, Delegate<void(), void*> userFunc, int mode)
227+
extern void attachInterrupt(uint8_t pin, std::function<void()> userFunc, int mode)
228228
{
229-
// isr_iram_assertion cannot inspect std::function objects; Delegate hides if its a std::function or C-style ptr
229+
// isr_iram_assertion cannot inspect std::function objects
230230
if (pin < 16)
231231
{
232232
ETS_GPIO_INTR_DISABLE();

libraries/FunctionalInterrupt/examples/Functional/Functional.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class Button {
1818
public:
1919
Button(uint8_t reqPin) : PIN(reqPin) {
2020
pinMode(PIN, INPUT_PULLUP);
21-
attachInterrupt(PIN, { buttonIsr_static, this }, FALLING);
21+
attachInterrupt(PIN, std::bind(buttonIsr_static, this), FALLING);
2222
};
2323
~Button() {
2424
detachInterrupt(PIN);

libraries/FunctionalInterrupt/src/FunctionalInterrupt.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ namespace
88
struct InterruptScheduleFunctionalArg
99
{
1010
uint8_t pin;
11-
Delegate<void(const InterruptInfo&), void*> scheduledIntRoutine;
11+
std::function<void(const InterruptInfo&)> scheduledIntRoutine;
1212
};
1313
struct ScheduleLambdaArg
1414
{
15-
Delegate<void(const InterruptInfo&), void*> scheduledIntRoutine;
15+
std::function<void(const InterruptInfo&)> scheduledIntRoutine;
1616
InterruptInfo interruptInfo;
1717
};
1818

@@ -26,7 +26,7 @@ namespace
2626

2727
}
2828

29-
void attachScheduledInterrupt(uint8_t pin, const Delegate<void(const InterruptInfo&), void*>& scheduledIntRoutine, int mode)
29+
void attachScheduledInterrupt(uint8_t pin, const std::function<void(const InterruptInfo&)>& scheduledIntRoutine, int mode)
3030
{
3131
if (scheduledIntRoutine)
3232
{

libraries/FunctionalInterrupt/src/FunctionalInterrupt.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef FUNCTIONALINTERRUPT_H
22
#define FUNCTIONALINTERRUPT_H
33

4-
#include <Delegate.h>
4+
#include <functional>
55

66
// Structures for communication
77

@@ -13,6 +13,6 @@ struct InterruptInfo
1313
uint32_t micro = 0;
1414
};
1515

16-
void attachScheduledInterrupt(uint8_t pin, const Delegate<void(const InterruptInfo&), void*>& scheduledIntRoutine, int mode);
16+
void attachScheduledInterrupt(uint8_t pin, const std::function<void(const InterruptInfo&)>& scheduledIntRoutine, int mode);
1717

1818
#endif //FUNCTIONALINTERRUPT_H

0 commit comments

Comments
 (0)