Commit Graph

53238 Commits

Author SHA1 Message Date
Andrew Tridgell 7f6196b550 AP_RobotisServo: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell f00a227b33 AP_Motors: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell bb8ebeebe2 AP_KDECAN: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell f530761174 AP_HAL_Linux: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell 113b4cec38 AP_HAL: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell 7aea559bdb AP_HAL_ESP32: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell 1d9abefbb1 AP_HAL_ChibiOS: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell d33734ee85 AP_ESC_Telem: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell 7ed8e8d3b6 AP_BoardConfig: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell f3ce44ef2c AP_BLHeli: more changes for 32 bit servo mask 2022-05-22 12:07:37 +10:00
Andrew Tridgell 10d7a559d2 AP_Periph: 32 servo conversion 2022-05-22 12:07:37 +10:00
Andrew Tridgell 56db91d0c3 Plane: 32 servo conversion 2022-05-22 12:07:37 +10:00
Andrew Tridgell 424c3b953a Copter: 32 servo conversion 2022-05-22 12:07:37 +10:00
Iampete1 32f8062b3e SITL: move to 32 servo outs 2022-05-22 12:07:37 +10:00
Iampete1 a5928b752e SRV_Channels: set channels above 16 to GPIO by defualt 2022-05-22 12:07:37 +10:00
Iampete1 48b3549158 AP_Logger: RCOUT only log if there is a valid output channel 2022-05-22 12:07:37 +10:00
Iampete1 d1e02e4fdd SRV_Channel: add invalid mask for GPIO outputs 2022-05-22 12:07:37 +10:00
Iampete1 a36848cba5 SITL: JSON Master: only copy the first 16 servos 2022-05-22 12:07:37 +10:00
Iampete1 e03aed3aa7 AP_BLHeli: support upto 32 servo outputs 2022-05-22 12:07:37 +10:00
Iampete1 117b67c9e2 AR_MotorsUGV: convert to 32 bit motor mask 2022-05-22 12:07:37 +10:00
Iampete1 43832649ec AP_Motors: convert to 32 bit motor mask 2022-05-22 12:07:37 +10:00
Iampete1 7d3368fa33 GCS_MAVLink: send servo raw 17-32 using port 1 2022-05-22 12:07:37 +10:00
Iampete1 077401df69 SRV_Channel: add upto 32 servo outs 2022-05-22 12:07:37 +10:00
Iampete1 c4df741af9 AP_SerialLED: enable 32 servo outs 2022-05-22 12:07:37 +10:00
Iampete1 031115577a AP_HAL_SITL: enable 32 servo outs 2022-05-22 12:07:37 +10:00
Iampete1 7fc691d8d5 AP_HAL_ChibiOS: enable 32 servo outs 2022-05-22 12:07:37 +10:00
Iampete1 cabdd82e71 AP_HAL: enable 32 servo outs 2022-05-22 12:07:37 +10:00
Iampete1 572ebf29da SITL: move to 32 servo outs 2022-05-22 12:07:37 +10:00
Iampete1 6921763b02 AP_Voltz: update MASK Bitmask 2022-05-22 12:07:37 +10:00
Iampete1 d1e45c93d6 AP_UAVCAN: update ESC_BM and SRV_BM Bitmask 2022-05-22 12:07:37 +10:00
Iampete1 51a631b523 AP_PiccoloCAN: update ESC_BM Bitmask 2022-05-22 12:07:37 +10:00
Iampete1 8110b9ac2d AP_Logger: add loging of servo out 15 to 32 2022-05-22 12:07:37 +10:00
Andrew Tridgell bda280bcf1 AP_Scripting: cope better with high P gains in quicktune
if we lower the D gain, then lower P and I by the same ratio before we
start on the P gain

