Ignore:
Timestamp:
05/11/12 14:07:24 (8 years ago)
Author:
sc
Message:
  • updates for exporting ThinkGear? and Emotiv custom data headers
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Puzzlebox/Synapse/Emotiv/Server.py

    r388 r393  
    77 
    88__changelog__ = """\ 
    9 Last Update: 2012.04.09 
     9Last Update: 2012.05.11 
    1010""" 
    1111 
     
    184184                 
    185185                 
     186                #self.customDataHeaders = 'Time From Start,Headset On,Contact Number Of Quality Channels,Wireless,Expressiv Action,Excitement,Long Term Excitement,Meditation,Frustration,Engagement/Boredom,Cognitiv Action,Cognitiv Action Power' 
     187                self.customDataHeaders = ['Time From Start', \ 
     188                                          'Headset On', \ 
     189                                          'Contact Number Of Quality Channels', \ 
     190                                          'Wireless', \ 
     191                                          'Expressiv Action', \ 
     192                                          'Excitement', \ 
     193                                          'Long Term Excitement', \ 
     194                                          'Meditation', \ 
     195                                          'Frustration', \ 
     196                                          'Engagement/Boredom', \ 
     197                                          'Cognitiv Action', \ 
     198                                          'Cognitiv Action Power', \ 
     199                                         ] 
     200                 
     201                 
    186202                self.configureEEG() 
    187203                 
     
    283299                         
    284300                        if ('excitement' in packet['affectiv'].keys()): 
    285                                 packet['eSense']['attention'] = int(packet['affectiv']['excitement'] * 100) 
     301                                #packet['eSense']['attention'] = int(packet['affectiv']['excitement'] * 100) 
     302                                packet['eSense']['attention'] = int(packet['cognitiv']['currentActionPower'] * 100) 
    286303                        elif ('engagementBoredom' in packet['affectiv'].keys()): 
    287304                                packet['eSense']['attention'] = int(packet['affectiv']['engagementBoredom'] * 100) 
     
    306323                 
    307324                self.configureEEG() 
     325         
     326         
     327        ################################################################## 
     328         
     329        def processPacketForExport(self, packet={}, output={}): 
     330                 
     331                #output['Time From Start'] = '' 
     332                #output['Headset On'] = '' 
     333                #output['Contact Number Of Quality Channels'] = '' 
     334                #output['Wireless'] = '' 
     335                #output['Expressiv Action'] = '' 
     336                #output['Excitement'] = '' 
     337                #output['Long Term Excitement'] = '' 
     338                #output['Meditation'] = '' 
     339                #output['Frustration'] = '' 
     340                #output['Engagement/Boredom'] = '' 
     341                #output['Cognitiv Action'] = '' 
     342                #output['Cognitiv Action Power'] = '' 
     343                 
     344                for header in self.customDataHeaders: 
     345                        output[header] = '' 
     346                 
     347                if self.emulate_thinkgear: 
     348                        output['Attention'] = '' 
     349                        output['Meditation'] = '' 
     350                        output['Signal Level'] = '' 
     351                 
     352                 
     353                if 'emotivStatus' in packet.keys(): 
     354                        if 'timeFromStart' in packet['emotivStatus'].keys(): 
     355                                output['Time From Start'] = packet['emotivStatus']['timeFromStart'] 
     356                        if 'headsetOn' in packet['emotivStatus'].keys(): 
     357                                output['Headset On'] = packet['emotivStatus']['headsetOn'] 
     358                        if 'Contact Number Of Quality Channels' in packet['emotivStatus'].keys(): 
     359                                output['Contact Number Of Quality Channels'] = packet['emotivStatus']['contactNumberOfQualityChannels'] 
     360                        if 'Wireless' in packet['emotivStatus'].keys(): 
     361                                output['Wireless'] = packet['emotivStatus']['wireless'] 
     362                 
     363                if 'expressiv' in packet.keys(): 
     364                        if 'currentAction' in packet['expressiv'].keys(): 
     365                                value = packet['expressiv']['currentAction'] 
     366                                if value == 32: 
     367                                        output['Expressiv Action'] = '' 
     368                                else: 
     369                                        output['Expressiv Action'] = packet['expressiv']['currentAction'] 
     370                 
     371                if 'affectiv' in packet.keys(): 
     372                        if 'excitement' in packet['affectiv'].keys(): 
     373                                output['Excitement'] = int(packet['affectiv']['excitement'] * 100) 
     374                        if 'longTermExcitement' in packet['affectiv'].keys(): 
     375                                output['Long Term Excitement'] = int(packet['affectiv']['longTermExcitement'] * 100) 
     376                        if 'meditation' in packet['affectiv'].keys(): 
     377                                output['Meditation'] = int(packet['affectiv']['meditation'] * 100) 
     378                        if 'frustration' in packet['affectiv'].keys(): 
     379                                output['Frustration'] = int(packet['affectiv']['frustration'] * 100) 
     380                        if 'engagementBoredom' in packet['affectiv'].keys(): 
     381                                output['Engagement/Boredom'] = int(packet['affectiv']['engagementBoredom'] * 100) 
     382                 
     383                if 'cognitiv' in packet.keys(): 
     384                        if 'currentAction' in packet['cognitiv'].keys(): 
     385                                output['Cognitiv Action'] = packet['cognitiv']['currentAction'] 
     386                        if 'currentActionPower' in packet['cognitiv'].keys(): 
     387                                output['Cognitiv Action Power'] = int(packet['cognitiv']['currentActionPower'] * 100) 
     388                 
     389                 
     390                if self.emulate_thinkgear: 
     391                        if 'eSense' in packet.keys(): 
     392                                if 'attention' in packet['eSense'].keys(): 
     393                                        output['Attention'] = packet['eSense']['attention'] 
     394                                if 'meditation' in packet['eSense'].keys(): 
     395                                        output['Meditation'] = packet['eSense']['meditation'] 
     396                         
     397                        if 'poorSignalLevel' in packet.keys(): 
     398                                output['Signal Level'] = packet['poorSignalLevel'] 
     399                 
     400                return(output) 
    308401         
    309402         
     
    404497                                        csv[timestamp]['Meditation'] = '' 
    405498                                        csv[timestamp]['Signal Level'] = '' 
    406                                         #csv[timestamp]['Delta'] = '' 
    407                                         #csv[timestamp]['Theta'] = '' 
    408                                         #csv[timestamp]['Low Alpha'] = '' 
    409                                         #csv[timestamp]['High Alpha'] = '' 
    410                                         #csv[timestamp]['Low Beta'] = '' 
    411                                         #csv[timestamp]['High Beta'] = '' 
    412                                         #csv[timestamp]['Low Gamma'] = '' 
    413                                         #csv[timestamp]['Mid Gamma'] = '' 
    414499                                 
    415500                                for header in customDataHeaders: 
     
    463548                                if 'poorSignalLevel' in packet.keys(): 
    464549                                        csv[timestamp]['Signal Level'] = packet['poorSignalLevel'] 
    465                                  
    466                                 #if 'eegPower' in packet.keys(): 
    467                                         #if 'delta' in packet['eegPower'].keys(): 
    468                                                 #csv[timestamp]['Delta'] = packet['eegPower']['delta'] 
    469                                         #if 'theta' in packet['eegPower'].keys(): 
    470                                                 #csv[timestamp]['Theta'] = packet['eegPower']['theta'] 
    471                                         #if 'lowAlpha' in packet['eegPower'].keys(): 
    472                                                 #csv[timestamp]['Low Alpha'] = packet['eegPower']['lowAlpha'] 
    473                                         #if 'highAlpha' in packet['eegPower'].keys(): 
    474                                                 #csv[timestamp]['High Alpha'] = packet['eegPower']['highAlpha'] 
    475                                         #if 'lowBeta' in packet['eegPower'].keys(): 
    476                                                 #csv[timestamp]['Low Beta'] = packet['eegPower']['lowBeta'] 
    477                                         #if 'highBeta' in packet['eegPower'].keys(): 
    478                                                 #csv[timestamp]['High Beta'] = packet['eegPower']['highBeta'] 
    479                                         #if 'lowGamma' in packet['eegPower'].keys(): 
    480                                                 #csv[timestamp]['Low Gamma'] = packet['eegPower']['lowGamma'] 
    481                                         #if 'highGamma' in packet['eegPower'].keys(): 
    482                                                 #csv[timestamp]['Mid Gamma'] = packet['eegPower']['highGamma'] 
    483550                         
    484551                        for header in customDataHeaders: 
     
    516583                         
    517584                        if self.emulate_thinkgear: 
    518                                 #row = '%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s' % \ 
    519585                                row = '%s,%s,%s,%s' % \ 
    520586                                   (row, \ 
     
    522588                                    csv[key]['Meditation'], \ 
    523589                                    csv[key]['Signal Level']) 
    524                                     #csv[key]['Delta'], \ 
    525                                     #csv[key]['Theta'], \ 
    526                                     #csv[key]['Low Alpha'], \ 
    527                                     #csv[key]['High Alpha'], \ 
    528                                     #csv[key]['Low Beta'], \ 
    529                                     #csv[key]['High Beta'], \ 
    530                                     #csv[key]['Low Gamma'], \ 
    531                                     #csv[key]['Mid Gamma']) 
    532590                         
    533591                        for header in customDataHeaders: 
Note: See TracChangeset for help on using the changeset viewer.