@@ -343,6 +343,36 @@ writePort(port, value, bitmask): Write an 8 bit port.
343
343
#define PIN_TO_SERVO (p ) (p)
344
344
345
345
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
+
346
376
// Teensy 3.0, 3.1 and 3.2
347
377
#elif defined(__MK20DX128__ ) || defined(__MK20DX256__ )
348
378
#define TOTAL_ANALOG_PINS 14
0 commit comments