Changeset 107


Ignore:
Timestamp:
07/10/10 21:43:38 (11 years ago)
Author:
sc
Message:
  • support for user-configurable NXT bluetooth device port in interface
  • window icon for interface manually set
Location:
remote_control
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • remote_control/puzzlebox_brainstorms_client_interface.py

    r105 r107  
    1616#      to an embedded Brainstorms server 
    1717# - disable autorepeating on shortcut keys 
     18# - update configuration.ini file with settings entered into interface 
    1819##################################################################### 
    1920 
     
    4849THINKGEAR_POWER_THRESHOLDS = configuration.THINKGEAR_POWER_THRESHOLDS 
    4950 
     51BLUETOOTH_DEVICE = configuration.NXT_BLUETOOTH_DEVICE 
     52 
    5053NXT_BLUETOOTH_DEVICE = configuration.NXT_BLUETOOTH_DEVICE 
    5154 
     
    8386                 
    8487                # Brainstorms Interface 
     88                 
     89                icon = QtGui.QIcon() 
     90                icon.addPixmap(QtGui.QPixmap("images/puzzlebox.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off) 
     91                self.setWindowIcon(icon) 
     92                 
    8593                self.pushButtonTurnLeft.setEnabled(False) 
    8694                self.pushButtonForward.setEnabled(False) 
     
    9098                self.pushButtonTurnRightReverse.setEnabled(False) 
    9199                 
     100                 
    92101                # LEGO Mindstorms 
    93102                 
     
    139148        def configureNetworkBrainstorms(self): 
    140149                 
     150                bluetooth_device = self.lineEditNXTPort.text() 
     151                 
    141152                self.brainstormsClient = \ 
    142                    brainstorms_client.puzzlebox_brainstorms_network_client(self.log, parent=self) 
     153                   brainstorms_client.puzzlebox_brainstorms_network_client( \ 
     154                           self.log, \ 
     155                           bluetooth_device=bluetooth_device, \ 
     156                           parent=self) 
     157                 
     158                self.brainstormsClient.sendCommand('connect', \ 
     159                                                   bluetooth_device=bluetooth_device) 
    143160         
    144161         
     
    201218                self.pushButtonNXTConnect.setText('Connect') 
    202219                 
    203                 # LEGO Mindstorms NXT COM port selection not yet available 
    204                 #self.lineEditNXTPort.setEnabled(True) 
     220                self.lineEditNXTPort.setEnabled(True) 
    205221                 
    206222                self.pushButtonTurnLeft.setEnabled(False) 
  • remote_control/puzzlebox_brainstorms_network_client.py

    r99 r107  
    99# For more information please refer to http://www.gnu.org/copyleft/gpl.html 
    1010# 
    11 # Last Update: 2010.07.09 
     11# Last Update: 2010.07.10 
    1212# 
    1313##################################################################### 
     
    3535 
    3636DELIMITER = configuration.BRAINSTORMS_DELIMITER 
     37 
     38BLUETOOTH_DEVICE = configuration.NXT_BLUETOOTH_DEVICE 
    3739 
    3840DEFAULT_NXT_POWER_LEVEL = configuration.DEFAULT_NXT_POWER_LEVEL 
     
    4850                          server_host=SERVER_HOST, \ 
    4951                          server_port=SERVER_PORT, \ 
     52                          bluetooth_device=BLUETOOTH_DEVICE, \ 
    5053                          DEBUG=DEBUG, \ 
    5154                          parent=None): 
     
    142145        ################################################################## 
    143146         
    144         def sendCommand(self, command, power=DEFAULT_NXT_POWER_LEVEL): 
     147        def sendCommand(self, command, power=DEFAULT_NXT_POWER_LEVEL, bluetooth_device=None): 
    145148                 
    146149                packet = {} 
    147150                packet['command'] = command 
    148151                packet['power'] = power 
     152                 
     153                if bluetooth_device != None: 
     154                        packet['bluetooth_device'] = str(bluetooth_device) 
    149155                 
    150156                if self.DEBUG: 
  • remote_control/puzzlebox_brainstorms_network_server.py

    r102 r107  
    99# For more information please refer to http://www.gnu.org/copyleft/gpl.html 
    1010# 
    11 # Last Update: 2010.07.09 
     11# Last Update: 2010.07.10 
    1212# 
    1313##################################################################### 
     
    6464                self.configureNetwork() 
    6565                 
    66                 self.rc = remote_control.puzzlebox_brainstorms_remote_control( \ 
    67                             device=BLUETOOTH_DEVICE, \ 
    68                             DEBUG=DEBUG) 
     66                self.rc = None 
     67                 
     68                #self.rc = remote_control.puzzlebox_brainstorms_remote_control( \ 
     69                            #device=BLUETOOTH_DEVICE, \ 
     70                            #DEBUG=DEBUG) 
    6971         
    7072         
     
    170172        def processCommand(self, data): 
    171173                 
    172                 #response = '%s command received' % command 
    173174                response = {} 
    174175                 
     
    178179                         
    179180                         
    180                 elif self.rc.connection != None: 
    181                          
    182                         self.rc.run(data['command'], data['power']) 
    183                         response['status'] = self.rc.get_battery_voltage(self.rc.connection) 
    184                          
    185181                else: 
    186182                         
    187                         response = {} 
    188                         response['status'] = 'LEGO NXT N/A' 
     183                        if (self.rc == None): 
     184                                 
     185                                if ('bluetooth_device' in data.keys()): 
     186                                        bluetooth_device = data['bluetooth_device'] 
     187                                else: 
     188                                        bluetooth_device == BLUETOOTH_DEVICE 
     189                                 
     190                                self.rc = remote_control.puzzlebox_brainstorms_remote_control( \ 
     191                                             device=bluetooth_device, \ 
     192                                             DEBUG=DEBUG) 
     193                                 
     194                                if self.rc.connection != None: 
     195                                         
     196                                        self.rc.run(data['command'], data['power']) 
     197                                        response['status'] = self.rc.get_battery_voltage(self.rc.connection) 
     198                                 
     199                                else: 
     200                                         
     201                                        self.rc = None 
     202                                        response = {} 
     203                                        response['status'] = 'LEGO NXT N/A' 
    189204                 
    190205                 
  • remote_control/puzzlebox_brainstorms_remote_control.py

    r101 r107  
    99# For more information please refer to http://www.gnu.org/copyleft/gpl.html 
    1010# 
    11 # Last Update: 2010.07.09 
     11# Last Update: 2010.07.10 
    1212# 
    1313##################################################################### 
     
    2525##################################################################### 
    2626 
    27 DEBUG = 2 
     27DEBUG = 1 
    2828 
    2929VARIABLE_CONTROL_DURATION = configuration.BRAINSTORMS_VARIABLE_CONTROL_DURATION 
    3030 
     31BLUETOOTH_DEVICE = configuration.NXT_BLUETOOTH_DEVICE 
     32 
    3133DEFAULT_NXT_POWER_LEVEL = configuration.DEFAULT_NXT_POWER_LEVEL 
    32  
    33 BLUETOOTH_DEVICE = configuration.NXT_BLUETOOTH_DEVICE 
    3434 
    3535MOTORS_MOUNTED_BACKWARDS = configuration.NXT_MOTORS_MOUNTED_BACKWARDS 
Note: See TracChangeset for help on using the changeset viewer.