@@ -26,47 +26,47 @@ const PinDescription g_APinDescription[]=
26
26
// 0..13 - Digital pins
27
27
// ----------------------
28
28
// 0/1 - SERCOM/UART (Serial1)
29
- { PORTA, 7 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_Channel8, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_7 }, // RX: SERCOM0 /PAD[0 ]
30
- { PORTA, 4 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_Channel9, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_4 }, // TX: SERCOM0 /PAD[3 ]
29
+ { PORTB, 17 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH5, TCC0_CH5, EXTERNAL_INT_1 }, // RX: SERCOM5 /PAD[1 ]
30
+ { PORTB, 16 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH4, TCC0_CH4, EXTERNAL_INT_0 }, // TX: SERCOM5 /PAD[0 ]
31
31
32
32
// 2..12
33
33
// Digital Low
34
34
{ NOT_A_PORT, PIN_NOT_A_PIN, PIO_NOT_A_PIN, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
35
35
{ NOT_A_PORT, PIN_NOT_A_PIN, PIO_NOT_A_PIN, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
36
- { NOT_A_PORT, PIN_NOT_A_PIN, PIO_NOT_A_PIN, PIN_ATTR_NONE , No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
37
- { PORTA, 14 , PIO_TIMER_ALT , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_14 },
38
- { PORTA, 15 , PIO_TIMER_ALT , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_15 },
36
+ { PORTA, 14 , PIO_TCC_PDEC, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM) , No_ADC_Channel, PWM1_CH2, TCC1_CH2, EXTERNAL_INT_14 },
37
+ { PORTA, 16 , PIO_TCC_PDEC , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH4, TCC0_CH4, EXTERNAL_INT_0 },
38
+ { PORTA, 18 , PIO_TCC_PDEC , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH6, TCC0_CH6, EXTERNAL_INT_2 },
39
39
{ NOT_A_PORT, PIN_NOT_A_PIN, PIO_NOT_A_PIN, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
40
40
41
41
// Digital High
42
- { PORTB, 23 , PIO_TIMER_ALT , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM ), ADC_Channel7 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // neopix
43
- { PORTA, 16 , PIO_TIMER_ALT , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), ADC_Channel6, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_0 },
44
- { PORTA, 20 , PIO_TIMER_ALT , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_4 },
45
- { PORTA, 21 , PIO_TIMER_ALT , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_5 },
46
- { PORTA, 22 , PIO_TIMER_ALT , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_6 },
42
+ { PORTB, 3 , PIO_DIGITAL , (PIN_ATTR_DIGITAL), No_ADC_Channel , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // neopix
43
+ { PORTA, 19 , PIO_TCC_PDEC , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH7, TCC0_CH7, EXTERNAL_INT_3 },
44
+ { PORTA, 20 , PIO_TCC_PDEC , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH0, TCC0_CH0 , EXTERNAL_INT_4 },
45
+ { PORTA, 21 , PIO_TCC_PDEC , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH1, TCC0_CH1 , EXTERNAL_INT_5 },
46
+ { PORTA, 22 , PIO_TCC_PDEC , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH2, TCC0_CH2 , EXTERNAL_INT_6 },
47
47
48
48
// 13 (LED)
49
- { PORTA, 23 , PIO_PWM , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_7 }, // TCC2/WO[1]
49
+ { PORTA, 23 , PIO_TCC_PDEC , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM0_CH3, TCC0_CH3 , EXTERNAL_INT_7 }, // TCC2/WO[1]
50
50
51
51
// 14..19 - Analog pins
52
52
// --------------------
53
53
{ PORTA, 2 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 },
54
54
{ PORTA, 5 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel5, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_5 },
55
55
{ PORTB, 8 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel2, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_8 },
56
56
{ PORTB, 9 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel3, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_9 },
57
- { PORTA, 6 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel6, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 },
58
- { PORTA, 10 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel9, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 },
57
+ { PORTA, 4 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel6, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 },
58
+ { PORTA, 6 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel9, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_10 },
59
59
60
60
// 20..21 I2C pins (SDA/SCL)
61
61
// ----------------------
62
- { PORTA, 12 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_12 }, // SDA: SERCOM3 /PAD[0]
63
- { PORTA, 13 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER , EXTERNAL_INT_13 }, // SCL: SERCOM3 /PAD[1]
62
+ { PORTA, 12 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM1_CH2, TCC1_CH2 , EXTERNAL_INT_12 }, // SDA: SERCOM2 /PAD[0]
63
+ { PORTA, 13 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, PWM1_CH3, TCC1_CH3 , EXTERNAL_INT_13 }, // SCL: SERCOM2 /PAD[1]
64
64
65
65
// 22..24 - SPI pins (MISO,MOSI,SCK)
66
66
// ----------------------
67
- { PORTA, 18 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_2 }, // MISO: SERCOM4 /PAD[2]
68
- { PORTA, 19 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_3 }, // MOSI: SERCOM4 /PAD[3]
69
- { PORTA, 17 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_1 }, // SCK: SERCOM4 /PAD[1]
67
+ { PORTB, 22 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_6 }, // MISO: SERCOM1 /PAD[2]
68
+ { PORTB, 23 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_7 }, // MOSI: SERCOM1 /PAD[3]
69
+ { PORTA, 17 , PIO_SERCOM, (PIN_ATTR_DIGITAL|PIN_ATTR_PWM), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_1 }, // SCK: SERCOM1 /PAD[1]
70
70
71
71
// 25..26 - RX/TX LEDS -- unused
72
72
// --------------------
@@ -75,7 +75,7 @@ const PinDescription g_APinDescription[]=
75
75
76
76
// 27..29 - USB
77
77
// --------------------
78
- { PORTA, 28 , PIO_COM , PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB Host enable DOES NOT EXIST ON THIS BOARD
78
+ { NOT_A_PORT, PIN_NOT_A_PIN, PIO_NOT_A_PIN , PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB Host enable DOES NOT EXIST ON THIS BOARD
79
79
{ PORTA, 24 , PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB/DM
80
80
{ PORTA, 27 , PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // USB/DP
81
81
@@ -86,22 +86,24 @@ const PinDescription g_APinDescription[]=
86
86
{ PORTA, 22 , PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // SCK: SERCOM5/PAD[1] (same as d12)
87
87
88
88
// 33 same as #8 - Internal NeoPixel (to match Metro M0)
89
- { PORTB, 23 , PIO_TIMER , (PIN_ATTR_DIGITAL|PIN_ATTR_PWM ), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
89
+ { PORTB, 3 , PIO_DIGITAL , (PIN_ATTR_DIGITAL), No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
90
90
91
91
// 34 (AREF)
92
92
{ PORTA, 3 , PIO_ANALOG, PIN_ATTR_ANALOG, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // DAC/VREFP
93
93
94
94
// ----------------------
95
95
// 35 - 36 - Alternate use of A0 (DAC output)
96
96
{ PORTA, 2 , PIO_ANALOG, PIN_ATTR_ANALOG, DAC_Channel0, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // DAC/VOUT0
97
- { PORTA, 5 , PIO_ANALOG, PIN_ATTR_ANALOG, ADC_Channel5 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // DAC/VOUT1
97
+ { PORTA, 5 , PIO_ANALOG, PIN_ATTR_ANALOG, DAC_Channel1 , NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // DAC/VOUT1
98
98
99
99
// ----------------------
100
- // 37 - 40 QSPI (SCK, CS, IO0, IO1)
100
+ // 37 - 40 QSPI (SCK, CS, IO0, IO1, IO2, IO3 )
101
101
{ PORTB, 10 , PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
102
102
{ PORTB, 11 , PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
103
103
{ PORTA, 8 , PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
104
104
{ PORTA, 9 , PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
105
+ { PORTA, 10 , PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
106
+ { PORTA, 11 , PIO_COM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
105
107
} ;
106
108
107
109
const void * g_apTCInstances[TCC_INST_NUM+TC_INST_NUM]={ TCC0, TCC1, TCC2} ;
@@ -114,21 +116,21 @@ SERCOM sercom3( SERCOM3 ) ;
114
116
SERCOM sercom4 ( SERCOM4 ) ;
115
117
SERCOM sercom5 ( SERCOM5 ) ;
116
118
117
- Uart Serial1 ( &sercom0 , PIN_SERIAL1_RX, PIN_SERIAL1_TX, PAD_SERIAL1_RX, PAD_SERIAL1_TX ) ;
119
+ Uart Serial1 ( &sercom5 , PIN_SERIAL1_RX, PIN_SERIAL1_TX, PAD_SERIAL1_RX, PAD_SERIAL1_TX ) ;
118
120
119
- void SERCOM0_0_Handler ()
121
+ void SERCOM5_0_Handler ()
120
122
{
121
123
Serial1.IrqHandler ();
122
124
}
123
- void SERCOM0_1_Handler ()
125
+ void SERCOM5_1_Handler ()
124
126
{
125
127
Serial1.IrqHandler ();
126
128
}
127
- void SERCOM0_2_Handler ()
129
+ void SERCOM5_2_Handler ()
128
130
{
129
131
Serial1.IrqHandler ();
130
132
}
131
- void SERCOM0_3_Handler ()
133
+ void SERCOM5_3_Handler ()
132
134
{
133
135
Serial1.IrqHandler ();
134
136
}
0 commit comments