1
+ /*
2
+ Copyright (c) 2012 Arduino. All right reserved.
3
+
4
+ This library is free software; you can redistribute it and/or
5
+ modify it under the terms of the GNU Lesser General Public
6
+ License as published by the Free Software Foundation; either
7
+ version 2.1 of the License, or (at your option) any later version.
8
+
9
+ This library is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
+ See the GNU Lesser General Public License for more details.
13
+
14
+ You should have received a copy of the GNU Lesser General Public
15
+ License along with this library; if not, write to the Free Software
16
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17
+ */
18
+
19
+ #include " Arduino.h"
20
+
21
+ void attachInterruptParam (pin_size_t interruptNum, voidFuncPtrParam func, PinStatus mode, void * param) {
22
+ // need to check if destructor also destroys the callback object
23
+ if (mode == FALLING) {
24
+ InterruptIn ((PinName)interruptNum).fall (callback (func, param));
25
+ } else {
26
+ InterruptIn ((PinName)interruptNum).rise (callback (func, param));
27
+ }
28
+ }
29
+
30
+ void attachInterrupt (pin_size_t interruptNum, voidFuncPtr func, PinStatus mode) {
31
+ attachInterruptParam (interruptNum, (voidFuncPtrParam)func, mode, NULL );
32
+ }
0 commit comments