Changeset 215 for trunk


Ignore:
Timestamp:
11/24/10 07:04:43 (11 years ago)
Author:
sc
Message:

Brainstorms/Helicopter_Control.py:

  • hover now working!
  • fly_foward now working!
  • updated command packets
  • test_mode added
File:
1 edited

Legend:

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

    r214 r215  
    6262 
    6363COMMAND_PACKET = { 
    64         'neutral':        '\x00\x00\x00\xfa\x05\xc7\x09\xd7\x0e\x0b\x13\x54\x14\xaa',  # default neutral setting to use for all commands 
    65         'no_thrust':      '\x00\x00\x00\x5a\x05\xc7\x09\xd7\x0e\x0b\x13\x54\x14\xaa',  # lowest trim setting for throttle 
    66         'minimum_thrust': '\x00\x00\x00\xca\x05\xc7\x09\xd5\x0e\x0b\x13\x54\x14\xaa',  # lowest trim level at which throttle kicks in 
    67         'maximum_thrust': '\x00\x00\x03\x54\x05\xc7\x09\xd5\x0e\x0b\x13\x54\x14\xaa',  # maximum possible throttle and trim 
    68         'fifty_percent_thrust': '\x00\x00\x01\x7D\x05\xc7\x09\xd5\x0e\x0b\x13\x54\x14\xaa', # calculated 50% throttle 
     64        'neutral':        '\x00\x00\x00\xfa\x05\xc5\x09\xde\x0e\x0b\x13\x54\x14\xaa',  # default neutral setting to use for all commands 
     65        'no_thrust':      '\x00\x00\x00\x5a\x05\xc5\x09\xde\x0e\x0b\x13\x54\x14\xaa',  # lowest trim setting for throttle 
     66        'minimum_thrust': '\x00\x00\x00\xca\x05\xc5\x09\xde\x0e\x0b\x13\x54\x14\xaa',  # lowest trim level at which throttle kicks in 
     67        'minimum_thrust_minus_one': '\x00\x00\x00\xc6\x05\xc5\x09\xde\x0e\x0b\x13\x54\x14\xaa',  # lowest trim level at which throttle kicks in 
     68        'maximum_thrust': '\x00\x00\x03\x54\x05\xc5\x09\xde\x0e\x0b\x13\x54\x14\xaa',  # maximum possible throttle and trim 
     69        'fifty_percent_thrust': '\x00\x00\x01\x7d\x05\xc5\x09\xde\x0e\x0b\x13\x54\x14\xaa', # calculated 50% throttle 
    6970        'test_packet':    '\x00\x00\x03\x54\x06\x15\x09\xca\x0e\x2f\x13\x54\x14\xaa', # test packet from saleae logic screenshot 
    70         'maximum_forward': '\x00\x00\x00\x5a\x05\xc5\x0b\x54\x0e\x0b\x13\x54\x14\xaa', \ 
     71        'maximum_forward': '\x00\x00\x00\x5a\x05\xc5\x0b\x54\x0e\x0b\x13\x54\x14\xaa', # maximum possible elevator and trim 
     72            'fly_forward': '\x00\x00\x01\x7d\x05\xc5\x0a\xde\x0e\x0b\x13\x54\x14\xaa', \ 
    7173} 
    7274 
     
    167169                        print "--> Command: neutral" 
    168170                 
    169                 self.protocol.command_packet = COMMAND_PACKET['neutral']         
     171                #self.protocol.command_packet = COMMAND_PACKET['neutral'] 
     172                self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
    170173         
    171174         
     
    182185        ################################################################## 
    183186         
     187        def test_mode(self): 
     188                 
     189                if self.DEBUG: 
     190                        print "--> Command: test_mode" 
     191                 
     192                #self.protocol.command_packet = COMMAND_PACKET['neutral'] 
     193                #self.protocol.command_packet = COMMAND_PACKET['minimum_thrust_minus_one'] 
     194                self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
     195                QtCore.QThread.msleep(4 * 1000) # 4 seconds to sync 
     196                 
     197                #self.protocol.command_packet = COMMAND_PACKET['maximum_thrust'] 
     198                self.protocol.command_packet = COMMAND_PACKET['minimum_thrust'] 
     199                QtCore.QThread.msleep(2 * 1000) # 1 second 
     200                 
     201                #self.protocol.command_packet = COMMAND_PACKET['neutral'] 
     202                #self.protocol.command_packet = COMMAND_PACKET['minimum_thrust_minus_one'] 
     203                self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
     204         
     205         
     206        ################################################################## 
     207         
    184208        def hover(self): 
    185209                 
     
    187211                        print "--> Command: hover" 
    188212                 
    189                 self.protocol.command_packet = COMMAND_PACKET['neutral'] 
    190                 QtCore.QThread.msleep(5 * 1000) # 1 second 
    191                  
    192                 self.protocol.command_packet = COMMAND_PACKET['maximum_thrust'] 
    193                 QtCore.QThread.msleep(5 * 1000) # 1 second 
    194                  
    195                 self.protocol.command_packet = COMMAND_PACKET['neutral'] 
     213                #self.protocol.command_packet = COMMAND_PACKET['neutral'] 
     214                #self.protocol.command_packet = COMMAND_PACKET['minimum_thrust_minus_one'] 
     215                self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
     216                QtCore.QThread.msleep(5 * 1000) # 4 seconds to sync 
     217                 
     218                #self.protocol.command_packet = COMMAND_PACKET['maximum_thrust'] 
     219                self.protocol.command_packet = COMMAND_PACKET['fifty_percent_thrust'] 
     220                QtCore.QThread.msleep(2 * 1000) # 1 second 
     221                 
     222                #self.protocol.command_packet = COMMAND_PACKET['neutral'] 
     223                #self.protocol.command_packet = COMMAND_PACKET['minimum_thrust_minus_one'] 
     224                self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
    196225         
    197226         
     
    204233                 
    205234                self.protocol.command_packet = COMMAND_PACKET['no_thrust'] 
    206                 QtCore.QThread.msleep(1 * 1000) # 1 second 
    207                  
    208                 self.protocol.command_packet = COMMAND_PACKET['maximum_forward'] 
     235                QtCore.QThread.msleep(5 * 1000) # 1 second 
     236                 
     237                self.protocol.command_packet = COMMAND_PACKET['fly_forward'] 
    209238                QtCore.QThread.msleep(duration * 1000) # 1 second 
    210239                 
     
    237266                        self.test_packet() 
    238267                 
     268                elif (self.command == 'test_mode'): 
     269                        self.mode = 'write' 
     270                        self.test_mode() 
     271                 
    239272                elif (self.command == 'hover'): 
    240273                        self.mode = 'write' 
     
    243276                elif (self.command == 'fly_forward'): 
    244277                        self.mode = 'write' 
    245                         self.fly_forward(duration=3) 
     278                        self.fly_forward(duration=2) 
    246279         
    247280         
Note: See TracChangeset for help on using the changeset viewer.