From 7b88a716bdb83a06e68e6ac8ab4a3648796a0df6 Mon Sep 17 00:00:00 2001 From: Jakub Kaderka Date: Mon, 28 Jan 2019 20:14:57 +0100 Subject: Added ODR setting to mx2board.py --- tools/mx2board.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/mx2board.py b/tools/mx2board.py index 20dcfb3..1727b12 100755 --- a/tools/mx2board.py +++ b/tools/mx2board.py @@ -48,7 +48,7 @@ DEFAULT_PAD = {"SIGNAL": "UNUSED", "OTYPER": PIN_OTYPE_PUSHPULL, "OSPEEDR": PIN_OSPEED_VERYLOW, "PUPDR": PIN_PUPDR_FLOATING, - "ODR": PIN_ODR_HIGH} + "ODR": PIN_ODR_LOW} PIN_MODE_TRANSLATE = {"GPIO_MODE_AF_PP": PIN_MODE_ALTERNATE, "GPIO_MODE_ANALOG": PIN_MODE_ANALOG, @@ -70,6 +70,9 @@ PIN_PUPDR_TRANSLATE = {"GPIO_NOPULL": PIN_PUPDR_FLOATING, "GPIO_PULLUP": PIN_PUPDR_PULLUP, "GPIO_PULLDOWN": PIN_PUPDR_PULLDOWN} +PIN_ODR_TRANSLATE = {"GPIO_PIN_SET": PIN_ODR_HIGH, + "GPIO_PIN_CLEAR": PIN_ODR_LOW} + parser = ArgumentParser(description='Generate ChibiOS GPIO header file from STM32CubeMX project files.') group = parser.add_mutually_exclusive_group(required=False) group.add_argument('-m', '--mx', default='', type=str, help='STM32CubeMX path. Invalid if -g is used.') @@ -222,6 +225,7 @@ def read_project(gpio, filename): pad_prop = split[0].split(".")[-1] prop_value = split[-1].rstrip('\r\n') + if pad_prop == "Signal": if 'S_TIM' in prop_value: prop_value = prop_value[2:] @@ -250,6 +254,8 @@ def read_project(gpio, filename): pads[pad_port][pad_num]["MODER"] = PIN_MODE_OUTPUT elif pad_prop == "GPIO_Speed": pads[pad_port][pad_num]["OSPEEDR"] = PIN_OSPEED_TRANSLATE[prop_value] + elif pad_prop == "PinState": + pads[pad_port][pad_num]["ODR"] = PIN_ODR_TRANSLATE[prop_value] return pads -- cgit v1.2.3