Changeset 193 for trunk/synapse


Ignore:
Timestamp:
09/22/10 13:04:40 (11 years ago)
Author:
sc
Message:

trunk/synapse/Puzzlebox/Synapse/Interface.py:

  • saveData completed
  • exportData completed
  • resetData completed
  • collectData added
  • updateProfileSessionStatus added
  • calculateSessionTime added

trunk/synapse/Puzzlebox/Synapse/Protocol.py:

  • whitespace cleanup

trunk/synapse/Puzzlebox/Synapse/Server.py:

  • whitespace cleanup
Location:
trunk/synapse/Puzzlebox/Synapse
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/synapse/Puzzlebox/Synapse/Interface.py

    r192 r193  
    4848        print "Using PySide module" 
    4949 
     50try: 
     51        import cPickle as pickle 
     52except: 
     53        import pickle 
     54 
    5055# from puzzlebox_synapse_interface_design import Ui_Form 
    5156from Interface_Design import Ui_Form as Design 
     
    107112                 
    108113                self.debug_console_buffer = '' 
     114                 
     115                self.packets = {} 
     116                self.packets['rawEeg'] = [] 
     117                self.packets['signals'] = [] 
    109118                 
    110119                if UPDATE_INTERFACE_VIA_TIMER: 
     
    359368                        self.updateInterfaceTimer.stop() 
    360369                else: 
    361                         try: 
    362                                 self.thinkgearConnectClient.disconnectFromHost() 
    363                         except Exception, e: 
     370                        try: 
     371                                self.thinkgearConnectClient.disconnectFromHost() 
     372                        except Exception, e: 
    364373                                if self.DEBUG: 
    365374                                        print "Call failed to self.thinkgearConnectClient.disconnectFromHost():", 
    366375                                        print e 
    367  
    368                 try: 
    369                         self.thinkGearConnectServer.exitThread() 
    370                 except Exception, e: 
    371                         if self.DEBUG: 
    372                                 print "Call failed to self.thinkGearConnectServer.exitThread():", 
    373                                 print e 
     376                         
     377                        try: 
     378                                self.thinkGearConnectServer.exitThread() 
     379                        except Exception, e: 
     380                                if self.DEBUG: 
     381                                        print "Call failed to self.thinkGearConnectServer.exitThread():", 
     382                                        print e 
    374383                 
    375384                self.disconnect(self.pushButtonThinkGearConnect, \ 
    376                                      QtCore.SIGNAL("clicked()"), \ 
    377                                      self.stopThinkGearConnectServer) 
     385                                QtCore.SIGNAL("clicked()"), \ 
     386                                self.stopThinkGearConnectServer) 
    378387                 
    379388                self.connect(self.pushButtonThinkGearConnect, \ 
     
    388397                #self.pushButtonBluetoothSearch.setEnabled(True) 
    389398                self.pushButtonBluetoothConnect.setEnabled(True) 
    390  
     399                 
    391400                self.pushButtonThinkGearConnect.setChecked(False) 
    392401         
     
    410419                 
    411420                if ('rawEeg' in packet.keys()): 
     421                        self.packets['rawEeg'].append(packet['rawEeg']) 
    412422                        value = packet['rawEeg'] 
    413423                        if MATPLOTLIB_AVAILABLE and \ 
    414424                                (self.tabWidget.currentIndex() == \ 
    415                                         self.tabWidget.indexOf(self.tabEEGSignals)): 
     425                                 self.tabWidget.indexOf(self.tabEEGSignals)): 
    416426                                self.rawEEGMatplot.update_figure(value) 
     427                else: 
     428                        self.packets['signals'].append(packet) 
    417429                 
    418430                 
     
    422434                        self.textEditDebugConsole.append("") 
    423435                        self.textEditDebugConsole.append("poorSignalLevel: %i" % \ 
    424                                                               packet['poorSignalLevel']) 
     436                                                         packet['poorSignalLevel']) 
    425437                 
    426438                 
     
    517529                     self.tabWidget.indexOf(self.tabControlPanel))): 
    518530                         
    519                         session_time = time.time() - \ 
    520                                 self.thinkGearConnectServer.protocol.session_start_timestamp 
    521                          
    522                         session_time = int(session_time) 
    523                          
    524                         session_time = self.convert_seconds_to_datetime(session_time) 
    525                          
    526                         self.textLabelSessionTime.setText(session_time) 
    527                          
    528                         self.textLabelPacketsReceived.setText( "%i" % \ 
    529                                 self.thinkGearConnectServer.protocol.packet_count) 
    530                         self.textLabelPacketsDropped.setText( "%i" % \ 
    531                                 self.thinkGearConnectServer.protocol.bad_packets) 
     531                        self.updateProfileSessionStatus() 
     532         
     533         
     534        ################################################################## 
     535         
     536        def updateProfileSessionStatus(self): 
     537                 
     538                session_time = self.calculateSessionTime() 
     539                 
     540                self.textLabelSessionTime.setText(session_time) 
     541                 
     542                self.textLabelPacketsReceived.setText( "%i" % \ 
     543                        self.thinkGearConnectServer.protocol.packet_count) 
     544                self.textLabelPacketsDropped.setText( "%i" % \ 
     545                        self.thinkGearConnectServer.protocol.bad_packets) 
     546         
     547         
     548        ################################################################## 
     549         
     550        def calculateSessionTime(self): 
     551                 
     552                session_time = time.time() - \ 
     553                        self.thinkGearConnectServer.protocol.session_start_timestamp 
     554                 
     555                session_time = int(session_time) 
     556                 
     557                session_time = self.convert_seconds_to_datetime(session_time) 
     558                 
     559                return(session_time) 
    532560         
    533561         
     
    641669        ################################################################## 
    642670         
     671        def collectData(self): 
     672                 
     673                data = {} 
     674                 
     675                data['rawEeg'] = self.packets['rawEeg'] 
     676                data['signals'] = self.packets['signals'] 
     677                 
     678                data['sessionTime'] = self.calculateSessionTime() 
     679                 
     680                data['profileName'] = str(self.lineEditSessionProfile.text()) 
     681                 
     682                return(data) 
     683         
     684         
     685        ################################################################## 
     686         
    643687        def saveData(self): 
    644688                 
    645                 pass 
     689                data = self.collectData() 
     690                 
     691                #output_file = 'data.synapse' 
     692                 
     693                output_file = QtGui.QFileDialog.getSaveFileName(self, \ 
     694                                 "Save Synapse Data File", \ 
     695                                 "", \ 
     696                                 "Synapse Data File (*.synapse)") 
     697                 
     698                 
     699                file = open(output_file, 'w') 
     700                pickle.dump(data, file) 
     701                file.close() 
    646702         
    647703         
     
    650706        def exportData(self): 
    651707                 
    652                 pass 
     708                textOutput = self.textEditDebugConsole.toPlainText() 
     709                 
     710                #output_file = 'text.synapse' 
     711                 
     712                output_file = QtGui.QFileDialog.getSaveFileName(self, \ 
     713                                 "Export Synapse Data to File", \ 
     714                                 "", \ 
     715                                 "Text File (*.txt)") 
     716                 
     717                file = open(output_file, 'w') 
     718                file.write(textOutput) 
     719                file.close() 
    653720         
    654721         
     
    657724        def resetData(self): 
    658725                 
    659                 pass 
     726                self.packets['rawEeg'] = [] 
     727                self.packets['signals'] = [] 
     728                 
     729                self.thinkGearConnectServer.protocol.session_start_timestamp = \ 
     730                        time.time() 
     731                 
     732                self.thinkGearConnectServer.protocol.packet_count = 0 
     733                self.thinkGearConnectServer.protocol.bad_packets = 0 
     734                 
     735                self.updateProfileSessionStatus() 
     736                 
     737                self.textEditDebugConsole.setText("") 
    660738         
    661739         
  • trunk/synapse/Puzzlebox/Synapse/Protocol.py

    r192 r193  
    976976 
    977977class serialWrapper(serial.Serial): 
    978  
     978         
    979979        #__init__(port=None, baudrate=9600, bytesize=EIGHTBITS, parity=PARITY_NONE, stopbits=STOPBITS_ONE, timeout=None, xonxoff=False, rtscts=False, writeTimeout=None, dsrdtr=False, interCharTimeout=None) 
    980  
     980         
    981981        def recv(self, size=1): 
    982  
     982                 
    983983                return(self.read(size)) 
    984984 
  • trunk/synapse/Puzzlebox/Synapse/Server.py

    r189 r193  
    228228                 
    229229                if not result: 
    230                         try: 
    231                                 QtGui.QMessageBox.information( \ 
    232                                         self.parent, \ 
    233                                         self.socket.name, \ 
    234                                         "Unable to start the server on %s:%i" % \ 
    235                                         (self.server_interface, self.server_port)) 
    236                         except: 
     230                        try: 
     231                                QtGui.QMessageBox.information( \ 
     232                                self.parent, \ 
     233                                self.socket.name, \ 
     234                                "Unable to start the server on %s:%i" % \ 
     235                                (self.server_interface, self.server_port)) 
     236                        except: 
    237237                                pass 
    238238                         
     
    240240                                print "ERROR [%s] Unable to start the server:" % self.socket.name, 
    241241                                print self.socket.errorString() 
    242  
    243                         #self.parent.stopThinkGearConnectServer() 
    244                         #self.parent.pushButtonThinkGearConnect.nextCheckState() 
     242                         
     243                        #self.parent.stopThinkGearConnectServer() 
     244                        #self.parent.pushButtonThinkGearConnect.nextCheckState() 
    245245                        #self.parent.pushButtonThinkGearConnect.toggle() 
    246246                        #self.parent.pushButtonThinkGearConnect.test.emit(QtCore.SIGNAL("clicked()")) 
Note: See TracChangeset for help on using the changeset viewer.