Skip to content

Commit c744d22

Browse files
Merge pull request #312 from firmata/new-teensy-boards
add Teensy 3.5 and 3.6 to Boards.h
2 parents 609341b + f332d77 commit c744d22

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

Boards.h

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,36 @@ writePort(port, value, bitmask): Write an 8 bit port.
343343
#define PIN_TO_SERVO(p) (p)
344344

345345

346+
// Teensy 3.5 and 3.6
347+
// reference: https://github.com/PaulStoffregen/cores/blob/master/teensy3/pins_arduino.h
348+
#elif defined(__MK64FX512__) || defined(__MK66FX1M0__)
349+
#define TOTAL_ANALOG_PINS 27 // 3.5 has 27 and 3.6 has 25
350+
#define TOTAL_PINS 70 // 43 digital + 21 analog-digital + 6 analog (64-69)
351+
#define VERSION_BLINK_PIN 13
352+
#define PIN_SERIAL1_RX 0
353+
#define PIN_SERIAL1_TX 1
354+
#define PIN_SERIAL2_RX 9
355+
#define PIN_SERIAL2_TX 10
356+
#define PIN_SERIAL3_RX 7
357+
#define PIN_SERIAL3_TX 8
358+
// The following 2 UARTs are not yet available via SerialFirmata
359+
#define PIN_SERIAL4_RX 31
360+
#define PIN_SERIAL5_TX 32
361+
#define PIN_SERIAL6_RX 34
362+
#define PIN_SERIAL6_TX 33
363+
#define IS_PIN_DIGITAL(p) ((p) >= 0 && (p) <= 63)
364+
#define IS_PIN_ANALOG(p) (((p) >= 14 && (p) <= 23) || ((p) >= 31 && (p) <= 39) || ((p) >= 49 && (p) <= 50) || ((p) >= 64 && (p) <= 69))
365+
#define IS_PIN_PWM(p) digitalPinHasPWM(p)
366+
#define IS_PIN_SERVO(p) ((p) >= 0 && (p) < MAX_SERVOS)
367+
#define IS_PIN_I2C(p) ((p) == 18 || (p) == 19)
368+
#define IS_PIN_SERIAL(p) (((p) > 6 && (p) < 11) || ((p) == 0 || (p) == 1))
369+
#define PIN_TO_DIGITAL(p) (p)
370+
// A0-A9 = D14-D23; A12-A20 = D31-D39; A23-A24 = D49-D50; A10-A11 = D64-D65; A21-A22 = D66-D67; A25-A26 = D68-D69
371+
#define PIN_TO_ANALOG(p) (((p) <= 23) ? (p) - 14 : (((p) <= 39) ? (p) - 19 : (((p) <= 50) ? (p) - 26 : (((p) <= 65) ? (p) - 55 : (((p) <= 67) ? (p) - 45 : (p) - 43)))))
372+
#define PIN_TO_PWM(p) PIN_TO_DIGITAL(p)
373+
#define PIN_TO_SERVO(p) (p)
374+
375+
346376
// Teensy 3.0, 3.1 and 3.2
347377
#elif defined(__MK20DX128__) || defined(__MK20DX256__)
348378
#define TOTAL_ANALOG_PINS 14

0 commit comments

Comments
 (0)