Changeset 368


Ignore:
Timestamp:
03/31/12 03:05:11 (8 years ago)
Author:
sc
Message:
  • Support for Emotiv EPOC added to Puzzlebox Synapse
  • Support for emulating ThinkGear? Connect packets using data from Emotiv
Location:
trunk
Files:
4 edited

Legend:

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

    r362 r368  
    132132 
    133133##################################################################### 
    134 # Server configuration 
     134# Synapse Server configuration 
    135135##################################################################### 
    136136 
     
    198198 
    199199##################################################################### 
     200# Emotiv configuration 
     201##################################################################### 
     202 
     203EMULATE_THINKGEAR_FOR_EMOTIV = True 
     204 
     205 
     206##################################################################### 
    200207# Flash socket policy handling 
    201208##################################################################### 
  • trunk/Puzzlebox/Synapse/Emotiv/Server.py

    r366 r368  
    5959DEFAULT_DEVICE_MODEL = 'Emotiv EPOC' 
    6060#THINKGEAR_DEVICE_SERIAL_PORT = configuration.THINKGEAR_DEVICE_SERIAL_PORT 
     61 
     62EMULATE_THINKGEAR_FOR_EMOTIV = configuration.EMULATE_THINKGEAR_FOR_EMOTIV 
    6163 
    6264CLIENT_NO_REPLY_WAIT = configuration.CLIENT_NO_REPLY_WAIT * 1000 
     
    242244                if self.DEBUG > 2: 
    243245                        print packet 
     246                         
     247                 
     248                if EMULATE_THINKGEAR_FOR_EMOTIV: 
     249                        packet = self.emulateThinkGear(packet) 
     250                 
    244251                 
    245252                if (packet != {}): 
     
    254261                                if (self.parent != None): 
    255262                                        self.parent.processPacketEmotiv(packet) 
    256  
     263         
     264         
     265        ################################################################## 
     266         
     267        def emulateThinkGear(self, packet): 
     268                 
     269                if ('emotivStatus' in packet.keys()): 
     270                         
     271                        if ('contactNumberOfQualityChannels' in packet['emotivStatus']): 
     272                                 
     273                                #poorSignalLevel = packet['emotivStatus']['wireless'] 
     274                                packet['poorSignalLevel'] = \ 
     275                                   (packet['emotivStatus']['contactNumberOfQualityChannels'] / 18.0) * 200 
     276                                packet['poorSignalLevel'] = 200 - int(packet['poorSignalLevel']) 
     277                 
     278                 
     279                if ('affectiv' in packet.keys()): 
     280                         
     281                        packet['eSense'] = {} 
     282                         
     283                        if ('excitement' in packet['affectiv'].keys()): 
     284                                packet['eSense']['attention'] = int(packet['affectiv']['excitement'] * 100) 
     285                        elif ('engagementBoredom' in packet['affectiv'].keys()): 
     286                                packet['eSense']['attention'] = int(packet['affectiv']['engagementBoredom'] * 100) 
     287                         
     288                        if ('meditation' in packet['affectiv'].keys()): 
     289                                packet['eSense']['meditation'] = int(packet['affectiv']['meditation'] * 100) 
     290                 
     291                 
     292                return(packet) 
     293         
    257294         
    258295        ################################################################## 
  • trunk/Puzzlebox/Synapse/Interface.py

    r367 r368  
    7979SYNAPSE_SERVER_HOST = configuration.SYNAPSE_SERVER_HOST 
    8080SYNAPSE_SERVER_PORT = configuration.SYNAPSE_SERVER_PORT 
     81 
     82EMULATE_THINKGEAR_FOR_EMOTIV = configuration.EMULATE_THINKGEAR_FOR_EMOTIV 
    8183 
    8284#THINKGEAR_EEG_POWER_BAND_ORDER = configuration.THINKGEAR_EEG_POWER_BAND_ORDER 
     
    778780                         
    779781                        if ('timeFromStart' in packet['emotivStatus']): 
    780                                 self.textEditDebugConsole.append("") 
    781                                 try: 
    782                                         (date, localtime) = self.parseTimeStamp(packet['timestamp']) 
    783                                         self.textEditDebugConsole.append("Timestamp: %s %s" % (date, localtime)) 
    784                                 except: 
    785                                         pass 
     782                                if not configuration.EMULATE_THINKGEAR_FOR_EMOTIV: 
     783                                        self.textEditDebugConsole.append("") 
     784                                        try: 
     785                                                (date, localtime) = self.parseTimeStamp(packet['timestamp']) 
     786                                                self.textEditDebugConsole.append("Timestamp: %s %s" % (date, localtime)) 
     787                                        except: 
     788                                                pass 
    786789                                self.textEditDebugConsole.append("timeFromStart: %f" % \ 
    787790                                                                  packet['emotivStatus']['timeFromStart']) 
  • trunk/puzzlebox_synapse_configuration.ini

    r357 r368  
    6363 
    6464 
     65##################################################################### 
     66# Emotiv configuration 
     67##################################################################### 
     68 
     69EMULATE_THINKGEAR_FOR_EMOTIV = True 
     70 
     71 
Note: See TracChangeset for help on using the changeset viewer.