Hi Eliot,
I’ve changed the set mode function to use the older method and here is the output:
The motor output at manual mode is still 0. For stablise mode, it has some non-zero output but the motors were not moving.
If script gets stuck, press CTRL+C to disarm and quit
INFO: 10:01:23.231 - MAVLink connection successful
INFO: 10:01:24.237 - connection to autopilot confirmed
INFO: 10:01:24.237 - __enter__ -> reviving heart (if required)
INFO: 10:01:24.249 - mode='manual', change successful
NOTE: 10:01:24.265 - thruster_outputs=[0, 0, 0, 0, 0, 0]
INFO: 10:01:24.265 - clear_motion
INFO: 10:01:24.266 - send_rc
NOTE: 10:01:24.665 - thruster_outputs=[0, 0, 0, 0, 0, 0]
INFO: 10:01:27.247 - Motors armed!
INFO: 10:01:27.247 - send_rc
NOTE: 10:01:27.308 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:27.408 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:27.524 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:27.789 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:27.905 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:28.026 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:28.145 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:28.345 - thruster_outputs=[0, 0, 0, 0, 0, 0]
INFO: 10:01:28.395 - send_rc
NOTE: 10:01:28.446 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:28.697 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:28.792 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:29.025 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:29.145 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:29.344 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:29.493 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:29.605 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:29.725 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:29.845 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:29.946 - thruster_outputs=[0, 0, 0, 0, 0, 0]
INFO: 10:01:29.997 - __exit__ -> disarming, and stopping heart
INFO: 10:01:32.228 - Motors disarmed
INFO: 10:01:37.750 - __enter__ -> reviving heart (if required)
INFO: 10:01:37.750 - RE-ENTERING
INFO: 10:01:37.762 - mode='stabilize', change successful
INFO: 10:01:37.762 - clear_motion
INFO: 10:01:37.762 - send_rc
INFO: 10:01:38.246 - Motors armed!
INFO: 10:01:38.246 - send_rc
NOTE: 10:01:38.325 - thruster_outputs=[0, -1, 0, -1, 3, 3]
NOTE: 10:01:38.426 - thruster_outputs=[0, -1, 0, -1, 3, 3]
NOTE: 10:01:38.526 - thruster_outputs=[0, -1, 0, -1, 3, 3]
NOTE: 10:01:38.625 - thruster_outputs=[0, -1, 0, -1, 3, 3]
NOTE: 10:01:38.725 - thruster_outputs=[0, -1, 0, -1, 3, 3]
NOTE: 10:01:38.845 - thruster_outputs=[0, -1, 0, -1, 4, 3]
NOTE: 10:01:38.987 - thruster_outputs=[0, -1, 0, -1, 4, 4]
NOTE: 10:01:39.105 - thruster_outputs=[0, -1, 0, -1, 4, 4]
NOTE: 10:01:39.225 - thruster_outputs=[0, -1, 0, -1, 4, 4]
NOTE: 10:01:39.345 - thruster_outputs=[0, -1, 0, -1, 4, 4]
NOTE: 10:01:39.606 - thruster_outputs=[0, -1, 0, -1, 5, 5]
NOTE: 10:01:39.726 - thruster_outputs=[0, -1, 0, -1, 5, 5]
NOTE: 10:01:39.825 - thruster_outputs=[0, -1, 0, -1, 5, 5]
NOTE: 10:01:39.926 - thruster_outputs=[0, -1, 0, -1, 5, 5]
NOTE: 10:01:40.046 - thruster_outputs=[0, -1, 0, -1, 5, 5]
NOTE: 10:01:40.194 - thruster_outputs=[0, -1, 0, -1, 6, 6]
NOTE: 10:01:40.305 - thruster_outputs=[0, -1, 0, -1, 6, 6]
INFO: 10:01:40.356 - __exit__ -> disarming, and stopping heart
INFO: 10:01:41.228 - Motors disarmed
INFO: 10:01:41.555 - disconnect -> closing MAVLink connection
INFO: 10:01:47.228 - MAVLink connection successful
INFO: 10:01:48.228 - connection to autopilot confirmed
INFO: 10:01:48.228 - __enter__ -> reviving heart (if required)
INFO: 10:01:48.228 - Engaging per-thruster control!
WARNING: 10:01:48.229 - Thruster actions no longer require arming!
WARNING: 10:01:48.229 - Failsafes no longer engaged!
INFO: 10:01:48.229 - Servo mode engaged:
-> control thrusters with self.set_servo
NOTE: 10:01:48.229 - backing up servo thruster functions
NOTE: 10:01:48.229 - read_param(name='SERVO1_FUNCTION', index=-1, timeout=None)
NOTE: 10:01:48.237 - read_param(name='SERVO2_FUNCTION', index=-1, timeout=None)
NOTE: 10:01:48.245 - read_param(name='SERVO3_FUNCTION', index=-1, timeout=None)
NOTE: 10:01:48.254 - read_param(name='SERVO4_FUNCTION', index=-1, timeout=None)
NOTE: 10:01:48.262 - read_param(name='SERVO5_FUNCTION', index=-1, timeout=None)
NOTE: 10:01:48.277 - read_param(name='SERVO6_FUNCTION', index=-1, timeout=None)
INFO: 10:01:48.284 - set_servo(servo=1, pwm=1500)
INFO: 10:01:48.285 - set_servo(servo=2, pwm=1500)
INFO: 10:01:48.285 - set_servo(servo=3, pwm=1500)
INFO: 10:01:48.285 - set_servo(servo=4, pwm=1500)
INFO: 10:01:48.285 - set_servo(servo=5, pwm=1500)
INFO: 10:01:48.285 - set_servo(servo=6, pwm=1500)
INFO: 10:01:48.286 - set_param(name=b'SERVO1_FUNCTION', value=0, type=0)
INFO: 10:01:48.298 - set_param(name=b'SERVO2_FUNCTION', value=0, type=0)
INFO: 10:01:48.308 - set_param(name=b'SERVO3_FUNCTION', value=0, type=0)
INFO: 10:01:48.318 - set_param(name=b'SERVO4_FUNCTION', value=0, type=0)
INFO: 10:01:48.330 - set_param(name=b'SERVO5_FUNCTION', value=0, type=0)
INFO: 10:01:48.340 - set_param(name=b'SERVO6_FUNCTION', value=0, type=0)
INFO: 10:01:49.355 - set_servo(servo=1, pwm=1500)
INFO: 10:01:49.355 - set_servo(servo=2, pwm=1500)
INFO: 10:01:49.356 - set_servo(servo=3, pwm=1500)
INFO: 10:01:49.356 - set_servo(servo=4, pwm=1500)
INFO: 10:01:49.356 - set_servo(servo=5, pwm=1500)
INFO: 10:01:49.356 - set_servo(servo=6, pwm=1500)
NOTE: 10:01:49.506 - thruster_outputs=[0, 0, 0, 0, 0, 0]
INFO: 10:01:49.506 - set_servo(servo=1, pwm=1300)
NOTE: 10:01:49.806 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:49.905 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:50.005 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:50.106 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:50.305 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:50.405 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:50.605 - thruster_outputs=[0, 0, 0, 0, 0, 0]
INFO: 10:01:50.655 - set_servo(servo=3, pwm=1400)
INFO: 10:01:50.655 - set_servo(servo=4, pwm=1550)
NOTE: 10:01:50.706 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:50.806 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:50.905 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:51.004 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:51.204 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:51.305 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:51.405 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:51.505 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:51.605 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:51.807 - thruster_outputs=[0, 0, 0, 0, 0, 0]
NOTE: 10:01:52.107 - thruster_outputs=[0, 0, 0, 0, 0, 0]
INFO: 10:01:52.158 - set_servo(servo=1, pwm=1500)
INFO: 10:01:52.158 - set_servo(servo=2, pwm=1500)
INFO: 10:01:52.158 - set_servo(servo=3, pwm=1500)
INFO: 10:01:52.158 - set_servo(servo=4, pwm=1500)
INFO: 10:01:52.159 - set_servo(servo=5, pwm=1500)
INFO: 10:01:52.159 - set_servo(servo=6, pwm=1500)
INFO: 10:01:52.159 - set_param(name=b'SERVO1_FUNCTION', value=33.0, type=2)
INFO: 10:01:52.190 - set_param(name=b'SERVO2_FUNCTION', value=34.0, type=2)
INFO: 10:01:52.200 - set_param(name=b'SERVO3_FUNCTION', value=35.0, type=2)
INFO: 10:01:52.213 - set_param(name=b'SERVO4_FUNCTION', value=36.0, type=2)
INFO: 10:01:52.223 - set_param(name=b'SERVO5_FUNCTION', value=37.0, type=2)
INFO: 10:01:52.241 - set_param(name=b'SERVO6_FUNCTION', value=38.0, type=2)
NOTE: 10:01:52.255 - servo functions restored
INFO: 10:01:52.255 - per-thruster control successfully exited
WARNING: 10:01:52.255 - Arming and failsafe requirements re-engaged
INFO: 10:01:52.255 - __exit__ -> disarming, and stopping heart
INFO: 10:01:53.228 - Motors disarmed
INFO: 10:01:53.888 - __exit__ -> disarming, and stopping heart
INFO: 10:01:54.228 - Motors disarmed
INFO: 10:01:54.228 - disconnect -> closing MAVLink connection
INFO: 10:01:54.228 - __exit__ -> disarming, and stopping heart
INFO: 10:01:54.228 - disconnect -> closing MAVLink connection