From a2e6f2f01137b4442dbd2f3e61dc501a740069d9 Mon Sep 17 00:00:00 2001 From: shrlnm Date: Mon, 13 May 2019 20:52:48 +0300 Subject: [PATCH] 9p fix#19 --- pyren/convert_db.py | 5 ++++- pyren/mod_ddt.py | 4 ++-- pyren/mod_ddt_screen.py | 2 +- pyren/mod_elm.py | 23 ++++++++++++++++------- 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/pyren/convert_db.py b/pyren/convert_db.py index 432878a..2948ef9 100755 --- a/pyren/convert_db.py +++ b/pyren/convert_db.py @@ -15,7 +15,10 @@ if __name__ == "__main__": if len (sys.argv) < 2: print "Usage : convert_db.py [path/to/GenAppli]" exit () - + + if not os.path.exists('./cache'): + os.makedirs('./cache') + inputpath = sys.argv[1] ecudir = os.path.join (inputpath, "EcuRenault") vehicledir = os.path.join (inputpath, "Vehicles") diff --git a/pyren/mod_ddt.py b/pyren/mod_ddt.py index a06badc..2ccfad9 100755 --- a/pyren/mod_ddt.py +++ b/pyren/mod_ddt.py @@ -929,7 +929,7 @@ class DDTLauncher(): ''' save responces from all 21xx, 22xxxx commands ''' self.pdlg = tk.Toplevel() - self.pdlg.option_add ('*Dialog.msg.font', 'Courier New 12') + self.pdlg.option_add ('*Dialog.msg.font', 'Courier\ New 12') self.pdlg.geometry("256x100") self.pdlg.title("Saving dump") self.pdlg.configure(background="#d9d9d9") @@ -1135,7 +1135,7 @@ class DDTLauncher(): return self.ecudlg = tk.Toplevel() - self.ecudlg.option_add ('*Dialog.msg.font', 'Courier New 12') + self.ecudlg.option_add ('*Dialog.msg.font', 'Courier\ New 12') #ecudlg.geometry("256x256") self.ecudlg.title("Ecu settings") self.ecudlg.configure(background="#d9d9d9") diff --git a/pyren/mod_ddt_screen.py b/pyren/mod_ddt_screen.py index 482af1c..0e3b281 100755 --- a/pyren/mod_ddt_screen.py +++ b/pyren/mod_ddt_screen.py @@ -183,7 +183,7 @@ class DDTScreen (tk.Frame): else: self.root = tk.Tk() - self.root.option_add ('*Dialog.msg.font', 'Courier New 12') + self.root.option_add ('*Dialog.msg.font', 'Courier\ New 12') # self.root.overrideredirect(True) self.root.geometry ("1024x768") tk.Frame.__init__ (self, self.root) diff --git a/pyren/mod_elm.py b/pyren/mod_elm.py index 0599609..ed79ab4 100755 --- a/pyren/mod_elm.py +++ b/pyren/mod_elm.py @@ -164,7 +164,8 @@ class Port: self.hdr.setblocking (True) except: print " \n\nERROR: Can not connect to WiFi ELM\n\n" - pass + mod_globals.opt_demo = True + sys.exit() elif mod_globals.os == 'android' and portName == 'bt': self.portType = 2 self.droid = android.Android () @@ -511,7 +512,7 @@ class ELM: error_can = 0 response_time = 0 - + buff = "" currentprotocol = "" currentsubprotocol = "" @@ -1499,7 +1500,13 @@ class ELM: Fn = len (raw_command) # Number of frames if Fn > 1 or len(raw_command[0])>15: # set elm timeout to 300ms for first response - self.send_raw('ATST4B') + # corrected timeout RT * 1000ms / 4ms / 2 (on a half of RT) + corr_tout = int( 75 - (self.response_time * 125) ) + if corr_tout > 0x20: + cmdTxt = 'ATST' + hex(corr_tout)[-2:].zfill(2) + self.send_raw(cmdTxt) + else: # it seems too long roundtrip + self.send_raw('ATST20') while Fc < Fn: @@ -1723,13 +1730,15 @@ class ELM: self.error_rx += 1 if "CAN ERROR" in self.buff: self.error_can += 1 - - self.response_time = ((self.response_time * 9) + (tc - tb)) / 10 - + + roundtrip = tc - tb + + self.response_time = ((self.response_time * 9) + roundtrip) / 10 + # save responce to log if self.lf != 0: # tm = str(time.time()) - self.lf.write ("<[" + str (round (tc - tb, 3)) + "]" + self.buff + "\n") + self.lf.write ("<[" + str (round (roundtrip, 3)) + "]" + self.buff + "\n") self.lf.flush () return self.buff