Changeset 326


Ignore:
Timestamp:
03/13/12 08:53:01 (8 years ago)
Author:
sc
Message:

Interface:

  • CSV output order adjusted
File:
1 edited

Legend:

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

    r325 r326  
    11# -*- coding: utf-8 -*- 
    22 
    3 # Copyright Puzzlebox Productions, LLC (2010-2011) 
     3# Copyright Puzzlebox Productions, LLC (2010-2012) 
    44# 
    55# This code is released under the GNU Pulic License (GPL) version 2 
     
    1010 
    1111__changelog__ = """\ 
    12 Last Update: 2012.03.02 
     12Last Update: 2012.03.08 
    1313""" 
    1414 
     
    699699                 
    700700                else: 
     701                         
     702                         
     703                        if os.path.exists('/dev/tty.MindWaveMobile-SPPDev'): 
     704                                devices.append('/dev/tty.MindWaveMobile-SPPDev') 
     705                         
     706                        if os.path.exists('/dev/tty.MindWave'): 
     707                                devices.append('/dev/tty.MindWave') 
     708                        if os.path.exists('/dev/tty.MindWave1'): 
     709                                devices.append('/dev/tty.MindWave1') 
     710                        if os.path.exists('/dev/tty.MindWave2'): 
     711                                devices.append('/dev/tty.MindWave2') 
     712                        if os.path.exists('/dev/tty.MindWave3'): 
     713                                devices.append('/dev/tty.MindWave3') 
     714                        if os.path.exists('/dev/tty.MindWave4'): 
     715                                devices.append('/dev/tty.MindWave4') 
     716                        if os.path.exists('/dev/tty.MindWave5'): 
     717                                devices.append('/dev/tty.MindWave5') 
     718                         
     719                        if os.path.exists('/dev/tty.MindSet-DevB'): 
     720                                devices.append('/dev/tty.MindSet-DevB') 
    701721                         
    702722                        if os.path.exists('/dev/ttyUSB0'): 
     
    731751                        if os.path.exists('/dev/ttyACM4'): 
    732752                                devices.append('/dev/ttyACM4') 
    733                          
    734                         if os.path.exists('/dev/rfcomm0'): 
    735                                 devices.append('/dev/rfcomm0') 
    736                         if os.path.exists('/dev/rfcomm1'): 
    737                                 devices.append('/dev/rfcomm1') 
    738                         if os.path.exists('/dev/rfcomm2'): 
    739                                 devices.append('/dev/rfcomm2') 
    740                         if os.path.exists('/dev/rfcomm3'): 
    741                                 devices.append('/dev/rfcomm3') 
    742                          
    743                         if os.path.exists('/dev/tty.MindSet-DevB'): 
    744                                 devices.append('/dev/tty.MindSet-DevB') 
    745                          
    746                         if os.path.exists('/dev/tty.MindWave'): 
    747                                 devices.append('/dev/tty.MindWave') 
    748                         if os.path.exists('/dev/tty.MindWave1'): 
    749                                 devices.append('/dev/tty.MindWave1') 
    750                         if os.path.exists('/dev/tty.MindWave2'): 
    751                                 devices.append('/dev/tty.MindWave2') 
    752                         if os.path.exists('/dev/tty.MindWave3'): 
    753                                 devices.append('/dev/tty.MindWave3') 
    754                         if os.path.exists('/dev/tty.MindWave4'): 
    755                                 devices.append('/dev/tty.MindWave4') 
    756                         if os.path.exists('/dev/tty.MindWave5'): 
    757                                 devices.append('/dev/tty.MindWave5') 
    758                          
    759                         if os.path.exists('/dev/tty.MindWaveMobile-SPPDev'): 
    760                                 devices.append('/dev/tty.MindWaveMobile-SPPDev') 
    761753                 
    762754                 
     
    785777                                print e 
    786778                        result = '' 
    787  
     779                 
    788780                if result == '': 
    789781                        return([]) # Under OS X hcitool doesn't exist so we don't see any devices 
    790  
     782                 
    791783                for line in result: 
    792784                        line = line.strip() 
     
    911903                #self.pushButtonBluetoothSearch.setText('Searching') 
    912904                 
    913                 if (sys.platform != 'win32'): 
    914                          
    915                         # Bluetooth module doesn't compile properly under WindowsError 
     905                if (sys.platform != 'win32' and sys.platform != 'darwin'): 
     906                         
     907                        # Bluetooth module doesn't compile properly under Windows 
     908                        # and doesn't exist under OS X 
    916909                         
    917910                        bluetooth_devices = [] 
     
    954947                                                print e 
    955948                                         
     949                                         
     950                                        #if (sys.platform != 'darwin'): 
    956951                                        enable_hcitool = True 
    957952                         
     
    10581053        ################################################################## 
    10591054         
    1060         def saveData(self, source=None, target=None, output_file=None): 
     1055        def saveData(self, source=None, target=None, output_file=None, use_default=False): 
    10611056                 
    10621057                if source == None: 
     
    10821077                 
    10831078                if output_file == None: 
    1084                         output_file = QtGui.QFileDialog.getSaveFileName(parent=target, \ 
    1085                                          caption="Save Session Data to File", \ 
    1086                                          dir=default_filename, \ 
    1087                                          filter="Puzzlebox Synapse Data File (*.synapse)") 
    1088                          
    1089                         try: 
    1090                                 output_file = output_file[0] 
    1091                         except: 
    1092                                 output_file = '' 
     1079                         
     1080                        # use_default controls whether or not a file is automatically saves using the 
     1081                        # default name and path (as opposed to raising a GUI file selection menu) 
     1082                        # whenever an explicit filepath is not defined 
     1083                        if use_default: 
     1084                                         
     1085                                        output_file = default_filename 
     1086                         
     1087                        else: 
     1088                         
     1089                                output_file = QtGui.QFileDialog.getSaveFileName(parent=target, \ 
     1090                                                 caption="Save Session Data to File", \ 
     1091                                                 dir=default_filename, \ 
     1092                                                 filter="Puzzlebox Synapse Data File (*.synapse)") 
     1093                                 
     1094                                try: 
     1095                                        output_file = output_file[0] 
     1096                                except: 
     1097                                        output_file = '' 
    10931098                 
    10941099                 
     
    11031108        ################################################################## 
    11041109         
    1105         def exportData(self, parent=None, source=None, target=None, output_file=None): 
     1110        def exportData(self, parent=None, source=None, target=None, output_file=None, use_default=False): 
    11061111                 
    11071112                if parent == None: 
     
    11321137                 
    11331138                if output_file == None: 
    1134                         output_file = QtGui.QFileDialog.getSaveFileName(parent=target, \ 
    1135                                          caption="Export Session Data to File", \ 
    1136                                          dir=default_filename, \ 
    1137                                          filter="CSV File (*.csv);;Text File (*.txt)") 
    1138                  
    1139                         try: 
    1140                                 output_file = output_file[0] 
    1141                         except: 
    1142                                 output_file = '' 
     1139                         
     1140                        # use_default controls whether or not a file is automatically saves using the 
     1141                        # default name and path (as opposed to raising a GUI file selection menu) 
     1142                        # whenever an explicit filepath is not defined 
     1143                        if use_default: 
     1144                                         
     1145                                        output_file = default_filename 
     1146                         
     1147                        else: 
     1148                                output_file = QtGui.QFileDialog.getSaveFileName(parent=target, \ 
     1149                                                 caption="Export Session Data to File", \ 
     1150                                                 dir=default_filename, \ 
     1151                                                 filter="CSV File (*.csv);;Text File (*.txt)") 
     1152                                 
     1153                                try: 
     1154                                        output_file = output_file[0] 
     1155                                except: 
     1156                                        output_file = '' 
    11431157                 
    11441158                 
     
    11581172                        except: 
    11591173                                outputData = self.exportDataToCSV() 
    1160                          
    1161                          
     1174                 
     1175                 
    11621176                file = open(str(output_file), 'w') 
    11631177                file.write(outputData) 
     
    11981212                 
    11991213                 
    1200                 headers = 'Date,Time,Delta,Theta,Low Alpha,High Alpha,Low Beta,High Beta,Low Gamma,Mid Gamma,Attention,Meditation,Signal Level' 
     1214                headers = 'Date,Time,Attention,Meditation,Signal Level,Delta,Theta,Low Alpha,High Alpha,Low Beta,High Beta,Low Gamma,Mid Gamma' 
    12011215                 
    12021216                customDataHeaders = [] 
     
    12291243                                csv[timestamp]['Date'] = date 
    12301244                                csv[timestamp]['Time'] = localtime 
     1245                                csv[timestamp]['Attention'] = '' 
     1246                                csv[timestamp]['Meditation'] = '' 
     1247                                csv[timestamp]['Signal Level'] = '' 
    12311248                                csv[timestamp]['Delta'] = '' 
    12321249                                csv[timestamp]['Theta'] = '' 
     
    12371254                                csv[timestamp]['Low Gamma'] = '' 
    12381255                                csv[timestamp]['Mid Gamma'] = '' 
    1239                                 csv[timestamp]['Attention'] = '' 
    1240                                 csv[timestamp]['Meditation'] = '' 
    1241                                 csv[timestamp]['Signal Level'] = '' 
    12421256                                 
    12431257                                for header in customDataHeaders: 
     
    12921306                              (csv[key]['Date'], \ 
    12931307                               csv[key]['Time'], \ 
     1308                               csv[key]['Attention'], \ 
     1309                               csv[key]['Meditation'], \ 
     1310                               csv[key]['Signal Level'], \ 
    12941311                               csv[key]['Delta'], \ 
    12951312                               csv[key]['Theta'], \ 
     
    12991316                               csv[key]['High Beta'], \ 
    13001317                               csv[key]['Low Gamma'], \ 
    1301                                csv[key]['Mid Gamma'], \ 
    1302                                csv[key]['Attention'], \ 
    1303                                csv[key]['Meditation'], \ 
    1304                                csv[key]['Signal Level']) 
     1318                               csv[key]['Mid Gamma']) 
    13051319                         
    13061320                        for header in customDataHeaders: 
     
    13621376                                 
    13631377                                else: 
    1364  
     1378                                         
    13651379                                        if self.DEBUG > 1: 
    13661380                                                print "time_difference:", 
     
    13721386                                                print "last_recorded_time:", 
    13731387                                                print self.parseTimeStamp(last_recorded_time)[-1].split(' ')[0] 
    1374  
     1388                                         
    13751389                                         
    13761390                                        new_packet = csv[key].copy() 
     
    13801394                                                ##new_time = last_time + 1 
    13811395                                                #new_time = last_recorded_time + 1 
    1382  
     1396                                                 
    13831397                                                count = int(time_difference) 
    13841398                                                while count >= 1: 
Note: See TracChangeset for help on using the changeset viewer.