diff --git a/platform.txt b/platform.txt index 223a8945..a35396e8 100644 --- a/platform.txt +++ b/platform.txt @@ -20,7 +20,7 @@ # https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification name=Adafruit SAMD (32-bits ARM Cortex-M0+ and Cortex-M4) Boards -version=1.2.7 +version=1.2.8 # Compile variables # ----------------- diff --git a/variants/trellis_m4/variant.cpp b/variants/trellis_m4/variant.cpp index c11117b9..8f44f8ae 100644 --- a/variants/trellis_m4/variant.cpp +++ b/variants/trellis_m4/variant.cpp @@ -63,10 +63,10 @@ const PinDescription g_APinDescription[]= { PORTA, 24, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_8 }, // USB/DM { PORTA, 25, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_9 }, // USB/DP - // 21..22 I2C pins (SDA/SCL) + // 21..22 I2C pins (SDA/SCL) or Serial1 Pins // ---------------------- - { PORTB, 8, PIO_SERCOM_ALT, PIN_ATTR_ANALOG, ADC_Channel2, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_12 }, // SERCOM 2.0 - { PORTB, 9, PIO_SERCOM_ALT, PIN_ATTR_ANALOG_ALT, ADC_Channel1, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_13 }, // SERCOM 2.1 + { PORTB, 8, PIO_SERCOM_ALT, PIN_ATTR_ANALOG, ADC_Channel2, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_12 }, // SERCOM 4.0 + { PORTB, 9, PIO_SERCOM_ALT, PIN_ATTR_ANALOG_ALT, ADC_Channel1, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_13 }, // SERCOM 4.1 // ---------------------- // 23 - 28 QSPI (SCK, CS, IO0, IO1, IO2, IO3) @@ -109,3 +109,22 @@ SERCOM sercom2( SERCOM2 ) ; SERCOM sercom3( SERCOM3 ) ; SERCOM sercom4( SERCOM4 ) ; SERCOM sercom5( SERCOM5 ) ; + +Uart Serial1( &sercom4, PIN_SERIAL1_RX, PIN_SERIAL1_TX, PAD_SERIAL1_RX, PAD_SERIAL1_TX ) ; + +void SERCOM4_0_Handler() +{ + Serial1.IrqHandler(); +} +void SERCOM4_1_Handler() +{ + Serial1.IrqHandler(); +} +void SERCOM4_2_Handler() +{ + Serial1.IrqHandler(); +} +void SERCOM4_3_Handler() +{ + Serial1.IrqHandler(); +} diff --git a/variants/trellis_m4/variant.h b/variants/trellis_m4/variant.h index 94d7f844..f3eb6a9b 100644 --- a/variants/trellis_m4/variant.h +++ b/variants/trellis_m4/variant.h @@ -124,8 +124,8 @@ static const uint8_t LINE_RIGHT = PIN_LINE_RIGHT; */ // Serial1 -#define PIN_SERIAL1_RX (0ul) -#define PIN_SERIAL1_TX (1ul) +#define PIN_SERIAL1_RX (22ul) +#define PIN_SERIAL1_TX (21ul) #define PAD_SERIAL1_RX (SERCOM_RX_PAD_1) #define PAD_SERIAL1_TX (UART_TX_PAD_0) @@ -214,6 +214,8 @@ extern SERCOM sercom3; extern SERCOM sercom4; extern SERCOM sercom5; +extern Uart Serial1; + #endif // These serial port names are intended to allow libraries and architecture-neutral @@ -233,6 +235,9 @@ extern SERCOM sercom5; // pins are NOT connected to anything by default. #define SERIAL_PORT_USBVIRTUAL Serial #define SERIAL_PORT_MONITOR Serial +#define SERIAL_PORT_HARDWARE Serial1 +#define SERIAL_PORT_HARDWARE_OPEN Serial1 + #endif /* _VARIANT_MERTO_M4_ */