@@ -536,6 +536,36 @@ writePort(port, value, bitmask): Write an 8 bit port.
536536#define PIN_TO_PWM (p ) PIN_TO_DIGITAL(p)
537537#define PIN_TO_SERVO (p ) (p)
538538
539+ // Teensy 4.0
540+ #elif defined(__IMXRT1062__ )
541+ #define TOTAL_ANALOG_PINS 14
542+ #define TOTAL_PINS 40
543+ #define VERSION_BLINK_PIN 13
544+ #define PIN_SERIAL1_RX 0
545+ #define PIN_SERIAL1_TX 1
546+ #define PIN_SERIAL2_RX 7
547+ #define PIN_SERIAL2_TX 8
548+ #define PIN_SERIAL3_RX 15
549+ #define PIN_SERIAL3_TX 14
550+ #define PIN_SERIAL4_RX 16
551+ #define PIN_SERIAL4_TX 17
552+ #define PIN_SERIAL5_RX 21
553+ #define PIN_SERIAL5_TX 20
554+ #define PIN_SERIAL6_RX 25
555+ #define PIN_SERIAL6_TX 24
556+ #define PIN_SERIAL7_RX 28
557+ #define PIN_SERIAL7_TX 29
558+ #define IS_PIN_DIGITAL (p ) ((p) >= 0 && (p) < TOTAL_PINS)
559+ #define IS_PIN_ANALOG (p ) ((p) >= 14 && (p) <= 27)
560+ #define IS_PIN_PWM (p ) (((p) >= 0 && (p) <= 16) || ((p) >= 18 && (p) <= 19) || ((p) >= 22 && (p) <= 25) || ((p) >= 28 && (p) <= 29)|| ((p) >= 33 && (p) <= 39))
561+ #define IS_PIN_SERVO (p ) ((p) >= 0 && (p) < MAX_SERVOS)
562+ #define IS_PIN_I2C (p ) ((p) == 18 || (p) == 19)
563+ #define IS_PIN_SERIAL (p ) (((p) >= 0 && (p) <= 1) || ((p) >= 7 && (p) <= 8) || ((p) >= 14 && (p) <= 17) || ((p) >= 20 && (p) <= 21) || ((p) >= 24 && (p) <= 25) || ((p) >= 28 && (p) <= 29))
564+ #define PIN_TO_DIGITAL (p ) (p)
565+ #define PIN_TO_ANALOG (p ) ((p) - 14)
566+ #define PIN_TO_PWM (p ) (p)
567+ #define PIN_TO_SERVO (p ) (p)
568+
539569
540570// Leonardo
541571#elif defined(__AVR_ATmega32U4__ )
0 commit comments