Commit Graph

53397 Commits

Author SHA1 Message Date
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
Peter Barker 2f7df9ef4c Blimp: run prearm checks on all vehicles @1Hz, displaying @0.0333Hz 2022-05-18 12:25:26 +09:00
Peter Barker efe1dfe0f4 ArduCopter: run prearm checks on all vehicles @1Hz, displaying @0.0333Hz 2022-05-18 12:25:26 +09:00
Peter Barker 8402149572 AP_Vehicle: run prearm checks on all vehicles @1Hz, displaying @0.0333Hz 2022-05-18 12:25:26 +09:00
Peter Barker 53e8ab6af8 AP_Arming: run prearm checks on all vehicles @1Hz, displaying @0.0333Hz 2022-05-18 12:25:26 +09:00
khanasif786 e7b0aff8ec Copter:changed GPS glitch message 2022-05-18 09:25:14 +09:00
Iampete1 af58ca52c1 AP_HAL_ChibiOS: allocate_heap_memory use single malloc 2022-05-18 08:20:32 +10:00
Iampete1 66cdfb015b AP_Scripting: always free the heap and remove scripts 2022-05-18 08:20:32 +10:00
Andrew Tridgell 985e24275a autotest: don't try to arm in RTL mode for quadplanes 2022-05-18 06:43:16 +10:00
Andrew Tridgell 86c2404654 Plane: increased safety of guided -> auto quadplane takeoff
when we arm in guided mode then enter a special guided_wait_takeoff
state. We keep motors suppressed until one of the following happens

  1) disarm
  2) guided takeoff command
  3) change to AUTO with a takeoff waypoint as first nav waypoint
  4) change to another mode

while in this state we don't go to throttle unlimited, and will refuse
a change to AUTO mode if the first waypoint is not a takeoff. If we
try to switch to RTL then we will instead use QLAND

This state is needed to cope with the takeoff sequence used by QGC on
common controllers such as the MX16, which do this on a "takeoff"
swipe:

  - changes mode to GUIDED
  - arms
  - changes mode to AUTO
2022-05-18 06:43:16 +10:00
Andrew Tridgell 705ec9040c Copter: allow VTOL_TAKEOFF and VTOL_LAND as synonyms
this allows is_takeoff_next() to be in common, and reduces confusion
if user selects VTOL_TAKEOFF in a GCS mission editor
2022-05-18 06:43:16 +10:00
Andrew Tridgell f683461e8c AP_Mission: allow NAV_VTOL_TAKEOFF in is_takoff_next() 2022-05-18 06:43:16 +10:00
Andrew Tridgell f39ffee3f9 AP_Vehicle: added QLAND_INSTEAD_OF_RTL mode reason 2022-05-18 06:43:16 +10:00
Andrew Tridgell 895c57562c autotest: adjust DO_CHANGE_SPEED test for EAS2TAS corrections 2022-05-17 19:34:32 +10:00
Andrew Tridgell 457568d3c5 SITL: removed SIM_WIND_DELAY 2022-05-17 19:34:32 +10:00
Andrew Tridgell 7fb38f8b22 autotest: removed SIM_WIND_DELAY 2022-05-17 19:34:32 +10:00
Andrew Tridgell 962d92acf5 AP_HAL: use array for airspeed pin value 2022-05-17 19:34:32 +10:00
Andrew Tridgell 7dc5da1247 HAL_SITL: cleanup SITL airspeed handling
fixed handling of EAS2TAS, and fixed ratio per sensor.

Removed the wind delay code (which was never being used). We should
add a generic delay filter if we need this again
2022-05-17 19:34:32 +10:00
Andrew Tridgell 2dea725d80 SITL: fixed up airspeed parameters
use a separate airspeed structure and separate ratio per sensor
2022-05-17 19:34:32 +10:00
Andrew Tridgell 61a27698da AP_Airspeed: fixed airspeed cal on 2nd airspeed sensor
we need to use the pressure from the sensor we are calibrating
2022-05-17 19:34:32 +10:00
Andrew Tridgell 234abece59 AP_EFI: added fuel usage integration for Lutan EFI
allows for EFI_COEF1 and EFI_COEF2 to be set to get fuel consumption
on GCS
2022-05-17 10:35:24 +10:00
Peter Barker 3cb104f537 AP_Logger: log airspeed primary changes 2022-05-17 10:27:57 +10:00
Peter Barker 19190fb134 AP_Airspeed: log airspeed primary changes 2022-05-17 10:27:57 +10:00
Peter Barker 016c9d8239 AP_OSD: correct compilation without OSD_ENABLED
The max7456 header file is guarded by his macro
2022-05-17 10:26:50 +10:00
Joshua Henderson d002fde67e AP_Param: eedump_apparam fix accessing uninit var 2022-05-17 10:26:18 +10:00
murata d2053d4449 AP_Vehicle: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 0245d0bae1 AP_SerialManager: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 6e91b364e0 AP_Scripting: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 16d7f69949 AP_Scheduler: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 46f75e7e53 AP_RobotisServo: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 272230793d AP_RAMTRON: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata cc75b931f9 AP_Radio: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 261d97062c AP_Param: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata cd9b4b48ae AP_OSD: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata c143fb0a5a AP_NavEKF2: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 70f0636c90 AP_IOMCU: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 2d8a81986f AP_Hott_Telem: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 15a39c1649 AL_HAL: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 234bb5409d AP_BoardConfig: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata 8d1b1a2caf AP_BLHeli: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata a78dceb5a0 AP_Baro: Console output can be disabled 2022-05-17 09:53:06 +10:00
murata f14f08a6ee AP_Avoidance: Console output can be disabled 2022-05-17 09:53:06 +10:00