summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-06-22 10:27:37 -0500
committerJeff Epler <jepler@gmail.com>2020-06-22 10:45:27 -0500
commit8a760b065733fb27ad42f78d606beed025d8106d (patch)
treed3b9d3e0626a18dd5cc83cbfce31aabb8ef570e2
parenta580f0f1c4f2a221ddf3ff169eff79158bd8acf6 (diff)
stm: Pin.c: Compute GPIO_PORT_COUNT instead of specifying manually
-rw-r--r--ports/stm/common-hal/microcontroller/Pin.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/ports/stm/common-hal/microcontroller/Pin.c b/ports/stm/common-hal/microcontroller/Pin.c
index e966f709f..b0e3c7015 100644
--- a/ports/stm/common-hal/microcontroller/Pin.c
+++ b/ports/stm/common-hal/microcontroller/Pin.c
@@ -37,23 +37,20 @@ bool neopixel_in_use;
#endif
#if defined(TFBGA216)
- #define GPIO_PORT_COUNT 11
- GPIO_TypeDef * ports[GPIO_PORT_COUNT] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG, GPIOH, GPIOI, GPIOJ, GPIOK};
+ GPIO_TypeDef * ports[] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG, GPIOH, GPIOI, GPIOJ, GPIOK};
#elif defined(LQFP144)
- #define GPIO_PORT_COUNT 7
- GPIO_TypeDef * ports[GPIO_PORT_COUNT] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG};
+ GPIO_TypeDef * ports[] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG};
#elif defined(LQFP100_f4) || (LQFP100_x7)
- #define GPIO_PORT_COUNT 5
- GPIO_TypeDef * ports[GPIO_PORT_COUNT] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE};
+ GPIO_TypeDef * ports[] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE};
#elif defined(LQFP64)
- #define GPIO_PORT_COUNT 4
- GPIO_TypeDef * ports[GPIO_PORT_COUNT] = {GPIOA, GPIOB, GPIOC, GPIOD};
+ GPIO_TypeDef * ports[] = {GPIOA, GPIOB, GPIOC, GPIOD};
#elif defined(UFQFPN48)
- #define GPIO_PORT_COUNT 3
- GPIO_TypeDef * ports[GPIO_PORT_COUNT] = {GPIOA, GPIOB, GPIOC};
+ GPIO_TypeDef * ports[] = {GPIOA, GPIOB, GPIOC};
#endif
+#define GPIO_PORT_COUNT (MP_ARRAY_SIZE(ports))
+
STATIC uint16_t claimed_pins[GPIO_PORT_COUNT];
STATIC uint16_t never_reset_pins[GPIO_PORT_COUNT];