Skip to content

Commit eb17194

Browse files
committed
Direct call or scheduled is either-or.
1 parent f8e0fcb commit eb17194

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

libraries/ESP32/examples/GPIO/FunctionalInterrupt/FunctionalInterrupts.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include "FunctionalInterrupts.h"
22
#include <Schedule.h>
3-
#include "Arduino.h"
3+
#include <Arduino.h>
44

55
void ICACHE_RAM_ATTR interruptFunctional(void* arg)
66
{
@@ -16,7 +16,7 @@ void ICACHE_RAM_ATTR interruptFunctional(void* arg)
1616
[reqScheduledFunction = localArg->functionInfo->reqScheduledFunction,
1717
interruptInfo = *localArg->interruptInfo]() { reqScheduledFunction(interruptInfo); });
1818
}
19-
if (localArg->functionInfo->reqFunction)
19+
else if (localArg->functionInfo->reqFunction)
2020
{
2121
localArg->functionInfo->reqFunction();
2222
}

libraries/ESP32/examples/GPIO/FunctionalInterrupt/FunctionalInterrupts.h

+12-14
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,30 @@
11
#ifndef FUNCTIONALINTERRUPTS_H
22
#define FUNCTIONALINTERRUPTS_H
33

4-
#include <stddef.h>
5-
#include <stdint.h>
64
#include <functional>
75

86
// Structures for communication
97

108
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;
1513
};
1614

1715
struct FunctionInfo {
1816
std::function<void(void)> reqFunction = nullptr;
19-
std::function<void(InterruptInfo)> reqScheduledFunction = nullptr;
17+
std::function<void(InterruptInfo)> reqScheduledFunction = nullptr;
2018
};
2119

2220
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;
3028
};
3129

3230
void attachInterrupt(uint8_t pin, std::function<void(void)> intRoutine, int mode);

0 commit comments

Comments
 (0)