Skip to content

Instantly share code, notes, and snippets.

@jposada202020
Created January 30, 2021 23:03
Show Gist options
  • Select an option

  • Save jposada202020/dd5e9de0136641d06ebf536350cbee50 to your computer and use it in GitHub Desktop.

Select an option

Save jposada202020/dd5e9de0136641d06ebf536350cbee50 to your computer and use it in GitHub Desktop.
CP Board pin definitions
from os import uname
import board
def get_pin_definition(pinid):
controller = uname()[0]
machine = uname()[4]
if controller == 'esp32s2':
boardspins = {'A0': board.A0, 'A1': board.A1, 'A2': board.A2, 'A3': board.A3, 'A4': board.A4, 'A5': board.A5,
'IO1': board.IO1, 'IO2': board.IO2, 'IO3': board.IO3, 'IO4': board.IO4, 'IO5': board.IO5, 'IO6': board.IO6,
'IO7': board.IO7, 'IO8': board.IO8, 'IO9': board.IO9, 'IO10': board.IO10, 'IO11': board.IO11,
'IO12': board.IO12, 'IO13': board.IO13, 'IO14': board.IO14, 'IO15': board.IO15,
'IO16': board.IO16, 'IO21': board.IO21, 'IO42': board.IO42}
return boardspins[pinid]
if controller == 'samd51':
if machine == 'Seeeduino Wio Terminal with samd51p19':
boardspins = {'A0': board.A0, 'A1': board.A1, 'A2': board.A2, 'A3': board.A3, 'A4': board.A4,
'A5': board.A5, 'A6': board.A6, 'A7': board.A7, 'A8': board.A8,
'D0': board.D0, 'D1': board.D1, 'D2': board.D2, 'D3': board.D3, 'D4': board.D4, 'D5': board.D5,
'D6': board.D6, 'D7': board.D7, 'D8': board.D8, 'D9': board.D9, 'D10': board.D10,
'D13': board.D13, 'LIGHT': board.LIGHT,
'BUTTON_1': board.BUTTON_1, 'BUTTON_2': board.BUTTON_2, 'BUTTON_3': board.BUTTON_3,
'BUZZER': board.BUZZER, 'LED': board.LED, 'IR': board.IR, 'MIC': board.MIC,
'SWITCH_DOWN': board.SWITCH_DOWN, 'SWITCH_LEFT': board.SWITCH_LEFT,
'SWITCH_PRESS': board.SWITCH_PRESS, 'SWITCH_RIGHT': board.SWITCH_RIGHT,
'SWITCH_UP': board.SWITCH_UP}
else:
boardspins = {'A0': board.A0, 'A1': board.A1, 'A2': board.A2, 'A3': board.A3, 'A4': board.A4, 'A5': board.A5,
'D0': board.D0, 'D1': board.D1, 'D2': board.D2, 'D3': board.D3, 'D4': board.D4, 'D5': board.D5,
'D6': board.D6, 'D7': board.D7, 'D8': board.D8, 'D9': board.D9, 'D10': board.D10,
'D11': board.D11, 'D12': board.D12, 'D13': board.D13}
return boardspins[pinid]
if controller == 'samd21':
if machine == 'Seeeduino XIAO with samd21g18':
boardspins = {'A0': board.A0, 'A1': board.A1, 'A2': board.A2, 'A3': board.A3, 'A4': board.A4,
'A5': board.A5, 'A6': board.A6, 'A7': board.A7, 'A8': board.A8, 'A9': board.A9,
'A10': board.A10,
'D0': board.D0, 'D1': board.D1, 'D2': board.D2, 'D3': board.D3, 'D4': board.D4,
'D5': board.D5, 'D6': board.D6, 'D7': board.D7, 'D8': board.D8, 'D9': board.D9,
'D10': board.D10, 'D13': board.D13, 'BLUE_LED': board.BLUE_LED, 'LED': board.LED}
return boardspins[pinid]
else:
boardspins = {'A0': board.A0, 'A1': board.A1, 'A2': board.A2, 'A3': board.A3, 'A4': board.A4,
'D0': board.D0, 'D1': board.D1, 'D2': board.D2, 'D3': board.D3, 'D4': board.D4,
'D13': board.D13}
return boardspins[pinid]
if controller == 'stm32f4':
boardspins = {'A0': board.A0, 'A1': board.A1, 'A2': board.A2, 'A3': board.A3, 'A4': board.A4,
'A5': board.A5, 'A6': board.A6, 'A7': board.A7, 'A8': board.A8, 'A9': board.A9,
'A15': board.A15,
'B0': board.B0, 'B1': board.B1, 'B2': board.B2, 'B3': board.B3, 'B4': board.B4,
'B5': board.B5, 'B6': board.B6, 'B7': board.B7, 'B8': board.B8, 'B9': board.B9,
'B10': board.B10, 'B11': board.B11, 'B12': board.B12, 'B13': board.B13, 'B14': board.B14,
'B15': board.B15}
return boardspins[pinid]
return 'Not Implemented'
class Representaciones(object):
def __init__(self, controlador):
if controlador == 'esp32s2':
self.pinout = ['+-------+-------+------+---+-esp32s2--+---+------+-------+-------+\n' ,
'|IO Nam | Name | Mode | V | Physical | V | Mode | Name |IO Nam |\n' ,
'+-------+-------+------+---+----++----+---+------+-------+-------+\n' ,
'| | | | | || | |NeoPIX| 45 | |\n' ,
'| | | | | || 32 | | | SCL | IO34 |\n' ,
'| | | | | || 31 | | | SDA | IO33 |\n' ,
'| | | | | || 30 | | | Aref | |\n' ,
'| | | | | || 29 | | | GND | |\n' ,
'| | | | | 1 || 28 | |RedLed| 42 | D13 |\n' ,
'| | IOref | | | 2 || 27 | | | IO21 | D12 |\n' ,
'| | RST | | | 3 || 26 | | ADC2 | IO16 | D11 |\n' ,
'| | 3.3v | | | 4 || 25 | | ADC2 | IO15 | D10 |\n' ,
'| | VHI | | | 5 || 24 | | ADC2 | IO14 | D9 |\n' ,
'| | GND | | | 6 || 23 | | ADC2 | IO13 | D8 |\n' ,
'| | GND | | | 7 || | | | | |\n' ,
'| | Vin | | | 8 || 22 | | ADC2 | IO12 | D7 |\n' ,
'| | | | | || 21 | | | IO11 | D6 |\n' ,
'| IO17 | A0 | DAC | | 9 || 20 | | ADC1 | IO10 | D5 |\n' ,
'| IO18 | A1 | DAC | | 10 || 19 | | ADC1 | IO9 | D4 |\n' ,
'| IO1 | A2 | ADC1 | | 11 || 18 | | ADC1 | IO8 | D3 |\n' ,
'| IO2 | A3 | ADC1 | | 12 || 17 | | ADC1 | IO7 | D2 |\n' ,
'| IO3 | A4 | ADC1 | | 13 || 16 | | ADC1 | IO5 | D1 |\n' ,
'| IO4 | A5 | ADC1 | | 14 || 15 | | ADC1 | IO6 | D0 |\n' ,
'| |\n' ,
'| |RST |SCK |MISO| RST:IO36 MISO:IO35 |\n' ,
'| |GND |MOSI| 5V | MOSI:IO37 |\n' ,
'| |\n' ,
'+-------+-------+------+---+----++----+---+------+-------+-------+\n' ,
'|IO Nam | Name | Mode | V | Physical | V | Mode | Name |IO Nam |\n' ,
'+-------+-------+------+---+----++----+---+------+-------+-------+\n' ]
[print(linea) for linea in self.pinout]
if controlador == 'samd51':
self.pinout = ['+-------+-------+------+---+-M4--+---+------+-------+-------+\n' ,
'|IO Nam | Name | Mode | V | Physical | V | Mode | Name |IO Nam |\n' ,
'+-------+-------+------+---+----++----+---+------+-------+-------+\n' ,
'| | | | | || | |NeoPIX| 40 | |\n' ,
'| | | | | || 32 | | | SCL | IO34 |\n' ,
'| | | | | || 31 | | | SDA | IO33 |\n' ,
'| | | | | || 30 | | | Aref | |\n' ,
'| | | | | || 29 | | | GND | |\n' ,
'| | | | | 1 || 28 | |RedLed| 42 | D13 |\n' ,
'| | IOref | | | 2 || 27 | | | IO21 | D12 |\n' ,
'| | RST | | | 3 || 26 | | ADC2 | IO16 | D11 |\n' ,
'| | 3.3v | | | 4 || 25 | | ADC2 | IO15 | D10 |\n' ,
'| | VHI | | | 5 || 24 | | ADC2 | IO14 | D9 |\n' ,
'| | GND | | | 6 || 23 | | ADC2 | IO13 | D8 |\n' ,
'| | GND | | | 7 || | | | | |\n' ,
'| | Vin | | | 8 || 22 | | ADC2 | IO12 | D7 |\n' ,
'| | | | | || 21 | | | IO11 | D6 |\n' ,
'| IO17 | A0 | DAC | | 9 || 20 | | ADC1 | IO10 | D5 |\n' ,
'| IO18 | A1 | DAC | | 10 || 19 | | ADC1 | IO9 | D4 |\n' ,
'| IO1 | A2 | ADC1 | | 11 || 18 | | ADC1 | IO8 | D3 |\n' ,
'| IO2 | A3 | ADC1 | | 12 || 17 | | ADC1 | IO7 | D2 |\n' ,
'| IO3 | A4 | ADC1 | | 13 || 16 | | ADC1 | IO5 | D1 |\n' ,
'| IO4 | A5 | ADC1 | | 14 || 15 | | ADC1 | IO6 | D0 |\n' ,
'| |\n' ,
'| |RST |SCK |MISO| RST:IO36 MISO:IO35 |\n' ,
'| |GND |MOSI| 5V | MOSI:IO37 |\n' ,
'| |\n' ,
'+-------+-------+------+---+----++----+---+------+-------+-------+\n' ,
'|IO Nam | Name | Mode | V | Physical | V | Mode | Name |IO Nam |\n' ,
'+-------+-------+------+---+----++----+---+------+-------+-------+\n']
[print(linea) for linea in self.pinout]
if controlador == 'samd21':
self.pinout = ['+-------+-------+------+---+-Trinket--+---+------+-------+-------+\n' ,
'|IO Nam | Name | Mode | V | Physical | V | Mode | Name |IO Nam |\n' ,
'+-------+-------+------+---+----++----+---+------+-------+-------+\n' ,
'| | | | |VBAT||VBUS| | | | |\n' ,
'| | | | |GND || 11 | | SDA | IO9 | A2 |\n' ,
'| A4 | MOSI | TX | | 7 || 3 | | | TOUCH | A0 |\n' ,
'| | SCK | RX | | 8 || 12 | | SCL | MISO | A1 |\n' ,
'| | | | | RST||3v3 | | | | |\n' ,
'+-------+-------+------+---+----++----+---+------+-------+-------+\n' ,
'|IO Nam | Name | Mode | V | Physical | V | Mode | Name |IO Nam |\n' ,
'+-------+-------+------+---+----++----+---+------+-------+-------+\n']
[print(linea) for linea in self.pinout]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment