Skip to content

Commit 6a14ce8

Browse files
committed
add Serial1 on STEMMA connector
1 parent 902d525 commit 6a14ce8

File tree

2 files changed

+29
-5
lines changed

2 files changed

+29
-5
lines changed

variants/trellis_m4/variant.cpp

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ const PinDescription g_APinDescription[]=
6363
{ PORTA, 24, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_8 }, // USB/DM
6464
{ PORTA, 25, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_9 }, // USB/DP
6565

66-
// 21..22 I2C pins (SDA/SCL)
66+
// 21..22 I2C pins (SDA/SCL) or Serial1 Pins
6767
// ----------------------
68-
{ PORTB, 8, PIO_SERCOM_ALT, (PIN_ATTR_ANALOG|PIN_ATTR_PWM|PIN_ATTR_TIMER_ALT), ADC_Channel2, PWM0_CH6, TCC0_CH6, EXTERNAL_INT_12 }, // SERCOM 2.0
69-
{ PORTB, 9, PIO_SERCOM_ALT, (PIN_ATTR_ANALOG_ALT|PIN_ATTR_PWM|PIN_ATTR_TIMER_ALT), ADC_Channel1, PWM0_CH7, TCC0_CH7, EXTERNAL_INT_13 }, // SERCOM 2.1
68+
{ PORTB, 8, PIO_SERCOM_ALT, (PIN_ATTR_ANALOG|PIN_ATTR_PWM|PIN_ATTR_TIMER_ALT), ADC_Channel2, PWM0_CH6, TCC0_CH6, EXTERNAL_INT_12 }, // SERCOM 4.0
69+
{ PORTB, 9, PIO_SERCOM_ALT, (PIN_ATTR_ANALOG_ALT|PIN_ATTR_PWM|PIN_ATTR_TIMER_ALT), ADC_Channel1, PWM0_CH7, TCC0_CH7, EXTERNAL_INT_13 }, // SERCOM 4.1
7070

7171
// ----------------------
7272
// 23 - 28 QSPI (SCK, CS, IO0, IO1, IO2, IO3)
@@ -108,3 +108,22 @@ SERCOM sercom2( SERCOM2 ) ;
108108
SERCOM sercom3( SERCOM3 ) ;
109109
SERCOM sercom4( SERCOM4 ) ;
110110
SERCOM sercom5( SERCOM5 ) ;
111+
112+
Uart Serial1( &sercom4, PIN_SERIAL1_RX, PIN_SERIAL1_TX, PAD_SERIAL1_RX, PAD_SERIAL1_TX ) ;
113+
114+
void SERCOM4_0_Handler()
115+
{
116+
Serial1.IrqHandler();
117+
}
118+
void SERCOM4_1_Handler()
119+
{
120+
Serial1.IrqHandler();
121+
}
122+
void SERCOM4_2_Handler()
123+
{
124+
Serial1.IrqHandler();
125+
}
126+
void SERCOM4_3_Handler()
127+
{
128+
Serial1.IrqHandler();
129+
}

variants/trellis_m4/variant.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@ static const uint8_t LINE_RIGHT = PIN_LINE_RIGHT;
124124
*/
125125

126126
// Serial1
127-
#define PIN_SERIAL1_RX (0ul)
128-
#define PIN_SERIAL1_TX (1ul)
127+
#define PIN_SERIAL1_RX (22ul)
128+
#define PIN_SERIAL1_TX (21ul)
129129
#define PAD_SERIAL1_RX (SERCOM_RX_PAD_1)
130130
#define PAD_SERIAL1_TX (UART_TX_PAD_0)
131131

@@ -214,6 +214,8 @@ extern SERCOM sercom3;
214214
extern SERCOM sercom4;
215215
extern SERCOM sercom5;
216216

217+
extern Uart Serial1;
218+
217219
#endif
218220

219221
// These serial port names are intended to allow libraries and architecture-neutral
@@ -233,6 +235,9 @@ extern SERCOM sercom5;
233235
// pins are NOT connected to anything by default.
234236
#define SERIAL_PORT_USBVIRTUAL Serial
235237
#define SERIAL_PORT_MONITOR Serial
238+
#define SERIAL_PORT_HARDWARE Serial1
239+
#define SERIAL_PORT_HARDWARE_OPEN Serial1
240+
236241

237242
#endif /* _VARIANT_MERTO_M4_ */
238243

0 commit comments

Comments
 (0)