Ignore:
Timestamp:
04/02/12 04:48:07 (8 years ago)
Author:
sc
Message:
  • cleanup of Session breakout
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Puzzlebox/Synapse/Session.py

    r370 r371  
    3535 
    3636 
    37 #try: 
    38         #from Interface_Plot import * 
    39         #MATPLOTLIB_AVAILABLE = True 
    40 #except Exception, e: 
    41         #print "ERROR: Exception importing Interface_Plot:", 
    42         #print e 
    43         #MATPLOTLIB_AVAILABLE = False 
    44  
    45  
    46 #if (sys.platform == 'win32'): 
    47         #import _winreg as winreg 
    48         #import itertools 
    49         #import re 
    50         #import serial 
    51         #DEFAULT_IMAGE_PATH = 'images' 
    52 #elif (sys.platform == 'darwin'): 
    53         #DEFAULT_IMAGE_PATH = 'images' 
    54 #else: 
    55         #import bluetooth 
    56         #DEFAULT_IMAGE_PATH = '/usr/share/puzzlebox_synapse/images' 
    57  
    58  
    5937try: 
    6038        import cPickle as pickle 
     
    6240        import pickle 
    6341 
    64 #from Interface_Design import Ui_Form as Design 
    65  
    66 #import Puzzlebox.Synapse.Client as synapse_client 
    67 #import Puzzlebox.Synapse.ThinkGear.Server as thinkgear_server 
    68 #import Puzzlebox.Synapse.Emotiv.Server as emotiv_server 
    69 #import puzzlebox_logger 
    70  
    7142 
    7243##################################################################### 
     
    8354PATH_TO_HCITOOL = '/usr/bin/hcitool' 
    8455 
    85 ##UPDATE_INTERFACE_VIA_TIMER = True # Alternative is to establish a 
    86                                   ### ThinkGear Connect client which 
    87                                   ### updates the interface on demand 
    88                                   ### as packets are received 
    89  
    90 #UPDATE_INTERFACE_VIA_TIMER = False 
    91  
    92 ##INTERFACE_UPDATE_FREQUENCY = (1 / 512) * 1000 # ms (512 Hz) 
    93 #INTERFACE_UPDATE_FREQUENCY = 1000 # ms 
    94  
    95 #INTERFACE_RAW_EEG_UPDATE_FREQUENCY = 512 
    96  
    97 #PACKET_MINIMUM_TIME_DIFFERENCE_THRESHOLD = 0.75 
    98  
    9956 
    10057##################################################################### 
     
    10562         
    10663        def __init__(self, log, \ 
    107                      #server=None, \ 
    10864                     DEBUG=DEBUG, \ 
    10965                     parent=None, \ 
     
    12480                 
    12581                self.name = "Synapse:Session" 
    126                  
    127                 #self.synapseServer = None 
    128                 #self.synapseClient = None 
    129                  
    130                 #self.maxEEGPower = THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE 
    131                  
    132                 #self.debug_console_buffer = '' 
    133                  
    134                 #self.packets = {} 
    135                 #self.packets['rawEeg'] = [] 
    136                 #self.packets['signals'] = [] 
    137                  
    138                 #self.customDataHeaders = [] 
    139                  
    140                 #if UPDATE_INTERFACE_VIA_TIMER: 
    141                         #self.updateInterfaceTimer = QtCore.QTimer() 
    142                         #QtCore.QObject.connect(self.updateInterfaceTimer, \ 
    143                                                     #QtCore.SIGNAL("timeout()"), \ 
    144                                                     #self.updateInterface) 
    14582                 
    14683                 
     
    177114        def configureSettings(self): 
    178115                 
    179                 # Synapse Interface 
    180                 #image_path = "puzzlebox.ico" 
    181                 #if not os.path.exists(image_path): 
    182                         #image_path = os.path.join(DEFAULT_IMAGE_PATH, image_path) 
    183                  
    184                 #if os.path.exists(image_path): 
    185                         #icon = QtGui.QIcon() 
    186                         #icon.addPixmap(QtGui.QPixmap(image_path), \ 
    187                                             #QtGui.QIcon.Normal, \ 
    188                                             #QtGui.QIcon.Off) 
    189                         #self.setWindowIcon(icon) 
    190                  
    191                 #image_path = "puzzlebox_logo.png" 
    192                 #if not os.path.exists(image_path): 
    193                         #image_path = os.path.join(DEFAULT_IMAGE_PATH, image_path) 
    194                 #if os.path.exists(image_path): 
    195                         #self.labelPuzzleboxIcon.setPixmap(QtGui.QPixmap(image_path)) 
    196                  
    197                  
    198                 #if configuration.INTERFACE_TAB_POSITION == 'South': 
    199                         #self.tabWidget.setTabPosition(QtGui.QTabWidget.South) 
    200                 #else: 
    201                         #self.tabWidget.setTabPosition(QtGui.QTabWidget.North) 
    202                  
    203                  
    204                 # EEG Devices 
    205                 #self.updateDevices() 
    206                  
    207                  
    208                 # Connect Server 
    209                 #self.textLabelBluetoothStatus.setText("Status: Disconnected") 
    210                  
    211                 # Display Host for ThinkGear Connect Socket Server 
    212                 #self.lineEditSynapseHost.setText(SYNAPSE_SERVER_HOST) 
    213                  
    214                 # Display Port for ThinkGear Connect Socket Server 
    215                 #self.lineEditSynapsePort.setText('%i' % SYNAPSE_SERVER_PORT) 
    216                  
    217                  
    218                 # ThinkgGear Progress Bars 
    219                 #self.progressBarEEGDelta.setMaximum(THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE) 
    220                 #self.progressBarEEGTheta.setMaximum(THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE) 
    221                 #self.progressBarEEGLowAlpha.setMaximum(THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE) 
    222                 #self.progressBarEEGHighAlpha.setMaximum(THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE) 
    223                 #self.progressBarEEGLowBeta.setMaximum(THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE) 
    224                 #self.progressBarEEGHighBeta.setMaximum(THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE) 
    225                 #self.progressBarEEGLowGamma.setMaximum(THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE) 
    226                 #self.progressBarEEGMidGamma.setMaximum(THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE) 
    227                  
    228                 #self.progressBarAttention.setMaximum(THINKGEAR_EMULATION_MAX_ESENSE_VALUE) 
    229                 #self.progressBarMeditation.setMaximum(THINKGEAR_EMULATION_MAX_ESENSE_VALUE) 
    230                  
    231                 #self.progressBarSignalContactQuality.setMaximum(200) 
    232                  
    233                  
    234                 #if MATPLOTLIB_AVAILABLE: 
    235                         #self.rawEEGMatplot = rawEEGMatplotlibCanvas( \ 
    236                                                 #self.tabEEGSignals, \ 
    237                                                 #width=8, \ 
    238                                                 #height=4, \ 
    239                                                 #dpi=100, \ 
    240                                                 #title='Raw EEG Waves') 
    241                         #self.chartEEGMatplot = chartEEGMatplotlibCanvas( \ 
    242                                                 #self.tabCharts, \ 
    243                                                 #width=8, \ 
    244                                                 #height=4, \ 
    245                                                 #dpi=100, \ 
    246                                                 #title='EEG Brain Signals') 
    247                  
    248                 #else: 
    249                         #self.tabWidget.removeTab(self.tabWidget.indexOf(self.tabEEGSignals)) 
    250                         #self.tabWidget.removeTab(self.tabWidget.indexOf(self.tabCharts)) 
    251                  
    252                  
    253116                pass 
    254117         
     
    258121        def connectWidgets(self): 
    259122                 
    260                 #self.connect(self.comboBoxEEGHeadsetModel, \ 
    261                              #QtCore.SIGNAL("currentIndexChanged(int)"), \ 
    262                              #self.updateDevices) 
    263                  
    264                 #self.connect(self.pushButtonBluetoothSearch, \ 
    265                              #QtCore.SIGNAL("clicked()"), \ 
    266                              #self.updateDevices) 
    267                  
    268                 #self.connect(self.pushButtonSynapseServer, \ 
    269                              #QtCore.SIGNAL("clicked()"), \ 
    270                              #self.startSynapseServer) 
    271                  
    272                 #self.connect(self.pushButtonSave, \ 
    273                              #QtCore.SIGNAL("clicked()"), \ 
    274                              #self.saveData) 
    275                  
    276                 #self.connect(self.pushButtonExport, \ 
    277                              #QtCore.SIGNAL("clicked()"), \ 
    278                              #self.exportData) 
    279                  
    280                 #self.connect(self.pushButtonReset, \ 
    281                              #QtCore.SIGNAL("clicked()"), \ 
    282                              #self.resetData) 
    283                  
    284123                pass 
    285          
    286          
    287         ################################################################## 
    288          
    289         #def startSynapseServer(self): 
    290                  
    291                 #eeg_headset_model = str(self.comboBoxEEGHeadsetModel.currentText()) 
    292                 #device_address = str(self.comboBoxDeviceSelect.currentText()) 
    293                 #server_interface = str(self.lineEditSynapseHost.text()) 
    294                 #server_port = int(self.lineEditSynapsePort.text()) 
    295                  
    296                  
    297                 #if ((eeg_headset_model == 'NeuroSky MindWave Mobile') or \ 
    298                     #(eeg_headset_model == 'NeuroSky MindWave') or \ 
    299                     #(eeg_headset_model == 'NeuroSky MindSet')): 
    300                          
    301                         #self.startThinkGearConnectService() 
    302                  
    303                 #elif (eeg_headset_model == 'Emotiv EPOC'): 
    304                          
    305                         #self.startEmotivService() 
    306                  
    307                  
    308                 #if UPDATE_INTERFACE_VIA_TIMER: 
    309                         #self.updateInterfaceTimer.start(INTERFACE_UPDATE_FREQUENCY) 
    310                  
    311                 #else: 
    312                         #self.synapseClient = \ 
    313                                 #synapse_client.puzzlebox_synapse_client( \ 
    314                                         #self.log, \ 
    315                                         #server_host=server_interface, \ 
    316                                         #server_port=server_port, \ 
    317                                         #DEBUG=0, \ 
    318                                         #parent=self) 
    319                          
    320                         #self.synapseClient.start() 
    321                  
    322                  
    323                 #device_selection = self.comboBoxDeviceSelect.currentText() 
    324                 #self.textLabelBluetoothStatus.setText("Status: Connected") 
    325                 #self.pushButtonBluetoothSearch.setEnabled(False) 
    326                 #self.comboBoxDeviceSelect.setEnabled(False) 
    327                 #self.comboBoxEEGHeadsetModel.setEnabled(False) 
    328                  
    329                 #self.lineEditSynapseHost.setEnabled(False) 
    330                 #self.lineEditSynapsePort.setEnabled(False) 
    331                  
    332                 #self.pushButtonSynapseServer.setText('Stop') 
    333                  
    334                 #self.progressBarEEGDelta.setValue(0) 
    335                 #self.progressBarEEGTheta.setValue(0) 
    336                 #self.progressBarEEGLowAlpha.setValue(0) 
    337                 #self.progressBarEEGHighAlpha.setValue(0) 
    338                 #self.progressBarEEGLowBeta.setValue(0) 
    339                 #self.progressBarEEGHighBeta.setValue(0) 
    340                 #self.progressBarEEGLowGamma.setValue(0) 
    341                 #self.progressBarEEGMidGamma.setValue(0) 
    342                  
    343                 #self.progressBarAttention.setValue(0) 
    344                 #self.progressBarMeditation.setValue(0) 
    345                  
    346                  
    347                 #self.disconnect(self.pushButtonSynapseServer, \ 
    348                                      #QtCore.SIGNAL("clicked()"), \ 
    349                                      #self.startSynapseServer) 
    350                  
    351                 #self.connect(self.pushButtonSynapseServer, \ 
    352                                   #QtCore.SIGNAL("clicked()"), \ 
    353                                   #self.stopSynapseServer) 
    354          
    355          
    356         ################################################################## 
    357          
    358         #def stopSynapseServer(self): 
    359                  
    360                 #eeg_headset_model = str(self.comboBoxEEGHeadsetModel.currentText()) 
    361                 #device_address = str(self.comboBoxDeviceSelect.currentText()) 
    362                  
    363                 #if ((eeg_headset_model == 'NeuroSky MindWave Mobile') or \ 
    364                     #(eeg_headset_model == 'NeuroSky MindWave') or \ 
    365                     #(eeg_headset_model == 'NeuroSky MindSet')): 
    366                          
    367                         #self.stopThinkGearConnectService() 
    368                  
    369                 #elif (eeg_headset_model == 'Emotiv EPOC'): 
    370                          
    371                         #self.stopEmotivService() 
    372                  
    373                  
    374                 #if UPDATE_INTERFACE_VIA_TIMER: 
    375                         #self.updateInterfaceTimer.stop() 
    376                 #else: 
    377                         #try: 
    378                                 #self.synapseClient.exitThread() 
    379                                 ##self.synapseClient.disconnectFromHost() 
    380                         #except Exception, e: 
    381                                 #if self.DEBUG: 
    382                                         #print "Call failed to self.synapseClient.exitThread():", 
    383                                         ##print "Call failed to self.synapseClient.disconnectFromHost():", 
    384                                         #print e 
    385                          
    386                         #try: 
    387                                 #self.synapseServer.exitThread() 
    388                         #except Exception, e: 
    389                                 #if self.DEBUG: 
    390                                         #print "Call failed to self.synapseServer.exitThread():", 
    391                                         #print e 
    392                  
    393                  
    394                 #self.disconnect(self.pushButtonSynapseServer, \ 
    395                                 #QtCore.SIGNAL("clicked()"), \ 
    396                                 #self.stopSynapseServer) 
    397                  
    398                 #self.connect(self.pushButtonSynapseServer, \ 
    399                                   #QtCore.SIGNAL("clicked()"), \ 
    400                                   #self.startSynapseServer) 
    401                  
    402                 #self.lineEditSynapseHost.setEnabled(True) 
    403                 #self.lineEditSynapsePort.setEnabled(True) 
    404                  
    405                 #self.pushButtonSynapseServer.setText('Start') 
    406                  
    407                 #self.pushButtonBluetoothSearch.setEnabled(True) 
    408                  
    409                 #self.pushButtonSynapseServer.setChecked(False) 
    410                  
    411                 #self.textLabelBluetoothStatus.setText("Status: Disconnected") 
    412                  
    413                 #self.pushButtonBluetoothSearch.setEnabled(True) 
    414                  
    415                 #self.comboBoxDeviceSelect.setEnabled(True) 
    416                 #self.comboBoxEEGHeadsetModel.setEnabled(True) 
    417                  
    418                  
    419                 #self.progressBarEEGDelta.setValue(0) 
    420                 #self.progressBarEEGTheta.setValue(0) 
    421                 #self.progressBarEEGLowAlpha.setValue(0) 
    422                 #self.progressBarEEGHighAlpha.setValue(0) 
    423                 #self.progressBarEEGLowBeta.setValue(0) 
    424                 #self.progressBarEEGHighBeta.setValue(0) 
    425                 #self.progressBarEEGLowGamma.setValue(0) 
    426                 #self.progressBarEEGMidGamma.setValue(0) 
    427                  
    428                 #self.progressBarAttention.setValue(0) 
    429                 #self.progressBarMeditation.setValue(0) 
    430                  
    431                 #self.progressBarSignalContactQuality.setValue(0) 
    432                  
    433                 #self.maxEEGPower = THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE 
    434                  
    435                 ## In case the user connects to a MindSet, then disconnects 
    436                 ## and re-connects to a MindSet Emulator, 
    437                 ## we need to reset the max power values 
    438                 #self.progressBarEEGDelta.setMaximum(self.maxEEGPower) 
    439                 #self.progressBarEEGTheta.setMaximum(self.maxEEGPower) 
    440                 #self.progressBarEEGLowAlpha.setMaximum(self.maxEEGPower) 
    441                 #self.progressBarEEGHighAlpha.setMaximum(self.maxEEGPower) 
    442                 #self.progressBarEEGLowBeta.setMaximum(self.maxEEGPower) 
    443                 #self.progressBarEEGHighBeta.setMaximum(self.maxEEGPower) 
    444                 #self.progressBarEEGLowGamma.setMaximum(self.maxEEGPower) 
    445                 #self.progressBarEEGMidGamma.setMaximum(self.maxEEGPower) 
    446          
    447          
    448         ################################################################## 
    449          
    450         #def startThinkGearConnectService(self): 
    451                  
    452                 #eeg_headset_model = str(self.comboBoxEEGHeadsetModel.currentText()) 
    453                 #device_address = str(self.comboBoxDeviceSelect.currentText()) 
    454                 #server_interface = str(self.lineEditSynapseHost.text()) 
    455                 #server_port = int(self.lineEditSynapsePort.text()) 
    456                 #emulate_headset_data = (device_address == 'ThinkGear Emulator') 
    457                  
    458                  
    459                 #self.synapseServer = \ 
    460                         #thinkgear_server.puzzlebox_synapse_server_thinkgear( \ 
    461                                 #self.log, \ 
    462                                 #server_interface=server_interface, \ 
    463                                 #server_port=server_port, \ 
    464                                 #device_model=eeg_headset_model, \ 
    465                                 #device_address=device_address, \ 
    466                                 #emulate_headset_data=emulate_headset_data, \ 
    467                                 #DEBUG=DEBUG, \ 
    468                                 #parent=self) 
    469                  
    470                 #self.synapseServer.start() 
    471          
    472          
    473         ################################################################## 
    474          
    475         #def stopThinkGearConnectService(self): 
    476                  
    477                 #pass 
    478          
    479          
    480         ################################################################## 
    481          
    482         #def startEmotivService(self): 
    483                  
    484                 ##eeg_headset_model = str(self.comboBoxEEGHeadsetModel.currentText()) 
    485                 #device_address = str(self.comboBoxDeviceSelect.currentText()) 
    486                  
    487                 ##server_host = configuration.EMOTIV_SERVER_HOST 
    488                  
    489                 #if device_address == 'Emotiv Control Panel': 
    490                         ##server_port = configuration.EMOTIV_SERVER_PORT_CONTROL_PANEL 
    491                         #device_address = configuration.EMOTIV_SERVER_PORT_CONTROL_PANEL 
    492                 #else: 
    493                         ##server_port = configuration.EMOTIV_SERVER_PORT_EMOCOMPOSER 
    494                         #device_address = configuration.EMOTIV_SERVER_PORT_EMOCOMPOSER 
    495                  
    496                  
    497                 #server_interface = str(self.lineEditSynapseHost.text()) 
    498                 #server_port = int(self.lineEditSynapsePort.text()) 
    499                 #eeg_headset_model = str(self.comboBoxEEGHeadsetModel.currentText()) 
    500                 ##device_address = str(self.comboBoxDeviceSelect.currentText()) 
    501                 #emulate_headset_data = (device_address == 'ThinkGear Emulator') 
    502                  
    503                  
    504                 #self.synapseServer = \ 
    505                         #emotiv_server.puzzlebox_synapse_server_emotiv( \ 
    506                                 #self.log, \ 
    507                                 #server_interface=server_interface, \ 
    508                                 #server_port=server_port, \ 
    509                                 #device_model=eeg_headset_model, \ 
    510                                 #device_address=device_address, \ 
    511                                 #emulate_headset_data=emulate_headset_data, \ 
    512                                 #DEBUG=DEBUG, \ 
    513                                 #parent=self) 
    514                  
    515                 #self.synapseServer.start() 
    516                  
    517                  
    518                 #self.progressBarEEGDelta.setEnabled(False) 
    519                 #self.progressBarEEGTheta.setEnabled(False) 
    520                 #self.progressBarEEGLowAlpha.setEnabled(False) 
    521                 #self.progressBarEEGHighAlpha.setEnabled(False) 
    522                 #self.progressBarEEGLowBeta.setEnabled(False) 
    523                 #self.progressBarEEGHighBeta.setEnabled(False) 
    524                 #self.progressBarEEGLowGamma.setEnabled(False) 
    525                 #self.progressBarEEGMidGamma.setEnabled(False) 
    526                  
    527                 ##self.progressBarAttention.setEnabled(False) 
    528                 ##self.progressBarMeditation.setEnabled(False) 
    529          
    530          
    531         ################################################################## 
    532          
    533         #def stopEmotivService(self): 
    534                  
    535                 ##self.emotivClient.stop() 
    536                  
    537                 #self.progressBarEEGDelta.setEnabled(True) 
    538                 #self.progressBarEEGTheta.setEnabled(True) 
    539                 #self.progressBarEEGLowAlpha.setEnabled(True) 
    540                 #self.progressBarEEGHighAlpha.setEnabled(True) 
    541                 #self.progressBarEEGLowBeta.setEnabled(True) 
    542                 #self.progressBarEEGHighBeta.setEnabled(True) 
    543                 #self.progressBarEEGLowGamma.setEnabled(True) 
    544                 #self.progressBarEEGMidGamma.setEnabled(True) 
    545                  
    546                 ##self.progressBarAttention.setEnabled(True) 
    547                 ##self.progressBarMeditation.setEnabled(True) 
    548          
    549          
    550         ################################################################## 
    551          
    552         #def updateInterface(self): 
    553                  
    554                 #if not self.synapseServer.emulate_headset_data: 
    555                         #self.processPacketThinkGear( \ 
    556                                 #self.synapseServer.protocol.data_packet) 
    557          
    558          
    559         ################################################################## 
    560          
    561         #def processPacket(self, packet): 
    562                  
    563                 #self.processPacketThinkGear(packet) 
    564                 #self.processPacketEmotiv(packet) 
    565                  
    566                  
    567                 ##if ((self.synapseServer.protocol != None) and 
    568                 #if (self.tabWidget.currentIndex() == \ 
    569                     #self.tabWidget.indexOf(self.tabControlPanel)): 
    570                          
    571                         #self.updateProfileSessionStatus() 
    572          
    573          
    574         ################################################################## 
    575          
    576         #def processPacketThinkGear(self, packet): 
    577                  
    578                 ##if self.DEBUG > 2: 
    579                         ##print packet 
    580                  
    581                  
    582                 #if ('rawEeg' in packet.keys()): 
    583                         #self.packets['rawEeg'].append(packet['rawEeg']) 
    584                         #value = packet['rawEeg'] 
    585                         #if MATPLOTLIB_AVAILABLE and \ 
    586                                 #(self.tabWidget.currentIndex() == \ 
    587                                  #self.tabWidget.indexOf(self.tabEEGSignals)): 
    588                                 #self.rawEEGMatplot.update_figure(value) 
    589                         #return 
    590                 #else: 
    591                         #self.packets['signals'].append(packet) 
    592                  
    593                  
    594                 #if ('poorSignalLevel' in packet.keys()): 
    595                         #value = 200 - packet['poorSignalLevel'] 
    596                         #self.progressBarSignalContactQuality.setValue(value) 
    597                         #self.textEditDebugConsole.append("") 
    598                         #try: 
    599                                 #(date, localtime) = self.parseTimeStamp(packet['timestamp']) 
    600                                 #self.textEditDebugConsole.append("Timestamp: %s %s" % (date, localtime)) 
    601                         #except: 
    602                                 #pass 
    603                         #self.textEditDebugConsole.append("poorSignalLevel: %i" % \ 
    604                                                          #packet['poorSignalLevel']) 
    605                  
    606                  
    607                 #if ('eSense' in packet.keys()): 
    608                          
    609                         #if ('attention' in packet['eSense'].keys()): 
    610                                 #value = packet['eSense']['attention'] 
    611                                 #self.progressBarAttention.setValue(value) 
    612                                 #self.textEditDebugConsole.append("eSense attention: %i" % value) 
    613                          
    614                         #if ('meditation' in packet['eSense'].keys()): 
    615                                 #value = packet['eSense']['meditation'] 
    616                                 #self.progressBarMeditation.setValue(value) 
    617                                 #self.textEditDebugConsole.append("eSense meditation: %i" % value) 
    618                          
    619                          
    620                         #if MATPLOTLIB_AVAILABLE: 
    621                                 #self.chartEEGMatplot.update_values('eSense', packet['eSense']) 
    622                                 #if (self.tabWidget.currentIndex() == \ 
    623                                     #self.tabWidget.indexOf(self.tabCharts)): 
    624                                         #self.chartEEGMatplot.update_figure('eSense', packet['eSense']) 
    625                  
    626                  
    627                 #if ('eegPower' in packet.keys()): 
    628                          
    629                         ## If we are not emulating packets we'll set the maximum EEG Power value 
    630                         ## threshold to the default (or maximum value found within this packet) 
    631                         #if not self.synapseServer.emulate_headset_data: 
    632                                 #self.maxEEGPower = THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE 
    633                          
    634                         #for value in packet['eegPower'].keys(): 
    635                                 #if packet['eegPower'][value] > self.maxEEGPower: 
    636                                         #self.maxEEGPower = packet['eegPower'][value] 
    637                          
    638                          
    639                         #if ('delta' in packet['eegPower'].keys()): 
    640                                 #value = packet['eegPower']['delta'] 
    641                                 #self.progressBarEEGDelta.setMaximum(self.maxEEGPower) 
    642                                 #self.progressBarEEGDelta.setValue(value) 
    643                                 #self.textEditDebugConsole.append("delta: %i" % value) 
    644                          
    645                         #if ('theta' in packet['eegPower'].keys()): 
    646                                 #value = packet['eegPower']['theta'] 
    647                                 #self.progressBarEEGTheta.setMaximum(self.maxEEGPower) 
    648                                 #self.progressBarEEGTheta.setValue(value) 
    649                                 #self.textEditDebugConsole.append("theta: %i" % value) 
    650                          
    651                         #if ('lowAlpha' in packet['eegPower'].keys()): 
    652                                 #value = packet['eegPower']['lowAlpha'] 
    653                                 #self.progressBarEEGLowAlpha.setMaximum(self.maxEEGPower) 
    654                                 #self.progressBarEEGLowAlpha.setValue(value) 
    655                                 #self.textEditDebugConsole.append("lowAlpha: %i" % value) 
    656                          
    657                         #if ('highAlpha' in packet['eegPower'].keys()): 
    658                                 #value = packet['eegPower']['highAlpha'] 
    659                                 #self.progressBarEEGHighAlpha.setMaximum(self.maxEEGPower) 
    660                                 #self.progressBarEEGHighAlpha.setValue(value) 
    661                                 #self.textEditDebugConsole.append("highAlpha: %i" % value) 
    662                          
    663                         #if ('lowBeta' in packet['eegPower'].keys()): 
    664                                 #value = packet['eegPower']['lowBeta'] 
    665                                 #self.progressBarEEGLowBeta.setMaximum(self.maxEEGPower) 
    666                                 #self.progressBarEEGLowBeta.setValue(value) 
    667                                 #self.textEditDebugConsole.append("lowBeta: %i" % value) 
    668                          
    669                         #if ('highBeta' in packet['eegPower'].keys()): 
    670                                 #value = packet['eegPower']['highBeta'] 
    671                                 #self.progressBarEEGHighBeta.setMaximum(self.maxEEGPower) 
    672                                 #self.progressBarEEGHighBeta.setValue(value) 
    673                                 #self.textEditDebugConsole.append("highBeta: %i" % value) 
    674                          
    675                         #if ('lowGamma' in packet['eegPower'].keys()): 
    676                                 #value = packet['eegPower']['lowGamma'] 
    677                                 #self.progressBarEEGLowGamma.setMaximum(self.maxEEGPower) 
    678                                 #self.progressBarEEGLowGamma.setValue(value) 
    679                                 #self.textEditDebugConsole.append("lowGamma: %i" % value) 
    680                          
    681                         #if ('highGamma' in packet['eegPower'].keys()): 
    682                                 #value = packet['eegPower']['highGamma'] 
    683                                 #self.progressBarEEGMidGamma.setMaximum(self.maxEEGPower) 
    684                                 #self.progressBarEEGMidGamma.setValue(value) 
    685                                 #self.textEditDebugConsole.append("highGamma: %i" % value) 
    686                          
    687                          
    688                         #if MATPLOTLIB_AVAILABLE: 
    689                                 #self.chartEEGMatplot.update_values('eegPower', packet['eegPower']) 
    690                                 #if (self.tabWidget.currentIndex() == \ 
    691                                     #self.tabWidget.indexOf(self.tabCharts)): 
    692                                         #self.chartEEGMatplot.update_figure('eegPower', packet['eegPower']) 
    693                  
    694                  
    695                 ###if ((self.synapseServer.protocol != None) and 
    696                 ##if (self.tabWidget.currentIndex() == \ 
    697                     ##self.tabWidget.indexOf(self.tabControlPanel)): 
    698                          
    699                         ##self.updateProfileSessionStatus() 
    700          
    701          
    702         ################################################################## 
    703          
    704         #def processPacketEmotiv(self, packet): 
    705                  
    706                 #if self.DEBUG > 2: 
    707                         #print "INFO [Synapse:Interface] Emotiv packet received:" 
    708                         #print packet 
    709                  
    710                  
    711                 #if ('emotivStatus' in packet.keys()): 
    712                          
    713                         #if ('timeFromStart' in packet['emotivStatus']): 
    714                                 #if not configuration.EMULATE_THINKGEAR_FOR_EMOTIV: 
    715                                         #self.textEditDebugConsole.append("") 
    716                                         #try: 
    717                                                 #(date, localtime) = self.parseTimeStamp(packet['timestamp']) 
    718                                                 #self.textEditDebugConsole.append("Timestamp: %s %s" % (date, localtime)) 
    719                                         #except: 
    720                                                 #pass 
    721                                 #self.textEditDebugConsole.append("timeFromStart: %f" % \ 
    722                                                                   #packet['emotivStatus']['timeFromStart']) 
    723                          
    724                         #if ('headsetOn' in packet['emotivStatus']): 
    725                                 #self.textEditDebugConsole.append("headsetOn: %s" % \ 
    726                                                                   #bool(packet['emotivStatus']['headsetOn'])) 
    727                          
    728                         #if ('contactNumberOfQualityChannels' in packet['emotivStatus']): 
    729                                 #self.textEditDebugConsole.append("contactNumberOfQualityChannels: %i" % \ 
    730                                                                   #packet['emotivStatus']['contactNumberOfQualityChannels']) 
    731                          
    732                         #if ('wireless' in packet['emotivStatus']): 
    733                                 #self.textEditDebugConsole.append("wireless: %i" % \ 
    734                                                                   #packet['emotivStatus']['wireless']) 
    735                  
    736                  
    737                 #if ('affectiv' in packet.keys()): 
    738                          
    739                         #if ('excitement' in packet['affectiv']): 
    740                                 #self.textEditDebugConsole.append("excitement: %.2f" % \ 
    741                                                                   #packet['affectiv']['excitement']) 
    742                          
    743                         #if ('longTermExcitement' in packet['affectiv']): 
    744                                 #self.textEditDebugConsole.append("longTermExcitement: %.2f" % \ 
    745                                                                   #packet['affectiv']['longTermExcitement']) 
    746                          
    747                         #if ('meditation' in packet['affectiv']): 
    748                                 #self.textEditDebugConsole.append("meditation: %.2f" % \ 
    749                                                                   #packet['affectiv']['meditation']) 
    750                          
    751                         #if ('frustration' in packet['affectiv']): 
    752                                 #self.textEditDebugConsole.append("frustration: %.2f" % \ 
    753                                                                   #packet['affectiv']['frustration']) 
    754                          
    755                         #if ('engagementBoredom' in packet['affectiv']): 
    756                                 #self.textEditDebugConsole.append("engagementBoredom: %.2f" % \ 
    757                                                                   #packet['affectiv']['engagementBoredom']) 
    758                  
    759                  
    760                 #if ('cognitiv' in packet.keys()): 
    761                          
    762                         #if ('currentAction' in packet['cognitiv']): 
    763                                 #self.textEditDebugConsole.append("currentAction: %i" % \ 
    764                                                                   #packet['cognitiv']['currentAction']) 
    765                          
    766                         #if ('currentActionPower' in packet['cognitiv']): 
    767                                 #self.textEditDebugConsole.append("currentActionPower: %.2f" % \ 
    768                                                                   #packet['cognitiv']['currentActionPower']) 
    769124         
    770125         
     
    1172527                 
    1173528                return(devices) 
    1174          
    1175          
    1176         ################################################################## 
    1177          
    1178         #def updateDevices(self): 
    1179                  
    1180                 #if (self.parent != None): 
    1181                         #source = self.parent 
    1182                 #else: 
    1183                         #source = self 
    1184                  
    1185                 #model = source.comboBoxEEGHeadsetModel.currentText() 
    1186                  
    1187                 #devices = self.searchForDevices() 
    1188                  
    1189                 #source.comboBoxDeviceSelect.clear() 
    1190                  
    1191                 #if (model == 'NeuroSky MindWave' or \ 
    1192                     #model == 'NeuroSky MindSet' or \ 
    1193                     #model == 'NeuroSky MindWave Mobile'): 
    1194                          
    1195                         #devices.insert(0, 'ThinkGear Emulator') 
    1196                  
    1197                 #elif (model == 'Emotiv EPOC'): 
    1198                          
    1199                         #devices.insert(0, 'EmoComposer') 
    1200                         #devices.insert(0, 'Emotiv Control Panel') 
    1201                  
    1202                  
    1203                 #for device in devices: 
    1204                         #source.comboBoxDeviceSelect.addItem(device) 
    1205529         
    1206530         
     
    17171041                 
    17181042                return(datetime) 
    1719          
    1720          
    1721         ################################################################## 
    1722          
    1723         def stop(self): 
    1724                  
    1725                 if UPDATE_INTERFACE_VIA_TIMER: 
    1726                         self.updateInterfaceTimer.stop() 
    1727                 else: 
    1728                         #if self.thinkgearConnectClient != None: 
    1729                                 #self.thinkgearConnectClient.exitThread() 
    1730                         #if self.emotivClient != None: 
    1731                                 #self.emotivClient.exitThread() 
    1732                         if self.synapseClient != None: 
    1733                                 self.synapseClient.exitThread() 
    1734                  
    1735                 if self.synapseServer != None: 
    1736                         self.synapseServer.exitThread() 
    1737          
    1738          
    1739         ################################################################## 
    1740          
    1741         def closeEvent(self, event): 
    1742                  
    1743                 quit_message = "Are you sure you want to exit the program?" 
    1744                  
    1745                 reply = QtGui.QMessageBox.question( \ 
    1746                            self, \ 
    1747                           'Message', \ 
    1748                            quit_message, \ 
    1749                            QtGui.QMessageBox.Yes, \ 
    1750                            QtGui.QMessageBox.No) 
    1751                  
    1752                 if reply == QtGui.QMessageBox.Yes: 
    1753                          
    1754                         self.stop() 
    1755                          
    1756                         event.accept() 
    1757                  
    1758                 else: 
    1759                         event.ignore() 
     1043 
Note: See TracChangeset for help on using the changeset viewer.