diff options
author | Christian Pointner <equinox@spreadspace.org> | 2018-11-24 03:50:02 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2018-11-24 03:50:02 +0100 |
commit | 49e6624d3817c87d71265790d774e0d34a47b8b4 (patch) | |
tree | f3a874b7289cb4f4342721852a08e276072a63fb /lib | |
parent | fix lora.init() and did some cleanup (diff) |
usb-lora example works now - but is not stable yet...
Diffstat (limited to 'lib')
-rw-r--r-- | lib/arduino-stub.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/arduino-stub.cpp b/lib/arduino-stub.cpp index 201962f..38bc168 100644 --- a/lib/arduino-stub.cpp +++ b/lib/arduino-stub.cpp @@ -1006,6 +1006,41 @@ void detachInterrupt(uint8_t interruptNum) { } } +#define IMPLEMENT_ISR(vect, interrupt) \ + ISR(vect) { \ + intFunc[interrupt](); \ + } + +#if defined(__AVR_ATmega32U4__) + +IMPLEMENT_ISR(INT0_vect, EXTERNAL_INT_0) +IMPLEMENT_ISR(INT1_vect, EXTERNAL_INT_1) +IMPLEMENT_ISR(INT2_vect, EXTERNAL_INT_2) +IMPLEMENT_ISR(INT3_vect, EXTERNAL_INT_3) +IMPLEMENT_ISR(INT6_vect, EXTERNAL_INT_4) + +#elif defined(EICRA) && defined(EICRB) + +IMPLEMENT_ISR(INT0_vect, EXTERNAL_INT_2) +IMPLEMENT_ISR(INT1_vect, EXTERNAL_INT_3) +IMPLEMENT_ISR(INT2_vect, EXTERNAL_INT_4) +IMPLEMENT_ISR(INT3_vect, EXTERNAL_INT_5) +IMPLEMENT_ISR(INT4_vect, EXTERNAL_INT_0) +IMPLEMENT_ISR(INT5_vect, EXTERNAL_INT_1) +IMPLEMENT_ISR(INT6_vect, EXTERNAL_INT_6) +IMPLEMENT_ISR(INT7_vect, EXTERNAL_INT_7) + +#else + +IMPLEMENT_ISR(INT0_vect, EXTERNAL_INT_0) +IMPLEMENT_ISR(INT1_vect, EXTERNAL_INT_1) + +#if defined(EICRA) && defined(ISC20) +IMPLEMENT_ISR(INT2_vect, EXTERNAL_INT_2) +#endif + +#endif + // ****************** // this is from Arduino's WMath.cpp |