Add analog pins for all analog peris, not just ADC
This commit is contained in:
parent
8833e7a8df
commit
c34409d6f8
@ -524,7 +524,7 @@ def parse_chips():
|
|||||||
|
|
||||||
chip_af = next(filter(lambda x: x['@Name'] == 'GPIO', chip['ips'].values()))['@Version']
|
chip_af = next(filter(lambda x: x['@Name'] == 'GPIO', chip['ips'].values()))['@Version']
|
||||||
chip_af = removesuffix(chip_af, '_gpio_v1_0')
|
chip_af = removesuffix(chip_af, '_gpio_v1_0')
|
||||||
chip_af = af.get(chip_af)
|
chip_af = af[chip_af]
|
||||||
|
|
||||||
# Analog pins are in the MCU XML, not in the GPIO XML.
|
# Analog pins are in the MCU XML, not in the GPIO XML.
|
||||||
analog_pins = {}
|
analog_pins = {}
|
||||||
@ -532,14 +532,13 @@ def parse_chips():
|
|||||||
for signal in children(pin, 'Signal'):
|
for signal in children(pin, 'Signal'):
|
||||||
if p := parse_signal_name(signal['@Name']):
|
if p := parse_signal_name(signal['@Name']):
|
||||||
peri_name, signal_name = p
|
peri_name, signal_name = p
|
||||||
if not peri_name.startswith('ADC'):
|
if peri_name.startswith('ADC') or peri_name.startswith('DAC') or peri_name.startswith('COMP') or peri_name.startswith('OPAMP'):
|
||||||
continue
|
if peri_name not in analog_pins:
|
||||||
if peri_name not in analog_pins:
|
analog_pins[peri_name] = []
|
||||||
analog_pins[peri_name] = []
|
analog_pins[peri_name].append(OrderedDict({
|
||||||
analog_pins[peri_name].append(OrderedDict({
|
'pin': pin_name,
|
||||||
'pin': pin_name,
|
'signal': signal_name,
|
||||||
'signal': signal_name,
|
}))
|
||||||
}))
|
|
||||||
|
|
||||||
cores = []
|
cores = []
|
||||||
for core_xml in children(chip['xml'], 'Core'):
|
for core_xml in children(chip['xml'], 'Core'):
|
||||||
@ -611,13 +610,10 @@ def parse_chips():
|
|||||||
if block := match_peri(chip_name + ':' + pname + ':' + pkind):
|
if block := match_peri(chip_name + ':' + pname + ':' + pkind):
|
||||||
p['block'] = block
|
p['block'] = block
|
||||||
|
|
||||||
if chip_af is not None:
|
if pins := chip_af.get(pname):
|
||||||
if peri_af := chip_af.get(pname):
|
p['pins'] = pins
|
||||||
p['pins'] = peri_af
|
elif pins := analog_pins.get(pname):
|
||||||
|
p['pins'] = pins
|
||||||
if pname.startswith('ADC'):
|
|
||||||
if pins := analog_pins.get(pname):
|
|
||||||
p['pins'] = pins
|
|
||||||
|
|
||||||
if chip_nvic in chip_interrupts:
|
if chip_nvic in chip_interrupts:
|
||||||
if pname in chip_interrupts[chip_nvic]:
|
if pname in chip_interrupts[chip_nvic]:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user