aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid A. Mellis <d.mellis@arduino.cc>2011-08-12 18:27:00 -0400
committerDavid A. Mellis <d.mellis@arduino.cc>2011-08-12 18:27:00 -0400
commit39573e5cf7e5db5f0892fc6d33e0d53ede5e0d17 (patch)
treeb2ba307118df780dbf05c6e02889d4f2983511c9
parentcafbc48008ec9cb5cd68b29a93f59b81423322f7 (diff)
Adding basic macros for analog + digital pin information.
http://code.google.com/p/arduino/issues/detail?id=495
-rw-r--r--pins/mega/pins_arduino.h5
-rw-r--r--pins/standard/pins_arduino.h10
2 files changed, 15 insertions, 0 deletions
diff --git a/pins/mega/pins_arduino.h b/pins/mega/pins_arduino.h
index b25f858..237173a 100644
--- a/pins/mega/pins_arduino.h
+++ b/pins/mega/pins_arduino.h
@@ -27,6 +27,11 @@
#include <avr/pgmspace.h>
+#define NUM_DIGITAL_PINS 70
+#define NUM_ANALOG_INPUTS 16
+#define analogInputToDigitalPin(p) ((p < 16) ? (p) + 54 : -1)
+#define digitalPinHasPWM(p) (((p) >= 2 && (p) <= 13) || ((p) >= 44 && (p)<= 46))
+
const static uint8_t SS = 53;
const static uint8_t MOSI = 51;
const static uint8_t MISO = 50;
diff --git a/pins/standard/pins_arduino.h b/pins/standard/pins_arduino.h
index 8e25435..3999d1f 100644
--- a/pins/standard/pins_arduino.h
+++ b/pins/standard/pins_arduino.h
@@ -27,6 +27,16 @@
#include <avr/pgmspace.h>
+#define NUM_DIGITAL_PINS 20
+#define NUM_ANALOG_INPUTS 6
+#define analogInputToDigitalPin(p) ((p < 6) ? (p) + 14 : -1)
+
+#if defined(__AVR_ATmega8__)
+#define digitalPinHasPWM(p) ((p) == 9 || (p) == 10 || (p) == 11)
+#else
+#define digitalPinHasPWM(p) ((p) == 3 || (p) == 5 || (p) == 6 || (p) == 9 || (p) == 10 || (p) == 11)
+#endif
+
const static uint8_t SS = 10;
const static uint8_t MOSI = 11;
const static uint8_t MISO = 12;