Ignore:
Timestamp:
07/11/10 02:29:30 (11 years ago)
Author:
sc
Message:

remote_control/puzzlebox_brainstorms_client_interface_design.py:

  • concentration/relaxation/speed enable buttons working

remote_control/puzzlebox_brainstorms_network_client.py:

  • LEGO Mindstorms NXT status label bugfix

remote_control/puzzlebox_brainstorms_client_interface.py:

  • concentration/relaxation/speed enable buttons working
  • exit dialog added
  • driving motors stopped when client disconnected

remote_control/puzzlebox_brainstorms_client_interface_network.py:

  • client instantiation bugfix

remote_control/puzzlebox_brainstorms_client_interface_local.py:

  • connection to local server instance added

remote_control/puzzlebox_brainstorms_network_server.py:

  • local server instance support added
  • debugging output bugfix
File:
1 edited

Legend:

Unmodified
Added
Removed
  • remote_control/puzzlebox_brainstorms_network_server.py

    r108 r109  
    9191                if not result: 
    9292                        if self.DEBUG: 
    93                                 print "ERROR [%s] Unable to start the server:", self.socket.name, 
     93                                print "ERROR [%s] Unable to start the server:" % self.socket.name, 
    9494                                print self.socket.errorString() 
    9595                                 
     
    9999                 
    100100                self.socket.newConnection.connect(self.processConnection) 
     101         
     102         
     103        ################################################################## 
     104         
     105        def processConnection(self): 
     106                 
     107                if self.DEBUG: 
     108                        print "--> [%s]: Client connected" % self.socket.name 
     109                 
     110                clientConnection = self.socket.nextPendingConnection() 
     111                clientConnection.disconnected.connect(clientConnection.deleteLater) 
     112                 
     113                if (self.embedded_mode): 
     114                         
     115                        # Only one client connection to server will work in embedded mode 
     116                        self.clientConnection = clientConnection 
     117                        clientConnection.readyRead.connect(self.processData) 
     118                 
     119                 
     120                else: 
     121                         
     122                        if not clientConnection.waitForReadyRead(CLIENT_NO_REPLY_WAIT): 
     123                                if self.DEBUG: 
     124                                        print "WARNING [%s] Timeout waiting for client to transmit data" % \ 
     125                                                self.socket.name 
     126                                        #print "State:", 
     127                                        #print clientConnection.state() 
     128                                clientConnection.disconnectFromHost() 
     129                                return 
     130                         
     131                         
     132                        self.processData(clientConnection) 
     133                         
     134                        #clientConnection.disconnectFromHost() 
    101135         
    102136         
     
    141175        ################################################################## 
    142176         
    143         def processConnection(self): 
    144                  
    145                 if self.DEBUG: 
    146                         print "--> [%s]: Client connected" % self.socket.name 
    147                  
    148                 clientConnection = self.socket.nextPendingConnection() 
    149                 clientConnection.disconnected.connect(clientConnection.deleteLater) 
    150                  
    151                 if (self.embedded_mode): 
    152                          
    153                         # Only one client connection to server will work in embedded mode 
    154                         self.clientConnection = clientConnection 
    155                         clientConnection.readyRead.connect(self.processData) 
    156                  
    157                  
    158                 else: 
    159                          
    160                         if not clientConnection.waitForReadyRead(CLIENT_NO_REPLY_WAIT): 
    161                                 if self.DEBUG: 
    162                                         print "WARNING [%s] Timeout waiting for client to transmit data" % \ 
    163                                                 self.socket.name 
    164                                         #print "State:", 
    165                                         #print clientConnection.state() 
    166                                 clientConnection.disconnectFromHost() 
    167                                 return 
    168                          
    169                          
    170                         self.processData(clientConnection) 
    171                          
    172                         clientConnection.disconnectFromHost() 
    173          
    174          
    175         ################################################################## 
    176          
    177177        def processCommand(self, data): 
    178178                 
     
    192192                                        bluetooth_device = data['bluetooth_device'] 
    193193                                else: 
    194                                         bluetooth_device == BLUETOOTH_DEVICE 
     194                                        bluetooth_device = BLUETOOTH_DEVICE 
    195195                                 
    196196                                self.rc = remote_control.puzzlebox_brainstorms_remote_control( \ 
     
    216216        ################################################################## 
    217217         
    218         def executeCommand(self, command): 
     218        def executeCommand(self, command, bluetooth_device=BLUETOOTH_DEVICE): 
    219219                 
    220220                #command_line = 'python puzzlebox_brainstorms_remote_control.py --command=%s' % command 
     
    225225                 
    226226                rc = remote_control.puzzlebox_brainstorms_remote_control( \ 
    227                         device=BLUETOOTH_DEVICE, \ 
     227                        device=bluetooth_device, \ 
    228228                        command=command, \ 
    229229                        DEBUG=DEBUG) 
Note: See TracChangeset for help on using the changeset viewer.