diff --git a/klippy/pins.py b/klippy/pins.py index e998f248..26d0bf67 100644 --- a/klippy/pins.py +++ b/klippy/pins.py @@ -13,16 +13,6 @@ class error(Exception): # Hardware pin names ###################################################################### -def port_pins(port_count, bit_count=8): - pins = {} - for port in range(port_count): - portchr = chr(65 + port) - if portchr == 'I': - continue - for portbit in range(bit_count): - pins['P%c%d' % (portchr, portbit)] = port * bit_count + portbit - return pins - def named_pins(fmt, port_count, bit_count=32): return { fmt % (port, portbit) : port * bit_count + portbit for port in range(port_count) @@ -34,7 +24,6 @@ def beaglebone_pins(): return gpios MCU_PINS = { - "stm32f103": port_pins(5, 16), "pru": beaglebone_pins(), "linux": {"analog%d" % i: i for i in range(8)}, # XXX } diff --git a/src/stm32f1/gpio.c b/src/stm32f1/gpio.c index ed950461..ced64cd1 100644 --- a/src/stm32f1/gpio.c +++ b/src/stm32f1/gpio.c @@ -17,6 +17,12 @@ * Pin mappings ****************************************************************/ +DECL_ENUMERATION_RANGE("pin", "PA0", GPIO('A', 0), 16); +DECL_ENUMERATION_RANGE("pin", "PB0", GPIO('B', 0), 16); +DECL_ENUMERATION_RANGE("pin", "PC0", GPIO('C', 0), 16); +DECL_ENUMERATION_RANGE("pin", "PD0", GPIO('D', 0), 16); +DECL_ENUMERATION_RANGE("pin", "PE0", GPIO('E', 0), 16); + GPIO_TypeDef *const digital_regs[] = { GPIOA, GPIOB, GPIOC, GPIOD, GPIOE };