diff --git a/app.py b/app.py index e9907ea..c6e1cb9 100644 --- a/app.py +++ b/app.py @@ -15,26 +15,6 @@ import configparser # TODO Eventuell updatefunktion über git pull mit einbauen! -################################################## -# Config Beginn -# Folgende Strings bitte an jeweiligen PC anpassen -# in folgendem Format: variable = r'C:\Pfad' ("r" vor Pfad nicht vergessen!!!) - -# Hier findet man die Ordner batch, data, icons, parms, prog, tools -pathBci2000 = r'C:\BCI2000\BCI2000 v3.6.beta.R5570\BCI2000.x64' - -# Hier findet man den TactileBCIFilter.exe -pathTactileBciFilter = r'C:\Users\bci\Desktop\Qt Filter Program\build-TactileBCIFilter-Desktop_Qt_5_15_0_MinGW_32_bit-Release\release' - -# Hier findet man die P300Classifier.exe -pathP300Classifier = r'C:\Users\bci\Desktop\Igor\PythonBCIgui_v0.2\bin' - -# TODO Config in txt file verlagern oder sogar Config Einstellung!!! -# tk_chooseDirectory -# tk_getOpenFile -# Config Ende -################################################## - class App: def __init__(self, master): @@ -48,19 +28,18 @@ class App: # global pathSave # pathSave = "\\questions\\" + self.paradigmText # pathSave = os.getcwd() + pathSave - - config = configparser.ConfigParser() - config.read('default.ini') + + config.read('config.ini') # Einstellung der GUI Größe textH = 4 - textHsmall = 4 + textHsmall = 2 textW = 20 def makeBtn(self, text, bg, command, side): self.button = Button(frame, text=text, bg=bg, command=command) self.button.config( height = textH, width = textW ) - self.button['font'] = tkFont.Font(family='Helvetica', size=36, weight='bold') + self.button['font'] = tkFont.Font(family='Helvetica', size=16, weight='bold') self.button.pack(side=side) return self.button @@ -75,13 +54,13 @@ class App: frame.pack() # button generation - self.Bfilter = makeBtnSmall(self, "1. Filter", "lightyellow", self.btn_filter, TOP) - self.BtacCal = makeBtnSmall(self, "2. Kalibrierung", "lightgreen", self.btn_tacCal, TOP) - self.Bp300 = makeBtnSmall(self, "3. P300 Klassifizierung", "orange", self.btn_p300, TOP) - self.BtacCopy = makeBtnSmall(self, "4. Freies Buchstabieren", "lightblue", self.btn_tacCopy, TOP) - self.BtacSimul = makeBtnSmall(self, "5. Rollstuhlsimulator", "pink", self.btn_tacSimul, TOP) + self.Bfilter = makeBtn(self, "1. Filter", "lightyellow", self.btn_filter, TOP) + self.BtacCal = makeBtn(self, "2. Kalibrierung", "lightgreen", self.btn_tacCal, TOP) + self.Bp300 = makeBtn(self, "3. P300 Klassifizierung", "orange", self.btn_p300, TOP) + 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.BtacSettings = makeBtnSmall(self, "Einstellungen", "gray", self.btn_settings, TOP) + self.BtacConfig = makeBtnSmall(self, "Einstellungen", "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 @@ -91,38 +70,38 @@ class App: # 1. FILTER ################################## def btn_filter(self): print('Starte TactileBCIFilter.exe') - subprocess.Popen(pathTactileBciFilter + '\TactileBCIFilter.exe') + subprocess.Popen(config['PATH']['TactileBCIFilter'] + '\TactileBCIFilter.exe') # 2. KALIBIERUNGEN ########################### def btn_tacCal(self): print('starte taktile Kalibrierung') - subprocess.Popen([pathBci2000 + '\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileCalibration.prm']) - subprocess.Popen([pathBci2000 + '\prog\gUSBampSource.exe', '127.0.0.1']) - subprocess.Popen([pathBci2000 + '\prog\P3SignalProcessing.exe', '127.0.0.1']) - subprocess.Popen([pathBci2000 + '\prog\P3Speller.exe', '127.0.0.1']) + 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']) # TODO Lock einführen und bei Returnwert Lock öffnen # 3. P300 Classifier ######################### def btn_p300(self): print('Starte P300Classifier.exe') - subprocess.Popen(pathP300Classifier + '\P300Classifier.exe') + subprocess.Popen(config['PATH']['P300Classifier'] + '\P300Classifier.exe') # 4. COPYSPELL ########################### def btn_tacCopy(self): print('Starte taktilen Copyspeller') - subprocess.Popen([pathBci2000 + '\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileCopy.prm']) - subprocess.Popen([pathBci2000 + '\prog\gUSBampSource.exe', '127.0.0.1']) - subprocess.Popen([pathBci2000 + '\prog\P3SignalProcessing.exe', '127.0.0.1']) - subprocess.Popen([pathBci2000 + '\prog\P3Speller.exe', '127.0.0.1']) + 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']) # 5. WHEELCHAIR SIMULATOR ########################### def btn_tacSimul(self): print('Starte Wheelchair Simulator') # TODO Starte Wheelchair Simulator Programm - subprocess.Popen([pathBci2000 + '\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileDrive.prm']) - subprocess.Popen([pathBci2000 + '\prog\gUSBampSource.exe', '127.0.0.1']) - subprocess.Popen([pathBci2000 + '\prog\P3SignalProcessing.exe', '127.0.0.1']) - subprocess.Popen([pathBci2000 + '\prog\P3Speller.exe', '127.0.0.1']) + # subprocess.Popen([pathBci2000 + '\prog\Operator.exe', '--OnConnect', '-LOAD PARAMETERFILE TactileDrive.prm']) + # subprocess.Popen([pathBci2000 + '\prog\gUSBampSource.exe', '127.0.0.1']) + # subprocess.Popen([pathBci2000 + '\prog\P3SignalProcessing.exe', '127.0.0.1']) + # subprocess.Popen([pathBci2000 + '\prog\P3Speller.exe', '127.0.0.1']) # QUESTIONNAIRE PROMPT ########################### # def btn_visQuest(self): @@ -146,14 +125,16 @@ class App: # q.save() # X. Settings ######################### - def btn_settings(self): + def btn_config(self): print('Einstellungen') + # tk_chooseDirectory + # tk_getOpenFile def global_close(self, window): print('Beenden') window.destroy() - +config = configparser.ConfigParser() root = Tk() def on_closing():