Changeset 235 for trunk


Ignore:
Timestamp:
12/01/10 12:55:53 (11 years ago)
Author:
sc
Message:

Brainstorms/Helicopter_Control.py:

  • sync_to_helicopter control added

Brainstorms/Interface?.py:

  • additional keyboard shortcuts added to control RC Helicopter
Location:
trunk/brainstorms/Puzzlebox/Brainstorms
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/brainstorms/Puzzlebox/Brainstorms/Helicopter_Control.py

    r234 r235  
    165165        ################################################################## 
    166166         
     167        def sync_to_helicopter(self): 
     168                 
     169                self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
     170                QtCore.QThread.msleep(PROTOCOL_SYNC_TIME * 1000) # 4 seconds minimum to sync 
     171         
     172         
     173        ################################################################## 
     174         
    167175        def neutral(self): 
    168176                 
     
    191199                        print "--> Command: test_mode" 
    192200                 
    193                 self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
    194                 QtCore.QThread.msleep(PROTOCOL_SYNC_TIME * 1000) # 4 seconds minimum to sync 
     201                #self.sync_to_helicopter() 
    195202                 
    196203                self.protocol.command_packet = COMMAND_PACKET['minimum_thrust'] 
     
    207214                        print "--> Command: hover" 
    208215                 
    209                 self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
    210                 QtCore.QThread.msleep(PROTOCOL_SYNC_TIME * 1000) # 4 seconds minimum to sync 
     216                #self.sync_to_helicopter() 
    211217                 
    212218                self.protocol.command_packet = COMMAND_PACKET['fifty_percent_thrust'] 
    213                 QtCore.QThread.msleep(duration * 1000) 
    214                  
    215                 self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
     219                 
     220                if duration != None: 
     221                        QtCore.QThread.msleep(duration * 1000) 
     222                         
     223                        self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
    216224         
    217225         
     
    223231                        print "--> Command: fly_forward" 
    224232                 
    225                 self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
    226                 QtCore.QThread.msleep(PROTOCOL_SYNC_TIME * 1000) 
     233                #self.sync_to_helicopter() 
    227234                 
    228235                self.protocol.command_packet = COMMAND_PACKET['fly_forward'] 
    229                 QtCore.QThread.msleep(duration * 1000) 
    230                  
    231                 self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
     236                 
     237                if duration != None: 
     238                        QtCore.QThread.msleep(duration * 1000) 
     239                         
     240                        self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
    232241         
    233242         
     
    235244         
    236245        def processCommand(self): 
     246                 
     247                 
     248                #self.configureRemote() 
     249                 
    237250                 
    238251                if (self.command == 'dump_packets') or (self.command == 'read'): 
     
    259272                elif (self.command == 'test_mode'): 
    260273                        self.mode = 'write' 
     274                        self.sync_to_helicopter() 
    261275                        self.test_mode() 
    262276                 
    263277                elif (self.command == 'hover'): 
    264278                        self.mode = 'write' 
     279                        self.sync_to_helicopter() 
    265280                        self.hover() 
    266281                 
    267282                elif (self.command == 'fly_forward'): 
    268283                        self.mode = 'write' 
     284                        self.sync_to_helicopter() 
    269285                        self.fly_forward(duration=2) 
    270286         
  • trunk/brainstorms/Puzzlebox/Brainstorms/Interface.py

    r234 r235  
    464464        def disconnectFromRCHelicopter(self): 
    465465                 
    466                 #self.helicopter.command = 'neutral' 
    467                 #self.helicopter.processCommand() 
    468466                self.helicopter.neutral() 
    469467                 
     
    962960                self.connect(action, QtCore.SIGNAL("activated()"), self.pushButtonHelicopterHover, QtCore.SLOT("animateClick()")) 
    963961                self.addAction(action) 
     962                action = QtGui.QAction(self) 
     963                action.setShortcut(QtGui.QKeySequence("[")) 
     964                self.connect(action, QtCore.SIGNAL("activated()"), self.pushButtonHelicopterHover, QtCore.SLOT("animateClick()")) 
     965                self.addAction(action) 
    964966                 
    965967                action = QtGui.QAction(self) 
     
    967969                self.connect(action, QtCore.SIGNAL("activated()"), self.pushButtonHelicopterFlyForward, QtCore.SLOT("animateClick()")) 
    968970                self.addAction(action) 
     971                action = QtGui.QAction(self) 
     972                action.setShortcut(QtGui.QKeySequence("]")) 
     973                self.connect(action, QtCore.SIGNAL("activated()"), self.pushButtonHelicopterFlyForward, QtCore.SLOT("animateClick()")) 
     974                self.addAction(action) 
    969975                 
    970976                action = QtGui.QAction(self) 
    971977                action.setShortcut(QtGui.QKeySequence("End")) 
     978                self.connect(action, QtCore.SIGNAL("activated()"), self.pushButtonHelicopterLand, QtCore.SLOT("animateClick()")) 
     979                self.addAction(action) 
     980                action = QtGui.QAction(self) 
     981                action.setShortcut(QtGui.QKeySequence("\\")) 
    972982                self.connect(action, QtCore.SIGNAL("activated()"), self.pushButtonHelicopterLand, QtCore.SLOT("animateClick()")) 
    973983                self.addAction(action) 
     
    12811291        def enableHelicopterHover(self): 
    12821292                 
    1283                 #self.helicopter.command = 'hover' 
    1284                 #self.helicopter.processCommand() 
    1285                 self.helicopter.hover() 
     1293                self.helicopter.hover(duration=None) 
    12861294                 
    12871295                self.disconnect(self.pushButtonHelicopterHover, \ 
     
    13021310        def disableHelicopterHover(self): 
    13031311                 
    1304                 #self.helicopter.command = 'neutral' 
    1305                 #self.helicopter.processCommand() 
    13061312                self.helicopter.neutral() 
    13071313                 
     
    13191325        def enableHelicopterFlyForward(self): 
    13201326                 
    1321                 #self.helicopter.command = 'fly_forward' 
    1322                 #self.helicopter.processCommand() 
    1323                 self.helicopter.fly_forward() 
     1327                self.helicopter.fly_forward(duration=None) 
    13241328                 
    13251329                self.disconnect(self.pushButtonHelicopterFlyForward, \ 
     
    13401344        def disableHelicopterFlyForward(self): 
    13411345                 
    1342                 #self.helicopter.command = 'neutral' 
    1343                 #self.helicopter.processCommand() 
    13441346                self.helicopter.neutral() 
    13451347                 
     
    13571359        def landHelicopter(self): 
    13581360                 
    1359                 #self.helicopter.command = 'neutral' 
    1360                 #self.helicopter.processCommand() 
    13611361                self.helicopter.neutral() 
    13621362                 
Note: See TracChangeset for help on using the changeset viewer.