Skip to content

Commit ea9a82e

Browse files
ABOSTMfpistm
authored andcommitted
Interrupts: remove C prototype and keep only C++ prototypes
attachInterrupt() C prototypes was not usable from C source file (inheritance of former pure C implementation), and causes ambiguity when used with lambda function as callback Fixes stm32duino#1601 Signed-off-by: Alexandre Bourdiol <[email protected]>
1 parent b192e50 commit ea9a82e

File tree

2 files changed

+5
-12
lines changed

2 files changed

+5
-12
lines changed

cores/arduino/WInterrupts.h

+3-10
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,10 @@
2020
#define _WIRING_INTERRUPTS_
2121

2222
#include <stdint.h>
23+
#include <functional>
2324

24-
#ifdef __cplusplus
25-
#include <functional>
26-
27-
typedef std::function<void(void)> callback_function_t;
28-
void attachInterrupt(uint32_t pin, callback_function_t callback, uint32_t mode);
29-
30-
#endif
31-
32-
void attachInterrupt(uint32_t pin, void (*callback)(void), uint32_t mode);
33-
25+
typedef std::function<void(void)> callback_function_t;
26+
void attachInterrupt(uint32_t pin, callback_function_t callback, uint32_t mode);
3427
void detachInterrupt(uint32_t pin);
3528

3629
#endif /* _WIRING_INTERRUPTS_ */

cores/arduino/wiring.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,16 @@
3636
#include "wiring_pulse.h"
3737
#include "wiring_shift.h"
3838
#include "wiring_time.h"
39-
#include "WInterrupts.h"
4039

4140
#include <board.h>
4241

4342
#ifdef __cplusplus
4443
#include "HardwareTimer.h"
4544
#include "Tone.h"
4645
#include "WCharacter.h"
47-
#include "WSerial.h"
46+
#include "WInterrupts.h"
4847
#include "WMath.h"
48+
#include "WSerial.h"
4949
#include "WString.h"
5050
#endif // __cplusplus
5151

0 commit comments

Comments
 (0)