Skip to content

Commit ebaf3bc

Browse files
committed
first pass at variant. Serial1 on sercom5, SPI on sercom 2 working
1 parent 433f644 commit ebaf3bc

File tree

2 files changed

+72
-62
lines changed

2 files changed

+72
-62
lines changed

variants/zero_radio/variant.cpp

Lines changed: 54 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,18 @@
1717
*/
1818
/*
1919
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
20-
* + Pin number + M0 Radio pin | PIN | Label/Name | Comments (* is for default peripheral in use)
20+
* + Pin number + ZERO Board pin | PIN | Label/Name | Comments (* is for default peripheral in use)
2121
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
2222
* | | Digital Low | | |
2323
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
24-
* | 2 | 1 | PA14 | MISO | EIC/EXTINT[14] *SERCOM2/PAD[2] SERCOM4/PAD[2] TC3/WO[0] TCC0/WO[4]
25-
* | 3 | A17 | PA09 | | EIC/EXTINT[9] *ADC/AIN[17] PTC/X[1] SERCOM0/PAD[1] SERCOM2/PAD[1] *TCC0/WO[1] TCC1/WO[3]
26-
* | 4 | A16 | PA08 | | EIC/NMI *ADC/AIN[16] PTC/X[0] SERCOM0/PAD[0] SERCOM2/PAD[0] *TCC0/WO[0] TCC1/WO[2]
24+
* | 0 | 0 | PA11 | AT86RF233_DIG4 | EIC/EXTINT[11] ADC/AIN[19] PTC/X[3] SERCOM0/PAD[3] SERCOM2/PAD[3] TCC0/WO[3] TCC1/WO[1]
25+
* | 1 | 1 | PA10 | AT86RF233_DIG3 | EIC/EXTINT[10] ADC/AIN[18] PTC/X[2] SERCOM0/PAD[2] TCC0/WO[2] TCC1/WO[0]
26+
* | 2 | 2 | PA14 | MISO | EIC/EXTINT[14] SERCOM2/PAD[2] SERCOM4/PAD[2] TC3/WO[0] TCC0/WO[4]
27+
* | 3 | ~3 | PA09 | | EIC/EXTINT[9] ADC/AIN[17] PTC/X[1] SERCOM0/PAD[1] SERCOM2/PAD[1] *TCC0/WO[1] TCC1/WO[3]
28+
* | 4 | ~4 | PA08 | | EIC/NMI ADC/AIN[16] PTC/X[0] SERCOM0/PAD[0] SERCOM2/PAD[0] *TCC0/WO[0] TCC1/WO[2]
2729
* | 5 | ~5 | PA15 | | EIC/EXTINT[15] SERCOM2/PAD[3] SERCOM4/PAD[3] *TC3/WO[1] TCC0/WO[5]
30+
* | 6 | ~6 | PA20 | | EIC/EXTINT[4] PTC/X[8] SERCOM5/PAD[2] SERCOM3/PAD[2] *TCC0/WO[6]
31+
* | 7 | 7 | PA21 | | EIC/EXTINT[5] PTC/X[9] SERCOM5/PAD[3] SERCOM3/PAD[3] TCC0/WO[7]
2832
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
2933
* | | Digital High | | |
3034
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
@@ -37,7 +41,9 @@
3741
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
3842
* | | Analog Connector | | |
3943
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
40-
* | ??? | A11 | PB03 | | EIC/EXTINT[3] *ADC/AIN[11] PTC/Y[8] SERCOM5/PAD[1]
44+
* | 14 | A0 | PA02 | A0 | EIC/EXTINT[2] *ADC/AIN[0] DAC/VOUT PTC/Y[0]
45+
* | 15 | A1 | PB08 | A1 | EIC/EXTINT[8] *ADC/AIN[2] PTC/Y[14] SERCOM4/PAD[0] TC4/WO[0]
46+
* | 16 | A2 | PB09 | A2 | EIC/EXTINT[9] *ADC/AIN[3] PTC/Y[15] SERCOM4/PAD[1] TC4/WO[1]
4147
* | 17 | A3 | PA04 | A3 | EIC/EXTINT[4] *ADC/AIN[4] AC/AIN[0] PTC/Y[2] SERCOM0/PAD[0] TCC0/WO[0]
4248
* | 18 | A4 | PA05 | A4 | EIC/EXTINT[5] *ADC/AIN[5] AC/AIN[1] PTC/Y[5] SERCOM0/PAD[1] TCC0/WO[1]
4349
* | 19 | A5 | PB02 | A5 | EIC/EXTINT[2] *ADC/AIN[10] PTC/Y[8] SERCOM5/PAD[0]
@@ -49,14 +55,16 @@
4955
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
5056
* | |SPI (Legacy ICSP) | | |
5157
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
52-
* | 22 | 4 | PA12 | MOSI | EIC/EXTINT[12] *SERCOM2/PAD[0] SERCOM4/PAD[0] TCC2/WO[0] TCC0/WO[6]
58+
* | 22 | 1 | PA12 | MISO | EIC/EXTINT[12] SERCOM2/PAD[0] *SERCOM4/PAD[0] TCC2/WO[0] TCC0/WO[6]
5359
* | | 2 | | 5V0 |
54-
* | 38 | 3 | PA13 | SCK | EIC/EXTINT[13] *SERCOM2/PAD[1] SERCOM4/PAD[1] TCC2/WO[1] TCC0/WO[7]
60+
* | 23 | 4 | PB10 | MOSI | EIC/EXTINT[10] *SERCOM4/PAD[2] TC5/WO[0] TCC0/WO[4]
61+
* | 24 | 3 | PB11 | SCK | EIC/EXTINT[11] *SERCOM4/PAD[3] TC5/WO[1] TCC0/WO[5]
5562
* | | 5 | | RESET |
5663
* | | 6 | | GND |
5764
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
5865
* | | LEDs | | |
5966
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
67+
* | 25 | | PB03 | RX |
6068
* | 26 | | PA27 | TX |
6169
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
6270
* | | USB | | |
@@ -65,16 +73,29 @@
6573
* | 28 | | PA24 | USB_NEGATIVE | *USB/DM
6674
* | 29 | | PA25 | USB_POSITIVE | *USB/DP
6775
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
68-
* | | UART | | |
76+
* | | EDBG | | |
6977
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
70-
* | 30 | | PB22 | UART TX | *SERCOM5/PAD[2]
71-
* | 31 | | PB23 | UART RX | *SERCOM5/PAD[3]
78+
* | 30 | | PB22 | EDBG_UART TX | *SERCOM5/PAD[2]
79+
* | 31 | | PB23 | EDBG_UART RX | *SERCOM5/PAD[3]
7280
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
7381
* | 32 | | PA22 | EDBG_SDA | Pin 20 (SDA)
7482
* | 33 | | PA23 | EDBG_SCL | Pin 21 (SCL)
7583
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
84+
* | 34 | | PA19 | EDBG_MISO | EIC/EXTINT[3] *SERCOM1/PAD[3] SERCOM3/PAD[3] TC3/WO[1] TCC0/WO[3]
85+
* | 35 | | PA16 | EDBG_MOSI | EIC/EXTINT[0] *SERCOM1/PAD[0] SERCOM3/PAD[0] TCC2/WO[0] TCC0/WO[6]
86+
* | 36 | | PA18 | EDBG_SS | EIC/EXTINT[2] *SERCOM1/PAD[2] SERCOM3/PAD[2] TC3/WO[0] TCC0/WO[2]
87+
* | 37 | | PA17 | EDBG_SCK | EIC/EXTINT[1] *SERCOM1/PAD[1] SERCOM3/PAD[1] TCC2/WO[1] TCC0/WO[7]
88+
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
89+
* | 38 | ATN | PA13 | EDBG_GPIO0 | EIC/EXTINT[13] SERCOM2/PAD[1] SERCOM4/PAD[1] *TCC2/WO[1] TCC0/WO[7]
90+
* | 39 | | PA21 | EDBG_GPIO1 | Pin 7
91+
* | 40 | | PA06 | EDBG_GPIO2 | Pin 8
92+
* | 41 | | PA07 | EDBG_GPIO3 | Pin 9
93+
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
7694
* | | | | |
7795
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
96+
* | | GND | | |
97+
* | 42 | AREF | PA03 | | EIC/EXTINT[3] *[ADC|DAC]/VREFA ADC/AIN[1] PTC/Y[1]
98+
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
7899
* | |32.768KHz Crystal | | |
79100
* +------------+------------------+--------+-----------------+--------------------------------------------------------------------------------------------------------
80101
* | | | PA00 | XIN32 | EIC/EXTINT[0] SERCOM1/PAD[0] TCC2/WO[0]
@@ -92,16 +113,18 @@ const PinDescription g_APinDescription[]=
92113
{
93114
// 0..13 - Digital pins
94115
// ----------------------
116+
// 0/1 - AT86RF233 internal pins
117+
{ PORTA, 11, PIO_SERCOM, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // AT86RF233 DIG4
118+
{ PORTA, 10, PIO_SERCOM, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 }, // AT86RF233 DIG3
95119

96120
// 2..12
97121
// Digital Low
98-
{ PORTA, 9, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER), No_ADC_Channel, PWM0_CH1, TCC0_CH1, EXTERNAL_INT_9 }, // MISO: SERCOM2/PAD[2]
99-
100-
122+
{ PORTA, 14, PIO_SERCOM, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_14 }, // SPI MISO SERCOM 2.2
123+
{ 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]
101124
{ 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]
102125
{ 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]
103126
{ PORTA, 20, PIO_TIMER_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER_ALT), No_ADC_Channel, PWM0_CH6, TCC0_CH6, EXTERNAL_INT_4 }, // TCC0/WO[6]
104-
{ PORTA, 21, PIO_DIGITAL, (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 },
127+
{ }, // PA21 not available on SAMR
105128

106129
// Digital High
107130
{ PORTA, 6, PIO_TIMER, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM|PIN_ATTR_TIMER|PIN_ATTR_ANALOG), ADC_Channel6, PWM1_CH0, TCC1_CH0, EXTERNAL_INT_6 }, // TCC1/WO[0]
@@ -115,9 +138,9 @@ const PinDescription g_APinDescription[]=
115138

116139
// 14..19 - Analog pins
117140
// --------------------
118-
{ PORTA, 2, PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // ADC/AIN[0]
119-
{ PORTB, 8, PIO_ANALOG, (PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel2, PWM4_CH0, TC4_CH0, EXTERNAL_INT_8 }, // ADC/AIN[2]
120-
{ PORTB, 9, PIO_ANALOG, (PIN_ATTR_PWM|PIN_ATTR_TIMER), ADC_Channel3, PWM4_CH1, TC4_CH1, EXTERNAL_INT_9 }, // ADC/AIN[3]
141+
{ }, // PA02 not available on SAMR
142+
{ }, // PB08 not available on SAMR
143+
{ }, // PB09 not available on SAMR
121144
{ PORTA, 4, PIO_ANALOG, 0, ADC_Channel4, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_4 }, // ADC/AIN[4]
122145
{ PORTA, 5, PIO_ANALOG, 0, ADC_Channel5, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 }, // ADC/AIN[5]
123146
{ PORTB, 2, PIO_ANALOG, 0, ADC_Channel10, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // ADC/AIN[10]
@@ -129,13 +152,13 @@ const PinDescription g_APinDescription[]=
129152

130153
// 22..24 - SPI pins (ICSP:MISO,SCK,MOSI)
131154
// ----------------------
132-
{ PORTA, 12, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_12 },
133-
{ PORTB, 10, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 }, // MOSI: SERCOM4/PAD[2]
134-
{ PORTB, 11, PIO_SERCOM_ALT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_11 }, // SCK: SERCOM4/PAD[3]
155+
{ PORTA, 12, PIO_SERCOM, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_12 }, // MOSI: SERCOM2/PAD[0]
156+
{ }, // PB10 Not available
157+
{ }, // PB11 Not available
135158

136-
// 25..26 - RX/TX LEDS (PB03/PA27)
159+
// 25..26 - IO & TX LED (PB03/PA27)
137160
// --------------------
138-
{ PORTB, 3, PIO_OUTPUT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // used as output only
161+
{ PORTB, 3, PIO_ANALOG, 0, ADC_Channel11, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // used as analog11
139162
{ PORTA, 27, PIO_OUTPUT, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // used as output only
140163

141164
// 27..29 - USB
@@ -144,9 +167,9 @@ const PinDescription g_APinDescription[]=
144167
{ PORTA, 24, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB/DM
145168
{ PORTA, 25, PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB/DP
146169

147-
// 30..41 - EDBG
170+
// 30..41 - Serial1 UART
148171
// ----------------------
149-
// 30/31 - EDBG/UART
172+
// 30/31 - Serial1 UART
150173
{ PORTB, 22, PIO_SERCOM_ALT, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // TX: SERCOM5/PAD[2]
151174
{ PORTB, 23, PIO_SERCOM_ALT, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // RX: SERCOM5/PAD[3]
152175

@@ -161,17 +184,17 @@ const PinDescription g_APinDescription[]=
161184
{ PORTA, 17, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SCK: SERCOM1/PAD[1]
162185

163186
// 38..41 - EDBG/Digital
164-
{ 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]
165-
{ PORTA, 21, PIO_PWM_ALT, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH7, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // Pin 7
187+
{ PORTA, 13, PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH5, NOT_ON_TIMER, EXTERNAL_INT_13 }, // SCK: SERCOM2.1
188+
{ }, // PA21 Not available
166189
{ PORTA, 6, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM1_CH0, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // Pin 8
167190
{ PORTA, 7, PIO_PWM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM1_CH1, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // Pin 9
168191

169192
// 42 (AREF)
170-
{ PORTA, 3, PIO_ANALOG, PIN_ATTR_ANALOG, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // DAC/VREFP
193+
{ }, // DAC/VREFP
171194

172195
// ----------------------
173196
// 43 - Alternate use of A0 (DAC output)
174-
{ PORTA, 2, PIO_ANALOG, PIN_ATTR_ANALOG, DAC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // DAC/VOUT
197+
{ }, // DAC/VOUT
175198
} ;
176199

177200
const void* g_apTCInstances[TCC_INST_NUM+TC_INST_NUM]={ TCC0, TCC1, TCC2, TC3, TC4, TC5 } ;
@@ -184,19 +207,9 @@ SERCOM sercom3( SERCOM3 ) ;
184207
SERCOM sercom4( SERCOM4 ) ;
185208
SERCOM sercom5( SERCOM5 ) ;
186209

187-
Uart Serial1( &sercom0, PIN_SERIAL1_RX, PIN_SERIAL1_TX, PAD_SERIAL1_RX, PAD_SERIAL1_TX ) ;
188-
void SERCOM0_Handler()
189-
{
190-
Serial1.IrqHandler();
191-
}
192-
193-
194-
// Serial5 not available on Feather so ditch it
195-
196-
//Uart Serial5( &sercom5, PIN_SERIAL_RX, PIN_SERIAL_TX, PAD_SERIAL_RX, PAD_SERIAL_TX ) ;
197-
/*
210+
// We'll use sercom5 for Serial1 hardware serial since pins 0 and 1 are not external
211+
Uart Serial1( &sercom5, PIN_SERIAL1_RX, PIN_SERIAL1_TX, PAD_SERIAL1_RX, PAD_SERIAL1_TX ) ;
198212
void SERCOM5_Handler()
199213
{
200-
Serial5.IrqHandler();
214+
Serial1.IrqHandler();
201215
}
202-
*/

