diff options
| author | Ulf Lilleengen <[email protected]> | 2021-05-27 13:25:06 +0200 |
|---|---|---|
| committer | Ulf Lilleengen <[email protected]> | 2021-05-27 13:25:06 +0200 |
| commit | d4dbeb6933537aa5acb0880734fd4f3eaf23cb6a (patch) | |
| tree | 12e5c4155ff25055f79dac9ea77bb0b5dd31528c | |
| parent | f553a102d32ab69fc0d7c5f2673c636b567d82f4 (diff) | |
Handle case where pin value could be 0
In the case where GPIO mapping could look like this:
PA5:
SPI1_SCK: 0
The pin would not get any generated impl because the if expression would evaluate to false. Fix this for all cases in gen.py by comparing against None
~
| -rw-r--r-- | embassy-stm32/gen.py | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/embassy-stm32/gen.py b/embassy-stm32/gen.py index 97beadab2..4343d775c 100644 --- a/embassy-stm32/gen.py +++ b/embassy-stm32/gen.py | |||
| @@ -108,15 +108,15 @@ for chip in chips.values(): | |||
| 108 | f.write(f'impl_usart!({name});') | 108 | f.write(f'impl_usart!({name});') |
| 109 | for pin, funcs in af.items(): | 109 | for pin, funcs in af.items(): |
| 110 | if pin in pins: | 110 | if pin in pins: |
| 111 | if func := funcs.get(f'{name}_RX'): | 111 | if (func := funcs.get(f'{name}_RX')) != None: |
| 112 | f.write(f'impl_usart_pin!({name}, RxPin, {pin}, {func});') | 112 | f.write(f'impl_usart_pin!({name}, RxPin, {pin}, {func});') |
| 113 | if func := funcs.get(f'{name}_TX'): | 113 | if (func := funcs.get(f'{name}_TX')) != None: |
| 114 | f.write(f'impl_usart_pin!({name}, TxPin, {pin}, {func});') | 114 | f.write(f'impl_usart_pin!({name}, TxPin, {pin}, {func});') |
| 115 | if func := funcs.get(f'{name}_CTS'): | 115 | if (func := funcs.get(f'{name}_CTS')) != None: |
| 116 | f.write(f'impl_usart_pin!({name}, CtsPin, {pin}, {func});') | 116 | f.write(f'impl_usart_pin!({name}, CtsPin, {pin}, {func});') |
| 117 | if func := funcs.get(f'{name}_RTS'): | 117 | if (func := funcs.get(f'{name}_RTS')) != None: |
| 118 | f.write(f'impl_usart_pin!({name}, RtsPin, {pin}, {func});') | 118 | f.write(f'impl_usart_pin!({name}, RtsPin, {pin}, {func});') |
| 119 | if func := funcs.get(f'{name}_CK'): | 119 | if (func := funcs.get(f'{name}_CK')) != None: |
| 120 | f.write(f'impl_usart_pin!({name}, CkPin, {pin}, {func});') | 120 | f.write(f'impl_usart_pin!({name}, CkPin, {pin}, {func});') |
| 121 | 121 | ||
| 122 | if block_mod == 'rng': | 122 | if block_mod == 'rng': |
| @@ -130,11 +130,11 @@ for chip in chips.values(): | |||
| 130 | f.write(f'impl_spi!({name}, {clock});') | 130 | f.write(f'impl_spi!({name}, {clock});') |
| 131 | for pin, funcs in af.items(): | 131 | for pin, funcs in af.items(): |
| 132 | if pin in pins: | 132 | if pin in pins: |
| 133 | if func := funcs.get(f'{name}_SCK'): | 133 | if (func := funcs.get(f'{name}_SCK')) != None: |
| 134 | f.write(f'impl_spi_pin!({name}, SckPin, {pin}, {func});') | 134 | f.write(f'impl_spi_pin!({name}, SckPin, {pin}, {func});') |
| 135 | if func := funcs.get(f'{name}_MOSI'): | 135 | if (func := funcs.get(f'{name}_MOSI')) != None: |
| 136 | f.write(f'impl_spi_pin!({name}, MosiPin, {pin}, {func});') | 136 | f.write(f'impl_spi_pin!({name}, MosiPin, {pin}, {func});') |
| 137 | if func := funcs.get(f'{name}_MISO'): | 137 | if (func := funcs.get(f'{name}_MISO')) != None: |
| 138 | f.write(f'impl_spi_pin!({name}, MisoPin, {pin}, {func});') | 138 | f.write(f'impl_spi_pin!({name}, MisoPin, {pin}, {func});') |
| 139 | 139 | ||
| 140 | if block_mod == 'i2c': | 140 | if block_mod == 'i2c': |
| @@ -174,25 +174,25 @@ for chip in chips.values(): | |||
| 174 | f.write(f'impl_sdmmc!({name});') | 174 | f.write(f'impl_sdmmc!({name});') |
| 175 | for pin, funcs in af.items(): | 175 | for pin, funcs in af.items(): |
| 176 | if pin in pins: | 176 | if pin in pins: |
| 177 | if func := funcs.get(f'{name}_CK'): | 177 | if (func := funcs.get(f'{name}_CK')) != None: |
| 178 | f.write(f'impl_sdmmc_pin!({name}, CkPin, {pin}, {func});') | 178 | f.write(f'impl_sdmmc_pin!({name}, CkPin, {pin}, {func});') |
| 179 | if func := funcs.get(f'{name}_CMD'): | 179 | if (func := funcs.get(f'{name}_CMD')) != None: |
| 180 | f.write(f'impl_sdmmc_pin!({name}, CmdPin, {pin}, {func});') | 180 | f.write(f'impl_sdmmc_pin!({name}, CmdPin, {pin}, {func});') |
| 181 | if func := funcs.get(f'{name}_D0'): | 181 | if (func := funcs.get(f'{name}_D0')) != None: |
| 182 | f.write(f'impl_sdmmc_pin!({name}, D0Pin, {pin}, {func});') | 182 | f.write(f'impl_sdmmc_pin!({name}, D0Pin, {pin}, {func});') |
| 183 | if func := funcs.get(f'{name}_D1'): | 183 | if (func := funcs.get(f'{name}_D1')) != None: |
| 184 | f.write(f'impl_sdmmc_pin!({name}, D1Pin, {pin}, {func});') | 184 | f.write(f'impl_sdmmc_pin!({name}, D1Pin, {pin}, {func});') |
| 185 | if func := funcs.get(f'{name}_D2'): | 185 | if (func := funcs.get(f'{name}_D2')) != None: |
| 186 | f.write(f'impl_sdmmc_pin!({name}, D2Pin, {pin}, {func});') | 186 | f.write(f'impl_sdmmc_pin!({name}, D2Pin, {pin}, {func});') |
| 187 | if func := funcs.get(f'{name}_D3'): | 187 | if (func := funcs.get(f'{name}_D3')) != None: |
| 188 | f.write(f'impl_sdmmc_pin!({name}, D3Pin, {pin}, {func});') | 188 | f.write(f'impl_sdmmc_pin!({name}, D3Pin, {pin}, {func});') |
| 189 | if func := funcs.get(f'{name}_D4'): | 189 | if (func := funcs.get(f'{name}_D4')) != None: |
| 190 | f.write(f'impl_sdmmc_pin!({name}, D4Pin, {pin}, {func});') | 190 | f.write(f'impl_sdmmc_pin!({name}, D4Pin, {pin}, {func});') |
| 191 | if func := funcs.get(f'{name}_D5'): | 191 | if (func := funcs.get(f'{name}_D5')) != None: |
| 192 | f.write(f'impl_sdmmc_pin!({name}, D5Pin, {pin}, {func});') | 192 | f.write(f'impl_sdmmc_pin!({name}, D5Pin, {pin}, {func});') |
| 193 | if func := funcs.get(f'{name}_D6'): | 193 | if (func := funcs.get(f'{name}_D6')) != None: |
| 194 | f.write(f'impl_sdmmc_pin!({name}, D6Pin, {pin}, {func});') | 194 | f.write(f'impl_sdmmc_pin!({name}, D6Pin, {pin}, {func});') |
| 195 | if func := funcs.get(f'{name}_D7'): | 195 | if (func := funcs.get(f'{name}_D7')) != None: |
| 196 | f.write(f'impl_sdmmc_pin!({name}, D7Pin, {pin}, {func});') | 196 | f.write(f'impl_sdmmc_pin!({name}, D7Pin, {pin}, {func});') |
| 197 | 197 | ||
| 198 | if block_name == 'TimGp16': | 198 | if block_name == 'TimGp16': |
