diff options
Diffstat (limited to 'buildroot/share/pin_interrupt_test')
-rw-r--r-- | buildroot/share/pin_interrupt_test/pin_interrupt_test.ino | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/buildroot/share/pin_interrupt_test/pin_interrupt_test.ino b/buildroot/share/pin_interrupt_test/pin_interrupt_test.ino new file mode 100644 index 0000000..6dcfb67 --- /dev/null +++ b/buildroot/share/pin_interrupt_test/pin_interrupt_test.ino @@ -0,0 +1,32 @@ +// Search pins usable for endstop-interrupts +// Compile with the same build settings you'd use for Marlin. + +#if defined(ARDUINO_AVR_MEGA2560) || defined(ARDUINO_AVR_MEGA) + #undef digitalPinToPCICR + #define digitalPinToPCICR(p) ( ((p) >= 10 && (p) <= 15) || \ + ((p) >= 50 && (p) <= 53) || \ + ((p) >= 62 && (p) <= 69) ? (&PCICR) : nullptr) +#endif + +void setup() { + Serial.begin(9600); + Serial.println("PINs causing interrupts are:"); + for (int i = 2; i < NUM_DIGITAL_PINS; i++) { + if (digitalPinToPCICR(i) || (int)digitalPinToInterrupt(i) != -1) { + for (int j = 0; j < NUM_ANALOG_INPUTS; j++) { + if (analogInputToDigitalPin(j) == i) { + Serial.print('A'); + Serial.print(j); + Serial.print(" = "); + } + } + Serial.print('D'); + Serial.println(i); + } + } + Serial.println("Arduino pin numbering!"); +} + +void loop() { + // put your main code here, to run repeatedly: +} |