add samd51
This commit is contained in:
parent
5f8b53d31f
commit
f39c3dd279
3 changed files with 104 additions and 7 deletions
|
|
@ -98,3 +98,7 @@ RP2040 does not have official Arduino support (yet).
|
|||
```python3 parser.py "Adafruit ItsyBitsy nRF52840.fzpz" path/to/circuitpython/ports/nrf/boards/itsybitsy_nrf52840_express/pins.c nrf52840pins.csv -a ~/Library/Arduino15/packages/adafruit/hardware/nrf52/0.20.5/variants/itsybitsy_nrf52840_express```
|
||||
|
||||
```python3 parser.py "Adafruit nRF52840 CLUE.fzpz" path/to/circuitpython/ports/nrf/boards/clue_nrf52840_express/pins.c nrf52840pins.csv -a ~/Library/Arduino15/packages/adafruit/hardware/nrf52/0.20.5/variants/clue_nrf52840```
|
||||
|
||||
#### SAMD21:
|
||||
|
||||
```python3 parser.py "Adafruit Feather M0 Express.fzpz" path/to/circuitpython/ports/atmel-samd/boards/feather_m0_express/pins.c samd21pins.csv -a ~/Library/Arduino15/packages/adafruit/hardware/samd/variants/feather_m0```
|
||||
19
parser.py
19
parser.py
|
|
@ -336,8 +336,11 @@ int main(void) {
|
|||
#define DAC_Channel0 0
|
||||
""")
|
||||
for define in ("NOT_ON_TIMER", "NOT_ON_PWM", "No_ADC_Channel",
|
||||
"EXTERNAL_INT_NONE", "PIN_ATTR_NONE"):
|
||||
outfilecpp.write("#define %s -1\n" % define)
|
||||
"EXTERNAL_INT_NONE", "PIN_ATTR_NONE",
|
||||
"PIN_ATTR_PWM_E", "PIN_ATTR_PWM_F", "PIN_ATTR_PWM_G",
|
||||
"DAC_Channel1", "TCC_INST_NUM", "TC_INST_NUM",
|
||||
"NOT_A_PORT", "PIO_NOT_A_PIN"):
|
||||
outfilecpp.write("#define %s 10\n" % define)
|
||||
for adc in range(0, 32):
|
||||
outfilecpp.write("#define ADC_Channel%d %d\n" % (adc, adc))
|
||||
for irq in range(0, 32):
|
||||
|
|
@ -347,14 +350,18 @@ int main(void) {
|
|||
outfilecpp.write("#define TCC0_CH%d %d\n" % (tcc, tcc))
|
||||
outfilecpp.write("#define PWM1_CH%d %d\n" % (tcc, tcc))
|
||||
outfilecpp.write("#define TCC1_CH%d %d\n" % (tcc, tcc))
|
||||
for tc in range(0, 2):
|
||||
outfilecpp.write("#define TCC%d_GCLK_ID %d\n" % (tcc, tcc))
|
||||
for tc in range(0, 8):
|
||||
outfilecpp.write("#define PWM2_CH%d %d\n" % (tc, tc))
|
||||
outfilecpp.write("#define TCC2_CH%d %d\n" % (tc, tc))
|
||||
outfilecpp.write("#define PWM3_CH%d %d\n" % (tc, tc))
|
||||
outfilecpp.write("#define TC3_CH%d %d\n" % (tc, tc))
|
||||
outfilecpp.write("#define PWM4_CH%d %d\n" % (tc, tc))
|
||||
outfilecpp.write("#define TC4_CH%d %d\n" % (tc, tc))
|
||||
|
||||
outfilecpp.write("#define TC2_CH%d %d\n" % (tc, tc))
|
||||
outfilecpp.write("#define TC1_CH%d %d\n" % (tc, tc))
|
||||
outfilecpp.write("#define TC0_CH%d %d\n" % (tc, tc))
|
||||
outfilecpp.write("#define TC%d_GCLK_ID %d\n" % (tc, tc))
|
||||
outfilecpp.write("""
|
||||
typedef struct _PinDescription
|
||||
{
|
||||
|
|
@ -475,7 +482,7 @@ int main(void) {
|
|||
if 'arduinopin' in conn:
|
||||
continue
|
||||
conn['arduinopin'] = arduinopin
|
||||
#print(arduinopin, pinname, conn)
|
||||
print(arduinopin, pinname, conn)
|
||||
longest_arduinopin = max(longest_arduinopin, len(arduinopin))
|
||||
|
||||
return connections
|
||||
|
|
@ -998,8 +1005,6 @@ def parse(fzpz, circuitpydef, pinoutcsv, arduinovariantfolder, substitute):
|
|||
if not arduinovariantfolder and pinoutcsv == "attiny8xpins.csv":
|
||||
arduinovariantfolder = "attiny8x"
|
||||
connections = get_arduino_mapping(connections, arduinovariantfolder)
|
||||
#print(connections)
|
||||
|
||||
# open and parse the pinout mapper CSV
|
||||
pinarray = get_chip_pinout(connections, pinoutcsv)
|
||||
#print(pinarray)
|
||||
|
|
|
|||
88
samd51pins.csv
Normal file
88
samd51pins.csv
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
GPIO,INT,DAC/AREF,ADC,Touch,SERCOM,SERCOM Alt,Timer,Timer Alt,Special
|
||||
PA00,0,,,,,S1.0,TCC2[0],,
|
||||
PA01,1,,,,,S1.1,TCC2[1],,
|
||||
PA02,2,VOUT,AIN0,Y0,,,,,
|
||||
PA03,3,VREFA,AIN1,Y1,,,,,
|
||||
PA04,4,VREFB,AIN4,Y2,,S0.0,TCC0[0],,
|
||||
PA05,5,,AIN5,Y3,,S0.1,TCC0[1],,
|
||||
PA06,6,,AIN6,Y4,,S0.2,TCC1[0],,
|
||||
PA07,7,,AIN7,Y5,,S0.3,TCC1[1],,I2S/SD0
|
||||
PA08,NMI,,AIN16,,S0.0,S2.0,TCC0[0],TCC1[2],I2S/SD1
|
||||
PA09,9,,AIN17,,S0.1,S2.0,TCC0[1],TCC1[3],I2S/MCK0
|
||||
PA10,10,,AIN18,,S0.2,S2.2,TCC1[0],TCC0[2],I2S/SCK0
|
||||
PA11,11,,AIN19,,S0.3,S2.3,TCC1[1],TCC0[3],I2S/FS0
|
||||
PA12,12,,,,S2.0,S4.0,TCC2[0],TCC0[6],
|
||||
PA13,13,,,,S2.1,S4.1,TCC2[1],TCC0[7],
|
||||
PA14,14,,,,S2.2,S4.2,TC3[0],TCC0[4],
|
||||
PA15,15,,,,S2.3,S4.3,TC3[1],TCC0[5],
|
||||
PA16,0,,,,S1.0,S3.0,TCC2[0],TCC0[6],
|
||||
PA17,1,,,,S1.1,S3.1,TCC2[1],TCC0[7],
|
||||
PA18,2,,,,S1.2,S3.2,TC3[0],TCC0[2],
|
||||
PA19,3,,,,S1.3,S3.3,TC3[1],TCC0[3],I2S/SD0
|
||||
PA20,4,,,,S5.2,S3.2,TC7[0],TCC0[6],I2S/SCK0
|
||||
PA21,5,,,,S5.3,S3.3,TC7[1],TCC0[7],I2S/FS0
|
||||
PA22,6,,,,S3.0,S5.0,TC4[0],TCC0[4],
|
||||
PA23,7,,,,S3.1,S5.1,TC4[1],TCC0[5],
|
||||
PA24,12,,,,S3.2,S5.2,TC5[0],TCC1[2],USB D-
|
||||
PA25,13,,,,S3.3,S5.3,TC5[1],TCC1[3],USB D+
|
||||
PA27,15,,,,,,,,
|
||||
PA28,8,,,,,,,,
|
||||
PA30,10,,,,,S1.2,TCC1[0],,SWCLK
|
||||
PA31,11,,,,,S1.3,TCC1[1],,SWDIO
|
||||
PB00,0,,AIN8,Y6,,S5.2,TC7[0],,
|
||||
PB01,1,,AIN9,Y7,,S5.3,TC7[1],,
|
||||
PB02,2,,AIN10,Y8,,S5.0,TC6[0],,
|
||||
PB03,3,,AIN11,Y9,,S5.1,TC6[1],,
|
||||
PB04,4,,AIN12,Y10,,,,,
|
||||
PB05,5,,AIN13,Y11,,,,,
|
||||
PB06,6,,AIN14,Y12,,,,,
|
||||
PB07,7,,AIN15,Y13,,,,,
|
||||
PB08,8,,AIN2,Y14,,S4.0,TC4[0],,
|
||||
PB09,9,,AIN3,Y15,,S4.1,TC4[1],,
|
||||
PB10,10,,,,,S4.2,TC5[0],TCC0[4],I2S/MCK1
|
||||
PB11,11,,,,,S4.3,TC5[1],TCC0[5],I2S/SCK1
|
||||
PB12,12,,,,S4.0,,TC4[0],TCC0[6],I2S/FS1
|
||||
PB13,13,,,,S4.1,,TC4[1],TCC0[7],
|
||||
PB14,14,,,,S4.2,,TC5[0],,
|
||||
PB15,15,,,,S4.3,,TC5[1],,
|
||||
PB16,0,,,,S5.0,,TC6[0],TCC0[4],I2S/SD1
|
||||
PB17,1,,,,S5.1,,TC6[1],TCC0[5],I2S/MCK0
|
||||
PB22,6,,,,,S5.2,TC7[0],,
|
||||
PB23,7,,,,,S5.3,TC7[1],,
|
||||
PB30,14,,,,,S5.0,TCC0[0],TCC1[2],
|
||||
PB31,15,,,,,S5.1,TCC0[1],TCC1[3],
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
,,,,,,,,,
|
||||
DESCRIPTION,"The Microchip (nee Atmel) SAMD21 is an ARM Cortex-M0+ running at 48 MHz with 32kB on-chip SRAM, 256KB Flash memory and built in USB. All GPIO is 3.3V in/out max unless otherwise stated. SERCOMs can be used as UART (TX on SERCOM pad 0 or 2, RX on any pad), I2C (SDA on pad 0, SCL on pad 1), or SPI (SCK on pad 1 or 3, MOSI on pad 0 or 3 (SCK on pad 1) or pad 0 or 2 (SCK on pad 3), MISO on any pad remaining) ",,,,,,,,
|
||||
|
Loading…
Reference in a new issue