From e8711ad7f94672c5958de7504e487961c596b6c0 Mon Sep 17 00:00:00 2001 From: bci Date: Fri, 4 Sep 2020 15:59:50 +0200 Subject: [PATCH] Add FilePicker for config.ini --- app.py | 32 ++++++++++++++++++-------------- config.ini | 6 +++--- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/app.py b/app.py index c6e1cb9..8610db1 100644 --- a/app.py +++ b/app.py @@ -60,7 +60,7 @@ class App: self.BtacCopy = makeBtn(self, "4. Freies Buchstabieren", "lightblue", self.btn_tacCopy, TOP) self.BtacSimul = makeBtn(self, "5. Rollstuhlsimulator", "pink", self.btn_tacSimul, TOP) # self.BtacQuest = makeBtnSmall(self, "6. Fragebogen", "green", self.btn_tacQuest, TOP) - self.BtacConfig = makeBtnSmall(self, "Einstellungen", "gray", self.btn_config, TOP) + self.BtacConfig = makeBtnSmall(self, "Konfiguration", "gray", self.btn_config, TOP) frame.rowconfigure((0,1), weight=1) # make buttons stretch when frame.columnconfigure((0,2), weight=1) # when window is resized @@ -70,29 +70,29 @@ class App: # 1. FILTER ################################## def btn_filter(self): print('Starte TactileBCIFilter.exe') - subprocess.Popen(config['PATH']['TactileBCIFilter'] + '\TactileBCIFilter.exe') + subprocess.Popen(config['PATH']['tactilebcifilter'] + '\TactileBCIFilter.exe') # 2. KALIBIERUNGEN ########################### def btn_tacCal(self): print('starte taktile Kalibrierung') - subprocess.Popen([config['PATH']['BCI2000'] + '\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileCalibration.prm']) - subprocess.Popen([config['PATH']['BCI2000'] + '\prog\gUSBampSource.exe', '127.0.0.1']) - subprocess.Popen([config['PATH']['BCI2000'] + '\prog\P3SignalProcessing.exe', '127.0.0.1']) - subprocess.Popen([config['PATH']['BCI2000'] + '\prog\P3Speller.exe', '127.0.0.1']) + subprocess.Popen([config['PATH']['bci2000'] + r'\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileCalibration.prm']) + subprocess.Popen([config['PATH']['bci2000'] + r'\prog\gUSBampSource.exe', '127.0.0.1']) + subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3SignalProcessing.exe', '127.0.0.1']) + subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3Speller.exe', '127.0.0.1']) # TODO Lock einführen und bei Returnwert Lock öffnen # 3. P300 Classifier ######################### def btn_p300(self): print('Starte P300Classifier.exe') - subprocess.Popen(config['PATH']['P300Classifier'] + '\P300Classifier.exe') + subprocess.Popen(config['PATH']['bci2000'] + r'\tools\P300Classifier\P300Classifier.exe') # 4. COPYSPELL ########################### def btn_tacCopy(self): print('Starte taktilen Copyspeller') - subprocess.Popen([config['PATH']['BCI2000'] + '\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileCopy.prm']) - subprocess.Popen([config['PATH']['BCI2000'] + '\prog\gUSBampSource.exe', '127.0.0.1']) - subprocess.Popen([config['PATH']['BCI2000'] + '\prog\P3SignalProcessing.exe', '127.0.0.1']) - subprocess.Popen([config['PATH']['BCI2000'] + '\prog\P3Speller.exe', '127.0.0.1']) + subprocess.Popen([config['PATH']['bci2000'] + r'\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileCopy.prm']) + subprocess.Popen([config['PATH']['bci2000'] + r'\prog\gUSBampSource.exe', '127.0.0.1']) + subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3SignalProcessing.exe', '127.0.0.1']) + subprocess.Popen([config['PATH']['bci2000'] + r'\prog\P3Speller.exe', '127.0.0.1']) # 5. WHEELCHAIR SIMULATOR ########################### def btn_tacSimul(self): @@ -126,9 +126,13 @@ class App: # X. Settings ######################### def btn_config(self): - print('Einstellungen') - # tk_chooseDirectory - # tk_getOpenFile + print('Konfiguration') + messagebox.showinfo('Konfiguration', 'Bitte wählen Sie nun den BCI2000 Ordner aus, in dem sich die Ordner "batch", "data", "icons", "parms", "prog" und "tools" befinden.') + config['PATH']['bci2000'] = filedialog.askdirectory() + messagebox.showinfo('Konfiguration', 'Bitte wählen Sie nun den Ordner aus, in dem sich die TactileBCIfilter.exe befindet.') + config['PATH']['tactilebcifilter'] = filedialog.askdirectory() + config.write(open('config.ini','w')) + # TODO Catch errors falls falsche Ordner gewählt wurden def global_close(self, window): print('Beenden') diff --git a/config.ini b/config.ini index 6d0f5e3..75c935d 100644 --- a/config.ini +++ b/config.ini @@ -1,4 +1,4 @@ [PATH] -BCI2000 = C:\BCI2000\BCI2000 v3.6.beta.R5570\BCI2000.x64 -TactileBCIFilter = C:\Users\bci\Desktop\Qt Filter Program\build-TactileBCIFilter-Desktop_Qt_5_15_0_MinGW_32_bit-Release\release -P300Classifier = C:\Users\bci\Desktop\Igor\PythonBCIgui_v0.2\bin \ No newline at end of file +bci2000 = C:/BCI2000/BCI2000 v3.6.beta.R5570/BCI2000.x64 +tactilebcifilter = C:/Users/bci/Desktop/Qt Filter Program/build-TactileBCIFilter-Desktop_Qt_5_15_0_MinGW_32_bit-Release/release +