variants/zero_radio/variant.h

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
#ifndef _VARIANT_ARDUINO_ZERO_
2020
#define _VARIANT_ARDUINO_ZERO_
2121

22-
// The definitions here needs a SAMD core >=1.6.3
23-
#define ARDUINO_SAMD_VARIANT_COMPLIANCE 10603
22+
// The definitions here needs a SAMD core >=1.6.6
23+
#define ARDUINO_SAMD_VARIANT_COMPLIANCE 10606
2424

2525
/*----------------------------------------------------------------------------
2626
* Definitions
@@ -54,9 +54,10 @@ extern "C"
5454

5555
// Number of pins defined in PinDescription array
5656
#define PINS_COUNT (26u)
57-
#define NUM_DIGITAL_PINS (14u)
57+
#define NUM_DIGITAL_PINS (20u)
5858
#define NUM_ANALOG_INPUTS (8u)
5959
#define NUM_ANALOG_OUTPUTS (1u)
60+
#define analogInputToDigitalPin(p) ((p < 6u) ? (p) + 14u : -1)
6061

6162
#define digitalPinToPort(P) ( &(PORT->Group[g_APinDescription[P].ulPort]) )
6263
#define digitalPinToBitMask(P) ( 1 << g_APinDescription[P].ulPin )
@@ -75,9 +76,6 @@ extern "C"
7576
*/
7677
// #define digitalPinToTimer(P)
7778

