Move hardware-specifics (pin assignments, power management) to hwconfig_*.py. The build system will build a firmware image firmware-filesystem-$variant.uf2 for all variants for which a hwconfig_$variant.py file exits. Inside the filesystem image, the selected variants hwconfig_$variant.py file will always be named hwconfig.py. At runtime, main.py will attempt to import hwconfig which will load the configuration for the correct variant. Currently, the hwconfig_* modules are expected to define the pin mapping and implement a board_init method. Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
41 lines
687 B
Python
41 lines
687 B
Python
# SPDX-License-Identifier: MIT
|
|
# Copyright (c) 2025 Matthias Blankertz <matthias@blankertz.org>
|
|
|
|
class Pin:
|
|
def __init__(self, idx):
|
|
self.idx = idx
|
|
|
|
board = None
|
|
|
|
|
|
class Board:
|
|
GP0 = Pin(0)
|
|
GP1 = Pin(1)
|
|
GP2 = Pin(2)
|
|
GP3 = Pin(3)
|
|
GP4 = Pin(4)
|
|
GP5 = Pin(5)
|
|
GP6 = Pin(6)
|
|
GP7 = Pin(7)
|
|
GP8 = Pin(8)
|
|
GP9 = Pin(9)
|
|
GP10 = Pin(10)
|
|
GP11 = Pin(11)
|
|
GP12 = Pin(12)
|
|
GP13 = Pin(13)
|
|
GP14 = Pin(14)
|
|
GP15 = Pin(15)
|
|
GP16 = Pin(16)
|
|
GP17 = Pin(17)
|
|
GP18 = Pin(18)
|
|
GP19 = Pin(19)
|
|
GP20 = Pin(20)
|
|
GP21 = Pin(21)
|
|
GP22 = Pin(22)
|
|
GP26 = Pin(26)
|
|
GP27 = Pin(27)
|
|
GP28 = Pin(28)
|
|
|
|
|
|
Pin.board = Board
|