fix make macro from dump without savedEcus

This commit is contained in:
shrlnm 2023-07-22 09:42:16 +03:00
parent e51f2575fb
commit e24baa15a8
2 changed files with 22 additions and 11 deletions

View File

@ -339,6 +339,16 @@ class DDTECU():
#print et.dump(root)
try:
funcs = root.findall('ns0:Target/ns0:Function', ns)
if funcs:
for fun in funcs:
self.Addr = can.attrib["Address"]
if len(self.Addr):
self.Addr = hex(int(self.Addr))[2:]
except:
self.Addr = None
cans = root.findall('ns0:Target/ns0:CAN', ns) #xdoc.findall("CAN")
if cans:
for can in cans:

View File

@ -730,17 +730,18 @@ class DDTScreen (tk.Frame):
# show confirmation dialog if approve is True
confirmed = True
xText = f'#The macro made by mod_ddt from file {fname}\n\n'
xText += f'$addr = {self.decu.cecu["dst"]}\n\n'
if self.decu.cecu["pin"] == 'can' and self.decu.cecu["brp"] == '0':
xText += f'can500 # init can macro\n\n'
elif self.decu.cecu["pin"] == 'can' and self.decu.cecu["brp"] == '1':
xText += f'can250 # init can macro\n\n'
else:
xText += f'fast # init iso macro\n\n'
xText += f'delay 1\n\n'
xText += f'# open session\n\n'
xText += f'session {self.decu.cecu["startDiagReq"]}\n\n'
xText += f'# configuration\n\n'
if self.decu.cecu != None:
xText += f'$addr = {self.decu.cecu["dst"]}\n\n'
if self.decu.cecu["pin"] == 'can' and self.decu.cecu["brp"] == '0':
xText += f'can500 # init can macro\n\n'
elif self.decu.cecu["pin"] == 'can' and self.decu.cecu["brp"] == '1':
xText += f'can250 # init can macro\n\n'
else:
xText += f'fast # init iso macro\n\n'
xText += f'delay 1\n\n'
xText += f'# open session\n\n'
xText += f'session {self.decu.cecu["startDiagReq"]}\n\n'
xText += f'# configuration\n\n'
for i in conf_1:
xText += f'{i}\n'