Also added parameters to disable filter changes and control PI ratios
2022-05-21 13:20:27 +10:00
Henry Wurzburg a3336f3d4f Plane: Add P/D only tune sets for quadplanes 2022-05-21 09:10:31 +10:00
Tom Pittenger 798f985ee5 AP_InertialSensor: relax is_still() threshold for SITL.. which is pretty darn still all the time for Plane 2022-05-20 10:52:47 -07:00
murata 047b2d5578 Sub: Clarify that the target_yaw_rate variable is set 2022-05-20 11:21:22 +09:00
murata 3b47da3d30 Copter: Clarify that the target_yaw_rate variable is set 2022-05-20 11:21:22 +09:00
Peter Barker 24771ab2a4 autotest: fix DO_CHANGE_SPEED autotest
Recent airspeed fixes means we need to give the vehicle more time to achieve the initial airspeed
2022-05-20 09:56:31 +10:00
Andrew Tridgell 5664f75ced Plane: update release notes for 4.2.1beta1 2022-05-19 17:11:20 +10:00
Rishabh 1e7203616b Copter: Do not allow automatic yaw while prec land retry 2022-05-19 15:31:41 +09:00
Randy Mackay e1d7b81f9d Tools: update holybro s500 default params 2022-05-19 08:39:32 +09:00
Randy Mackay 2382e58f04 AP_InertialSensor: extend ENABLE_MASK param desc IMUs 4 to 7 2022-05-19 07:54:24 +10:00
Clyde McQueen 25fd69b947 AP_HAL_SITL: init ArduSub pwm_output to [1500, ...]
Signed-off-by: Clyde McQueen <clyde@mcqueen.net>
2022-05-19 07:53:52 +10:00
Andrew Tridgell 53a7866ba3 Plane: cope with QGC retrying AUTO mode
QGC tries several times to enter AUTO even when it is refused. We need
to keep refusing
2022-05-19 06:11:57 +10:00
Andrew Tridgell 8106291bfe AP_UAVCAN: added CAN_Dx_UC_ESC_OF parameter
this allows for an offset in ESC numbering for much more efficient CAN
bandwidth usage.

For example, on a coaxial OctoQuad quadplane the ESCs are typically
setup as outputs 5 to 12. An ideal setup is to split these over 2 CAN
buses, with one CAN bus for the top layer and the one bus for the
bottom layer (allowing for VTOL flight with one bus failed).

Without this offset parameter you would be sending RawCommand messages
like this:

bus1: [ 0, 0, 0, 0, ESC1, ESC2, ESC3, ESC4 ]
bus2: [ 0, 0, 0, 0, 0, 0, 0, 0, ESC1, ESC2, ESC3, ESC4 ]

this is very wasteful of bus bandwidth, with bus1 using 3x the
bandwidth it should and bus2 using 4x the bandwidth it should (the
above will take 3 can frames for bus1, and 4 can frames for bus 2)

With this patch you can set:

CAN_D1_UC_ESC_OF = 4
CAN_D2_UC_ESC_OF = 8

and you will get this on the bus:

bus1: [ ESC1, ESC2, ESC3, ESC4 ]
bus2: [ ESC1, ESC2, ESC3, ESC4 ]

that takes just 1 can frame per send on each bus
2022-05-18 21:23:30 +10:00
Peter Barker d6504bcaa8 autotest: remove hack to get dual-airspeed-autocal passing 2022-05-18 18:06:18 +10:00
Randy Mackay e0023a99bc AP_NavEKF3: replace AP_HAL::millis() with dal.millis() 2022-05-18 17:59:57 +10:00
bugobliterator 28f03e64bc AP_Bootloader: add CubeRed and CubeRed IO board types 2022-05-18 15:33:06 +10:00
Peter Barker 434f49e6b6 AP_Motors: correct initialised_ok state for HeliDual+Quad
initialised_ok was being set to false when frame/class was set as the
method was not overridden and thus Heli's set_frame_and_class was
setting initialised_ok to false.  When the init_output method was called
it would be unconditionally reset to true.
2022-05-18 12:25:26 +09:00
Peter Barker 4240ad7ae9 autotest: update test for which entry is last in tasks table 2022-05-18 12:25:26 +09:00