aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Lilleengen <[email protected]>2021-05-27 13:25:06 +0200
committerUlf Lilleengen <[email protected]>2021-05-27 13:25:06 +0200
commitd4dbeb6933537aa5acb0880734fd4f3eaf23cb6a (patch)
tree12e5c4155ff25055f79dac9ea77bb0b5dd31528c
parentf553a102d32ab69fc0d7c5f2673c636b567d82f4 (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.py36
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':