File tree 2 files changed +14
-16
lines changed
libraries/ESP32/examples/GPIO/FunctionalInterrupt
2 files changed +14
-16
lines changed Original file line number Diff line number Diff line change 1
1
#include " FunctionalInterrupts.h"
2
2
#include < Schedule.h>
3
- #include " Arduino.h"
3
+ #include < Arduino.h>
4
4
5
5
void ICACHE_RAM_ATTR interruptFunctional (void * arg)
6
6
{
@@ -16,7 +16,7 @@ void ICACHE_RAM_ATTR interruptFunctional(void* arg)
16
16
[reqScheduledFunction = localArg->functionInfo ->reqScheduledFunction ,
17
17
interruptInfo = *localArg->interruptInfo ]() { reqScheduledFunction (interruptInfo); });
18
18
}
19
- if (localArg->functionInfo ->reqFunction )
19
+ else if (localArg->functionInfo ->reqFunction )
20
20
{
21
21
localArg->functionInfo ->reqFunction ();
22
22
}
Original file line number Diff line number Diff line change 1
1
#ifndef FUNCTIONALINTERRUPTS_H
2
2
#define FUNCTIONALINTERRUPTS_H
3
3
4
- #include < stddef.h>
5
- #include < stdint.h>
6
4
#include < functional>
7
5
8
6
// Structures for communication
9
7
10
8
struct InterruptInfo {
11
- InterruptInfo (uint8_t _pin) : pin(_pin) {}
12
- const uint8_t pin;
13
- uint8_t value = 0 ;
14
- uint32_t micro = 0 ;
9
+ InterruptInfo (uint8_t _pin) : pin(_pin) {}
10
+ const uint8_t pin;
11
+ uint8_t value = 0 ;
12
+ uint32_t micro = 0 ;
15
13
};
16
14
17
15
struct FunctionInfo {
18
16
std::function<void (void )> reqFunction = nullptr ;
19
- std::function<void (InterruptInfo)> reqScheduledFunction = nullptr ;
17
+ std::function<void (InterruptInfo)> reqScheduledFunction = nullptr ;
20
18
};
21
19
22
20
struct ArgStructure {
23
- ~ArgStructure ()
24
- {
25
- delete functionInfo;
26
- delete interruptInfo;
27
- }
28
- InterruptInfo* interruptInfo = nullptr ;
29
- FunctionInfo* functionInfo = nullptr ;
21
+ ~ArgStructure ()
22
+ {
23
+ delete functionInfo;
24
+ delete interruptInfo;
25
+ }
26
+ InterruptInfo* interruptInfo = nullptr ;
27
+ FunctionInfo* functionInfo = nullptr ;
30
28
};
31
29
32
30
void attachInterrupt (uint8_t pin, std::function<void (void )> intRoutine, int mode);
You can’t perform that action at this time.
0 commit comments