78-
// Interrupts
79-
#define digitalPinToInterrupt(P) ( g_APinDescription[P].ulExtInt )
80-
8179
// LEDs
8280
#define PIN_LED_13 (13u)
8381
#define PIN_LED_RXL (25u)
@@ -107,6 +105,7 @@ static const uint8_t A4 = PIN_A4 ;
107105
static const uint8_t A5 = PIN_A5 ;
108106
static const uint8_t A6 = PIN_A6 ;
109107
static const uint8_t A7 = PIN_A7 ;
108+
110109
#define ADC_RESOLUTION 12
111110

112111
// Other pins
@@ -116,15 +115,10 @@ static const uint8_t ATN = PIN_ATN;
116115
/*
117116
* Serial interfaces
118117
*/
119-
// Serial (EDBG)
120-
#define PIN_SERIAL_RX (31ul)
121-
#define PIN_SERIAL_TX (30ul)
122-
#define PAD_SERIAL_TX (UART_TX_PAD_2)
123-
#define PAD_SERIAL_RX (SERCOM_RX_PAD_3)
124-
125-
// Serial1
126-
#define PIN_SERIAL1_RX (0ul)
127-
#define PIN_SERIAL1_TX (1ul)
118+
119+
// Serial1 on SERCOM5
120+
#define PIN_SERIAL1_RX (31ul)
121+
#define PIN_SERIAL1_TX (30ul)
128122
#define PAD_SERIAL1_TX (UART_TX_PAD_2)
129123
#define PAD_SERIAL1_RX (SERCOM_RX_PAD_3)
130124

