Changeset 74


Ignore:
Timestamp:
06/29/10 14:11:53 (11 years ago)
Author:
sc
Message:

brainstorms:

  • continued file and class renaming in response to conversions

from PyGame/Twisted? frameworks to Qt

network_client:

  • initial checkin of Qt based Brainstorms client

network_client_thinkgear:

Location:
remote_control
Files:
2 added
5 edited
2 moved

Legend:

Unmodified
Added
Removed
  • remote_control/interface/qt4_form.py

    r69 r74  
    88# WARNING! All changes made in this file will be lost! 
    99 
     10#try: 
     11        ##import PySide as PyQt4 
     12        #from PySide import QtCore, QtGui 
     13#except: 
     14        #print "Using PyQt4 module" 
     15        #from PyQt4 import QtCore, QtGui 
     16#else: 
     17        #print "Using PySide module" 
     18 
    1019from PyQt4 import QtCore, QtGui 
     20#from PySide import QtCore, QtGui 
    1121 
    1222class Ui_Form(object): 
  • remote_control/puzzlebox_brainstorms_client_interface.py

    r73 r74  
    1515import os, sys 
    1616 
    17 try: 
    18         import PySide as PyQT4 
    19 except: 
    20         print "Using PyQt4 module" 
    21 else: 
    22         print "Using PySide module" 
     17#try: 
     18        #from PySide import QtCore, QtGui, QtNetwork 
     19#except: 
     20        #print "Using PyQt4 module" 
     21        #from PyQt4 import QtCore, QtGui, QtNetwork 
     22#else: 
     23        #print "Using PySide module" 
    2324 
    2425from PyQt4 import QtCore, QtGui, QtNetwork 
     26#from PySide import QtCore, QtGui, QtNetwork 
    2527 
    2628sys.path.append(os.path.join(os.getcwd(), "interface")) 
     
    3032 
    3133import puzzlebox_brainstorms_configuration as configuration 
    32 import puzzlebox_brainstorms_client as client 
     34import puzzlebox_brainstorms_network_client as brainstorms_client 
     35import puzzlebox_brainstorms_network_client_thinkgear as thinkgear_client 
    3336#import puzzlebox_logger 
    3437 
     
    3942DEBUG = 1 
    4043 
    41 BRAINSTORMS_SERVER_HOST = configuration.BRAINSTORMS_SERVER_HOST 
    42 BRAINSTORMS_SERVER_PORT = configuration.BRAINSTORMS_SERVER_PORT 
    43  
    44 THINKGEAR_SERVER_HOST = configuration.THINKGEAR_SERVER_HOST 
    45 THINKGEAR_SERVER_PORT = configuration.THINKGEAR_SERVER_PORT 
    46  
    47 THINKGEAR_DELIMITER = configuration.THINKGEAR_DELIMITER 
    48  
    49 THINKGEAR_CONFIGURATION_PARAMETERS = configuration.THINKGEAR_CONFIGURATION_PARAMETERS 
    50  
    5144THINKGEAR_POWER_THRESHOLDS = configuration.THINKGEAR_POWER_THRESHOLDS 
    5245 
     
    5750##################################################################### 
    5851 
    59 class puzzlebox_brainstorms_client_interface( \ 
    60               QtGui.QWidget, Ui_Form, \ 
    61               client.puzzlebox_brainstorms_client): 
     52class puzzlebox_brainstorms_client_interface(QtGui.QWidget, Ui_Form): 
    6253         
    6354        def __init__(self, log, DEBUG=DEBUG, parent = None): 
     
    7061                 
    7162                self.configureSettings() 
     63                self.configureNetwork() 
    7264                self.connectWidgets() 
    73                 self.configureNetwork() 
    7465         
    7566         
     
    131122        ################################################################## 
    132123         
     124        def configureNetwork(self): 
     125                 
     126                self.brainstormsClient = \ 
     127                   brainstorms_client.puzzlebox_brainstorms_network_client(self.log, parent=self) 
     128                 
     129                self.thinkgearClient = \ 
     130                   thinkgear_client.puzzlebox_brainstorms_network_client_thinkgear(self.log, parent=self) 
     131         
     132         
     133        ################################################################## 
     134         
    133135        def connectWidgets(self): 
    134136                 
     
    171173        ################################################################## 
    172174         
    173         def configureNetwork(self): 
    174                  
    175                 #self.blockSize = 0 
    176                 self.brainstormsClientTcpSocket = QtNetwork.QTcpSocket(self) 
    177                 self.brainstormsClientTcpSocket.name = 'Brainstorms Server' 
    178                  
    179                 #self.brainstormsClientTcpSocket.readyRead.connect(self.printReply) 
    180                 self.brainstormsClientTcpSocket.error.connect(self.displayError) 
    181                  
    182                  
    183                 self.thinkgearClientTcpSocket = QtNetwork.QTcpSocket(self) 
    184                 self.thinkgearClientTcpSocket.name = 'ThinkGear Server' 
    185                  
    186                 self.thinkgearClientTcpSocket.readyRead.connect(self.printReply) 
    187                 self.thinkgearClientTcpSocket.error.connect(self.displayError) 
    188                  
    189                 self.sendCommand(THINKGEAR_CONFIGURATION_PARAMETERS, \ 
    190                                  self.thinkgearClientTcpSocket, \ 
    191                                  THINKGEAR_SERVER_HOST, \ 
    192                                  THINKGEAR_SERVER_PORT) 
    193          
    194          
    195         ################################################################## 
    196          
    197         def printReply(self, reply=None): 
    198                  
    199                 socket = self.thinkgearClientTcpSocket 
    200                  
    201                 socket_buffer = socket.readAll() 
    202                  
    203                 for packet in socket_buffer.split(THINKGEAR_DELIMITER): 
    204                          
    205                         if packet != '': 
    206                                  
    207                                 data = json.loads(packet.data()) 
    208                                  
    209                                 if self.DEBUG: 
    210                                         print "<-- [%s] Received:" % socket.name, 
    211                                         print data 
    212                                  
    213                                 self.processPacketThinkGear(data) 
    214          
    215          
    216         ################################################################## 
    217          
    218         def processPacketThinkGear(self, packet): 
    219                  
    220                 if ('eSense' in packet.keys()): 
    221                                  
    222                         if ('attention' in packet['eSense'].keys()): 
    223                                 self.progressBarConcentration.setValue(packet['eSense']['attention']) 
    224                          
    225                         if ('meditation' in packet['eSense'].keys()): 
    226                                 self.progressBarRelaxation.setValue(packet['eSense']['meditation'])                      
    227          
    228          
    229         ################################################################## 
    230          
    231         def displayError(self, socketError): 
    232                  
    233                 if socketError == QtNetwork.QAbstractSocket.RemoteHostClosedError: 
    234                         pass 
    235                  
    236                 elif socketError == QtNetwork.QAbstractSocket.HostNotFoundError: 
    237                         QtGui.QMessageBox.information(self, "Puzzlebox Brainstorms Client", 
    238                                         "The server host was not found. Please check the host name and " 
    239                                         "port settings.") 
    240                  
    241                 elif socketError == QtNetwork.QAbstractSocket.ConnectionRefusedError: 
    242                         QtGui.QMessageBox.information(self, "Puzzlebox Brainstorms Client", 
    243                                         "The server connection was refused by the peer. Make sure the " 
    244                                         "server is running, and check that the host name " 
    245                                         "and port settings are correct.") 
    246                  
    247                 else: 
    248                         QtGui.QMessageBox.information(self, "Puzzlebox Brainstorms Client", 
    249                                         "The following error occurred: %s." % \ 
    250                                            self.brainstormsClientTcpSocket.errorString()) 
    251          
    252          
    253         ################################################################## 
    254          
    255175        def turnLeft(self): 
    256                 self.sendCommand('turn_left', self.brainstormsClientTcpSocket) 
     176                self.brainstormsClient.sendCommand('turn_left') 
    257177         
    258178        def driveForward(self): 
    259                 self.sendCommand('drive_forward', self.brainstormsClientTcpSocket) 
     179                self.brainstormsClient.sendCommand('drive_forward') 
    260180         
    261181        def turnRight(self): 
    262                 self.sendCommand('turn_right', self.brainstormsClientTcpSocket) 
     182                self.brainstormsClient.sendCommand('turn_right') 
    263183         
    264184        def turnLeftInReverse(self): 
    265                 self.sendCommand('turn_left_in_reverse', self.brainstormsClientTcpSocket) 
     185                self.brainstormsClient.sendCommand('turn_left_in_reverse') 
    266186         
    267187        def driveReverse(self): 
    268                 self.sendCommand('drive_reverse', self.brainstormsClientTcpSocket) 
     188                self.brainstormsClient.sendCommand('drive_reverse') 
    269189         
    270190        def turnRightInReverse(self): 
    271                 self.sendCommand('turn_right_in_reverse', self.brainstormsClientTcpSocket) 
     191                self.brainstormsClient.sendCommand('turn_right_in_reverse') 
    272192         
    273193        def stopMotors(self): 
    274                 self.sendCommand('stop_motors', self.brainstormsClientTcpSocket) 
    275          
    276          
    277         ################################################################## 
    278          
    279         def sendCommand(self, \ 
    280                              command, \ 
    281                              socket, \ 
    282                              host=BRAINSTORMS_SERVER_HOST, \ 
    283                              port=BRAINSTORMS_SERVER_PORT): 
    284                  
    285                 if self.DEBUG: 
    286                         print "--> [%s] Sending:" % socket.name, 
    287                         print command 
    288                  
    289                 socket.abort() 
    290                 socket.connectToHost(host, port) 
    291                  
    292                 data = json.dumps(command) 
    293                 socket.write(data) 
     194                self.brainstormsClient.sendCommand('stop_motors') 
    294195         
    295196         
  • remote_control/puzzlebox_brainstorms_client_interface_pygame.py

    r73 r74  
    2323 
    2424import puzzlebox_brainstorms_configuration as configuration 
    25 import puzzlebox_brainstorms_client_twisted as client 
     25import puzzlebox_brainstorms_network_client_twisted as client 
    2626import puzzlebox_brainstorms_client_interface_pygame_component as component 
    2727import puzzlebox_brainstorms_client_interface_pygame_button as interface_button 
     
    6060class puzzlebox_brainstorms_client_interface_pygame( \ 
    6161         component.puzzlebox_brainstorms_client_interface_pygame_component, \ 
    62          client.puzzlebox_brainstorms_client_twisted): 
     62         client.puzzlebox_brainstorms_network_client_twisted): 
    6363         
    6464        def __init__(self, log, \ 
  • remote_control/puzzlebox_brainstorms_client_interface_pygame_local.py

    r73 r74  
    2424import puzzlebox_brainstorms_configuration as configuration 
    2525import puzzlebox_brainstorms_client_interface_pygame as client_interface 
    26 import puzzlebox_brainstorms_server_twisted as server 
     26import puzzlebox_brainstorms_network_server_twisted as server 
    2727#import puzzlebox_logger 
    2828 
     
    9494         
    9595                 
    96         embedded_server = server.puzzlebox_brainstorms_server_twisted(log, DEBUG=DEBUG) 
     96        embedded_server = server.puzzlebox_brainstorms_network_server_twisted(log, DEBUG=DEBUG) 
    9797         
    9898        if DEBUG: 
  • remote_control/puzzlebox_brainstorms_configuration.py

    r73 r74  
    8181# Server configuration 
    8282##################################################################### 
     83 
     84BRAINSTORMS_DELIMITER = '\r' 
    8385 
    8486TWISTED_SERVER_MAX_COMPONENTS = 16 
  • remote_control/puzzlebox_brainstorms_network_client_twisted.py

    r73 r74  
    3838##################################################################### 
    3939 
    40 class puzzlebox_brainstorms_client_twisted: 
     40class puzzlebox_brainstorms_network_client_twisted: 
    4141         
    4242        def __init__(self, log, \ 
     
    5757                         max_connection_attempts=MAX_CONNECTION_ATTEMPTS): 
    5858                 
    59                 factory = puzzlebox_brainstorms_client_twisted_factory(self.log, \ 
     59                factory = puzzlebox_brainstorms_network_client_twisted_factory(self.log, \ 
    6060                                                       command, \ 
    6161                                                       self.server_host, \ 
     
    7373##################################################################### 
    7474 
    75 class puzzlebox_brainstorms_client_twisted_protocol(protocol.Protocol): 
     75class puzzlebox_brainstorms_network_client_twisted_protocol(protocol.Protocol): 
    7676         
    7777        def __init__(self): 
     
    144144##################################################################### 
    145145 
    146 class puzzlebox_brainstorms_client_twisted_factory(protocol.ClientFactory): 
     146class puzzlebox_brainstorms_network_client_twisted_factory(protocol.ClientFactory): 
    147147         
    148148        def __init__(self, log, \ 
     
    163163                 
    164164                self.protocol = \ 
    165                    puzzlebox_brainstorms_client_twisted_protocol 
     165                   puzzlebox_brainstorms_network_client_twisted_protocol 
    166166                 
    167167                self.replyDefer = defer.Deferred() 
     
    209209##################################################################### 
    210210 
    211 class puzzlebox_brainstorms_client_twisted_command_line(puzzlebox_brainstorms_client_twisted): 
     211class puzzlebox_brainstorms_network_client_twisted_command_line( \ 
     212              puzzlebox_brainstorms_network_client_twisted): 
    212213         
    213214        def __init__(self, log, \ 
     
    276277        #log.info("Command parameters: %s" % command_parameters) 
    277278         
    278         client = puzzlebox_brainstorms_client_twisted_command_line(log, \ 
    279                                                            command_parameters, \ 
    280                                                            server_host=SERVER_HOST, \ 
    281                                                            server_port=SERVER_PORT, \ 
    282                                                            DEBUG=DEBUG) 
     279        client = puzzlebox_brainstorms_network_client_twisted_command_line(log, \ 
     280                    command_parameters, \ 
     281                    server_host=SERVER_HOST, \ 
     282                    server_port=SERVER_PORT, \ 
     283                    DEBUG=DEBUG) 
    283284         
    284285        reactor.callWhenRunning(client.execute_command_line) 
  • remote_control/puzzlebox_brainstorms_network_server_twisted.py

    r73 r74  
    4040##################################################################### 
    4141 
    42 class puzzlebox_brainstorms_server_twisted(protocol.ServerFactory): 
     42class puzzlebox_brainstorms_network_server_twisted(protocol.ServerFactory): 
    4343         
    4444        def __init__(self, log, DEBUG=DEBUG): 
     
    4747                self.DEBUG = DEBUG 
    4848                 
    49                 self.protocol = puzzlebox_brainstorms_server_twisted_protocol 
     49                self.protocol = puzzlebox_brainstorms_network_server_twisted_protocol 
    5050         
    5151         
     
    118118##################################################################### 
    119119 
    120 class puzzlebox_brainstorms_server_twisted_protocol(protocol.Protocol): 
     120class puzzlebox_brainstorms_network_server_twisted_protocol(protocol.Protocol): 
    121121         
    122122        def __init__(self): 
     
    188188         
    189189         
    190         server = puzzlebox_brainstorms_server_twisted(log, DEBUG=DEBUG) 
     190        server = puzzlebox_brainstorms_network_server_twisted(log, DEBUG=DEBUG) 
    191191         
    192192        if DEBUG: 
Note: See TracChangeset for help on using the changeset viewer.