Skip to content

Commit cefeaa3

Browse files
committed
pin functions based on board depended defaults
to support different ESP8266 boad layouts, use board depended constants from "...\esp8266\hardware\esp8266\2.1.0\variants\...\pins_arduino.h"
1 parent c1bafb7 commit cefeaa3

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

Boards.h

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -665,22 +665,29 @@ writePort(port, value, bitmask): Write an 8 bit port.
665665
#define PIN_TO_PWM(p) PIN_TO_DIGITAL(p)
666666
#define PIN_TO_SERVO(p) ((p) - 2)
667667

668-
// ESP8266 generic
668+
// ESP8266
669+
// hardware: TX0=1, TX1=2, RX0=3, MISO=12, MOSI=13, SCLK=14, CS=15, A0=17
670+
// board depended defaults: LED_BUILTIN, SDA, SCL
671+
// note: boot mode GPIOs 0, 2 and 15 can be used as outputs (GPIOs 6-11 are in use for flash IO)
669672
#elif defined(ESP8266)
670-
#define TOTAL_ANALOG_PINS 0
671-
#define TOTAL_PINS 17
672-
#define VERSION_BLINK_PIN 4
673-
// #define IS_PIN_DIGITAL(p) ((p) == 0 || (p) == 1 || (p) == 2 || (p) == 3 || (p) == 4 || (p) == 5 || (p) == 12 || (p) == 13 || (p) == 14 || (p) == 15 || (p) == 16) //for wifi dont protect serial pins because these things only have 2 pins otherwise
674-
#define IS_PIN_DIGITAL(p) ((p) == 0 || (p) == 2 || (p) == 4 || (p) == 5 || (p) == 12 || (p) == 13 || (p) == 14 || (p) == 15 || (p) == 16)
675-
#define IS_PIN_ANALOG(p) (false)
676-
#define IS_PIN_PWM(p) (false)
677-
#define IS_PIN_SERVO(p) ((p) >= 0 && (p) < MAX_SERVOS)
678-
#define IS_PIN_I2C(p) (false)
679-
#define IS_PIN_SPI(p) (false)
673+
#define TOTAL_ANALOG_PINS 1
674+
#define TOTAL_PINS 18 // 11 digital + 1 analog + 6 inaccessible
675+
#define VERSION_BLINK_PIN LED_BUILTIN
676+
#define PIN_SERIAL_RX 3
677+
#define PIN_SERIAL_TX 1
678+
#define PIN_SERIAL1_TX 2
679+
#define IS_PIN_DIGITAL(p) (((p) >= 0 && (p) <= 5) || ((p) >= 12 && (p) <= 16))
680+
#define IS_PIN_ANALOG(p) ((p) == A0)
681+
#define IS_PIN_PWM(p) IS_PIN_DIGITAL(p)
682+
#define IS_PIN_SERVO(p) (IS_PIN_DIGITAL(p) && (p) < MAX_SERVOS)
683+
#define IS_PIN_I2C(p) ((p) == SDA || (p) == SCL)
684+
#define IS_PIN_SPI(p) ((p) >= 12 && (p) <= 15)
685+
#define IS_PIN_INTERRUPT(p) (((p) >= 0 && (p) <= 5) || ((p) >= 12 && (p) <= 15))
686+
#define IS_PIN_SERIAL(p) ((p) == 1 || (p) == 3)
680687
#define PIN_TO_DIGITAL(p) (p)
681-
#define PIN_TO_ANALOG(p) ((p) - 17)
688+
#define PIN_TO_ANALOG(p) (p)
682689
#define PIN_TO_PWM(p) PIN_TO_DIGITAL(p)
683-
#define PIN_TO_SERVO(p) p
690+
#define PIN_TO_SERVO(p) (p)
684691

685692

686693
// anything else

0 commit comments

Comments
 (0)