@@ -133,12 +127,12 @@ static const uint8_t ATN = PIN_ATN;
133127
*/
134128
#define SPI_INTERFACES_COUNT 1
135129

136-
#define PIN_SPI_MISO (22u)
137-
#define PIN_SPI_MOSI (23u)
138-
#define PIN_SPI_SCK (24u)
139-
#define PERIPH_SPI sercom4
140-
#define PAD_SPI_TX SPI_PAD_2_SCK_3
141-
#define PAD_SPI_RX SERCOM_RX_PAD_0
130+
#define PIN_SPI_MISO (2u)
131+
#define PIN_SPI_MOSI (22u)
132+
#define PIN_SPI_SCK (38u)
133+
#define PERIPH_SPI sercom2
134+
#define PAD_SPI_TX SPI_PAD_0_SCK_1
135+
#define PAD_SPI_RX SERCOM_RX_PAD_2
142136

143137
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.
144138
static const uint8_t MOSI = PIN_SPI_MOSI ;
@@ -155,6 +149,9 @@ static const uint8_t SCK = PIN_SPI_SCK ;
155149
#define PERIPH_WIRE sercom3
156150
#define WIRE_IT_HANDLER SERCOM3_Handler
157151

152+
static const uint8_t SDA = PIN_WIRE_SDA;
153+
static const uint8_t SCL = PIN_WIRE_SCL;
154+
158155
/*
159156
* USB
160157
*/

0 commit comments

Comments
 (0)