diff --git a/_pyren_launcher.py b/_pyren_launcher.py
index 0adb131..6b544f1 100755
--- a/_pyren_launcher.py
+++ b/_pyren_launcher.py
@@ -25,6 +25,8 @@ try:
except:
import pickle
+csvOptions = ['csv', 'csv_human', 'csv_only']
+
osname = os.name
currenPath = os.path.dirname(os.path.abspath(__file__))
@@ -185,10 +187,12 @@ class settings():
lang = 'RU'
speed = '38400'
logName = 'log.txt'
+ csvOption = 'csv'
log = True
cfc = False
n1c = False
si = False
+ csv = False
dump = True
can2 = False
options = ''
@@ -249,6 +253,8 @@ def run(s, cmd):
sys.argv.append('--n1c')
if s.si:
sys.argv.append('--si')
+ if s.csv:
+ sys.argv.append('--' + s.csvOption)
if s.dump and cmd != 'term':
sys.argv.append('--dump')
if s.can2 and cmd != 'term':
@@ -343,10 +349,7 @@ if osname != 'android':
tkMessageBox.showerror("Error", "UnZip error")
def saveSettings(self):
- if len(self.var_entryPath.get()) > 0:
- self.save.path = self.var_entryPath.get()
- else:
- self.save.path = self.var_path.get()
+ self.save.path = self.var_path.get()
self.save.port = self.var_port.get().split(';')[0]
self.save.lang = self.var_lang.get()
self.save.speed = self.var_speed.get()
@@ -355,6 +358,8 @@ if osname != 'android':
self.save.cfc = self.var_cfc.get()
self.save.n1c = self.var_n1c.get()
self.save.si = self.var_si.get()
+ self.save.csv = self.var_csv.get()
+ self.save.csvOption = self.var_csvOption.get()
self.save.dump = self.var_dump.get()
self.save.can2 = self.var_can2.get()
self.save.options = self.var_otherOptions.get()
@@ -365,13 +370,14 @@ if osname != 'android':
self.var_si.set(self.save.si)
self.var_cfc.set(self.save.cfc)
self.var_n1c.set(self.save.n1c)
+ self.var_csv.set(self.save.csv)
+ self.var_csvOption.set(self.save.csvOption)
self.var_can2.set(self.save.can2)
self.var_dump.set(self.save.dump)
self.var_lang.set(self.save.lang)
self.var_path.set(self.save.path)
self.var_port.set(self.save.port)
self.var_speed.set(self.save.speed)
- self.var_entryPath.set('')
self.var_otherOptions.set(self.save.options)
self.var_log.set(self.save.log)
self.var_logName.set(self.save.logName)
@@ -380,6 +386,7 @@ if osname != 'android':
self.var_langList = getLangList()
self.var_pathList = getPathList()
self.var_portList = getPortList()
+ self.var_csvOptions = csvOptions
if len(self.var_path.get()) == 0:
self.var_path.set(self.var_pathList[0])
@@ -408,6 +415,7 @@ if osname != 'android':
self.var_can2 = tk.BooleanVar()
self.var_dump = tk.BooleanVar()
self.var_log = tk.BooleanVar()
+ self.var_csv = tk.BooleanVar()
self.var_cfc = tk.BooleanVar()
self.var_n1c = tk.BooleanVar()
@@ -422,9 +430,9 @@ if osname != 'android':
self.var_path = tk.StringVar()
self.var_port = tk.StringVar()
self.var_speed = tk.StringVar()
+ self.var_csvOption = tk.StringVar()
self.var_logName = tk.StringVar()
- self.var_entryPath = tk.StringVar()
self.var_otherOptions = tk.StringVar()
self.loadSettings()
@@ -446,7 +454,7 @@ if osname != 'android':
self.root.configure(highlightcolor="black")
self.lPathSelector = tk.LabelFrame(self.root)
- self.lPathSelector.place(relx=0.02, rely=0.0, relheight=0.27, relwidth=0.46)
+ self.lPathSelector.place(relx=0.02, rely=0.0, relheight=0.13, relwidth=0.46)
self.lPathSelector.configure(relief=tk.GROOVE)
self.lPathSelector.configure(foreground="black")
self.lPathSelector.configure(text='''Version''')
@@ -475,16 +483,6 @@ if osname != 'android':
self.lPortSpeed.configure(highlightcolor="black")
self.lPortSpeed.configure(width=220)
- self.lOtherPath = tk.LabelFrame(self.root)
- self.lOtherPath.place(relx=0.04, rely=0.12, relheight=0.13, relwidth=0.42)
- self.lOtherPath.configure(relief=tk.GROOVE)
- self.lOtherPath.configure(foreground="black")
- self.lOtherPath.configure(text='''Other path to script''')
- self.lOtherPath.configure(background="#d9d9d9")
- self.lOtherPath.configure(highlightbackground="#d9d9d9")
- self.lOtherPath.configure(highlightcolor="black")
- self.lOtherPath.configure(width=210)
-
self.lDBLanguage = tk.LabelFrame(self.root)
self.lDBLanguage.place(relx=0.02, rely=0.29, relheight=0.13, relwidth=0.3)
self.lDBLanguage.configure(relief=tk.GROOVE)
@@ -525,8 +523,18 @@ if osname != 'android':
self.lCAN.configure(highlightcolor="black")
self.lCAN.configure(width=230)
+ self.lCSV = tk.LabelFrame(self.root)
+ self.lCSV.place(relx=0.5, rely=0.555, relheight=0.125, relwidth=0.48)
+ self.lCSV.configure(relief=tk.GROOVE)
+ self.lCSV.configure(foreground="black")
+ self.lCSV.configure(text='''Data logging''')
+ self.lCSV.configure(background="#d9d9d9")
+ self.lCSV.configure(highlightbackground="#d9d9d9")
+ self.lCSV.configure(highlightcolor="black")
+ self.lCSV.configure(width=240)
+
self.lKWP = tk.LabelFrame(self.root)
- self.lKWP.place(relx=0.5, rely=0.43, relheight=0.25, relwidth=0.48)
+ self.lKWP.place(relx=0.5, rely=0.43, relheight=0.125, relwidth=0.48)
self.lKWP.configure(relief=tk.GROOVE)
self.lKWP.configure(foreground="black")
self.lKWP.configure(text='''K-Line''')
@@ -554,7 +562,7 @@ if osname != 'android':
self.mN1C.configure(width=40)
self.mSI = tk.Message(self.root)
- self.mSI.place(relx=0.56, rely=0.50, relheight=0.07, relwidth=0.1)
+ self.mSI.place(relx=0.56, rely=0.48, relheight=0.03, relwidth=0.08)
self.mSI.configure(background="#d9d9d9")
self.mSI.configure(foreground="#000000")
self.mSI.configure(highlightbackground="#d9d9d9")
@@ -573,7 +581,7 @@ if osname != 'android':
self.mCAN.configure(width=142)
self.mKWP = tk.Message(self.root)
- self.mKWP.place(relx=0.64, rely=0.48, relheight=0.13, relwidth=0.3)
+ self.mKWP.place(relx=0.64, rely=0.46, relheight=0.08, relwidth=0.3)
self.mKWP.configure(background="#d9d9d9")
self.mKWP.configure(foreground="#000000")
self.mKWP.configure(highlightbackground="#d9d9d9")
@@ -581,18 +589,6 @@ if osname != 'android':
self.mKWP.configure(text='''Try Slow Init before Fast Init. It may helps with old ECUs''')
self.mKWP.configure(width=152)
- self.otherPath = tk.Entry(self.root)
- self.otherPath.place(relx=0.06, rely=0.17, relheight=0.06, relwidth=0.38)
- self.otherPath.configure(background="white")
- self.otherPath.configure(font="TkFixedFont")
- self.otherPath.configure(foreground="#000000")
- self.otherPath.configure(highlightbackground="#d9d9d9")
- self.otherPath.configure(highlightcolor="black")
- self.otherPath.configure(insertbackground="black")
- self.otherPath.configure(selectbackground="#c4c4c4")
- self.otherPath.configure(selectforeground="black")
- self.otherPath.configure(textvariable=self.var_entryPath)
-
self.logName = tk.Entry(self.root)
self.logName.place(relx=0.42, rely=0.33, relheight=0.06, relwidth=0.26)
self.logName.configure(background="white")
@@ -642,7 +638,7 @@ if osname != 'android':
# self.cbN1C.configure(variable=self.che44)
self.cbSI = tk.Checkbutton(self.lKWP)
- self.cbSI.place(relx=0.04, rely=0.18, relheight=0.29, relwidth=0.13)
+ self.cbSI.place(relx=0.04, rely=0.15, relheight=0.43, relwidth=0.13)
self.cbSI.configure(activebackground="#d9d9d9")
self.cbSI.configure(activeforeground="#000000")
self.cbSI.configure(background="#d9d9d9")
@@ -653,6 +649,17 @@ if osname != 'android':
self.cbSI.configure(variable=self.var_si)
# self.cbSI.configure(variable=self.che45)
+ self.cbCSV = tk.Checkbutton(self.lCSV)
+ self.cbCSV.place(relx=0.05, rely=0.2, relheight=0.4, relwidth=0.1)
+ self.cbCSV.configure(activebackground="#d9d9d9")
+ self.cbCSV.configure(activeforeground="#000000")
+ self.cbCSV.configure(background="#d9d9d9")
+ self.cbCSV.configure(foreground="#000000")
+ self.cbCSV.configure(highlightbackground="#d9d9d9")
+ self.cbCSV.configure(highlightcolor="black")
+ self.cbCSV.configure(justify=tk.LEFT)
+ self.cbCSV.configure(variable=self.var_csv)
+
self.lDump = tk.LabelFrame(self.root)
self.lDump.place(relx=0.72, rely=0.29, relheight=0.13, relwidth=0.12)
self.lDump.configure(relief=tk.GROOVE)
@@ -820,6 +827,12 @@ if osname != 'android':
self.speedList.configure(textvariable=self.var_speed)
self.speedList.configure(takefocus="")
+ self.csvList = ttk.Combobox(self.root)
+ self.csvList.place(relx=0.60, rely=0.60, relheight=0.06, relwidth=0.35)
+ self.csvList.configure(values=self.var_csvOptions)
+ self.csvList.configure(textvariable=self.var_csvOption)
+ self.csvList.configure(takefocus="")
+
self.langList = ttk.Combobox(self.root)
self.langList.place(relx=0.04, rely=0.33, relheight=0.06, relwidth=0.25)
self.langList.configure(values=self.var_langList)
@@ -848,6 +861,7 @@ else:
save = None
pl = []
ll = []
+ csvl = []
def cmd_Mon(self):
self.saveSettings()
@@ -891,6 +905,7 @@ else:
def saveSettings(self):
self.save.path = self.pl[int(self.droid.fullQueryDetail("sp_version").result['selectedItemPosition'])]
self.save.lang = self.ll[int(self.droid.fullQueryDetail("sp_language").result['selectedItemPosition'])]
+ self.save.csvOption = self.csvl[int(self.droid.fullQueryDetail("sp_csv").result['selectedItemPosition'])]
if self.droid.fullQueryDetail("rb_bt").result['checked'] == 'false':
self.save.port = self.droid.fullQueryDetail("in_wifi").result['text']
@@ -921,6 +936,11 @@ else:
else:
self.save.si = True
+ if self.droid.fullQueryDetail("cb_csv").result['checked'] == 'false':
+ self.save.csv = False
+ else:
+ self.save.csv = True
+
if self.droid.fullQueryDetail("cb_dump").result['checked'] == 'false':
self.save.dump = False
else:
@@ -947,6 +967,11 @@ else:
self.droid.fullSetList("sp_language", ll)
self.ll = ll
+ csvl = csvOptions
+ if self.save.csvOption in csvl: csvl.insert(0, csvl.pop(csvl.index(self.save.csvOption)))
+ self.droid.fullSetList("sp_csv", csvl)
+ self.csvl = csvl
+
if self.save.port == '':
self.save.port = "192.168.0.10:35000"
if self.save.port.lower() == 'bt':
@@ -979,6 +1004,11 @@ else:
else:
self.droid.fullSetProperty("cb_si", "checked", "false")
+ if self.save.csv:
+ self.droid.fullSetProperty("cb_csv", "checked", "true")
+ else:
+ self.droid.fullSetProperty("cb_csv", "checked", "false")
+
if self.save.dump:
self.droid.fullSetProperty("cb_dump", "checked", "true")
else:
@@ -1089,18 +1119,38 @@ else:
android:layout_toRightOf="@+id/cb_log"
android:ems="10"
android:text="log.txt" />
+
+
+