@@ -187,38 +187,42 @@ extern const PinDescription g_APinDescription[]=
187187 // 37 - SPI CS0
188188 { PIOA, PIO_PA28A_SPI0_NPCS0,ID_PIOA,PIO_PERIPH_A,PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // NPCS0
189189
190- // 38 - End of standard pins -----
190+ // 38
191+ { PIOA, PIO_PA18A_TWCK0, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 49 = C_IN1_PD
192+ { PIOA, PIO_PA19, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // PIN 50 = C_IN2_PD
191193
192- // 38 .. 42 - "All pins" masks
194+ // 40 - End of standard pins -----
193195
194- // 38 - TWI1 all pins
196+ // 40 .. 44 - "All pins" masks
197+
198+ // 40 - TWI1 all pins
195199 { PIOB, PIO_PB12A_TWD1|PIO_PB13A_TWCK1, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER },
196- // 39 - UART (Serial) all pins
200+ // 41 - UART (Serial) all pins
197201 { PIOA, PIO_PA8A_URXD|PIO_PA9A_UTXD, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER },
198- // 40 - USART0 (Serial1) all pins
202+ // 42 - USART0 (Serial1) all pins
199203 { PIOA, PIO_PA11A_TXD0|PIO_PA10A_RXD0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER },
200- // 41 - USART1 (Serial2) all pins
204+ // 43 - USART1 (Serial2) all pins
201205 { PIOA, PIO_PA13A_TXD1|PIO_PA12A_RXD1, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER },
202- // 42 - USART3 (Serial3) all pins
206+ // 44 - USART3 (Serial3) all pins
203207 { PIOB, PIO_PB20A_TXD2|PIO_PB21A_RXD2, ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER },
204208
205- // 43 - USB
209+ // 45 - USB
206210 { PIOB, PIO_PB11A_UOTGID|PIO_PB10A_UOTGVBOF, ID_PIOB, PIO_PERIPH_A, PIO_DEFAULT, PIN_ATTR_DIGITAL,NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // ID - VBOF
207211
208- // 44 - SPI CS2 (alias)
212+ // 46 - SPI CS2 (alias)
209213 { PIOB, PIO_PB21B_SPI0_NPCS2, ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // NPCS2
210214
211- // 45 - SPI CS1 (alias)
215+ // 47 - SPI CS1 (alias)
212216 { PIOB, PIO_PB20B_SPI0_NPCS1, ID_PIOB, PIO_PERIPH_B, PIO_DEFAULT, PIN_ATTR_DIGITAL, NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER }, // NPCS1
213217
214- // 46 - DAC1 (alias)
218+ // 48 - DAC1 (alias)
215219 { PIOB, PIO_PB16X1_DAC1, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC13, DA1, NOT_ON_PWM, NOT_ON_TIMER }, // DAC1
216220
217- // 47 - Analog (alias)
221+ // 49 - Analog (alias)
218222 { PIOB, PIO_PB17X1_AD10, ID_PIOB, PIO_INPUT, PIO_DEFAULT, PIN_ATTR_ANALOG, ADC8, ADC10, NOT_ON_PWM, NOT_ON_TIMER }, // AD8 = S_INLEVEL
219223
220- // 48 .. - "All CAN pins" masks
221- // 48 - CAN0 all pins
224+ // 50 .. - "All CAN pins" masks
225+ // 50 - CAN0 all pins
222226 { PIOA, PIO_PA1A_CANRX0|PIO_PA0A_CANTX0, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT, (PIN_ATTR_DIGITAL|PIN_ATTR_COMBO), NO_ADC, NO_ADC, NOT_ON_PWM, NOT_ON_TIMER },
223227
224228 // END
@@ -319,7 +323,22 @@ void init( void )
319323
320324 // Disable pull-up on every pin
321325 for (unsigned i = 0 ; i < PINS_COUNT; i++)
322- digitalWrite (i, LOW);
326+ {
327+ switch (i)
328+ {
329+ case -1 : // fake
330+ #ifdef PIN_C_IN1_PD
331+ case PIN_C_IN1_PD: // 36V input range, for compatibility
332+ #endif
333+ #ifdef PIN_C_IN2_PD
334+ case PIN_C_IN2_PD: // 36V input range, for compatibility
335+ #endif
336+ digitalWrite (i, HIGH);
337+ break ;
338+ default :
339+ digitalWrite (i, LOW);
340+ }
341+ }
323342
324343 // Enable parallel access on PIO output data registers
325344 PIOA->PIO_OWER = 0xFFFFFFFF ;
0 commit comments