Changeset 389


Ignore:
Timestamp:
05/07/12 12:33:56 (8 years ago)
Author:
sc
Message:
  • work underway to shift session data management from Synapse:ThinkGear:Protocol to Synapse:Session
Location:
trunk/Puzzlebox/Synapse
Files:
7 edited

Legend:

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

    r375 r389  
    77 
    88__changelog__ = """\ 
    9 Last Update: 2012.03.30 
     9Last Update: 2012.05.06 
    1010""" 
    1111 
    12 import os, sys 
     12import os, sys,time 
    1313#import signal 
    1414import simplejson as json 
     
    229229        def processPacketEEG(self, packet): 
    230230                 
     231                # ThinkGear Connect server does not provide a timestamp in its JSON protocol 
     232                if ('timpstamp' not in packet.keys()): 
     233                        #print packet 
     234                        packet['timestamp'] = time.time() 
     235                        #print packet 
     236                 
    231237                if ('isAuthorized' in packet.keys()): 
    232238                        self.isAuthorized = packet['isAuthorized'] 
  • trunk/Puzzlebox/Synapse/Configuration.py

    r385 r389  
    88 
    99__changelog__ = """\ 
    10 Last Update: 2012.04.08 
     10Last Update: 2012.05.05 
    1111""" 
    1212 
     
    151151 
    152152THINKGEAR_CONFIGURATION_PARAMETERS = {"enableRawOutput": False, "format": "Json"} 
     153#THINKGEAR_CONFIGURATION_PARAMETERS = {"enableRawOutput": True, "format": "Json"} 
    153154 
    154155ENABLE_THINKGEAR_AUTHORIZATION = False 
  • trunk/Puzzlebox/Synapse/Device.py

    r378 r389  
    77 
    88__changelog__ = """\ 
    9 Last Update: 2012.04.01 
     9Last Update: 2012.04.23 
    1010""" 
    1111 
     
    149149                                        devices.append(portname) 
    150150                 
     151                 
     152                elif (sys.platform == 'darwin'): 
     153                   
     154                  for device in os.listdir('/dev'): 
     155                         if (device.startswith('tty.MindWaveMobile') or \ 
     156                             device.startswith('tty.MindWave')): 
     157                                          
     158                                         devices.append( os.path.join('/dev', device)) 
     159                         
     160                         
     161                  # Handle MindSet separately so it shows up second in listings 
     162                  for device in os.listdir('/dev'): 
     163                         if (device.startswith('tty.MindSet')): 
     164                                          
     165                                         devices.append( os.path.join('/dev', device)) 
     166                 
    151167                else: 
    152168                         
    153                          
    154                         if os.path.exists('/dev/tty.MindWaveMobile-SPPDev'): 
    155                                 devices.append('/dev/tty.MindWaveMobile-SPPDev') 
    156                          
    157                         if os.path.exists('/dev/tty.MindWave'): 
    158                                 devices.append('/dev/tty.MindWave') 
    159                         if os.path.exists('/dev/tty.MindWave1'): 
    160                                 devices.append('/dev/tty.MindWave1') 
    161                         if os.path.exists('/dev/tty.MindWave2'): 
    162                                 devices.append('/dev/tty.MindWave2') 
    163                         if os.path.exists('/dev/tty.MindWave3'): 
    164                                 devices.append('/dev/tty.MindWave3') 
    165                         if os.path.exists('/dev/tty.MindWave4'): 
    166                                 devices.append('/dev/tty.MindWave4') 
    167                         if os.path.exists('/dev/tty.MindWave5'): 
    168                                 devices.append('/dev/tty.MindWave5') 
    169                          
    170                         if os.path.exists('/dev/tty.MindSet-DevB'): 
    171                                 devices.append('/dev/tty.MindSet-DevB') 
    172                          
    173                         if os.path.exists('/dev/ttyUSB0'): 
    174                                 devices.append('/dev/ttyUSB0') 
    175                         if os.path.exists('/dev/ttyUSB1'): 
    176                                 devices.append('/dev/ttyUSB1') 
    177                         if os.path.exists('/dev/ttyUSB2'): 
    178                                 devices.append('/dev/ttyUSB2') 
    179                         if os.path.exists('/dev/ttyUSB3'): 
    180                                 devices.append('/dev/ttyUSB3') 
    181                         if os.path.exists('/dev/ttyUSB4'): 
    182                                 devices.append('/dev/ttyUSB4') 
    183                         if os.path.exists('/dev/ttyUSB5'): 
    184                                 devices.append('/dev/ttyUSB5') 
    185                         if os.path.exists('/dev/ttyUSB6'): 
    186                                 devices.append('/dev/ttyUSB6') 
    187                         if os.path.exists('/dev/ttyUSB7'): 
    188                                 devices.append('/dev/ttyUSB7') 
    189                         if os.path.exists('/dev/ttyUSB8'): 
    190                                 devices.append('/dev/ttyUSB8') 
    191                         if os.path.exists('/dev/ttyUSB9'): 
    192                                 devices.append('/dev/ttyUSB9') 
    193                          
    194                         if os.path.exists('/dev/rfcomm0'): 
    195                                 devices.append('/dev/rfcomm0') 
    196                         if os.path.exists('/dev/rfcomm1'): 
    197                                 devices.append('/dev/rfcomm1') 
    198                         if os.path.exists('/dev/rfcomm2'): 
    199                                 devices.append('/dev/rfcomm2') 
    200                         if os.path.exists('/dev/rfcomm3'): 
    201                                 devices.append('/dev/rfcomm3') 
    202                         if os.path.exists('/dev/rfcomm4'): 
    203                                 devices.append('/dev/rfcomm4') 
    204                          
    205                         if os.path.exists('/dev/ttyACM0'): 
    206                                 devices.append('/dev/ttyACM0') 
    207                         if os.path.exists('/dev/ttyACM1'): 
    208                                 devices.append('/dev/ttyACM1') 
    209                         if os.path.exists('/dev/ttyACM2'): 
    210                                 devices.append('/dev/ttyACM2') 
    211                         if os.path.exists('/dev/ttyACM3'): 
    212                                 devices.append('/dev/ttyACM3') 
    213                         if os.path.exists('/dev/ttyACM4'): 
    214                                 devices.append('/dev/ttyACM4') 
     169                        #if os.path.exists('/dev/tty.MindWaveMobile-SPPDev'): 
     170                                #devices.append('/dev/tty.MindWaveMobile-SPPDev') 
     171                        #if os.path.exists('/dev/tty.MindWaveMobile-DevA'): 
     172                                #devices.append('/dev/tty.MindWaveMobile-DevA') 
     173                        #if os.path.exists('/dev/tty.MindWaveMobile-DevB'): 
     174                                #devices.append('/dev/tty.MindWaveMobile-DevB') 
     175                         
     176                        #if os.path.exists('/dev/tty.MindWave'): 
     177                                #devices.append('/dev/tty.MindWave') 
     178                        #if os.path.exists('/dev/tty.MindWave1'): 
     179                                #devices.append('/dev/tty.MindWave1') 
     180                        #if os.path.exists('/dev/tty.MindWave2'): 
     181                                #devices.append('/dev/tty.MindWave2') 
     182                        #if os.path.exists('/dev/tty.MindWave3'): 
     183                                #devices.append('/dev/tty.MindWave3') 
     184                        #if os.path.exists('/dev/tty.MindWave4'): 
     185                                #devices.append('/dev/tty.MindWave4') 
     186                        #if os.path.exists('/dev/tty.MindWave5'): 
     187                                #devices.append('/dev/tty.MindWave5') 
     188                         
     189                        #if os.path.exists('/dev/tty.MindSet-DevB'): 
     190                                #devices.append('/dev/tty.MindSet-DevB') 
     191                         
     192                         
     193                  for device in os.listdir('/dev'): 
     194                         if (device.startswith('ttyUSB') or \ 
     195                             device.startswith('ttyACM') or \ 
     196                             device.startswith('rfcomm')): 
     197                                          
     198                                         devices.append( os.path.join('/dev', device)) 
     199                         
     200                        #if os.path.exists('/dev/ttyUSB0'): 
     201                                #devices.append('/dev/ttyUSB0') 
     202                        #if os.path.exists('/dev/ttyUSB1'): 
     203                                #devices.append('/dev/ttyUSB1') 
     204                        #if os.path.exists('/dev/ttyUSB2'): 
     205                                #devices.append('/dev/ttyUSB2') 
     206                        #if os.path.exists('/dev/ttyUSB3'): 
     207                                #devices.append('/dev/ttyUSB3') 
     208                        #if os.path.exists('/dev/ttyUSB4'): 
     209                                #devices.append('/dev/ttyUSB4') 
     210                        #if os.path.exists('/dev/ttyUSB5'): 
     211                                #devices.append('/dev/ttyUSB5') 
     212                        #if os.path.exists('/dev/ttyUSB6'): 
     213                                #devices.append('/dev/ttyUSB6') 
     214                        #if os.path.exists('/dev/ttyUSB7'): 
     215                                #devices.append('/dev/ttyUSB7') 
     216                        #if os.path.exists('/dev/ttyUSB8'): 
     217                                #devices.append('/dev/ttyUSB8') 
     218                        #if os.path.exists('/dev/ttyUSB9'): 
     219                                #devices.append('/dev/ttyUSB9') 
     220                         
     221                        #if os.path.exists('/dev/rfcomm0'): 
     222                                #devices.append('/dev/rfcomm0') 
     223                        #if os.path.exists('/dev/rfcomm1'): 
     224                                #devices.append('/dev/rfcomm1') 
     225                        #if os.path.exists('/dev/rfcomm2'): 
     226                                #devices.append('/dev/rfcomm2') 
     227                        #if os.path.exists('/dev/rfcomm3'): 
     228                                #devices.append('/dev/rfcomm3') 
     229                        #if os.path.exists('/dev/rfcomm4'): 
     230                                #devices.append('/dev/rfcomm4') 
     231                         
     232                        #if os.path.exists('/dev/ttyACM0'): 
     233                                #devices.append('/dev/ttyACM0') 
     234                        #if os.path.exists('/dev/ttyACM1'): 
     235                                #devices.append('/dev/ttyACM1') 
     236                        #if os.path.exists('/dev/ttyACM2'): 
     237                                #devices.append('/dev/ttyACM2') 
     238                        #if os.path.exists('/dev/ttyACM3'): 
     239                                #devices.append('/dev/ttyACM3') 
     240                        #if os.path.exists('/dev/ttyACM4'): 
     241                                #devices.append('/dev/ttyACM4') 
    215242                 
    216243                 
  • trunk/Puzzlebox/Synapse/Interface.py

    r379 r389  
    139139                #self.emotivClient = None 
    140140                 
     141                self.session_start_timestamp = time.time() 
     142                self.plugin_session = self # for compatability with Puzzlebox Jigsaw 
     143                 
    141144                self.maxEEGPower = THINKGEAR_EMULATION_MAX_EEG_POWER_VALUE 
    142145                 
     
    148151                 
    149152                self.customDataHeaders = [] 
     153                 
     154                #self.session_start_timestamp = time.time() 
     155                #self.packet_count = 0 
     156                #self.bad_packets = 0 
    150157                 
    151158                if UPDATE_INTERFACE_VIA_TIMER: 
  • trunk/Puzzlebox/Synapse/Session.py

    r387 r389  
    152152        def calculateSessionTime(self): 
    153153                 
    154                 #if self.parent == None: 
    155                         #server = self.synapseServer 
    156                 #else: 
    157                         #server = self.parent.synapseServer 
    158                  
    159                 session_time = time.time() - \ 
    160                         self.synapseServer.session_start_timestamp 
    161                         #server.session_start_timestamp 
    162                         #server.protocol.session_start_timestamp 
    163                  
    164                 session_time = int(session_time) 
     154                if self.synapseServer != None: 
     155                        session_time = time.time() - \ 
     156                                        self.synapseServer.session_start_timestamp 
     157                        session_time = int(session_time) 
     158                else: 
     159                        #session_time = int( self.session_start_timestamp ) 
     160                        session_time = int( self.parent.session_start_timestamp ) 
    165161                 
    166162                session_time = self.convert_seconds_to_datetime(session_time) 
     
    361357        def exportDataToCSV(self, parent=None, source=None, target=None): 
    362358                 
    363                 #if parent == None: 
    364                         #if self.parent == None: 
    365                                 #parent = self 
    366                         #else: 
    367                                 #parent = self.parent 
    368                  
    369                 #if source == None: 
    370                         #if self.parent == None: 
    371                                 #source = self 
    372                         #else: 
    373                                 #source = self.parent 
    374                  
    375                 #if target == None: 
    376                         #if self.parent == None: 
    377                                 #target = self 
    378                         #else: 
    379                                 #target = self.parent 
    380                  
    381                 #try: 
    382                         #truncate_csv_timezone = target.configuration.EXPORT_CSV_TRUNCATE_TIMEZONE 
    383                 #except: 
    384                         #truncate_csv_timezone = False 
    385                  
    386                 #try: 
    387                         #scrub_data = target.configuration.EXPORT_CSV_SCRUB_DATA 
    388                 #except: 
    389                         #scrub_data = False 
    390                  
    391359                output = '' 
    392360                 
     
    395363                        output = self.synapseServer.exportDataToCSV(parent=parent, source=source, target=target) 
    396364                 
     365                else: 
     366                         
     367                        if self.DEBUG: 
     368                                print "ERROR: exportDataToCSV exists in synapseServer object which is not in use" 
    397369                 
    398370                return(output) 
     
    412384                source.packets['signals'] = [] 
    413385                 
    414                 #source.synapseServer.protocol.session_start_timestamp = \ 
    415                         #time.time() 
    416                 self.synapseServer.protocol.resetSessionStartTime() 
    417                  
    418                 source.synapseServer.protocol.packet_count = 0 
    419                 source.synapseServer.protocol.bad_packets = 0 
     386                if self.synapseServer != None: 
     387                        self.synapseServer.protocol.resetSessionStartTime() 
     388                else: 
     389                        self.resetSessionStartTime() 
     390                 
     391                if self.synapseServer != None: 
     392                        source.synapseServer.protocol.packet_count = 0 
     393                        source.synapseServer.protocol.bad_packets = 0 
     394                else: 
     395                        source.packet_count = 0 
     396                        source.bad_packets = 0 
    420397                 
    421398                self.updateProfileSessionStatus() 
     
    429406        ##################################################################### 
    430407         
     408        def resetSessionStartTime(self, source=None): 
     409                 
     410                self.session_start_timestamp = time.time() 
     411                 
     412                 
     413        ##################################################################### 
     414         
    431415        def convert_seconds_to_datetime(self, duration): 
    432416                 
  • trunk/Puzzlebox/Synapse/ThinkGear/Protocol.py

    r364 r389  
    66# For more information please refer to http://www.gnu.org/copyleft/gpl.html 
    77 
    8 __changelog__ = """\ 
    9 Last Update: 2012.03.30 
     8__changelog__ = """ 
     9Last Update: 2012.05.06 
    1010""" 
    1111 
     
    186186                self.data_packet['eSense'] = {} 
    187187                 
    188                 self.packet_count = 0 
    189                 self.bad_packets = 0 
    190                 self.session_start_timestamp = time.time() 
     188                #self.packet_count = 0 
     189                #self.bad_packets = 0 
     190                #self.session_start_timestamp = time.time() 
    191191                 
    192192                self.keep_running = True 
     
    464464                packet_update['timestamp'] = timestamp 
    465465                 
    466                 self.packet_count += 1 
     466                #self.packet_count += 1 
     467                #self.parent.plugin_session.packet_count += 1 
     468                self.parent.incrementPacketCount() 
    467469                 
    468470                if extended_code_level == 0: 
     
    540542                                        print "INFO: ThinkGear Headset Connect Success" 
    541543                                #self.session_start_timestamp = time.time() 
    542                                 self.resetSessionStartTime() 
     544                                self.parent.resetSessionStartTime() 
    543545                                #print "okay" 
    544                                 self.packet_count = 0 
    545                                 self.bad_packets = 0 
     546                                #self.packet_count = 0 
     547                                #self.parent.plugin_session.packet_count = 0 
     548                                self.parent.setPacketCount(0) 
     549                                #self.bad_packets = 0 
     550                                #self.parent.plugin_session.bad_packets = 0 
     551                                self.parent.setBadPackets(0) 
    546552                         
    547553                         
     
    591597                         
    592598                        else: 
    593                                 self.bad_packets += 1 
     599                                #self.bad_packets += 1 
     600                                #self.parent.plugin_session.bad_packets += 1 
     601                                self.parent.incrementBadPackets() 
    594602                                if self.DEBUG: 
    595603                                        print "ERROR: data payload row code not matched:", 
     
    702710                 
    703711                # Loop forever, parsing one Packet per loop... 
    704                 packet_count = 0 
     712                #packet_count = 0 
     713                self.parent.setPacketCount(0) 
    705714                 
    706715                while self.keep_running: 
     
    732741                         
    733742                        if (packet_length > 170): 
    734                                 self.bad_packets += 1 
     743                                #self.bad_packets += 1 
     744                                #self.parent.plugin_session.bad_packets += 1 
     745                                self.parent.incrementBadPackets() 
    735746                                if self.DEBUG: 
    736747                                        print "ERROR: packet length bad" 
     
    772783                        # Verify [CKSUM] byte against calculated [PAYLOAD...] checksum 
    773784                        if packet_checksum != payload_checksum: 
    774                                 self.bad_packets += 1 
     785                                #self.bad_packets += 1 
     786                                #self.parent.plugin_session.bad_packets += 1 
     787                                self.parent.incrementBadPackets() 
     788                                 
    775789                                if self.DEBUG > 1: 
    776790                                        print "ERROR: packet checksum does not match" 
     
    858872                if (self.parent != None): 
    859873                         
    860                         self.parent.updateSessionStartTime(self.session_start_timestamp) 
     874                        #self.parent.updateSessionStartTime(self.session_start_timestamp) 
     875                        self.parent.resetSessionStartTime() 
     876         
     877         
     878        ################################################################## 
     879         
     880        def resetSession(self): 
     881                 
     882                self.parent.setPacketCount(0) 
     883                self.parent.setBadPackets(0) 
     884                #self.session_start_timestamp = time.time() 
     885                #self.parent.setSessionTimestamp( time.time() ) 
     886                #self.parent.resetSessionTimestamp() 
     887                self.parent.resetSessionStartTime() 
    861888         
    862889         
     
    865892        def run(self): 
    866893                 
    867                 self.packet_count = 0 
    868                 self.bad_packets = 0 
    869                 #self.session_start_timestamp = time.time() 
    870                 self.resetSessionStartTime() 
     894                self.resetSession() 
    871895                 
    872896                if self.device != None and self.device.device != None: 
  • trunk/Puzzlebox/Synapse/ThinkGear/Server.py

    r387 r389  
    222222                                parent=self) 
    223223                 
     224                #self.plugin_session = self.parent.plugin_session # for Jigsaw compatability 
     225                 
    224226                self.protocol.start() 
    225227         
     
    472474        def exportDataToCSV(self, parent=None, source=None, target=None): 
    473475                 
     476                # handle importing class from multiple sources 
    474477                if parent == None: 
    475478                        if self.parent == None: 
     
    495498                        truncate_csv_timezone = False 
    496499                 
    497                 try: 
    498                         scrub_data = target.configuration.EXPORT_CSV_SCRUB_DATA 
    499                 except: 
     500                 
     501                if not self.emulate_headset_data: 
     502                        # NOTE: no need to scrub emulated data 
     503                        try: 
     504                                scrub_data = target.configuration.EXPORT_CSV_SCRUB_DATA 
     505                        except: 
     506                                scrub_data = False 
     507                else: 
    500508                        scrub_data = False 
    501                  
    502509                 
    503510                #headers = 'Date,Time' 
     
    748755        ################################################################## 
    749756         
     757        def setPacketCount(self, value): 
     758                 
     759                self.parent.setPacketCount(value) 
     760         
     761         
     762        ################################################################## 
     763         
     764        def setBadPackets(self, value): 
     765                 
     766                self.parent.setBadPackets(value) 
     767         
     768         
     769        ################################################################## 
     770         
     771        def incrementPacketCount(self): 
     772                 
     773                self.parent.incrementPacketCount() 
     774         
     775         
     776        ################################################################## 
     777         
     778        def incrementBadPackets(self): 
     779                 
     780                self.parent.incrementBadPackets() 
     781         
     782         
     783        ################################################################## 
     784         
     785        def resetSessionStartTime(self): 
     786                 
     787                self.parent.resetSessionStartTime() 
     788         
     789         
     790        ################################################################## 
     791         
    750792        #def run(self): 
    751793                 
Note: See TracChangeset for help on using the changeset viewer.