Skip to content

Commit 198d907

Browse files
committed
Updated Modulo SamD Variant.
"Serial" is now the virtual USB serial port. "Serial1" is hardware serial. Uses new Serial port mapping macros in SamD core. Pin definitions updated and remapped for new hardware revision.
1 parent b729832 commit 198d907

File tree

2 files changed

+47
-149
lines changed

2 files changed

+47
-149
lines changed

samd/variants/modulo_samd21/variant.cpp

+27-120
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,23 @@
1515
License along with this library; if not, write to the Free Software
1616
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1717
*/
18+
1819
/*
1920
* +------------+--------+--------------------------------------------------------------------------------------------------------
2021
* + Pin number | PIN | Comments (* is for default peripheral in use)
2122
* +------------+--------+--------------------------------------------------------------------------------------------------------
2223
* | | |
2324
* +------------+--------+-----------------+--------------------------------------------------------------------------------------
24-
* | 0 | PA15 | EIC/EXTINT[15] SERCOM2/PAD[3] SERCOM4/PAD[3] *TC3/WO[1] TCC0/WO[5]
25-
* | 1 | PA17 | EIC/EXTINT[1] PTC/X[5] +SERCOM1/PAD[1] SERCOM3/PAD[1] *TCC2/WO[1] TCC0/WO[7]
26-
* | 2 | PA18 | EIC/EXTINT[2] PTC/X[6] +SERCOM1/PAD[2] SERCOM3/PAD[2] *TC3/WO[0] TCC0/WO[2]
27-
* | 3 | PA19 | EIC/EXTINT[3] PTC/X[7] +SERCOM1/PAD[3] SERCOM3/PAD[3] TC3/WO[1] *TCC0/WO[3]
28-
* | 4 | PA12 | EIC/EXTINT[12] SERCOM2/PAD[0] *SERCOM4/PAD[0] TCC2/WO[0] TCC0/WO[6]
29-
* | 5 | PA23 | EIC/EXTINT[7] PTC/X[11] *SERCOM3/PAD[1] SERCOM5/PAD[1] TC4/WO[1] TCC0/WO[5]
30-
* | 6 (LED) | PA16 | EIC/EXTINT[0] PTC/X[4] +SERCOM1/PAD[0] SERCOM3/PAD[0] *TCC2/WO[0] TCC0/WO[6]
25+
* | 0 | PA02 | EIC/EXTINT[2] *ADC/AIN[0] DAC/VOUT PTC/Y[0]
26+
* | 1 | PA03 | EIC/EXTINT[3] *[ADC|DAC]/VREFA ADC/AIN[1] PTC/Y[1]
27+
* | 2 | PA04 | EIC/EXTINT[4] *ADC/AIN[4] AC/AIN[0] PTC/Y[2] SERCOM0/PAD[0] TCC0/WO[0]
28+
* | 3 | PA05 | EIC/EXTINT[5] *ADC/AIN[5] AC/AIN[1] PTC/Y[5] SERCOM0/PAD[1] TCC0/WO[1]
29+
* | 4 | PA06 | EIC/EXTINT[6] ADC/AIN[6] AC/AIN[2] PTC/Y[4] SERCOM0/PAD[2] *TCC1/WO[0]
30+
* | 5 | PA07 | EIC/EXTINT[7] ADC/AIN[7] AC/AIN[3] PTC/Y[5] SERCOM0/PAD[3] *TCC1/WO[1]
31+
* | 6 (LED) | PA16 | EIC/EXTINT[0] PTC/X[4] +SERCOM1/PAD[0] SERCOM3/PAD[0] *TCC2/WO[0] TCC0/WO[6]
32+
* | 7 (SCL) | PA09 | EIC/EXTINT[9] ADC/AIN[17] PTC/X[1] SERCOM0/PAD[1] SERCOM2/PAD[1] *TCC0/WO[1] TCC1/WO[3]
33+
* | 8 (SDA) | PA08 | EIC/NMI ADC/AIN[16] PTC/X[0] SERCOM0/PAD[0] SERCOM2/PAD[0] *TCC0/WO[0] TCC1/WO[2]
34+
3135
*/
3236

3337

