Skip to content

Commit d006ab4

Browse files
committed
Added Teensy 4.1 pins to Boards.h
1 parent b1533de commit d006ab4

File tree

1 file changed

+70
-7
lines changed

1 file changed

+70
-7
lines changed

Boards.h

Lines changed: 70 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -584,10 +584,23 @@ writePort(port, value, bitmask): Write an 8 bit port.
584584
#define PIN_TO_PWM(p) PIN_TO_DIGITAL(p)
585585
#define PIN_TO_SERVO(p) (p)
586586

587-
// Teensy 4.0
587+
// Teensy 4.0 and Teensy 4.1
588588
#elif defined(__IMXRT1062__)
589-
#define TOTAL_ANALOG_PINS 14
590-
#define TOTAL_PINS 40
589+
#if !defined(TEENSY40) && !defined(TEENSY41)
590+
#warning Assuming TEENSY40. Please #define TEENSY40 or TEENSY41.
591+
#define TEENSY40
592+
#endif
593+
#if defined(TEENSY40)
594+
#define TOTAL_PINS 40
595+
#define TOTAL_ANALOG_PINS 14
596+
#define IS_PIN_ANALOG(p) ((p) >= 14 && (p) <= 27)
597+
#define PIN_TO_ANALOG(p) ((p) - 14)
598+
#elif defined(TEENSY41)
599+
#define TOTAL_PINS 55
600+
#define TOTAL_ANALOG_PINS 18
601+
#define IS_PIN_ANALOG(p) (((p) >= 14 && (p) <= 27) || ((p) >= 38 && (p) <= 41))
602+
#define PIN_TO_ANALOG(p) (((p) <= 27) ? ((p) - 14 ) : ((p) - 24))
603+
#endif
591604
#define VERSION_BLINK_PIN 13
592605
#define PIN_SERIAL1_RX 0
593606
#define PIN_SERIAL1_TX 1
@@ -603,14 +616,64 @@ writePort(port, value, bitmask): Write an 8 bit port.
603616
#define PIN_SERIAL6_TX 24
604617
#define PIN_SERIAL7_RX 28
605618
#define PIN_SERIAL7_TX 29
619+
#if defined(TEENSY40)
620+
#define IS_PIN_SERIAL(p) (((p) == PIN_SERIAL1_RX) || \
621+
((p) == PIN_SERIAL1_TX) || \
622+
((p) == PIN_SERIAL2_RX) || \
623+
((p) == PIN_SERIAL2_TX) || \
624+
((p) == PIN_SERIAL3_RX) || \
625+
((p) == PIN_SERIAL3_TX) || \
626+
((p) == PIN_SERIAL4_RX) || \
627+
((p) == PIN_SERIAL4_TX) || \
628+
((p) == PIN_SERIAL5_RX) || \
629+
((p) == PIN_SERIAL5_TX) || \
630+
((p) == PIN_SERIAL6_RX) || \
631+
((p) == PIN_SERIAL6_TX) || \
632+
((p) == PIN_SERIAL7_RX) || \
633+
((p) == PIN_SERIAL7_TX))
634+
#define IS_PIN_PWM(p) (((p) >= 0 && (p) <= 16) || \
635+
((p) == 18) || \
636+
((p) == 19) || \
637+
((p) >= 22 && (p) <= 25) || \
638+
((p) == 28) || \
639+
((p) == 29) || \
640+
((p) >= 33 && (p) <= 39))
641+
#elif defined(TEENSY41)
642+
#define PIN_SERIAL8_RX 34
643+
#define PIN_SERIAL8_TX 35
644+
#define IS_PIN_SERIAL(p) (((p) == PIN_SERIAL1_RX) || \
645+
((p) == PIN_SERIAL1_TX) || \
646+
((p) == PIN_SERIAL2_RX) || \
647+
((p) == PIN_SERIAL2_TX) || \
648+
((p) == PIN_SERIAL3_RX) || \
649+
((p) == PIN_SERIAL3_TX) || \
650+
((p) == PIN_SERIAL4_RX) || \
651+
((p) == PIN_SERIAL4_TX) || \
652+
((p) == PIN_SERIAL5_RX) || \
653+
((p) == PIN_SERIAL5_TX) || \
654+
((p) == PIN_SERIAL6_RX) || \
655+
((p) == PIN_SERIAL6_TX) || \
656+
((p) == PIN_SERIAL7_RX) || \
657+
((p) == PIN_SERIAL7_TX) ||\
658+
((p) == PIN_SERIAL8_RX) || \
659+
((p) == PIN_SERIAL8_TX))
660+
#define IS_PIN_PWM(p) (((p) >= 0 && (p) <= 15) || \
661+
((p) == 18) || \
662+
((p) == 19) || \
663+
((p) >= 22 && (p) <= 25) || \
664+
((p) == 28) || \
665+
((p) == 29) || \
666+
((p) == 33) || \
667+
((p) == 36) || \
668+
((p) == 37) || \
669+
((p) >= 42 && (p) <= 47) || \
670+
((p) == 51) || \
671+
((p) == 54))
672+
#endif
606673
#define IS_PIN_DIGITAL(p) ((p) >= 0 && (p) < TOTAL_PINS)
607-
#define IS_PIN_ANALOG(p) ((p) >= 14 && (p) <= 27)
608-
#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))
609674
#define IS_PIN_SERVO(p) ((p) >= 0 && (p) < MAX_SERVOS)
610675
#define IS_PIN_I2C(p) ((p) == 18 || (p) == 19)
611-
#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))
612676
#define PIN_TO_DIGITAL(p) (p)
613-
#define PIN_TO_ANALOG(p) ((p) - 14)
614677
#define PIN_TO_PWM(p) (p)
615678
#define PIN_TO_SERVO(p) (p)
616679

0 commit comments

Comments
 (0)