From dc9596f9945f65ca7269db4b3923623aa8fd04f3 Mon Sep 17 00:00:00 2001 From: Mik6e6 Date: Sat, 4 Jul 2020 12:31:18 -0400 Subject: [PATCH] Added arduino libs --- .../CytronMotorDriver.cpp | 47 + .../CytronMotorDriver.h | 44 + .../Cytron_Motor_Drivers_Library/LICENSE | 21 + .../Cytron_Motor_Drivers_Library/README.md | 60 + .../examples/PWM_DIR/PWM_DIR.ino | 60 + .../examples/PWM_DIR_DUAL/PWM_DIR_DUAL.ino | 68 + .../examples/PWM_PWM_DUAL/PWM_PWM_DUAL.ino | 68 + .../Cytron_Motor_Drivers_Library/keywords.txt | 24 + .../library.properties | 9 + libraries/EnableInterrupt/EnableInterrupt.h | 2073 +++++++++++++++++ .../EnableInterrupt/Interrupt Timing.odt | Bin 0 -> 1569786 bytes .../EnableInterrupt/Interrupt Timing.pdf | Bin 0 -> 1216007 bytes libraries/EnableInterrupt/README.md | 487 ++++ libraries/EnableInterrupt/ReleaseChecklist | 23 + libraries/EnableInterrupt/Technical_Notes | 929 ++++++++ .../examples/ATtinyBlink/ATtinyBlink.ino | 48 + .../examples/ATtinyBlink/Makefile | 19 + .../examples/AllPins2560/AllPins2560.ino | 228 ++ .../examples/AllPins2560/Makefile | 12 + .../examples/AllPins328/AllPins328.ino | 200 ++ .../examples/AllPins328/Makefile | 12 + .../examples/Debounce/Debounce.ino | 42 + .../examples/HiSpeed/HiSpeed.ino | 64 + .../EnableInterrupt/examples/HiSpeed/Makefile | 14 + .../EnableInterrupt/examples/HiSpeed/README | 4 + .../HiSpeedAllPins2560/HiSpeedAllPins2560.ino | 205 ++ .../examples/HiSpeedAllPins2560/Makefile | 13 + .../HiSpeedAllPins328/HiSpeedAllPins328.ino | 177 ++ .../examples/HiSpeedAllPins328/Makefile | 14 + .../examples/HiSpeedTest/HiSpeedTest.ino | 103 + .../examples/HiSpeedTest/Makefile | 13 + .../InterruptedPin2560/InterruptedPin2560.ino | 214 ++ .../examples/InterruptedPin2560/Makefile | 14 + .../InterruptedPin328/InterruptedPin328.ino | 154 ++ .../examples/InterruptedPin328/Makefile | 14 + .../examples/Mighty1284p/Mighty1284p.ino | 204 ++ .../examples/OOSimple/Makefile | 14 + .../examples/OOSimple/OOSimple.ino | 129 + .../EnableInterrupt/examples/Simple/Makefile | 39 + .../examples/Simple/Makefile-usbasp | 31 + .../examples/Simple/Simple.ino | 67 + .../examples/SimpleDueZero/SimpleDueZero.ino | 47 + .../examples/SimpleWithLibrary/Makefile | 14 + .../SimpleWithLibrary/SimpleWithLibrary.ino | 39 + .../examples/SimpleWithLibrary/Useless.cpp | 26 + .../examples/SimpleWithLibrary/Useless.h | 28 + .../examples/Testing/Testing.ino | 100 + libraries/EnableInterrupt/examples/test.sh | 24 + libraries/EnableInterrupt/extras/LICENSE | 202 ++ libraries/EnableInterrupt/extras/NOTICE | 19 + .../EnableInterrupt/extras/RELEASE_NOTES | 92 + libraries/EnableInterrupt/findInH | 13 + libraries/EnableInterrupt/keywords.txt | 20 + libraries/EnableInterrupt/library.json | 20 + libraries/EnableInterrupt/library.properties | 9 + .../EnableInterrupt/utility/ei_External1284.h | 66 + .../EnableInterrupt/utility/ei_External2560.h | 228 ++ .../EnableInterrupt/utility/ei_External328.h | 45 + .../utility/ei_ExternalLeonardo.h | 106 + .../utility/ei_ExternalTiny24.h | 24 + .../utility/ei_ExternalTiny25.h | 22 + .../utility/ei_PinChange1284.h | 127 + .../utility/ei_PinChange2560.h | 103 + .../EnableInterrupt/utility/ei_PinChange328.h | 98 + .../utility/ei_PinChangeLeonardo.h | 33 + .../utility/ei_PinChangeTiny24.h | 69 + .../utility/ei_PinChangeTiny25.h | 32 + .../utility/ei_pindefs_speed.h | 137 ++ .../EnableInterrupt/utility/ei_porta_speed.h | 26 + .../EnableInterrupt/utility/ei_portb_speed.h | 126 + .../EnableInterrupt/utility/ei_portc_speed.h | 47 + .../EnableInterrupt/utility/ei_portd_speed.h | 78 + .../EnableInterrupt/utility/ei_portj_speed.h | 24 + .../EnableInterrupt/utility/ei_portk_speed.h | 26 + libraries/PID/PID_v1.cpp | 224 ++ libraries/PID/PID_v1.h | 90 + libraries/PID/README.txt | 11 + .../PID_AdaptiveTunings.ino | 56 + .../PID/examples/PID_Basic/PID_Basic.ino | 35 + libraries/PID/examples/PID_PonM/PID_PonM.ino | 36 + .../PID_RelayOutput/PID_RelayOutput.ino | 64 + libraries/PID/keywords.txt | 36 + libraries/PID/library.json | 19 + libraries/PID/library.properties | 9 + libraries/SimplePID-master/LICENSE | 28 + libraries/SimplePID-master/README.asciidoc | 93 + libraries/SimplePID-master/SimplePID.cpp | 61 + libraries/SimplePID-master/SimplePID.h | 36 + .../examples/AStarPIDTest/AStarPIDTest.ino | 296 +++ .../examples/RomeoPIDTest/RomeoPIDTest.ino | 294 +++ 90 files changed, 9419 insertions(+) create mode 100644 libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.cpp create mode 100644 libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.h create mode 100644 libraries/Cytron_Motor_Drivers_Library/LICENSE create mode 100644 libraries/Cytron_Motor_Drivers_Library/README.md create mode 100644 libraries/Cytron_Motor_Drivers_Library/examples/PWM_DIR/PWM_DIR.ino create mode 100644 libraries/Cytron_Motor_Drivers_Library/examples/PWM_DIR_DUAL/PWM_DIR_DUAL.ino create mode 100644 libraries/Cytron_Motor_Drivers_Library/examples/PWM_PWM_DUAL/PWM_PWM_DUAL.ino create mode 100644 libraries/Cytron_Motor_Drivers_Library/keywords.txt create mode 100644 libraries/Cytron_Motor_Drivers_Library/library.properties create mode 100644 libraries/EnableInterrupt/EnableInterrupt.h create mode 100644 libraries/EnableInterrupt/Interrupt Timing.odt create mode 100644 libraries/EnableInterrupt/Interrupt Timing.pdf create mode 100644 libraries/EnableInterrupt/README.md create mode 100644 libraries/EnableInterrupt/ReleaseChecklist create mode 100644 libraries/EnableInterrupt/Technical_Notes create mode 100644 libraries/EnableInterrupt/examples/ATtinyBlink/ATtinyBlink.ino create mode 100644 libraries/EnableInterrupt/examples/ATtinyBlink/Makefile create mode 100644 libraries/EnableInterrupt/examples/AllPins2560/AllPins2560.ino create mode 100644 libraries/EnableInterrupt/examples/AllPins2560/Makefile create mode 100644 libraries/EnableInterrupt/examples/AllPins328/AllPins328.ino create mode 100644 libraries/EnableInterrupt/examples/AllPins328/Makefile create mode 100644 libraries/EnableInterrupt/examples/Debounce/Debounce.ino create mode 100644 libraries/EnableInterrupt/examples/HiSpeed/HiSpeed.ino create mode 100644 libraries/EnableInterrupt/examples/HiSpeed/Makefile create mode 100644 libraries/EnableInterrupt/examples/HiSpeed/README create mode 100644 libraries/EnableInterrupt/examples/HiSpeedAllPins2560/HiSpeedAllPins2560.ino create mode 100644 libraries/EnableInterrupt/examples/HiSpeedAllPins2560/Makefile create mode 100644 libraries/EnableInterrupt/examples/HiSpeedAllPins328/HiSpeedAllPins328.ino create mode 100644 libraries/EnableInterrupt/examples/HiSpeedAllPins328/Makefile create mode 100644 libraries/EnableInterrupt/examples/HiSpeedTest/HiSpeedTest.ino create mode 100644 libraries/EnableInterrupt/examples/HiSpeedTest/Makefile create mode 100644 libraries/EnableInterrupt/examples/InterruptedPin2560/InterruptedPin2560.ino create mode 100644 libraries/EnableInterrupt/examples/InterruptedPin2560/Makefile create mode 100644 libraries/EnableInterrupt/examples/InterruptedPin328/InterruptedPin328.ino create mode 100644 libraries/EnableInterrupt/examples/InterruptedPin328/Makefile create mode 100644 libraries/EnableInterrupt/examples/Mighty1284p/Mighty1284p.ino create mode 100644 libraries/EnableInterrupt/examples/OOSimple/Makefile create mode 100644 libraries/EnableInterrupt/examples/OOSimple/OOSimple.ino create mode 100644 libraries/EnableInterrupt/examples/Simple/Makefile create mode 100644 libraries/EnableInterrupt/examples/Simple/Makefile-usbasp create mode 100644 libraries/EnableInterrupt/examples/Simple/Simple.ino create mode 100644 libraries/EnableInterrupt/examples/SimpleDueZero/SimpleDueZero.ino create mode 100644 libraries/EnableInterrupt/examples/SimpleWithLibrary/Makefile create mode 100644 libraries/EnableInterrupt/examples/SimpleWithLibrary/SimpleWithLibrary.ino create mode 100644 libraries/EnableInterrupt/examples/SimpleWithLibrary/Useless.cpp create mode 100644 libraries/EnableInterrupt/examples/SimpleWithLibrary/Useless.h create mode 100644 libraries/EnableInterrupt/examples/Testing/Testing.ino create mode 100644 libraries/EnableInterrupt/examples/test.sh create mode 100644 libraries/EnableInterrupt/extras/LICENSE create mode 100644 libraries/EnableInterrupt/extras/NOTICE create mode 100644 libraries/EnableInterrupt/extras/RELEASE_NOTES create mode 100644 libraries/EnableInterrupt/findInH create mode 100644 libraries/EnableInterrupt/keywords.txt create mode 100644 libraries/EnableInterrupt/library.json create mode 100644 libraries/EnableInterrupt/library.properties create mode 100644 libraries/EnableInterrupt/utility/ei_External1284.h create mode 100644 libraries/EnableInterrupt/utility/ei_External2560.h create mode 100644 libraries/EnableInterrupt/utility/ei_External328.h create mode 100644 libraries/EnableInterrupt/utility/ei_ExternalLeonardo.h create mode 100644 libraries/EnableInterrupt/utility/ei_ExternalTiny24.h create mode 100644 libraries/EnableInterrupt/utility/ei_ExternalTiny25.h create mode 100644 libraries/EnableInterrupt/utility/ei_PinChange1284.h create mode 100644 libraries/EnableInterrupt/utility/ei_PinChange2560.h create mode 100644 libraries/EnableInterrupt/utility/ei_PinChange328.h create mode 100644 libraries/EnableInterrupt/utility/ei_PinChangeLeonardo.h create mode 100644 libraries/EnableInterrupt/utility/ei_PinChangeTiny24.h create mode 100644 libraries/EnableInterrupt/utility/ei_PinChangeTiny25.h create mode 100644 libraries/EnableInterrupt/utility/ei_pindefs_speed.h create mode 100644 libraries/EnableInterrupt/utility/ei_porta_speed.h create mode 100644 libraries/EnableInterrupt/utility/ei_portb_speed.h create mode 100644 libraries/EnableInterrupt/utility/ei_portc_speed.h create mode 100644 libraries/EnableInterrupt/utility/ei_portd_speed.h create mode 100644 libraries/EnableInterrupt/utility/ei_portj_speed.h create mode 100644 libraries/EnableInterrupt/utility/ei_portk_speed.h create mode 100644 libraries/PID/PID_v1.cpp create mode 100644 libraries/PID/PID_v1.h create mode 100644 libraries/PID/README.txt create mode 100644 libraries/PID/examples/PID_AdaptiveTunings/PID_AdaptiveTunings.ino create mode 100644 libraries/PID/examples/PID_Basic/PID_Basic.ino create mode 100644 libraries/PID/examples/PID_PonM/PID_PonM.ino create mode 100644 libraries/PID/examples/PID_RelayOutput/PID_RelayOutput.ino create mode 100644 libraries/PID/keywords.txt create mode 100644 libraries/PID/library.json create mode 100644 libraries/PID/library.properties create mode 100644 libraries/SimplePID-master/LICENSE create mode 100644 libraries/SimplePID-master/README.asciidoc create mode 100644 libraries/SimplePID-master/SimplePID.cpp create mode 100644 libraries/SimplePID-master/SimplePID.h create mode 100644 libraries/SimplePID-master/examples/AStarPIDTest/AStarPIDTest.ino create mode 100644 libraries/SimplePID-master/examples/RomeoPIDTest/RomeoPIDTest.ino diff --git a/libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.cpp b/libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.cpp new file mode 100644 index 0000000..450dec8 --- /dev/null +++ b/libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.cpp @@ -0,0 +1,47 @@ +#include "CytronMotorDriver.h" + +CytronMD::CytronMD(MODE mode, uint8_t pin1, uint8_t pin2) +{ + _mode = mode; + _pin1 = pin1; + _pin2 = pin2; + + pinMode(_pin1, OUTPUT); + pinMode(_pin2, OUTPUT); + + digitalWrite(_pin1, LOW); + digitalWrite(_pin2, LOW); +} + +void CytronMD::setSpeed(int16_t speed) +{ + // Make sure the speed is within the limit. + if (speed > 255) { + speed = 255; + } else if (speed < -255) { + speed = -255; + } + + // Set the speed and direction. + switch (_mode) { + case PWM_DIR: + if (speed >= 0) { + analogWrite(_pin1, speed); + digitalWrite(_pin2, LOW); + } else { + analogWrite(_pin1, -speed); + digitalWrite(_pin2, HIGH); + } + break; + + case PWM_PWM: + if (speed >= 0) { + analogWrite(_pin1, speed); + analogWrite(_pin2, 0); + } else { + analogWrite(_pin1, 0); + analogWrite(_pin2, -speed); + } + break; + } +} diff --git a/libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.h b/libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.h new file mode 100644 index 0000000..d297f7b --- /dev/null +++ b/libraries/Cytron_Motor_Drivers_Library/CytronMotorDriver.h @@ -0,0 +1,44 @@ +#ifndef CYTRON_MOTOR_DRIVER_H +#define CYTRON_MOTOR_DRIVER_H + +#include +#include + + + +enum MODE { + PWM_DIR, + PWM_PWM, +}; + + + +class CytronMD +{ + public: + CytronMD(MODE mode, uint8_t pin1, uint8_t pin2); + void setSpeed(int16_t speed); + + protected: + MODE _mode; + uint8_t _pin1; + uint8_t _pin2; +}; + + + +/* class CytronMD10C : public CytronMD +{ + public: + CytronMD10C(uint8_t pwmPin, uint8_t dirPin) : CytronMD(PWM_DIR, pwmPin, dirPin) {}; +}; + + + +class CytronMD13S : public CytronMD +{ + public: + CytronMD13S(uint8_t pwmPin, uint8_t dirPin) : CytronMD(PWM_DIR, pwmPin, dirPin) {}; +}; */ + +#endif diff --git a/libraries/Cytron_Motor_Drivers_Library/LICENSE b/libraries/Cytron_Motor_Drivers_Library/LICENSE new file mode 100644 index 0000000..1709a15 --- /dev/null +++ b/libraries/Cytron_Motor_Drivers_Library/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 CytronTechnologies + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/libraries/Cytron_Motor_Drivers_Library/README.md b/libraries/Cytron_Motor_Drivers_Library/README.md new file mode 100644 index 0000000..e8d0489 --- /dev/null +++ b/libraries/Cytron_Motor_Drivers_Library/README.md @@ -0,0 +1,60 @@ +# Arduino Library for Cytron Motor Drivers +This library provides functions for Cytron Motor Drivers.
+Please refer to the examples on how to use the library.
+Connection to the motor driver is described in the comment section of the examples. + +## Installation +1. Open the Arduino IDE, select `Sketch` -> `Include Library` -> `Manage Libraries...`. +2. Search for `Cytron Motor Drivers Library`. +3. Click `Install` to install the library. +4. Restart the Arduino IDE. +5. Examples can be opened in Arduino IDE from `File` -> `Examples` -> `Cytron DC Motors Library`.
+Please refer to the example list below for all the compatible motor drivers. + + +## Examples +### 1. PWM_DIR +This example shows how to drive a motor using PWM and DIR pins.
+PWM pin is used to control the speed of the motor while DIR pin is used to control the direction.
+
+This example only show how to drive a single motor for simplicity.
+For multi channels motor driver, all channels work the same way.
+ +**Compatible Motor Drivers:** +* [MD10C](https://www.cytron.io/p-md10c) +* [MD10-POT](https://www.cytron.io/p-md10-pot) +* [MD13S](https://www.cytron.io/p-md13s) +* [MD20A](https://www.cytron.io/p-20amp-6v-30v-dc-motor-driver) +* [MD30C](https://www.cytron.io/p-md30c) +* [SHIELD-MD10](https://www.cytron.io/p-shield-md10) +* [MDS160A*](https://www.cytron.io/p-mds160a) +* [MDS40B*](https://www.cytron.io/p-mds40b) + +**Smart series motor driver needs to be configured as **Sign-Magnitude PWM Input** mode. Refer to user manual for more details.* + + + +### 2. PWM_DIR_DUAL +This example shows how to drive 2 motors using PWM and DIR pins .
+PWM pin is used to control the speed of the motor while DIR pin is used to control the direction.
+ +**Compatible Motor Drivers:** +* [SHIELD-2AMOTOR](https://www.cytron.io/p-shield-2amotor) +* [SHIELD-3AMOTOR](https://www.cytron.io/p-shield-3amotor) +* [MDD10A](https://www.cytron.io/p-mdd10a) +* [FD04A](https://www.cytron.io/p-fd04a) +* [MDDS10*](https://www.cytron.io/p-mdds10) +* [MDDS30*](https://www.cytron.io/p-mdds30) +* [MDDS60*](https://www.cytron.io/p-mdds60) + +**Smart series motor driver needs to be configured as **Sign-Magnitude PWM Input** mode. Refer to user manual for more details.* + + + +### 2. PWM_PWM_DUAL +This example shows how to drive 2 motors using 4 PWM input pins (2 for each motor).
+Input A controls the motor speed in forward direction and Input B controls the motor speed in backward direction.
+ +**Compatible Motor Drivers:** +* [MAKER-DRIVE](https://www.cytron.io/p-maker-drive) +* [MDD03A](https://www.cytron.io/p-mdd03a) diff --git a/libraries/Cytron_Motor_Drivers_Library/examples/PWM_DIR/PWM_DIR.ino b/libraries/Cytron_Motor_Drivers_Library/examples/PWM_DIR/PWM_DIR.ino new file mode 100644 index 0000000..0efb350 --- /dev/null +++ b/libraries/Cytron_Motor_Drivers_Library/examples/PWM_DIR/PWM_DIR.ino @@ -0,0 +1,60 @@ +/******************************************************************************* + * THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTY AND SUPPORT + * IS APPLICABLE TO THIS SOFTWARE IN ANY FORM. CYTRON TECHNOLOGIES SHALL NOT, + * IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR CONSEQUENTIAL + * DAMAGES, FOR ANY REASON WHATSOEVER. + ******************************************************************************** + * DESCRIPTION: + * + * This example shows how to drive a motor using the PWM and DIR pins. + * This example only shows how to drive a single motor for simplicity. + * For dual channel motor driver, both channel work the same way. + * + * + * CONNECTIONS: + * + * Arduino D3 - Motor Driver PWM Input + * Arduino D4 - Motor Driver DIR Input + * Arduino GND - Motor Driver GND + * + * + * AUTHOR : Kong Wai Weng + * COMPANY : Cytron Technologies Sdn Bhd + * WEBSITE : www.cytron.io + * EMAIL : support@cytron.io + * + *******************************************************************************/ + + #include "CytronMotorDriver.h" + + +// Configure the motor driver. +CytronMD motor(PWM_DIR, 3, 4); // PWM = Pin 3, DIR = Pin 4. + + +// The setup routine runs once when you press reset. +void setup() { + +} + + +// The loop routine runs over and over again forever. +void loop() { + motor.setSpeed(128); // Run forward at 50% speed. + delay(1000); + + motor.setSpeed(255); // Run forward at full speed. + delay(1000); + + motor.setSpeed(0); // Stop. + delay(1000); + + motor.setSpeed(-128); // Run backward at 50% speed. + delay(1000); + + motor.setSpeed(-255); // Run backward at full speed. + delay(1000); + + motor.setSpeed(0); // Stop. + delay(1000); +} diff --git a/libraries/Cytron_Motor_Drivers_Library/examples/PWM_DIR_DUAL/PWM_DIR_DUAL.ino b/libraries/Cytron_Motor_Drivers_Library/examples/PWM_DIR_DUAL/PWM_DIR_DUAL.ino new file mode 100644 index 0000000..bc9cc84 --- /dev/null +++ b/libraries/Cytron_Motor_Drivers_Library/examples/PWM_DIR_DUAL/PWM_DIR_DUAL.ino @@ -0,0 +1,68 @@ +/******************************************************************************* + * THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTY AND SUPPORT + * IS APPLICABLE TO THIS SOFTWARE IN ANY FORM. CYTRON TECHNOLOGIES SHALL NOT, + * IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR CONSEQUENTIAL + * DAMAGES, FOR ANY REASON WHATSOEVER. + ******************************************************************************** + * DESCRIPTION: + * + * This example shows how to drive 2 motors using the PWM and DIR pins with + * 2-channel motor driver. + * + * + * CONNECTIONS: + * + * Arduino D3 - Motor Driver PWM 1 Input + * Arduino D4 - Motor Driver DIR 1 Input + * Arduino D9 - Motor Driver PWM 2 Input + * Arduino D10 - Motor Driver DIR 2 Input + * Arduino GND - Motor Driver GND + * + * + * AUTHOR : Kong Wai Weng + * COMPANY : Cytron Technologies Sdn Bhd + * WEBSITE : www.cytron.io + * EMAIL : support@cytron.io + * + *******************************************************************************/ + + #include "CytronMotorDriver.h" + + +// Configure the motor driver. +CytronMD motor1(PWM_DIR, 3, 4); // PWM 1 = Pin 3, DIR 1 = Pin 4. +CytronMD motor2(PWM_DIR, 9, 10); // PWM 2 = Pin 9, DIR 2 = Pin 10. + + +// The setup routine runs once when you press reset. +void setup() { + +} + + +// The loop routine runs over and over again forever. +void loop() { + motor1.setSpeed(128); // Motor 1 runs forward at 50% speed. + motor2.setSpeed(-128); // Motor 2 runs backward at 50% speed. + delay(1000); + + motor1.setSpeed(255); // Motor 1 runs forward at full speed. + motor2.setSpeed(-255); // Motor 2 runs backward at full speed. + delay(1000); + + motor1.setSpeed(0); // Motor 1 stops. + motor2.setSpeed(0); // Motor 2 stops. + delay(1000); + + motor1.setSpeed(-128); // Motor 1 runs backward at 50% speed. + motor2.setSpeed(128); // Motor 2 runs forward at 50% speed. + delay(1000); + + motor1.setSpeed(-255); // Motor 1 runs backward at full speed. + motor2.setSpeed(255); // Motor 2 runs forward at full speed. + delay(1000); + + motor1.setSpeed(0); // Motor 1 stops. + motor2.setSpeed(0); // Motor 2 stops. + delay(1000); +} \ No newline at end of file diff --git a/libraries/Cytron_Motor_Drivers_Library/examples/PWM_PWM_DUAL/PWM_PWM_DUAL.ino b/libraries/Cytron_Motor_Drivers_Library/examples/PWM_PWM_DUAL/PWM_PWM_DUAL.ino new file mode 100644 index 0000000..f91e352 --- /dev/null +++ b/libraries/Cytron_Motor_Drivers_Library/examples/PWM_PWM_DUAL/PWM_PWM_DUAL.ino @@ -0,0 +1,68 @@ +/******************************************************************************* + * THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTY AND SUPPORT + * IS APPLICABLE TO THIS SOFTWARE IN ANY FORM. CYTRON TECHNOLOGIES SHALL NOT, + * IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR CONSEQUENTIAL + * DAMAGES, FOR ANY REASON WHATSOEVER. + ******************************************************************************** + * DESCRIPTION: + * + * This example shows how to drive 2 motors using 4 PWM pins (2 for each motor) + * with 2-channel motor driver. + * + * + * CONNECTIONS: + * + * Arduino D3 - Motor Driver PWM 1A Input + * Arduino D9 - Motor Driver PWM 1B Input + * Arduino D10 - Motor Driver PWM 2A Input + * Arduino D11 - Motor Driver PWM 2B Input + * Arduino GND - Motor Driver GND + * + * + * AUTHOR : Kong Wai Weng + * COMPANY : Cytron Technologies Sdn Bhd + * WEBSITE : www.cytron.io + * EMAIL : support@cytron.io + * + *******************************************************************************/ + + #include "CytronMotorDriver.h" + + +// Configure the motor driver. +CytronMD motor1(PWM_PWM, 3, 9); // PWM 1A = Pin 3, PWM 1B = Pin 9. +CytronMD motor2(PWM_PWM, 10, 11); // PWM 2A = Pin 10, PWM 2B = Pin 11. + + +// The setup routine runs once when you press reset. +void setup() { + +} + + +// The loop routine runs over and over again forever. +void loop() { + motor1.setSpeed(128); // Motor 1 runs forward at 50% speed. + motor2.setSpeed(-128); // Motor 2 runs backward at 50% speed. + delay(1000); + + motor1.setSpeed(255); // Motor 1 runs forward at full speed. + motor2.setSpeed(-255); // Motor 2 runs backward at full speed. + delay(1000); + + motor1.setSpeed(0); // Motor 1 stops. + motor2.setSpeed(0); // Motor 2 stops. + delay(1000); + + motor1.setSpeed(-128); // Motor 1 runs backward at 50% speed. + motor2.setSpeed(128); // Motor 2 runs forward at 50% speed. + delay(1000); + + motor1.setSpeed(-255); // Motor 1 runs backward at full speed. + motor2.setSpeed(255); // Motor 2 runs forward at full speed. + delay(1000); + + motor1.setSpeed(0); // Motor 1 stops. + motor2.setSpeed(0); // Motor 2 stops. + delay(1000); +} \ No newline at end of file diff --git a/libraries/Cytron_Motor_Drivers_Library/keywords.txt b/libraries/Cytron_Motor_Drivers_Library/keywords.txt new file mode 100644 index 0000000..100b362 --- /dev/null +++ b/libraries/Cytron_Motor_Drivers_Library/keywords.txt @@ -0,0 +1,24 @@ +############################################# +# Syntax Coloring Map For Cytron Motor Driver +############################################# +# Class +############################################# + +CytronMD KEYWORD3 + + + +############################################# +# Methods and Functions +############################################# + +setSpeed KEYWORD2 + + + +############################################# +# Constants +############################################# + +PWM_DIR LITERAL1 +PWM_PWM LITERAL1 diff --git a/libraries/Cytron_Motor_Drivers_Library/library.properties b/libraries/Cytron_Motor_Drivers_Library/library.properties new file mode 100644 index 0000000..3b55c7f --- /dev/null +++ b/libraries/Cytron_Motor_Drivers_Library/library.properties @@ -0,0 +1,9 @@ +name=Cytron Motor Drivers Library +version=1.0.1 +author=Cytron Technologies Sdn Bhd +maintainer=Cytron Technologies Sdn Bhd +sentence=Library for Cytron Motor Drivers. +paragraph=Provide examples on how to use the motor drivers. +category=Device Control +url=https://github.com/CytronTechnologies/CytronMotorDriver.git +architectures=* \ No newline at end of file diff --git a/libraries/EnableInterrupt/EnableInterrupt.h b/libraries/EnableInterrupt/EnableInterrupt.h new file mode 100644 index 0000000..3da2258 --- /dev/null +++ b/libraries/EnableInterrupt/EnableInterrupt.h @@ -0,0 +1,2073 @@ +// in vim, :set ts=2 sts=2 sw=2 et fdm=marker + +// EnableInterrupt, a library by GreyGnome. Copyright 2014-2015 by Michael Anthony Schwager. + +/* + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +// Many definitions in /usr/avr/include/avr/io.h + +#ifndef EnableInterrupt_h +#define EnableInterrupt_h +#include + +// Function Prototypes (comment) /*{{{*/ +/* ************************************************************************************* +// ************************************************************************************* +// Function Prototypes ***************************************************************** +// ************************************************************************************* +// ************************************************************************************* +// *** These are the only functions the end user (programmer) needs to consider. *** +// *** This means you! *** +// ************************************************************************************* +*//*}}}*/ + +// Arduino Due (not Duemilanove) and Zero macros. Easy-peasy. +// Zero uses the __SAMD21G18A__ processor macro (2015-10-13) but we will use this handy macro, to +// avoid breaking the library over tiny changes. +#if defined __SAM3U4E__ || defined __SAM3X8E__ || defined __SAM3X8H__ || defined ARDUINO_SAMD_ZERO || defined __SAMD21G18A__ || defined __SAMD21J18A__ /*{{{*/ +#ifdef NEEDFORSPEED +#error Due and Zero are already fast; the NEEDFORSPEED definition does not make sense on it. +#endif +#define enableInterrupt(pin,userFunc,mode) attachInterrupt(pin, userFunc,mode) +#define disableInterrupt(pin) detachInterrupt(pin)/*}}}*/ +#else + +// Usage: (comment) /*{{{*/ +/* enableInterrupt- Sets up an interrupt on a selected Arduino pin. + * or + * enableInterruptFast- When used with the NEEDFORSPEED macro, sets up an interrupt on a selected Arduino pin. + * + * Usage: + * enableInterrupt(uint8_t pinNumber, void (*userFunction)(void), uint8_t mode); + * or + * enableInterrupt(uint8_t interruptDesignator, void (*userFunction)(void), uint8_t mode); + * + * For HiSpeed mode, + * enableInterruptFast(uint8_t pinNumber, uint8_t mode); + * or + * enableInterruptFast(uint8_t interruptDesignator, uint8_t mode); + * + * --------------------------------------------------------------------------------------- + * + * disableInterrupt- Disables interrupt on a selected Arduino pin. + * + * Usage: + * + * disableInterrupt(uint8_t pinNumber); + * or + * disableInterrupt(uint8_t interruptDesignator); + * + * --------------------------------------------------------------------------------------- + * + * interruptDesignator: Essentially this is an Arduino pin, and if that's all you want to give + * the function, it will work just fine. Why is it called an "interruptDesignator", then? Because + * there's a twist: You can perform a bitwise "and" with the pin number and PINCHANGEINTERRUPT + * to specify that you want to use a Pin Change Interrupt type of interrupt on those pins that + * support both Pin Change and External Interrupts. Otherwise, the library will choose whatever + * interrupt type (External, or Pin Change) normally applies to that pin, with priority to + * External Interrupt. + * + * The interruptDesignator is required because on the ATmega328 processor pins 2 and 3 support + * ''either'' pin change or * external interrupts. On 644/1284-based systems, pin change interrupts + * are supported on all pins and external interrupts are supported on pins 2, 10, and 11. + * Otherwise, each pin only supports a single type of interrupt and the + * PINCHANGEINTERRUPT scheme changes nothing. This means you can ignore this whole discussion + * for ATmega2560- or ATmega32U4-based Arduinos. You can probably safely ignore it for + * ATmega328-based Arduinos, too. + *//*}}}*/ + +void enableInterrupt(uint8_t interruptDesignator, void (*userFunction)(void), uint8_t mode); +void disableInterrupt(uint8_t interruptDesignator); +void bogusFunctionPlaceholder(void); +#ifdef NEEDFORSPEED +#undef enableInterruptFast +// enableInterruptFast(uint8_t interruptDesignator, uint8_t mode); +#define enableInterruptFast(x, y) enableInterrupt(x, bogusFunctionPlaceholder, y) +#endif + +// ************************************************************************************* +// End Function Prototypes ************************************************************* +// ************************************************************************************* + +#undef PINCHANGEINTERRUPT +#define PINCHANGEINTERRUPT 0x80 + +#undef attachPinChangeInterrupt +#undef detachPinChangeInterrupt +#define detachPinChangeInterrupt(pin) disableInterrupt(pin) +#define attachPinChangeInterrupt(pin,userFunc,mode) enableInterrupt(pin, userFunc, mode) + +#ifdef LIBCALL_ENABLEINTERRUPT // LIBCALL_ENABLEINTERRUPT **************************************** + +#ifdef EI_ARDUINO_INTERRUPTED_PIN +extern volatile uint8_t arduinoInterruptedPin; +extern volatile uint8_t arduinoPinState; +#endif + +#else + +#ifdef EI_ARDUINO_INTERRUPTED_PIN +volatile uint8_t arduinoInterruptedPin=0; +volatile uint8_t arduinoPinState=0; +#endif + + +#ifdef NEEDFORSPEED +void bogusFunctionPlaceholder(void) { +} +#include "utility/ei_pindefs_speed.h" +#endif + +/* Arduino pin to ATmega port translaton is found doing digital_pin_to_port_PGM[] */ +/* Arduino pin to PCMSKx bitmask is found by doing digital_pin_to_bit_mask_PGM[] */ +/* ...except for PortJ, which is shifted left 1 bit in PCI1 */ +volatile uint8_t *pcmsk; + +// Arduino.h has these, but the block is surrounded by #ifdef ARDUINO_MAIN +#define PA 1 +#define PB 2 +#define PC 3 +#define PD 4 +#define PE 5 +#define PF 6 +#define PG 7 +#define PH 8 +#define PJ 10 +#define PK 11 +#define PL 12 + +typedef void (*interruptFunctionType)(void); + +// =========================================================================================== +// CHIP SPECIFIC DATA STRUCTURES ============================================================= +// =========================================================================================== + +/* UNO SERIES *************************************************************************/ +/* UNO SERIES *************************************************************************/ +/* UNO SERIES *************************************************************************/ +#if defined __AVR_ATmega168__ || defined __AVR_ATmega168A__ || defined __AVR_ATmega168P__ || \ + defined __AVR_ATmega168PA__ || defined __AVR_ATmega328__ || defined __AVR_ATmega328P__ +#define ARDUINO_328 /*{{{*/ +#define EI_NOTPORTA +#define EI_NOTPORTJ +#define EI_NOTPORTK /*}}}*/ + +#if defined EI_NOTPINCHANGE /*{{{*/ +#ifndef EI_NOTPORTB +#define EI_NOTPORTB +#endif +#ifndef EI_NOTPORTC +#define EI_NOTPORTC +#endif +#ifndef EI_NOTPORTD +#define EI_NOTPORTD +#endif +#endif // defined EI_NOTPINCHANGE + +#ifndef NEEDFORSPEED + +#define ARDUINO_PIN_B0 8 +#define ARDUINO_PIN_B1 9 +#define ARDUINO_PIN_B2 10 +#define ARDUINO_PIN_B3 11 +#define ARDUINO_PIN_B4 12 +#define ARDUINO_PIN_B5 13 +#define ARDUINO_PIN_C0 14 +#define ARDUINO_PIN_C1 15 +#define ARDUINO_PIN_C2 16 +#define ARDUINO_PIN_C3 17 +#define ARDUINO_PIN_C4 18 +#define ARDUINO_PIN_C5 19 +#define ARDUINO_PIN_D0 0 +#define ARDUINO_PIN_D1 1 +#define ARDUINO_PIN_D2 2 +#define ARDUINO_PIN_D3 3 +#define ARDUINO_PIN_D4 4 +#define ARDUINO_PIN_D5 5 +#define ARDUINO_PIN_D6 6 +#define ARDUINO_PIN_D7 7 + +const uint8_t PROGMEM digital_pin_to_port_bit_number_PGM[] = { + 0, // 0 == port D, 0 + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 0, // 8 == port B, 0 + 1, + 2, + 3, + 4, + 5, + 0, // 14 == port C, 0 + 1, + 2, + 3, + 4, + 5 +}; + +#if ! defined(EI_NOTEXTERNAL) && ! defined(EI_NOTINT0) && ! defined (EI_NOTINT1) +interruptFunctionType functionPointerArrayEXTERNAL[2]; +#endif + +#ifndef EI_NOTPORTB +// 2 of the interrupts are unsupported on Arduino UNO. +struct functionPointersPortB { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; +}; +typedef struct functionPointersPortB functionPointersPortB; + +functionPointersPortB portBFunctions = { NULL, NULL, NULL, NULL, NULL, NULL }; + +#endif // EI_NOTPORTB + +#ifndef EI_NOTPORTC +// 1 of the interrupts are used as RESET on Arduino UNO. +struct functionPointersPortC { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; +}; +typedef struct functionPointersPortC functionPointersPortC; + +functionPointersPortC portCFunctions = { NULL, NULL, NULL, NULL, NULL, NULL }; + +#endif // EI_NOTPORTC + +#ifndef EI_NOTPORTD +// 1 of the interrupts are used as RESET on Arduino UNO. +struct functionPointersPortD { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; + interruptFunctionType pinSix; + interruptFunctionType pinSeven; +}; +typedef struct functionPointersPortD functionPointersPortD; + +functionPointersPortD portDFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; + +#endif // EI_NOTPORTD +#endif // NEEDFORSPEED + +// For Pin Change Interrupts; since we're duplicating FALLING and RISING in software, +// we have to know how the ports were defined. +#ifndef EI_NOTPORTB +volatile uint8_t risingPinsPORTB=0; +volatile uint8_t fallingPinsPORTB=0; +// for the saved state of the ports +static volatile uint8_t portSnapshotB; +#endif + +#ifndef EI_NOTPORTC +volatile uint8_t risingPinsPORTC=0; +volatile uint8_t fallingPinsPORTC=0; +static volatile uint8_t portSnapshotC; +#endif + +#ifndef EI_NOTPORTD +volatile uint8_t risingPinsPORTD=0; +volatile uint8_t fallingPinsPORTD=0; +static volatile uint8_t portSnapshotD; +#endif + +// the PCINT?_vect's are defined in the avr.h files, like iom328p.h +#define PORTB_VECT PCINT0_vect +#define PORTC_VECT PCINT1_vect +#define PORTD_VECT PCINT2_vect/*}}}*/ + +/* MEGA2560/1280/640 SERIES ************************************************************************/ +/* MEGA2560/1280/640 SERIES ************************************************************************/ +/* MEGA2560/1280/640 SERIES ************************************************************************/ +#elif defined __AVR_ATmega640__ || defined __AVR_ATmega2560__ || defined __AVR_ATmega1280__ +#define ARDUINO_MEGA /*{{{*/ +#define EI_NOTPORTA +#define EI_NOTPORTC +#define EI_NOTPORTD /*}}}*/ + +#if defined EI_NOTPINCHANGE/*{{{*/ +#ifndef EI_NOTPORTB +#define EI_NOTPORTB +#endif +#ifndef EI_NOTPORTJ +#define EI_NOTPORTJ +#endif +#ifndef EI_NOTPORTK +#define EI_NOTPORTK +#endif +#endif + +volatile uint8_t portJPCMSK=0; // This is a shifted version of PCMSK for PortJ, so I + // don't have to perform a shift in the IRQ. + +#ifndef NEEDFORSPEED +// Pin change interrupts +#define ARDUINO_PIN_B0 53 +#define ARDUINO_PIN_B1 52 +#define ARDUINO_PIN_B2 51 +#define ARDUINO_PIN_B3 50 +#define ARDUINO_PIN_B4 10 +#define ARDUINO_PIN_B5 11 +#define ARDUINO_PIN_B6 12 +#define ARDUINO_PIN_B7 13 +#define ARDUINO_PIN_J0 15 +#define ARDUINO_PIN_J1 14 +// "fake" pins +#define ARDUINO_PIN_J2 70 +#define ARDUINO_PIN_J3 71 +#define ARDUINO_PIN_J4 72 +#define ARDUINO_PIN_J5 73 +#define ARDUINO_PIN_J6 74 + +#define ARDUINO_PIN_K0 62 +#define ARDUINO_PIN_K1 63 +#define ARDUINO_PIN_K2 64 +#define ARDUINO_PIN_K3 65 +#define ARDUINO_PIN_K4 66 +#define ARDUINO_PIN_K5 67 +#define ARDUINO_PIN_K6 68 +#define ARDUINO_PIN_K7 69 + +#define ARDUINO_PIN_D0 21 +#define ARDUINO_PIN_D1 20 +#define ARDUINO_PIN_D2 19 +#define ARDUINO_PIN_D3 18 +#define ARDUINO_PIN_E4 2 +#define ARDUINO_PIN_E5 3 +#define ARDUINO_PIN_E6 75 +#define ARDUINO_PIN_E7 76 + +const uint8_t PROGMEM digital_pin_to_port_bit_number_PGM[] = { + 0, // PE0 pin: 0 + 1, // PE1 pin: 1 + 4, // PE4 pin: 2 + 5, // PE5 pin: 3 + 5, // PG5 pin: 4 + 3, // PE3 pin: 5 + 3, // PH3 pin: 6 + 4, // PH4 pin: 7 + 5, // PH5 pin: 8 + 6, // PH6 pin: 9 + 4, // PB4 pin: 10 + 5, // PB5 pin: 11 + 6, // PB6 pin: 12 + 7, // PB7 pin: 13 + 1, // PJ1 pin: 14 + 0, // PJ0 pin: 15 + 1, // PH1 pin: 16 + 0, // PH0 pin: 17 + 3, // PD3 pin: 18 + 2, // PD2 pin: 19 + 1, // PD1 pin: 20 + 0, // PD0 pin: 21 + 0, // PA0 pin: 22 + 1, // PA1 pin: 23 + 2, // PA2 pin: 24 + 3, // PA3 pin: 25 + 4, // PA4 pin: 26 + 5, // PA5 pin: 27 + 6, // PA6 pin: 28 + 7, // PA7 pin: 29 + 7, // PC7 pin: 30 + 6, // PC6 pin: 31 + 5, // PC5 pin: 32 + 4, // PC4 pin: 33 + 3, // PC3 pin: 34 + 2, // PC2 pin: 35 + 1, // PC1 pin: 36 + 0, // PC0 pin: 37 + 7, // PD7 pin: 38 + 2, // PG2 pin: 39 + 1, // PG1 pin: 40 + 0, // PG0 pin: 41 + 7, // PL7 pin: 42 + 6, // PL6 pin: 43 + 5, // PL5 pin: 44 + 4, // PL4 pin: 45 + 3, // PL3 pin: 46 + 2, // PL2 pin: 47 + 1, // PL1 pin: 48 + 0, // PL0 pin: 49 + 3, // PB3 pin: 50 + 2, // PB2 pin: 51 + 1, // PB1 pin: 52 + 0, // PB0 pin: 53 + 0, // PF0 pin: 54 + 1, // PF1 pin: 55 + 2, // PF2 pin: 56 + 3, // PF3 pin: 57 + 4, // PF4 pin: 58 + 5, // PF5 pin: 59 + 6, // PF6 pin: 60 + 7, // PF7 pin: 61 + 0, // PK0 pin: 62 + 1, // PK1 pin: 63 + 2, // PK2 pin: 64 + 3, // PK3 pin: 65 + 4, // PK4 pin: 66 + 5, // PK5 pin: 67 + 6, // PK6 pin: 68 + 7, // PK7 pin: 69 + 2, // PJ2 pin: fake70, trick to allow software interrupts on Port J. PJ2 + 3, // PJ3 pin: fake71 PJ3 + 4, // PJ4 pin: fake72 PJ4 + 5, // PJ5 pin: fake73 PJ5 + 6, // PJ6 pin: fake74 PJ6 + 6, // PE6 pin: fake75 PE6 + 7 // PE7 pin: fake76 PE7 +}; + +#if ! defined(EI_NOTEXTERNAL) && ! defined(EI_NOTINT0) && ! defined(EI_NOTINT1) && ! defined(EI_NOTINT2) && ! defined(EI_NOTINT3) && ! defined(EI_NOTINT4) && ! defined(EI_NOTINT5) && ! defined(EI_NOTINT6) && ! defined(EI_NOTINT7) +interruptFunctionType functionPointerArrayEXTERNAL[8]; +#endif + +#ifndef EI_NOTPORTB +struct functionPointersPortB { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; + interruptFunctionType pinSix; + interruptFunctionType pinSeven; +}; +typedef struct functionPointersPortB functionPointersPortB; + +functionPointersPortB portBFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; +#endif + +#ifndef EI_NOTPORTJ +// only 7 pins total of port J are supported as interrupts on the ATmega2560, +// and only PJ0 and 1 are supported on the Arduino MEGA. +// For PCI1 the 0th bit is PE0. PJ2-6 are not exposed on the Arduino pins, but +// we will support them anyway. There are clones that provide them, and users may +// solder in their own connections (...go, Makers!) +struct functionPointersPortJ { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; + interruptFunctionType pinSix; +}; +typedef struct functionPointersPortJ functionPointersPortJ; + +functionPointersPortJ portJFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL }; + +#endif + +#ifndef EI_NOTPORTK +struct functionPointersPortK { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; + interruptFunctionType pinSix; + interruptFunctionType pinSeven; +}; +typedef struct functionPointersPortK functionPointersPortK; + +functionPointersPortK portKFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; +#endif +#endif // ifndef NEEDFORSPEED + +// For Pin Change Interrupts; since we're duplicating FALLING and RISING in software, +// we have to know how we were defined. +#ifndef EI_NOTPORTB +volatile uint8_t risingPinsPORTB=0; +volatile uint8_t fallingPinsPORTB=0; +static volatile uint8_t portSnapshotB; +#endif + +#ifndef EI_NOTPORTJ +volatile uint8_t risingPinsPORTJ=0; +volatile uint8_t fallingPinsPORTJ=0; +static volatile uint8_t portSnapshotJ; +#endif + +#ifndef EI_NOTPORTK +volatile uint8_t risingPinsPORTK=0; +volatile uint8_t fallingPinsPORTK=0; +static volatile uint8_t portSnapshotK; +#endif + +#define PORTB_VECT PCINT0_vect +#define PORTJ_VECT PCINT1_vect +#define PORTK_VECT PCINT2_vect +/*}}}*/ + +/* MEGA2561/1281 SERIES ************************************************************************/ +/* MEGA2561/1281 SERIES ************************************************************************/ +/* MEGA2561/1281 SERIES ************************************************************************/ +#elif defined __AVR_ATmega1281__ || defined __AVR_ATmega2561__ +#define ARDUINO_MEGA /*{{{*/ +#define EI_NOTPORTA +#define EI_NOTPORTC +#define EI_NOTPORTD +#define EI_NOTPORTJ +#define EI_NOTPORTK /*}}}*/ + +#if defined EI_NOTPINCHANGE/*{{{*/ +#ifndef EI_NOTPORTB +#define EI_NOTPORTB +#endif +#endif + +#ifndef NEEDFORSPEED +// Pin change interrupts +#define ARDUINO_PIN_B0 8 +#define ARDUINO_PIN_B1 9 +#define ARDUINO_PIN_B2 10 +#define ARDUINO_PIN_B3 11 +#define ARDUINO_PIN_B4 12 +#define ARDUINO_PIN_B5 13 +#define ARDUINO_PIN_B6 14 +#define ARDUINO_PIN_B7 15 + +const uint8_t PROGMEM digital_pin_to_port_bit_number_PGM[] = { + 0, // PE0 pin: 0 + 1, // PE1 pin: 1 + 2, // PE2 pin: 2 + 3, // PE3 pin: 3 + 4, // PE4 pin: 4 + 5, // PE5 pin: 5 + 6, // PE6 pin: 6 + 7, // PE7 pin: 7 + 0, // PB0 pin: 8 + 1, // PB1 pin: 9 + 2, // PB2 pin: 10 + 3, // PB3 pin: 11 + 4, // PB4 pin: 12 + 5, // PB5 pin: 13 + 6, // PB6 pin: 14 + 7, // PB7 pin: 15 + 3, // PG3 pin: 16 + 4, // PG4 pin: 17 + 0, // PD0 pin: 18 + 1, // PD1 pin: 19 + 2, // PD2 pin: 20 + 3, // PD3 pin: 21 + 4, // PD4 pin: 22 + 5, // PD5 pin: 23 + 6, // PD6 pin: 24 + 7, // PD7 pin: 25 + 0, // PG0 pin: 26 + 1, // PG1 pin: 27 + 0, // PC0 pin: 28 + 1, // PC1 pin: 29 + 2, // PC2 pin: 30 + 3, // PC3 pin: 31 + 4, // PC4 pin: 32 + 5, // PC5 pin: 33 + 6, // PC6 pin: 34 + 7, // PC7 pin: 35 + 2, // PG2 pin: 36 + 7, // PA7 pin: 37 + 6, // PA6 pin: 38 + 5, // PA5 pin: 39 + 4, // PA4 pin: 40 + 3, // PA3 pin: 41 + 2, // PA2 pin: 42 + 1, // PA1 pin: 43 + 0, // PA0 pin: 44 + 0, // PF0 pin: 45 + 1, // PF1 pin: 46 + 2, // PF2 pin: 47 + 3, // PF3 pin: 48 + 4, // PF4 pin: 49 + 5, // PF5 pin: 50 + 6, // PF6 pin: 51 + 7, // PF7 pin: 52 + 5 // PG5 pin: 53 +}; + +#if ! defined(EI_NOTEXTERNAL) && ! defined(EI_NOTINT0) && ! defined(EI_NOTINT1) && ! defined(EI_NOTINT2) && ! defined(EI_NOTINT3) && ! defined(EI_NOTINT4) && ! defined(EI_NOTINT5) && ! defined(EI_NOTINT6) && ! defined(EI_NOTINT7) +interruptFunctionType functionPointerArrayEXTERNAL[8]; +#endif + +#ifndef EI_NOTPORTB +struct functionPointersPortB { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; + interruptFunctionType pinSix; + interruptFunctionType pinSeven; +}; +typedef struct functionPointersPortB functionPointersPortB; + +functionPointersPortB portBFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; +#endif + +#endif // ifndef NEEDFORSPEED + +// For Pin Change Interrupts; since we're duplicating FALLING and RISING in software, +// we have to know how we were defined. +#ifndef EI_NOTPORTB +volatile uint8_t risingPinsPORTB=0; +volatile uint8_t fallingPinsPORTB=0; +static volatile uint8_t portSnapshotB; +#endif + +#define PORTB_VECT PCINT0_vect +/*}}}*/ + +/* LEONARDO ***************************************************************************/ +/* LEONARDO ***************************************************************************/ +/* LEONARDO ***************************************************************************/ +#elif defined __AVR_ATmega32U4__ || defined __AVR_ATmega16U4__ +#define ARDUINO_LEONARDO /*{{{*/ +#define EI_NOTPORTA +#define EI_NOTPORTC +#define EI_NOTPORTD +#define EI_NOTPORTJ +#define EI_NOTPORTK +/*}}}*/ + +#if defined EI_NOTPINCHANGE/*{{{*/ +#ifndef EI_NOTPORTB +#define EI_NOTPORTB +#endif +#endif + +#ifndef NEEDFORSPEED +#define ARDUINO_PIN_B0 17 +#define ARDUINO_PIN_B1 15 +#define ARDUINO_PIN_B2 16 +#define ARDUINO_PIN_B3 14 +#define ARDUINO_PIN_B4 8 +#define ARDUINO_PIN_B5 9 +#define ARDUINO_PIN_B6 10 +#define ARDUINO_PIN_B7 11 +#define ARDUINO_PIN_D0 3 +#define ARDUINO_PIN_D1 2 +#define ARDUINO_PIN_D2 0 +#define ARDUINO_PIN_D3 1 +#define ARDUINO_PIN_E6 7 + +/* To derive this list: + sed -n -e '1,/digital_pin_to_port_PGM/d' -e '/^}/,$d' -e '/P/p' \ + /usr/share/arduino/hardware/arduino/variants/leonardo/pins_arduino.h | \ + awk '{print " ", $5 ", // " $5 " pin: " $3}' + ...then massage the output as necessary to create the below: +*/ + +const uint8_t PROGMEM digital_pin_to_port_bit_number_PGM[] = { + 2, // PD2 pin: D0 + 3, // PD3 pin: D1 + 1, // PD1 pin: D2 + 0, // PD0 pin: D3 + 4, // PD4 pin: D4 + 6, // PC6 pin: D5 + 7, // PD7 pin: D6 + 6, // PE6 pin: D7 + 4, // PB4 pin: D8 // we really only care about Port B, but I don't know that + 5, // PB5 pin: D9 // shortening this array and doing array index arithmetic + 6, // PB6 pin: D10 // would make the code any shorter. + 7, // PB7 pin: D11 + 6, // PD6 pin: D12 + 7, // PC7 pin: D13 + 3, // PB3 pin: D14 MISO + 1, // PB1 pin: D15 SCK + 2, // PB2 pin: D16 MOSI + 0 // PB0 pin: D17 SS (RXLED). Available on non-Leonardo 32u4 boards, at least (exposed on the Leonardo??) +// There are no ports we care about after pin 17. +}; + + +#if ! defined(EI_NOTEXTERNAL) && ! defined(EI_NOTINT0) && ! defined(EI_NOTINT1) && ! defined(EI_NOTINT2) && ! defined(EI_NOTINT3) && ! defined(EI_NOTINT6) +interruptFunctionType functionPointerArrayEXTERNAL[5]; +#endif + +#ifndef EI_NOTPORTB +struct functionPointersPortB { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; + interruptFunctionType pinSix; + interruptFunctionType pinSeven; +}; +typedef struct functionPointersPortB functionPointersPortB; + +functionPointersPortB portBFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; + +#endif +#endif // NEEDFOR SPEED + +#ifndef EI_NOTPORTB +// For Pin Change Interrupts; since we're duplicating FALLING and RISING in software, +// we have to know how we were defined. +volatile uint8_t risingPinsPORTB=0; +volatile uint8_t fallingPinsPORTB=0; + +// for the saved state of the ports +static volatile uint8_t portSnapshotB; +#endif +#define PORTB_VECT PCINT0_vect +/*}}}*/ + +/* 644/1284 ***************************************************************************/ +/* 644/1284 ***************************************************************************/ +/* 644/1284 ***************************************************************************/ +#elif defined __AVR_ATmega1284P__ || defined __AVR_ATmega1284__ || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__) +#define MIGHTY1284 /*{{{*/ +#define EI_NOTPORTJ +#define EI_NOTPORTK /*}}}*/ + +#if defined EI_NOTPINCHANGE/*{{{*/ +#ifndef EI_NOTPORTA +#define EI_NOTPORTA +#endif +#ifndef EI_NOTPORTB +#define EI_NOTPORTB +#endif +#ifndef EI_NOTPORTC +#define EI_NOTPORTC +#endif +#ifndef EI_NOTPORTD +#define EI_NOTPORTD +#endif +#endif + +#ifndef INPUT_PULLUP +#define INPUT_PULLUP 0x2 +#endif + +#ifndef NEEDFORSPEED +#if defined BOBUINO_PINOUT +#define ARDUINO_PIN_A0 21 +#define ARDUINO_PIN_A1 20 +#define ARDUINO_PIN_A2 19 +#define ARDUINO_PIN_A3 18 +#define ARDUINO_PIN_A4 17 +#define ARDUINO_PIN_A5 16 +#define ARDUINO_PIN_A6 15 +#define ARDUINO_PIN_A7 14 +#define ARDUINO_PIN_B0 4 +#define ARDUINO_PIN_B1 5 +#define ARDUINO_PIN_B2 6 // INT2 +#define ARDUINO_PIN_B3 7 +#define ARDUINO_PIN_B4 10 +#define ARDUINO_PIN_B5 11 +#define ARDUINO_PIN_B6 12 +#define ARDUINO_PIN_B7 13 +#define ARDUINO_PIN_C0 22 +#define ARDUINO_PIN_C1 23 +#define ARDUINO_PIN_C2 24 +#define ARDUINO_PIN_C3 25 +#define ARDUINO_PIN_C4 26 +#define ARDUINO_PIN_C5 27 +#define ARDUINO_PIN_C6 28 +#define ARDUINO_PIN_C7 29 +#define ARDUINO_PIN_D0 0 +#define ARDUINO_PIN_D1 1 +#define ARDUINO_PIN_D2 2 // INT0 +#define ARDUINO_PIN_D3 3 // INT1 +#define ARDUINO_PIN_D4 30 +#define ARDUINO_PIN_D5 8 +#define ARDUINO_PIN_D6 9 +#define ARDUINO_PIN_D7 31 + +const uint8_t PROGMEM digital_pin_to_port_bit_number_PGM[] = { + 0, // PD0 + 1, // PD1 + 2, // PD2 + 3, // PD3 + 0, // PB0 + 1, // PB1 + 2, // PB2 + 3, // PB3 + 5, // PD5 + 6, // PD6 + + 4, // PB4 + 5, // PB5 + 6, // PB6 + 7, // PB7 + 7, // PA7 + 6, // PA6 + 5, // PA5 + 4, // PA4 + 3, // PA3 + 2, // PA2 + + 1, // PA1 + 0, // PA0 + 0, // PC0 + 1, // PC1 + 2, // PC2 + 3, // PC3 + 4, // PC4 + 5, // PC5 + 6, // PC6 + 7, // PC7 + + 4, // PD4 + 7, // PD7 +}; + +#else +#define ARDUINO_PIN_A0 24 +#define ARDUINO_PIN_A1 25 +#define ARDUINO_PIN_A2 26 +#define ARDUINO_PIN_A3 27 +#define ARDUINO_PIN_A4 28 +#define ARDUINO_PIN_A5 29 +#define ARDUINO_PIN_A6 30 +#define ARDUINO_PIN_A7 31 +#define ARDUINO_PIN_C0 16 +#define ARDUINO_PIN_C1 17 +#define ARDUINO_PIN_C2 18 +#define ARDUINO_PIN_C3 19 +#define ARDUINO_PIN_C4 20 +#define ARDUINO_PIN_C5 21 +#define ARDUINO_PIN_C6 22 +#define ARDUINO_PIN_C7 23 + +// For boards with the 44 pin options: vectors B & D are reversed +// Thanks to Sara Damiano for these updates!!! +#if defined ARDUINO_AVR_ENVIRODIY_MAYFLY || defined ARDUINO_AVR_SODAQ_MBILI +#define ARDUINO_PIN_B0 8 +#define ARDUINO_PIN_B1 9 +#define ARDUINO_PIN_B2 10 // INT2 +#define ARDUINO_PIN_B3 11 +#define ARDUINO_PIN_B4 12 +#define ARDUINO_PIN_B5 13 +#define ARDUINO_PIN_B6 14 +#define ARDUINO_PIN_B7 15 +#define ARDUINO_PIN_D0 0 +#define ARDUINO_PIN_D1 1 +#define ARDUINO_PIN_D2 2 // INT0 +#define ARDUINO_PIN_D3 3 // INT1 +#define ARDUINO_PIN_D4 4 +#define ARDUINO_PIN_D5 5 +#define ARDUINO_PIN_D6 6 +#define ARDUINO_PIN_D7 7 +#else +#define ARDUINO_PIN_B0 0 +#define ARDUINO_PIN_B1 1 +#define ARDUINO_PIN_B2 2 // INT2 +#define ARDUINO_PIN_B3 3 +#define ARDUINO_PIN_B4 4 +#define ARDUINO_PIN_B5 5 +#define ARDUINO_PIN_B6 6 +#define ARDUINO_PIN_B7 7 +#define ARDUINO_PIN_D0 8 +#define ARDUINO_PIN_D1 9 +#define ARDUINO_PIN_D2 10 // INT0 +#define ARDUINO_PIN_D3 11 // INT1 +#define ARDUINO_PIN_D4 12 +#define ARDUINO_PIN_D5 13 +#define ARDUINO_PIN_D6 14 +#define ARDUINO_PIN_D7 15 +#endif + +const uint8_t PROGMEM digital_pin_to_port_bit_number_PGM[] = { + 0, // 0 == port B, 0 + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 0, // 8 == port D, 0 + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 0, // 16 == port C, 0 + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 0, // 24 == port A, 0 + 1, + 2, + 3, + 4, + 5, + 6, + 7 +}; +#endif + + +#if ! defined(EI_NOTEXTERNAL) && ! defined(EI_NOTINT0) && ! defined(EI_NOTINT1) && ! defined(EI_NOTINT2) +interruptFunctionType functionPointerArrayEXTERNAL[3]; +#endif + +struct functionPointers { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; + interruptFunctionType pinSix; + interruptFunctionType pinSeven; +}; + +#ifndef EI_NOTPORTA +typedef struct functionPointers functionPointersPortA; +functionPointers portAFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; +#endif + +#ifndef EI_NOTPORTB +typedef struct functionPointers functionPointersPortB; +functionPointersPortB portBFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; +#endif + +#ifndef EI_NOTPORTC +typedef struct functionPointers functionPointersPortC; +functionPointersPortC portCFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; +#endif + +#ifndef EI_NOTPORTD +typedef struct functionPointers functionPointersPortD; +functionPointersPortD portDFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; +#endif +#endif // NEEDFORSPEED + +#ifndef EI_NOTPORTA +volatile uint8_t risingPinsPORTA=0; +volatile uint8_t fallingPinsPORTA=0; +// for the saved state of the ports +static volatile uint8_t portSnapshotA; +#endif + +#ifndef EI_NOTPORTB +volatile uint8_t risingPinsPORTB=0; +volatile uint8_t fallingPinsPORTB=0; +static volatile uint8_t portSnapshotB; +#endif + +#ifndef EI_NOTPORTC +volatile uint8_t risingPinsPORTC=0; +volatile uint8_t fallingPinsPORTC=0; +static volatile uint8_t portSnapshotC; +#endif + +#ifndef EI_NOTPORTD +volatile uint8_t risingPinsPORTD=0; +volatile uint8_t fallingPinsPORTD=0; +static volatile uint8_t portSnapshotD; +#endif + +// the vectors (eg, "PCINT0_vect") are defined in the avr.h files, like iom1284p.h +#define PORTA_VECT PCINT0_vect +#define PORTB_VECT PCINT1_vect +#define PORTC_VECT PCINT2_vect +#define PORTD_VECT PCINT3_vect +/*}}}*/ + +/* 24/44/84 ***************************************************************************/ +/* 24/44/84 ***************************************************************************/ +/* 24/44/84 ***************************************************************************/ +#elif defined __AVR_ATtiny24__ || defined __AVR_ATtiny24A__ || defined __AVR_ATtiny44__ || defined __AVR_ATtiny44A__ || defined __AVR_ATtiny84__ || defined __AVR_ATtiny84A_ +#define EI_ATTINY24 /*{{{*/ +#define EI_NOTPORTC +#define EI_NOTPORTD +#define EI_NOTPORTJ +#define EI_NOTPORTK +/*}}}*/ + +#define EI_NOTINT1 + +#if defined EI_NOTPINCHANGE/*{{{*/ +#ifndef EI_NOTPORTA +#define EI_NOTPORTA +#endif +#ifndef EI_NOTPORTB +#define EI_NOTPORTB +#endif +#endif + +#ifndef INPUT_PULLUP +#define INPUT_PULLUP 0x2 +#endif + +#ifndef NEEDFORSPEED + +#define ARDUINO_PIN_B3 11 +#define ARDUINO_PIN_B2 8 +#define ARDUINO_PIN_B1 9 +#define ARDUINO_PIN_B0 10 +#define ARDUINO_PIN_A0 0 +#define ARDUINO_PIN_A1 1 +#define ARDUINO_PIN_A2 2 +#define ARDUINO_PIN_A3 3 +#define ARDUINO_PIN_A4 4 +#define ARDUINO_PIN_A5 5 +#define ARDUINO_PIN_A6 6 +#define ARDUINO_PIN_A7 7 + +const uint8_t PROGMEM digital_pin_to_port_bit_number_PGM[] = { + 0, // pin 0 == port A, bit 0 + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 2, // pin 8 = port B, bit 2 + 1, + 0, + 3 +}; +#if ! defined(EI_NOTEXTERNAL) && ! defined(EI_NOTINT0) +interruptFunctionType externalFunctionPointer=0; +#endif + +// For Pin Change Interrupts; since we're duplicating FALLING and RISING in software, +// we have to know how the ports were defined. +#ifndef EI_NOTPORTA +struct functionPointersPortA { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; + interruptFunctionType pinSix; + interruptFunctionType pinSeven; +}; +typedef struct functionPointersPortA functionPointersPortA; + +functionPointersPortA portAFunctions = { NULL, NULL, NULL, NULL, NULL, NULL, NULL }; + +#endif // ifndef EI_NOTPORTA +#ifndef EI_NOTPORTB +struct functionPointersPortB { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; +}; +typedef struct functionPointersPortB functionPointersPortB; + +functionPointersPortB portBFunctions = { NULL, NULL, NULL, NULL }; +#endif // ifndef EI_NOTPORTB +#endif // NEEDFORSPEED + +// For Pin Change Interrupts; since we're duplicating FALLING and RISING in software, +// we have to know how we were defined. +#ifndef EI_NOTPORTA +volatile uint8_t risingPinsPORTA=0; +volatile uint8_t fallingPinsPORTA=0; +// for the saved state of the ports +static volatile uint8_t portSnapshotA; +#endif + +#ifndef EI_NOTPORTB +volatile uint8_t risingPinsPORTB=0; +volatile uint8_t fallingPinsPORTB=0; +// for the saved state of the ports +static volatile uint8_t portSnapshotB; +#endif + +#define PORTA_VECT PCINT0_vect +#define PORTB_VECT PCINT1_vect/*}}}*/ + +/* 25/45/85 ***************************************************************************/ +/* 25/45/85 ***************************************************************************/ +/* 25/45/85 ***************************************************************************/ +#elif defined __AVR_ATtiny25__ || defined __AVR_ATtiny45__ || defined __AVR_ATtiny85__ +#define EI_ATTINY25 /*{{{*/ +#define EI_NOTPORTA +#define EI_NOTPORTC +#define EI_NOTPORTD +#define EI_NOTPORTJ +#define EI_NOTPORTK +/*}}}*/ + +#if defined EI_NOTPINCHANGE/*{{{*/ +#ifndef EI_NOTPORTB +#define EI_NOTPORTB +#endif +#endif + +#ifndef INPUT_PULLUP +#define INPUT_PULLUP 0x2 +#endif + +#ifndef NEEDFORSPEED + +#define ARDUINO_PIN_B0 0 +#define ARDUINO_PIN_B1 1 +#define ARDUINO_PIN_B2 2 +#define ARDUINO_PIN_B3 3 +#define ARDUINO_PIN_B4 4 +#define ARDUINO_PIN_B5 5 + +const uint8_t PROGMEM digital_pin_to_port_bit_number_PGM[] = { + 0, // pin 0 == port B, bit 0 + 1, + 2, + 3, + 4, + 5 +}; +#if ! defined(EI_NOTEXTERNAL) && ! defined(EI_NOTINT0) +interruptFunctionType externalFunctionPointer=0; +#endif + +#ifndef EI_NOTPORTB +struct functionPointersPortB { + interruptFunctionType pinZero; + interruptFunctionType pinOne; + interruptFunctionType pinTwo; + interruptFunctionType pinThree; + interruptFunctionType pinFour; + interruptFunctionType pinFive; +}; +typedef struct functionPointersPortB functionPointersPortB; + +functionPointersPortB portBFunctions = { NULL, NULL, NULL, NULL, NULL, NULL }; + +#endif // ifndef EI_NOTPORTB +#endif // NEEDFORSPEED + +#ifndef EI_NOTPORTB +// the vectors (eg, "PCINT0_vect") are defined in the avr.h files, like iom1284p.h +// For Pin Change Interrupts; since we're duplicating FALLING and RISING in software, +// we have to know how the ports were defined. +volatile uint8_t risingPinsPORTB=0; +volatile uint8_t fallingPinsPORTB=0; +// for the saved state of the ports +static volatile uint8_t portSnapshotB; +#endif + +#define PORTB_VECT PCINT0_vect/*}}}*/ + +#endif // #if defined __AVR_ATmega168__ || defined __AVR_ATmega168A__ ... (etc.) ... + +// =========================================================================================== +// END END END DATA STRUCTURES =============================================================== +// =========================================================================================== + +// From /usr/share/arduino/hardware/arduino/cores/robot/Arduino.h +// #define CHANGE 1 +// #define FALLING 2 +// #define RISING 3 + +#if !(defined EI_ATTINY24) && !(defined EI_ATTINY25) +// Example: EI_printPSTR("This is a nice long string that takes no static ram"); +#define EI_printPSTR(x) EI_SerialPrint_P(PSTR(x)) +void EI_SerialPrint_P(const char *str) { + for (uint8_t c; (c = pgm_read_byte(str)); str++) Serial.write(c); +} +#endif + + +// =========================================================================================== +// =========================================================================================== +// enableInterrupt(interrupDesignator, userFunction, mode); ================================== +// =========================================================================================== +// =========================================================================================== + +// "interruptDesignator" is simply the Arduino pin optionally OR'ed with +// PINCHANGEINTERRUPT (== 0x80) +void enableInterrupt(uint8_t interruptDesignator, interruptFunctionType userFunction, uint8_t mode) { + uint8_t arduinoPin; + uint8_t portNumber=0; + uint8_t portMask=0; +#ifndef NEEDFORSPEED + uint8_t portBitNumber; // when an interrupted pin is found, this will be used to choose the function. + interruptFunctionType *calculatedPointer; +#endif + + arduinoPin=interruptDesignator & ~PINCHANGEINTERRUPT; + + // ************************************************************************************* + // Pin Change Interrupts + // ************************************************************************************* + +/*{{{*/ +#if defined ARDUINO_328 + if ( (interruptDesignator & PINCHANGEINTERRUPT) || (arduinoPin != 2 && arduinoPin != 3) ) { +#elif defined MIGHTY1284 + if ( (interruptDesignator & PINCHANGEINTERRUPT) || + (arduinoPin != ARDUINO_PIN_B2 && arduinoPin != ARDUINO_PIN_D2 && arduinoPin != ARDUINO_PIN_D3) ) { +#elif defined ARDUINO_LEONARDO + if ( (arduinoPin > 3) && (arduinoPin != 7) ) { +#elif defined EI_ATTINY24 + if ( (interruptDesignator & PINCHANGEINTERRUPT) || (arduinoPin != 8) ) { +#elif defined EI_ATTINY25 + if ( (interruptDesignator & PINCHANGEINTERRUPT) || (arduinoPin != 2) ) { +#endif +#if defined ARDUINO_328 || defined MIGHTY1284 || defined ARDUINO_LEONARDO + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin]); + portNumber=pgm_read_byte(&digital_pin_to_port_PGM[arduinoPin]); +#elif defined EI_ATTINY25 + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin]); + portNumber=PB; +#elif defined EI_ATTINY24 + // This is not a true Arduino pin... it's pin 4 on the chip, which is RESET. + // I could imagine that one would want to use that pin for something other than RESET. + if (arduinoPin == 11) { + portMask=_BV(3); + portNumber=PB; + } else { + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin]); + portNumber=pgm_read_byte(&digital_pin_to_port_PGM[arduinoPin]); + } +#elif defined ARDUINO_MEGA +#if defined __AVR_ATmega640__ || defined __AVR_ATmega2560__ || defined __AVR_ATmega1280__ + // NOTE: PJ2-6 and PE6 & 7 are not exposed on the Arduino, but they are supported here + // for software interrupts and support of non-Arduino platforms which expose more pins. + // PJ2-6 are called pins 70-74, PE6 is pin 75, PE7 is pin 76. + if ( (arduinoPin != 2 && arduinoPin != 3 && arduinoPin != 75 && arduinoPin != 76 + && (arduinoPin < 18 || arduinoPin > 21)) + ) { + if (arduinoPin > 69) { // Dastardly tricks to support PortJ 2-7 + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin-6]); // Steal from PK + portNumber=PJ; + } else { + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin]); + portNumber=pgm_read_byte(&digital_pin_to_port_PGM[arduinoPin]); + } +#elif defined __AVR_ATmega1281__ || defined __AVR_ATmega2561__ + if (!(((arduinoPin >= 4) && (arduinoPin <= 7)) || ((arduinoPin >= 18) && (arduinoPin <=21)))) { + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin]); + portNumber=pgm_read_byte(&digital_pin_to_port_PGM[arduinoPin]); +#endif +#else +#error Unsupported Arduino platform +#endif + + // ************************************************************************************* + // Store the rising/falling pins + // ************************************************************************************* + + if ((mode == RISING) || (mode == CHANGE)) { +#define EI_SECTION_RISING + +#if defined MIGHTY1284 +#include "utility/ei_PinChange1284.h" +#elif defined ARDUINO_328 +#include "utility/ei_PinChange328.h" +#elif defined ARDUINO_MEGA +#include "utility/ei_PinChange2560.h" +#elif defined ARDUINO_LEONARDO +#include "utility/ei_PinChangeLeonardo.h" +#elif defined EI_ATTINY24 +#include "utility/ei_PinChangeTiny24.h" +#elif defined EI_ATTINY25 +#include "utility/ei_PinChangeTiny25.h" +#endif +#undef EI_SECTION_RISING + } + + if ((mode == FALLING) || (mode == CHANGE)) { +#define EI_SECTION_FALLING +#if defined MIGHTY1284 +#include "utility/ei_PinChange1284.h" +#elif defined ARDUINO_328 +#include "utility/ei_PinChange328.h" +#elif defined ARDUINO_MEGA +#include "utility/ei_PinChange2560.h" +#elif defined ARDUINO_LEONARDO +#include "utility/ei_PinChangeLeonardo.h" +#elif defined EI_ATTINY24 +#include "utility/ei_PinChangeTiny24.h" +#elif defined EI_ATTINY25 +#include "utility/ei_PinChangeTiny25.h" +#endif +#undef EI_SECTION_FALLING + } + +#ifndef NEEDFORSPEED + // When an interrupted pin is found, this will be used to choose the function. + // This is used in the utility/<#included files>, below. + portBitNumber=pgm_read_byte(&digital_pin_to_port_bit_number_PGM[arduinoPin]); +#endif + + // ************************************************************************************* + // assign the function to be run in the ISR + // save the initial value of the port + // initialize interrupt registers PCMSKx and PCICR + // ************************************************************************************* + +#define EI_SECTION_ASSIGNFUNCTIONSREGISTERS +#if defined MIGHTY1284 +#include "utility/ei_PinChange1284.h" +#elif defined ARDUINO_328 +#include "utility/ei_PinChange328.h" +#elif defined ARDUINO_MEGA +#include "utility/ei_PinChange2560.h" +#elif defined ARDUINO_LEONARDO +#include "utility/ei_PinChangeLeonardo.h" +#elif defined EI_ATTINY24 +#include "utility/ei_PinChangeTiny24.h" +#elif defined EI_ATTINY25 +#include "utility/ei_PinChangeTiny25.h" +#endif +#undef EI_SECTION_ASSIGNFUNCTIONSREGISTERS + + *pcmsk |= portMask; // appropriate PCMSKn bit is set, e.g. this could be PCMSK1 |= portMask; + + // With the exception of the Global Interrupt Enable bit in SREG, interrupts on the arduinoPin + // are now ready. GIE may have already been set on a previous enable, so it's important + // to take note of the order in which things were done, above./*}}}*/ + + // ************************************************************************************* + // External Interrupts + // ************************************************************************************* + + } else {/*{{{*/ +#ifndef EI_NOTEXTERNAL + uint8_t origSREG; // to save for interrupts + origSREG = SREG; + cli(); // no interrupts while we're setting up an interrupt. + +#define EI_SECTION_ENABLEEXTERNAL +#if defined MIGHTY1284 +#include "utility/ei_External1284.h" +#elif defined ARDUINO_328 +#include "utility/ei_External328.h" +#elif defined ARDUINO_MEGA +#include "utility/ei_External2560.h" +#elif defined ARDUINO_LEONARDO +#include "utility/ei_ExternalLeonardo.h" +#elif defined EI_ATTINY24 +#include "utility/ei_ExternalTiny24.h" +#elif defined EI_ATTINY25 +#include "utility/ei_ExternalTiny25.h" +#endif +#undef EI_SECTION_ENABLEEXTERNAL + + SREG=origSREG; +#endif + } +} +/*}}}*/ + +// =========================================================================================== +// =========================================================================================== +// disableInterrupt(interrupDesignator); ===================================================== +// =========================================================================================== +// =========================================================================================== +void disableInterrupt (uint8_t interruptDesignator) { + + uint8_t origSREG; // to save for interrupts + uint8_t arduinoPin; + uint8_t portMask=0; +#if ! (defined EI_ATTINY25) + uint8_t portNumber=0; +#endif + + origSREG = SREG; + cli(); + arduinoPin=interruptDesignator & ~PINCHANGEINTERRUPT; + +/*{{{*/ +#if defined ARDUINO_328 + if ( (interruptDesignator & PINCHANGEINTERRUPT) || (arduinoPin != 2 && arduinoPin != 3) ) { +#elif defined MIGHTY1284 + if ( (interruptDesignator & PINCHANGEINTERRUPT) || + (arduinoPin != ARDUINO_PIN_B2 && arduinoPin != ARDUINO_PIN_D2 && arduinoPin != ARDUINO_PIN_D3) ) { +#elif defined EI_ATTINY24 + if ( (interruptDesignator & PINCHANGEINTERRUPT) || (arduinoPin != 8) ) { +#elif defined EI_ATTINY25 + if ( (interruptDesignator & PINCHANGEINTERRUPT) || (arduinoPin != 2) ) { +#elif defined ARDUINO_LEONARDO + if ( (arduinoPin > 3) && (arduinoPin != 7) ) { +#endif +#if defined ARDUINO_328 || defined MIGHTY1284 || defined ARDUINO_LEONARDO + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin]); + portNumber=pgm_read_byte(&digital_pin_to_port_PGM[arduinoPin]); +#elif defined EI_ATTINY24 + // This is not a true Arduino pin... it's pin 4 on the chip, which is RESET. + // I could imagine that one would want to use that pin for something other than RESET. + if (arduinoPin == 11) { + portMask=_BV(3); + portNumber=PB; + } else { + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin]); + portNumber=pgm_read_byte(&digital_pin_to_port_PGM[arduinoPin]); + } +#elif defined EI_ATTINY25 + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin]); +#elif defined ARDUINO_MEGA + // NOTE: PJ2-6 and PE6 & 7 are not exposed on the Arduino, but they are supported here + // for software interrupts and support of non-Arduino platforms which expose more pins. + // PJ2-6 are called pins 70-74, PE6 is pin 75, PE7 is pin 76. + if ( (arduinoPin != 2 && arduinoPin != 3 && arduinoPin != 75 && arduinoPin != 76 + && (arduinoPin < 18 || arduinoPin > 21)) + ) { + if (arduinoPin > 69) { // Dastardly tricks to support PortJ 2-7 + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin-6]); // Steal from PK + portNumber=PJ; + } else { + portMask=pgm_read_byte(&digital_pin_to_bit_mask_PGM[arduinoPin]); + portNumber=pgm_read_byte(&digital_pin_to_port_PGM[arduinoPin]); + } +#else +#error Unsupported Arduino platform +#endif + +#define EI_SECTION_DISABLEPINCHANGE +#if defined MIGHTY1284 +#include "utility/ei_PinChange1284.h" +#elif defined ARDUINO_328 +#include "utility/ei_PinChange328.h" +#elif defined ARDUINO_MEGA +#include "utility/ei_PinChange2560.h" +#elif defined LEONARDO +#include "utility/ei_PinChangeLeonardo.h" +#elif defined EI_ATTINY24 +#include "utility/ei_PinChangeTiny24.h" +#elif defined EI_ATTINY25 +#include "utility/ei_PinChangeTiny25.h" +#endif +#undef EI_SECTION_DISABLEPINCHANGE + } else { +#ifndef EI_NOTEXTERNAL +#define EI_SECTION_DISABLEEXTERNAL +#if defined MIGHTY1284 +#include "utility/ei_External1284.h" +#elif defined ARDUINO_328 +#include "utility/ei_External328.h" +#elif defined ARDUINO_MEGA +#include "utility/ei_External2560.h" +#elif defined ARDUINO_LEONARDO +#include "utility/ei_ExternalLeonardo.h" +#elif defined ATTINY24 +#include "utility/ei_ExternalTiny24.h" +#elif defined EI_ATTINY25 +#include "utility/ei_ExternalTiny25.h" +#endif +#undef EI_SECTION_DISABLEEXTERNAL +#endif + } + SREG = origSREG;/*}}}*/ + +} + +///////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// +////////////////////// ISRs ///////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////////////////////////////// + +// ************************************************************************************* +// External Interrupts +// ************************************************************************************* +#ifndef EI_NOTEXTERNAL +#ifndef EI_NOTINT0 +ISR(INT0_vect) {/*{{{*/ +#ifndef NEEDFORSPEED +#ifdef EI_ARDUINO_INTERRUPTED_PIN +#if defined MIGHTY1284 + arduinoInterruptedPin=ARDUINO_PIN_D2; arduinoPinState=PIND & _BV(2); +#elif defined ARDUINO_MEGA + arduinoInterruptedPin=ARDUINO_PIN_D0; arduinoPinState=PIND & _BV(0); +#elif defined ARDUINO_LEONARDO + arduinoInterruptedPin=ARDUINO_PIN_D0; arduinoPinState=PIND & _BV(0); +#elif defined ARDUINO_328 + arduinoInterruptedPin=ARDUINO_PIN_D2; arduinoPinState=PIND & _BV(2); +#elif defined EI_ATTINY24 + arduinoInterruptedPin=ARDUINO_PIN_B2; arduinoPinState=PINB & _BV(2); +#elif defined EI_ATTINY25 + arduinoInterruptedPin=ARDUINO_PIN_B0; arduinoPinState=PINB & _BV(0); +#endif +#endif // EI_ARDUINO_INTERRUPTED_PIN +#if ! defined EI_ATTINY25 && ! defined EI_ATTINY24 + (*functionPointerArrayEXTERNAL[0])(); +#else + externalFunctionPointer(); +#endif +#else +#if defined ARDUINO_AVR_ENVIRODIY_MAYFLY || defined ARDUINO_AVR_SODAQ_MBILI + INTERRUPT_FLAG_PIN2++; +#elif defined MIGHTY1284 + INTERRUPT_FLAG_PIN10++; +#endif +#if defined ARDUINO_MEGA +#ifdef INTERRUPT_FLAG_PIN21 + INTERRUPT_FLAG_PIN21++; +#endif +#endif +#if defined ARDUINO_LEONARDO +#ifdef INTERRUPT_FLAG_PIN3 + INTERRUPT_FLAG_PIN3++; +#endif +#endif +#if defined ARDUINO_328 +#ifdef INTERRUPT_FLAG_PIN2 + INTERRUPT_FLAG_PIN2++; +#endif +#endif + +#if defined EI_ATTINY24 +#ifdef INTERRUPT_FLAG_PIN8 + INTERRUPT_FLAG_PIN8++; +#endif +#endif +#if defined EI_ATTINY25 +#ifdef INTERRUPT_FLAG_PIN2 + INTERRUPT_FLAG_PIN2++; +#endif +#endif + +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTINT0 + +#if ! defined(EI_ATTINY24) && ! defined(EI_ATTINY25) +#ifndef EI_NOTINT1 +ISR(INT1_vect) {/*{{{*/ +#ifndef NEEDFORSPEED +#ifdef EI_ARDUINO_INTERRUPTED_PIN +#if defined MIGHTY1284 + arduinoInterruptedPin=ARDUINO_PIN_D3; arduinoPinState=PIND & _BV(3); +#elif defined ARDUINO_MEGA + arduinoInterruptedPin=ARDUINO_PIN_D1; arduinoPinState=PIND & _BV(1); +#elif defined ARDUINO_LEONARDO + arduinoInterruptedPin=ARDUINO_PIN_D1; arduinoPinState=PIND & _BV(1); +#elif defined ARDUINO_328 + arduinoInterruptedPin=ARDUINO_PIN_D3; arduinoPinState=PIND & _BV(3); +#endif +#endif // EI_ARDUINO_INTERRUPTED_PIN + (*functionPointerArrayEXTERNAL[1])(); +#else +#if defined ARDUINO_AVR_ENVIRODIY_MAYFLY || defined ARDUINO_AVR_SODAQ_MBILI + INTERRUPT_FLAG_PIN3++; +#elif defined MIGHTY1284 + INTERRUPT_FLAG_PIN11++; +#endif +#if defined ARDUINO_MEGA +#ifdef INTERRUPT_FLAG_PIN20 + INTERRUPT_FLAG_PIN20++; +#endif +#endif +#if defined ARDUINO_LEONARDO +#ifdef INTERRUPT_FLAG_PIN2 + INTERRUPT_FLAG_PIN2++; +#endif +#endif +#if defined ARDUINO_328 +#ifdef INTERRUPT_FLAG_PIN3 + INTERRUPT_FLAG_PIN3++; +#endif +#endif +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTINT1 +#endif + +#if defined ARDUINO_MEGA || defined ARDUINO_LEONARDO || defined MIGHTY1284 +#ifndef EI_NOTINT2 +ISR(INT2_vect) {/*{{{*/ +#ifndef NEEDFORSPEED +#ifdef EI_ARDUINO_INTERRUPTED_PIN +#if defined MIGHTY1284 + arduinoInterruptedPin=ARDUINO_PIN_B2; arduinoPinState=PINB & _BV(2); +#elif defined ARDUINO_MEGA + arduinoInterruptedPin=ARDUINO_PIN_D2; arduinoPinState=PIND & _BV(2); +#elif defined ARDUINO_LEONARDO + arduinoInterruptedPin=ARDUINO_PIN_D2; arduinoPinState=PIND & _BV(2); +#endif +#endif // EI_ARDUINO_INTERRUPTED_PIN + (*functionPointerArrayEXTERNAL[2])(); +#else +#if defined ARDUINO_AVR_ENVIRODIY_MAYFLY || defined ARDUINO_AVR_SODAQ_MBILI + INTERRUPT_FLAG_PIN10++; +#elif defined MIGHTY1284 + INTERRUPT_FLAG_PIN2++; +#endif +#if defined ARDUINO_MEGA +#ifdef INTERRUPT_FLAG_PIN19 + INTERRUPT_FLAG_PIN19++; +#endif +#else +#ifdef INTERRUPT_FLAG_PIN0 + INTERRUPT_FLAG_PIN0++; +#endif +#endif +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTINT2 +#endif // ARDUINO_MEGA || ARDUINO_LEONARDO || MIGHTY1284 + +#if defined ARDUINO_MEGA || defined ARDUINO_LEONARDO +#ifndef EI_NOTINT3 +ISR(INT3_vect) {/*{{{*/ +#ifndef NEEDFORSPEED +#ifdef EI_ARDUINO_INTERRUPTED_PIN +#if defined ARDUINO_MEGA + arduinoInterruptedPin=ARDUINO_PIN_D3; arduinoPinState=PIND & _BV(3); +#elif defined ARDUINO_LEONARDO + arduinoInterruptedPin=ARDUINO_PIN_D3; arduinoPinState=PIND & _BV(3); +#endif +#endif // EI_ARDUINO_INTERRUPTED_PIN + (*functionPointerArrayEXTERNAL[3])(); +#else +#if defined ARDUINO_MEGA +#ifdef INTERRUPT_FLAG_PIN18 + INTERRUPT_FLAG_PIN18++; +#endif +#else +#ifdef INTERRUPT_FLAG_PIN1 + INTERRUPT_FLAG_PIN1++; +#endif +#endif +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTINT3 +#endif // ARDUINO_MEGA || ARDUINO_LEONARDO + +#if defined ARDUINO_MEGA +#ifndef EI_NOTINT4 +ISR(INT4_vect) {/*{{{*/ +#ifndef NEEDFORSPEED +#ifdef EI_ARDUINO_INTERRUPTED_PIN + arduinoInterruptedPin=ARDUINO_PIN_E4; arduinoPinState=PINE & _BV(4); +#endif // EI_ARDUINO_INTERRUPTED_PIN + (*functionPointerArrayEXTERNAL[4])(); +#else +#ifdef INTERRUPT_FLAG_PIN2 + INTERRUPT_FLAG_PIN2++; +#endif +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTINT4 + +#ifndef EI_NOTINT5 +ISR(INT5_vect) {/*{{{*/ +#ifndef NEEDFORSPEED +#ifdef EI_ARDUINO_INTERRUPTED_PIN + arduinoInterruptedPin=ARDUINO_PIN_E5; arduinoPinState=PINE & _BV(5); +#endif // EI_ARDUINO_INTERRUPTED_PIN + (*functionPointerArrayEXTERNAL[5])(); +#else +#ifdef INTERRUPT_FLAG_PIN3 + INTERRUPT_FLAG_PIN3++; +#endif +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTINT5 + +#ifndef EI_NOTINT6 +ISR(INT6_vect) {/*{{{*/ +#ifndef NEEDFORSPEED +#ifdef EI_ARDUINO_INTERRUPTED_PIN + arduinoInterruptedPin=ARDUINO_PIN_E6; arduinoPinState=PINE & _BV(6); +#endif // EI_ARDUINO_INTERRUPTED_PIN + (*functionPointerArrayEXTERNAL[6])(); +#else +#ifdef INTERRUPT_FLAG_PIN75 + INTERRUPT_FLAG_PIN75++; +#endif +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTINT6 + +#ifndef EI_NOTINT7 +ISR(INT7_vect) {/*{{{*/ +#ifndef NEEDFORSPEED +#ifdef EI_ARDUINO_INTERRUPTED_PIN + arduinoInterruptedPin=ARDUINO_PIN_E7; arduinoPinState=PINE & _BV(7); +#endif // EI_ARDUINO_INTERRUPTED_PIN + (*functionPointerArrayEXTERNAL[7])(); +#else +#ifdef INTERRUPT_FLAG_PIN76 + INTERRUPT_FLAG_PIN76++; +#endif +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTINT7 +#endif // defined ARDUINO_MEGA + +#if defined ARDUINO_LEONARDO +#ifndef EI_NOTINT6 +ISR(INT6_vect) {/*{{{*/ +#ifndef NEEDFORSPEED +#ifdef EI_ARDUINO_INTERRUPTED_PIN + arduinoInterruptedPin=ARDUINO_PIN_E6; arduinoPinState=PINE & _BV(6); +#endif // EI_ARDUINO_INTERRUPTED_PIN + (*functionPointerArrayEXTERNAL[4])(); +#else +#ifdef INTERRUPT_FLAG_PIN7 + INTERRUPT_FLAG_PIN7++; +#endif +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTINT6 +#endif // defined ARDUINO_LEONARDO +#endif // EI_NOTEXTERNAL +// ************************************************************************************* +// ************************************************************************************* + +// ************************************************************************************* +// Pin Change Interrupts +// ************************************************************************************* +#ifndef EI_NOTPORTA +ISR(PORTA_VECT) {/*{{{*/ + uint8_t current; + uint8_t interruptMask; + uint8_t changedPins; + uint8_t tmp; + + current=PINA; +// If we trust the compiler to do this, it will use an extra register... +// changedPins=(portSnapshotA ^ current) & +// ((risingPinsPORTA & current) | (fallingPinsPORTA & ~current)); +// ...so we do it ourselves: + changedPins = portSnapshotA ^ current; + tmp = risingPinsPORTA & current; + interruptMask = fallingPinsPORTA & ~current; + interruptMask = interruptMask | tmp; + interruptMask = changedPins & interruptMask; + interruptMask = PCMSK0 & interruptMask; + + + portSnapshotA = current; +#ifdef NEEDFORSPEED +#include "utility/ei_porta_speed.h" +#else + if (interruptMask == 0) goto exitPORTAISR; // get out quickly if not interested. +#ifdef EI_ARDUINO_INTERRUPTED_PIN + if (interruptMask & _BV(0)) { arduinoInterruptedPin=ARDUINO_PIN_A0; arduinoPinState=current & _BV(0); portAFunctions.pinZero(); } + if (interruptMask & _BV(1)) { arduinoInterruptedPin=ARDUINO_PIN_A1; arduinoPinState=current & _BV(1); portAFunctions.pinOne(); } + if (interruptMask & _BV(2)) { arduinoInterruptedPin=ARDUINO_PIN_A2; arduinoPinState=current & _BV(2); portAFunctions.pinTwo(); } + if (interruptMask & _BV(3)) { arduinoInterruptedPin=ARDUINO_PIN_A3; arduinoPinState=current & _BV(3); portAFunctions.pinThree(); } + if (interruptMask & _BV(4)) { arduinoInterruptedPin=ARDUINO_PIN_A4; arduinoPinState=current & _BV(4); portAFunctions.pinFour(); } + if (interruptMask & _BV(5)) { arduinoInterruptedPin=ARDUINO_PIN_A5; arduinoPinState=current & _BV(5); portAFunctions.pinFive(); } + if (interruptMask & _BV(6)) { arduinoInterruptedPin=ARDUINO_PIN_A6; arduinoPinState=current & _BV(6); portAFunctions.pinSix(); } + if (interruptMask & _BV(7)) { arduinoInterruptedPin=ARDUINO_PIN_A7; arduinoPinState=current & _BV(7); portAFunctions.pinSeven(); } +#else + if (interruptMask & _BV(0)) portAFunctions.pinZero(); + if (interruptMask & _BV(1)) portAFunctions.pinOne(); + if (interruptMask & _BV(2)) portAFunctions.pinTwo(); + if (interruptMask & _BV(3)) portAFunctions.pinThree(); + if (interruptMask & _BV(4)) portAFunctions.pinFour(); + if (interruptMask & _BV(5)) portAFunctions.pinFive(); + if (interruptMask & _BV(6)) portAFunctions.pinSix(); + if (interruptMask & _BV(7)) portAFunctions.pinSeven(); +#endif // EI_ARDUINO_INTERRUPTED_PIN + exitPORTAISR: return; +#endif // NEEDFORSPEED + // FOR MEASUREMENT ONLY + // exitPORTBISR: PORTC &= ~(1 << PC5); // SIGNAL THAT WE ARE LEAVING THE INTERRUPT +}/*}}}*/ +#endif // EI_NOTPORTA + +#ifndef EI_NOTPORTB +ISR(PORTB_VECT) {/*{{{*/ + uint8_t current; + uint8_t interruptMask; + uint8_t changedPins; + uint8_t tmp; + + current=PINB; +// If we trust the compiler to do this, it will use an extra register... +// changedPins=(portSnapshotB ^ current) & +// ((risingPinsPORTB & current) | (fallingPinsPORTB & ~current)); +// ...so we do it ourselves: + changedPins = portSnapshotB ^ current; + tmp = risingPinsPORTB & current; + interruptMask = fallingPinsPORTB & ~current; + interruptMask = interruptMask | tmp; + interruptMask = changedPins & interruptMask; +#if (defined MIGHTY1284) || (defined EI_ATTINY24) + interruptMask = PCMSK1 & interruptMask; +#else +#ifdef EI_ATTINY25 + interruptMask = PCMSK & interruptMask; +#else + interruptMask = PCMSK0 & interruptMask; +#endif +#endif + + portSnapshotB = current; +#ifdef NEEDFORSPEED +#include "utility/ei_portb_speed.h" +#else + if (interruptMask == 0) goto exitPORTBISR; // get out quickly if not interested. +#ifdef EI_ARDUINO_INTERRUPTED_PIN + if (interruptMask & _BV(0)) { arduinoInterruptedPin=ARDUINO_PIN_B0; arduinoPinState=current & _BV(0); portBFunctions.pinZero(); } + if (interruptMask & _BV(1)) { arduinoInterruptedPin=ARDUINO_PIN_B1; arduinoPinState=current & _BV(1); portBFunctions.pinOne(); } + if (interruptMask & _BV(2)) { arduinoInterruptedPin=ARDUINO_PIN_B2; arduinoPinState=current & _BV(2); portBFunctions.pinTwo(); } + if (interruptMask & _BV(3)) { arduinoInterruptedPin=ARDUINO_PIN_B3; arduinoPinState=current & _BV(3); portBFunctions.pinThree(); } +#if ! (defined EI_ATTINY24) + if (interruptMask & _BV(4)) { arduinoInterruptedPin=ARDUINO_PIN_B4; arduinoPinState=current & _BV(4); portBFunctions.pinFour(); } + if (interruptMask & _BV(5)) { arduinoInterruptedPin=ARDUINO_PIN_B5; arduinoPinState=current & _BV(5); portBFunctions.pinFive(); } +#endif +#if ! (defined ARDUINO_328) && ! (defined EI_ATTINY24) && ! (defined EI_ATTINY25) + if (interruptMask & _BV(6)) { arduinoInterruptedPin=ARDUINO_PIN_B6; arduinoPinState=current & _BV(6); portBFunctions.pinSix(); } + if (interruptMask & _BV(7)) { arduinoInterruptedPin=ARDUINO_PIN_B7; arduinoPinState=current & _BV(7); portBFunctions.pinSeven(); } +#endif +#else // EI_ARDUINO_INTERRUPTED_PIN + if (interruptMask & _BV(0)) portBFunctions.pinZero(); + if (interruptMask & _BV(1)) portBFunctions.pinOne(); + if (interruptMask & _BV(2)) portBFunctions.pinTwo(); + if (interruptMask & _BV(3)) portBFunctions.pinThree(); +#if ! (defined EI_ATTINY24) + if (interruptMask & _BV(4)) portBFunctions.pinFour(); + if (interruptMask & _BV(5)) portBFunctions.pinFive(); +#endif +#if ! (defined ARDUINO_328) && ! (defined EI_ATTINY24) && ! (defined EI_ATTINY25) + if (interruptMask & _BV(6)) portBFunctions.pinSix(); + if (interruptMask & _BV(7)) portBFunctions.pinSeven(); +#endif +#endif // EI_ARDUINO_INTERRUPTED_PIN + exitPORTBISR: return; + // FOR MEASUREMENT ONLY + // exitPORTBISR: PORTC &= ~(1 << PC5); // SIGNAL THAT WE ARE LEAVING THE INTERRUPT +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTPORTB + +#ifndef EI_NOTPORTC +ISR(PORTC_VECT) {/*{{{*/ + uint8_t current; + uint8_t interruptMask; + uint8_t changedPins; + uint8_t tmp; + + current=PINC; +// If we trust the compiler to do this, it will use an extra register... +// changedPins=(portSnapshotB ^ current) & +// ((risingPinsPORTB & current) | (fallingPinsPORTB & ~current)); +// ...so we do it ourselves: + changedPins = portSnapshotC ^ current; + tmp = risingPinsPORTC & current; + interruptMask = fallingPinsPORTC & ~current; + interruptMask = interruptMask | tmp; + interruptMask = changedPins & interruptMask; +#if (defined MIGHTY1284) + interruptMask = PCMSK2 & interruptMask; +#else + interruptMask = PCMSK1 & interruptMask; +#endif + + portSnapshotC = current; +#ifdef NEEDFORSPEED +#include "utility/ei_portc_speed.h" +#else + if (interruptMask == 0) goto exitPORTCISR; // get out quickly if not interested. +#ifdef EI_ARDUINO_INTERRUPTED_PIN + if (interruptMask & _BV(0)) { arduinoInterruptedPin=ARDUINO_PIN_C0; arduinoPinState=current & _BV(0); portCFunctions.pinZero(); } + if (interruptMask & _BV(1)) { arduinoInterruptedPin=ARDUINO_PIN_C1; arduinoPinState=current & _BV(1); portCFunctions.pinOne(); } + if (interruptMask & _BV(2)) { arduinoInterruptedPin=ARDUINO_PIN_C2; arduinoPinState=current & _BV(2); portCFunctions.pinTwo(); } + if (interruptMask & _BV(3)) { arduinoInterruptedPin=ARDUINO_PIN_C3; arduinoPinState=current & _BV(3); portCFunctions.pinThree(); } + if (interruptMask & _BV(4)) { arduinoInterruptedPin=ARDUINO_PIN_C4; arduinoPinState=current & _BV(4); portCFunctions.pinFour(); } + if (interruptMask & _BV(5)) { arduinoInterruptedPin=ARDUINO_PIN_C5; arduinoPinState=current & _BV(5); portCFunctions.pinFive(); } +#ifdef MIGHTY1284 + if (interruptMask & _BV(6)) { arduinoInterruptedPin=ARDUINO_PIN_C6; arduinoPinState=current & _BV(6); portCFunctions.pinSix(); } + if (interruptMask & _BV(7)) { arduinoInterruptedPin=ARDUINO_PIN_C7; arduinoPinState=current & _BV(7); portCFunctions.pinSeven(); } +#endif +#else + if (interruptMask & _BV(0)) portCFunctions.pinZero(); + if (interruptMask & _BV(1)) portCFunctions.pinOne(); + if (interruptMask & _BV(2)) portCFunctions.pinTwo(); + if (interruptMask & _BV(3)) portCFunctions.pinThree(); + if (interruptMask & _BV(4)) portCFunctions.pinFour(); + if (interruptMask & _BV(5)) portCFunctions.pinFive(); +#ifdef MIGHTY1284 + if (interruptMask & _BV(6)) portCFunctions.pinSix(); + if (interruptMask & _BV(7)) portCFunctions.pinSeven(); +#endif +#endif // EI_ARDUINO_INTERRUPTED_PIN + exitPORTCISR: return; +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTPORTC + +#ifndef EI_NOTPORTD +ISR(PORTD_VECT) {/*{{{*/ + uint8_t current; + uint8_t interruptMask; + uint8_t changedPins; + uint8_t tmp; + + current=PIND; +// If we trust the compiler to do this, it will use an extra register... +// changedPins=(portSnapshotB ^ current) & +// ((risingPinsPORTB & current) | (fallingPinsPORTB & ~current)); +// ...so we do it ourselves: + changedPins = portSnapshotD ^ current; + tmp = risingPinsPORTD & current; + interruptMask = fallingPinsPORTD & ~current; + interruptMask = interruptMask | tmp; + interruptMask = changedPins & interruptMask; +#if (defined MIGHTY1284) + interruptMask = PCMSK3 & interruptMask; +#else + interruptMask = PCMSK2 & interruptMask; +#endif + + portSnapshotD = current; +#ifdef NEEDFORSPEED +#include "utility/ei_portd_speed.h" +#else + if (interruptMask == 0) goto exitPORTDISR; // get out quickly if not interested. +#ifdef EI_ARDUINO_INTERRUPTED_PIN + if (interruptMask & _BV(0)) { arduinoInterruptedPin=ARDUINO_PIN_D0; arduinoPinState=current & _BV(0); portDFunctions.pinZero(); } + if (interruptMask & _BV(1)) { arduinoInterruptedPin=ARDUINO_PIN_D1; arduinoPinState=current & _BV(1); portDFunctions.pinOne(); } + if (interruptMask & _BV(2)) { arduinoInterruptedPin=ARDUINO_PIN_D2; arduinoPinState=current & _BV(2); portDFunctions.pinTwo(); } + if (interruptMask & _BV(3)) { arduinoInterruptedPin=ARDUINO_PIN_D3; arduinoPinState=current & _BV(3); portDFunctions.pinThree(); } + if (interruptMask & _BV(4)) { arduinoInterruptedPin=ARDUINO_PIN_D4; arduinoPinState=current & _BV(4); portDFunctions.pinFour(); } + if (interruptMask & _BV(5)) { arduinoInterruptedPin=ARDUINO_PIN_D5; arduinoPinState=current & _BV(5); portDFunctions.pinFive(); } + if (interruptMask & _BV(6)) { arduinoInterruptedPin=ARDUINO_PIN_D6; arduinoPinState=current & _BV(6); portDFunctions.pinSix(); } + if (interruptMask & _BV(7)) { arduinoInterruptedPin=ARDUINO_PIN_D7; arduinoPinState=current & _BV(7); portDFunctions.pinSeven(); } +#else + if (interruptMask & _BV(0)) portDFunctions.pinZero(); + if (interruptMask & _BV(1)) portDFunctions.pinOne(); + if (interruptMask & _BV(2)) portDFunctions.pinTwo(); + if (interruptMask & _BV(3)) portDFunctions.pinThree(); + if (interruptMask & _BV(4)) portDFunctions.pinFour(); + if (interruptMask & _BV(5)) portDFunctions.pinFive(); + if (interruptMask & _BV(6)) portDFunctions.pinSix(); + if (interruptMask & _BV(7)) portDFunctions.pinSeven(); +#endif // EI_ARDUINO_INTERRUPTED_PIN + exitPORTDISR: return; +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTPORTD + +#ifndef EI_NOTPORTJ +ISR(PORTJ_VECT) {/*{{{*/ + uint8_t current; + uint8_t interruptMask; + uint8_t changedPins; + uint8_t tmp; + + current=PINJ; +// If we trust the compiler to do this, it will use an extra register... +// changedPins=(portSnapshotB ^ current) & +// ((risingPinsPORTB & current) | (fallingPinsPORTB & ~current)); +// ...so we do it ourselves: + changedPins = portSnapshotJ ^ current; + tmp = risingPinsPORTJ & current; + interruptMask = fallingPinsPORTJ & ~current; + interruptMask = interruptMask | tmp; + interruptMask = changedPins & interruptMask; + interruptMask = portJPCMSK & interruptMask; // because PCMSK1 is shifted wrt. PortJ. + + portSnapshotJ = current; +#ifdef NEEDFORSPEED +#include "utility/ei_portj_speed.h" +#else + if (interruptMask == 0) goto exitPORTJISR; // get out quickly if not interested. +#ifdef EI_ARDUINO_INTERRUPTED_PIN + if (interruptMask & _BV(0)) { arduinoInterruptedPin=ARDUINO_PIN_J0; arduinoPinState=current & _BV(0); portJFunctions.pinZero(); } + if (interruptMask & _BV(1)) { arduinoInterruptedPin=ARDUINO_PIN_J1; arduinoPinState=current & _BV(1); portJFunctions.pinOne(); } + if (interruptMask & _BV(2)) { arduinoInterruptedPin=ARDUINO_PIN_J2; arduinoPinState=current & _BV(2); portJFunctions.pinTwo(); } + if (interruptMask & _BV(3)) { arduinoInterruptedPin=ARDUINO_PIN_J3; arduinoPinState=current & _BV(3); portJFunctions.pinThree(); } + if (interruptMask & _BV(4)) { arduinoInterruptedPin=ARDUINO_PIN_J4; arduinoPinState=current & _BV(4); portJFunctions.pinFour(); } + if (interruptMask & _BV(5)) { arduinoInterruptedPin=ARDUINO_PIN_J5; arduinoPinState=current & _BV(5); portJFunctions.pinFive(); } + if (interruptMask & _BV(6)) { arduinoInterruptedPin=ARDUINO_PIN_J6; arduinoPinState=current & _BV(6); portJFunctions.pinSix(); } +#else + if (interruptMask & _BV(0)) portJFunctions.pinZero(); + if (interruptMask & _BV(1)) portJFunctions.pinOne(); + if (interruptMask & _BV(2)) portJFunctions.pinTwo(); + if (interruptMask & _BV(3)) portJFunctions.pinThree(); + if (interruptMask & _BV(4)) portJFunctions.pinFour(); + if (interruptMask & _BV(5)) portJFunctions.pinFive(); + if (interruptMask & _BV(6)) portJFunctions.pinSix(); +#endif // EI_ARDUINO_INTERRUPTED_PIN + exitPORTJISR: return; +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTPORTJ + +#ifndef EI_NOTPORTK +ISR(PORTK_VECT) {/*{{{*/ + uint8_t current; + uint8_t interruptMask; + uint8_t changedPins; + uint8_t tmp; + + current=PINK; +// If we trust the compiler to do this, it will use an extra register... +// changedPins=(portSnapshotB ^ current) & +// ((risingPinsPORTB & current) | (fallingPinsPORTB & ~current)); +// ...so we do it ourselves: + changedPins = portSnapshotK ^ current; + tmp = risingPinsPORTK & current; + interruptMask = fallingPinsPORTK & ~current; + interruptMask = interruptMask | tmp; + interruptMask = changedPins & interruptMask; + interruptMask = PCMSK2 & interruptMask; + + portSnapshotK = current; +#ifdef NEEDFORSPEED +#include "utility/ei_portk_speed.h" +#else + if (interruptMask == 0) goto exitPORTKISR; // get out quickly if not interested. +#ifdef EI_ARDUINO_INTERRUPTED_PIN + if (interruptMask & _BV(0)) { arduinoInterruptedPin=ARDUINO_PIN_K0; arduinoPinState=current & _BV(0); portKFunctions.pinZero(); } + if (interruptMask & _BV(1)) { arduinoInterruptedPin=ARDUINO_PIN_K1; arduinoPinState=current & _BV(1); portKFunctions.pinOne(); } + if (interruptMask & _BV(2)) { arduinoInterruptedPin=ARDUINO_PIN_K2; arduinoPinState=current & _BV(2); portKFunctions.pinTwo(); } + if (interruptMask & _BV(3)) { arduinoInterruptedPin=ARDUINO_PIN_K3; arduinoPinState=current & _BV(3); portKFunctions.pinThree(); } + if (interruptMask & _BV(4)) { arduinoInterruptedPin=ARDUINO_PIN_K4; arduinoPinState=current & _BV(4); portKFunctions.pinFour(); } + if (interruptMask & _BV(5)) { arduinoInterruptedPin=ARDUINO_PIN_K5; arduinoPinState=current & _BV(5); portKFunctions.pinFive(); } + if (interruptMask & _BV(6)) { arduinoInterruptedPin=ARDUINO_PIN_K6; arduinoPinState=current & _BV(6); portKFunctions.pinSix(); } + if (interruptMask & _BV(7)) { arduinoInterruptedPin=ARDUINO_PIN_K7; arduinoPinState=current & _BV(7); portKFunctions.pinSeven(); } +#else + if (interruptMask & _BV(0)) portKFunctions.pinZero(); + if (interruptMask & _BV(1)) portKFunctions.pinOne(); + if (interruptMask & _BV(2)) portKFunctions.pinTwo(); + if (interruptMask & _BV(3)) portKFunctions.pinThree(); + if (interruptMask & _BV(4)) portKFunctions.pinFour(); + if (interruptMask & _BV(5)) portKFunctions.pinFive(); + if (interruptMask & _BV(6)) portKFunctions.pinSix(); + if (interruptMask & _BV(7)) portKFunctions.pinSeven(); +#endif // EI_ARDUINO_INTERRUPTED_PIN + exitPORTKISR: return; +#endif // NEEDFORSPEED +}/*}}}*/ +#endif // EI_NOTPORTK + +// ************************************************************************************* +// ************************************************************************************* + +#endif // #ifndef LIBCALL_ENABLEINTERRUPT ********************************************************* +#endif // #if defined __SAM3U4E__ || defined __SAM3X8E__ || defined __SAM3X8H__ +#endif // #ifndef EnableInterrupt_h *************************************************************** diff --git a/libraries/EnableInterrupt/Interrupt Timing.odt b/libraries/EnableInterrupt/Interrupt Timing.odt new file mode 100644 index 0000000000000000000000000000000000000000..ec049f2d11395360ba27bc34a5a2bb3fdfade0d1 GIT binary patch literal 1569786 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

Ztm`o?_MW`Oka`qCX88s_;jZ& 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

$a{!8EG!~GfqrKyS_Fl&AMe2xkkfEIW|et%gmHP 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%0DO+GE#V1CVyl!sT{Ay;13mD~`N8caRM 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χZ6f^dKxZoVySlji^r34)9oQ~oELlgyqlnM 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