@@ -38,134 +42,37 @@
3842
*/
3943
const PinDescription g_APinDescription[]=
4044
{
41-
// Old pins - No ADC Support
42-
{ PORTA, 15, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM3_CH1, TC3_CH1, EXTERNAL_INT_15 }, // TC3/WO[1]
43-
{ PORTA, 17, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM2_CH1, NOT_ON_TIMER, EXTERNAL_INT_1 }, // TCC2/WO[1]
44-
{ PORTA, 18, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM3_CH0, TC3_CH0, EXTERNAL_INT_2 }, // TC3/WO[0]
45-
{ PORTA, 19, PIO_TIMER_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM0_CH3, TCC0_CH3, EXTERNAL_INT_3 }, // TCC0/WO[3]
46-
{ PORTA, 12, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_12 }, // MISO: SERCOM4/PAD[0]
47-
{ PORTA, 23, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SCL: SERCOM3/PAD[1]
48-
49-
// LED
50-
{ PORTA, 16, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // MOSI: SERCOM1/PAD[0]
51-
52-
// New Pins
53-
{ PORTA, 4, PIO_ANALOG, PIN_ATTR_DIGITAL|PIN_ATTR_ANALOG|PIN_ATTR_PWM|PIN_ATTR_TIMER, ADC_Channel4, PWM0_CH0, TCC0_CH0, EXTERNAL_INT_4 }, // ADC/AIN[4]
54-
{ PORTA, 5, PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel5, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 }, // ADC/AIN[5]
55-
{ PORTA, 10, PIO_SERCOM, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 }, // TX: SERCOM0/PAD[2]
56-
{ PORTA, 11, PIO_SERCOM, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // RX: SERCOM0/PAD[3]
57-
{ PORTA, 2, PIO_ANALOG, PIN_ATTR_ANALOG, DAC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // DAC/VOUT
58-
59-
{ PORTA, 8, PIO_SERCOM, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 }, // SDA: SERCOM0/PAD[0]
60-
{ PORTA, 9, PIO_SERCOM, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_7 }, // SCL: SERCOM0/PAD[1]
61-
};
62-
63-
#if 0
64-
65-
{ PORTA, 6, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM1_CH0, TCC1_CH0, EXTERNAL_INT_4 }, // TCC1/WO[0]
66-
{ PORTA, 7, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM1_CH1, TCC1_CH1, EXTERNAL_INT_5 }, // TCC1/WO[1]
67-
68-
// 0..13 - Digital pins
69-
// ----------------------
70-
// 0/1 - SERCOM/UART (Serial1)
71-
72-
// 2..12
73-
// Digital Low
74-
{ PORTA, 14, PIO_DIGITAL, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_14 },
75-
{ PORTA, 9, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM0_CH1, TCC0_CH1, EXTERNAL_INT_9 }, // TCC0/WO[1]
76-
{ PORTA, 8, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM0_CH0, TCC0_CH0, EXTERNAL_INT_NMI }, // TCC0/WO[0]
77-
78-
{ PORTA, 20, PIO_TIMER_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM0_CH6, TCC0_CH6, EXTERNAL_INT_4 }, // TCC0/WO[6]
79-
{ PORTA, 21, PIO_DIGITAL, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 },
80-
81-
// Digital High
82-
83-
45+
// I/O Pins
46+
{ PORTA, 2, PIO_ANALOG, (PIN_ATTR_DIGITAL|PIN_ATTR_ANALOG), ADC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // DAC
47+
{ PORTA, 3, PIO_ANALOG, (PIN_ATTR_DIGITAL), ADC_Channel1, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // DAC/VREFP
48+
{ PORTA, 4, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel4, PWM0_CH0, TCC0_CH0, EXTERNAL_INT_4 }, // SERCOM0/PAD0 (NONE/SDA/MISO)
49+
{ PORTA, 5, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel5, PWM0_CH1, TCC0_CH1, EXTERNAL_INT_5 }, // SERCOM0/PAD1 (NONE/SCL/NONE)
50+
{ PORTA, 6, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel6, PWM1_CH0, TCC1_CH0, EXTERNAL_INT_4 }, // SERCOM0/PAD2 (TX/NONE/MOSI)
51+
{ PORTA, 7, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel7, PWM1_CH1, TCC1_CH1, EXTERNAL_INT_5 }, // SERCOM0/PAD3 (RX/NONE/SCK)
52+
53+
// LED (6)
8454
{ PORTA, 16, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH0, TCC2_CH0, EXTERNAL_INT_0 }, // TCC2/WO[0]
8555

56+
// Modulo Bus (SDA = 7, SCL=8)
57+
{ PORTA, 8, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // TCC0/WO[0]
58+
{ PORTA, 9, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // TCC0/WO[1]
8659

87-
// 13 (LED)
88-
89-
90-
// 14..19 - Analog pins
91-
// --------------------
92-
{ PORTA, 2, PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // ADC/AIN[0]
93-
{ PORTB, 8, PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel2, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_8 }, // ADC/AIN[2]
94-
{ PORTB, 9, PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel3, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_9 }, // ADC/AIN[3]
95-
96-
97-
{ PORTB, 2, PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel10, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // ADC/AIN[10]
98-
99-
// 20..21 I2C pins (SDA/SCL and also EDBG:SDA/SCL)
100-
// ----------------------
101-
102-
103-
// 22..24 - SPI pins (ICSP:MISO,SCK,MOSI)
104-
// ----------------------
105-
106-
{ PORTB, 10, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 }, // MOSI: SERCOM4/PAD[2]
107-
{ PORTB, 11, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // SCK: SERCOM4/PAD[3]
108-
109-
// 25..26 - RX/TX LEDS (PB03/PA27)
110-
// --------------------
111-
{ PORTB, 3, PIO_OUTPUT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // used as output only
112-
{ PORTA, 27, PIO_OUTPUT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // used as output only
113-
114-
// 27..29 - USB
115-
// --------------------
60+
// USB (HostEn=9. DM=10, DP=11)
11661
{ PORTA, 28, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB Host enable
11762
{ PORTA, 24, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB/DM
11863
{ PORTA, 25, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB/DP
11964

120-
// 30..41 - EDBG
121-
// ----------------------
122-
// 30/31 - EDBG/UART
123-
{ PORTB, 22, PIO_SERCOM_ALT, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // TX: SERCOM5/PAD[2]
124-
{ PORTB, 23, PIO_SERCOM_ALT, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // RX: SERCOM5/PAD[3]
125-
126-
// 32/33 I2C (SDA/SCL and also EDBG:SDA/SCL)
127-
{ PORTA, 22, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SDA: SERCOM3/PAD[0]
128-
129-
130-
// 34..37 - EDBG/SPI
131-
{ PORTA, 19, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // MISO: SERCOM1/PAD[3]
132-
133-
{ PORTA, 18, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SS: SERCOM1/PAD[2]
134-
{ PORTA, 17, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SCK: SERCOM1/PAD[1]
135-
136-
// 38..41 - EDBG/Digital
137-
{ PORTA, 13, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH5, NOT_ON_TIMER, EXTERNAL_INT_13 }, // EIC/EXTINT[13] *TCC2/WO[1] TCC0/WO[7]
138-
{ PORTA, 21, PIO_PWM_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH7, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // Pin 7
139-
{ PORTA, 6, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM1_CH0, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // Pin 8
140-
{ PORTA, 7, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM1_CH1, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // Pin 9
141-
142-
// 42 (AREF)
143-
{ PORTA, 3, PIO_ANALOG, PIN_ATTR_ANALOG, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // DAC/VREFP
144-
145-
// ----------------------
146-
// 43 - Alternate use of A0 (DAC output)
147-
148-
} ;
149-
#endif
65+
};
15066

15167
const void* g_apTCInstances[TCC_INST_NUM+TC_INST_NUM]={ TCC0, TCC1, TCC2, TC3, TC4, TC5 } ;
15268

15369
// Multi-serial objects instantiation
15470
SERCOM sercom0( SERCOM0 ) ;
15571
SERCOM sercom1( SERCOM1 ) ;
156-
SERCOM sercom2( SERCOM2 ) ;
157-
SERCOM sercom3( SERCOM3 ) ;
158-
SERCOM sercom4( SERCOM4 ) ;
159-
SERCOM sercom5( SERCOM5 ) ;
16072

161-
Uart Serial1( &sercom0, PIN_SERIAL1_RX, PIN_SERIAL1_TX, PAD_SERIAL1_RX, PAD_SERIAL1_TX ) ;
162-
Uart Serial( &sercom3, PIN_SERIAL_RX, PIN_SERIAL_TX, PAD_SERIAL_RX, PAD_SERIAL_TX ) ;
73+
Uart Serial1( &sercom1, PIN_SERIAL1_RX, PIN_SERIAL1_TX, PAD_SERIAL1_RX, PAD_SERIAL1_TX ) ;
74+
16375
void SERCOM1_Handler()
16476
{
16577
Serial1.IrqHandler();
16678
}
167-
168-
void SERCOM3_Handler()
169-
{
170-
Serial.IrqHandler();
171-
}

samd/variants/modulo_samd21/variant.h

+20-29
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ extern "C"
5050
*----------------------------------------------------------------------------*/
5151

5252
// Number of pins defined in PinDescription array
53-
#define PINS_COUNT (14u)
53+
#define PINS_COUNT (12u)
5454
#define NUM_DIGITAL_PINS (7u)
5555
#define NUM_ANALOG_INPUTS (6u)
5656
#define NUM_ANALOG_OUTPUTS (1u)
@@ -102,22 +102,13 @@ static const uint8_t A4 = PIN_A4 ;
102102
static const uint8_t A5 = PIN_A5 ;
103103
#define ADC_RESOLUTION 12
104104

105-
// Other pins
106-
#define PIN_ATN (38ul)
107-
static const uint8_t ATN = PIN_ATN;
108-
109105
/*
110106
* Serial interfaces
111107
*/
112-
// Serial (EDBG)
113-
#define PIN_SERIAL_RX (31ul)
114-
#define PIN_SERIAL_TX (30ul)
115-
#define PAD_SERIAL_TX (UART_TX_PAD_2)
116-
#define PAD_SERIAL_RX (SERCOM_RX_PAD_3)
117108

118109
// Serial1
119-
#define PIN_SERIAL1_RX (0ul)
120-
#define PIN_SERIAL1_TX (1ul)
110+
#define PIN_SERIAL1_RX (4ul)
111+
#define PIN_SERIAL1_TX (5ul)
121112
#define PAD_SERIAL1_TX (UART_TX_PAD_2)
122113
#define PAD_SERIAL1_RX (SERCOM_RX_PAD_3)
123114

@@ -126,11 +117,11 @@ static const uint8_t ATN = PIN_ATN;
126117
*/
127118
#define SPI_INTERFACES_COUNT 1
128119

129-
#define PIN_SPI_MISO (22u)
130-
#define PIN_SPI_MOSI (23u)
131-
#define PIN_SPI_SCK (24u)
120+
#define PIN_SPI_MISO (2u)
121+
#define PIN_SPI_MOSI (4u)
122+
#define PIN_SPI_SCK (5u)
132123

133-
static const uint8_t SS = PIN_A2 ; // SERCOM4 last PAD is present on A2 but HW SS isn't used. Set here only for reference.
124+
static const uint8_t SS = PIN_A4 ; // SERCOM0 last PAD is present on A2 but HW SS isn't used. Set here only for reference.
134125
static const uint8_t MOSI = PIN_SPI_MOSI ;
135126
static const uint8_t MISO = PIN_SPI_MISO ;
136127
static const uint8_t SCK = PIN_SPI_SCK ;
@@ -140,15 +131,18 @@ static const uint8_t SCK = PIN_SPI_SCK ;
140131
*/
141132
#define WIRE_INTERFACES_COUNT 1
142133

143-
#define PIN_WIRE_SDA (12u)
144-
#define PIN_WIRE_SCL (13u)
134+
#define PIN_WIRE_SDA (7u)
135+
#define PIN_WIRE_SCL (8u)
136+
137+
#define PERIPH_WIRE sercom0
138+
#define WIRE_IT_HANDLER SERCOM0_Handler
145139

146140
/*
147141
* USB
148142
*/
149-
#define PIN_USB_HOST_ENABLE (27ul)
150-
#define PIN_USB_DM (28ul)
151-
#define PIN_USB_DP (29ul)
143+
#define PIN_USB_HOST_ENABLE (9ul)
144+
#define PIN_USB_DM (10ul)
145+
#define PIN_USB_DP (11ul)
152146

153147
#ifdef __cplusplus
154148
}
@@ -171,14 +165,13 @@ static const uint8_t SCK = PIN_SPI_SCK ;
171165

172166
extern SERCOM sercom0;
173167
extern SERCOM sercom1;
174-
extern SERCOM sercom2;
175-
extern SERCOM sercom3;
176-
extern SERCOM sercom4;
177-
extern SERCOM sercom5;
178168

179-
extern Uart Serial;
169+
// Serial1 is the only hardware serial port exposed
180170
extern Uart Serial1;
181171

172+
// Serial is the same as SerialUSB. (The virtual USB Serail Port)
173+
#define Serial SerialUSB
174+
182175
#endif
183176

184177
// These serial port names are intended to allow libraries and architecture-neutral
@@ -196,13 +189,11 @@ extern Uart Serial1;
196189
//
197190
// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX
198191
// pins are NOT connected to anything by default.
199-
#define SERIAL_PORT_USBVIRTUAL SerialUSB
192+
#define SERIAL_PORT_USBVIRTUAL Serial
200193
#define SERIAL_PORT_MONITOR Serial
201194
// Serial has no physical pins broken out, so it's not listed as HARDWARE port
202195
#define SERIAL_PORT_HARDWARE Serial1
203196
#define SERIAL_PORT_HARDWARE_OPEN Serial1
204197

205-
#define WIRE_SERCOM sercom0
206-
#define WIRE_SERCOM_HANDLER SERCOM0_Handler
207198

208199
#endif /* _VARIANT_ARDUINO_ZERO_ */

0 commit comments

Comments
 (0)