diff options
author | Fabien Poussin <fabien.poussin@gmail.com> | 2019-01-31 17:55:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-31 17:55:43 +0100 |
commit | 4bb8aeb6f52faa4db6937858d0835c159686622d (patch) | |
tree | 275b825f3b8d5546707ad7c0fea857dee7d27d5d | |
parent | e1ed778cdc3e45252136cc561e63d7152bb95e71 (diff) | |
parent | 7b88a716bdb83a06e68e6ac8ab4a3648796a0df6 (diff) | |
download | ChibiOS-Contrib-4bb8aeb6f52faa4db6937858d0835c159686622d.tar.gz ChibiOS-Contrib-4bb8aeb6f52faa4db6937858d0835c159686622d.tar.bz2 ChibiOS-Contrib-4bb8aeb6f52faa4db6937858d0835c159686622d.zip |
Merge pull request #181 from kajusK/pinstate
Added ODR setting to mx2board.py
-rwxr-xr-x | tools/mx2board.py | 8 |
1 files changed, 7 insertions, 1 deletions
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 |