Commit Graph

37670 Commits

Author SHA1 Message Date
Peter Barker
88754798eb AP_AHRS: remove stale comment
not associated with relevant state; the relevant state names make things clearer than this comment does
2024-12-29 20:54:28 +11:00
Thomas Watson
f62f1cdeab AP_HAL_ESP32: RCOutput: add support for brushed PWM mode
Also adds some infrastructure for changing PWM group mode, though this
is likely the complete set that can be supported with the ESP32 PWM
peripheral.
2024-12-27 16:20:26 +00:00
Thomas Watson
881c5fbd78 AP_HAL_ESP32: RCOutput: rework to properly support output groups
Each of the six available timers now handles two consecutive PWM output
channels. This also implements support for changing the group PWM
frequency in a similar manner to the ChibiOS HAL.
2024-12-27 16:20:26 +00:00
Thomas Watson
b2df646b86 AP_HAL_ESP32: RCOutput: appropriately assert PWM array size
Avoid over-running the pending PWM and safe value PWM arrays in case
future chip revisions come out with more channels.
2024-12-27 16:20:26 +00:00
Thomas Watson
f6e01dbee9 AP_HAL_ESP32: RCOutput: fix channel enable/disable
Enabling/disabling the timer would apply the setting to whole groups of
channels. Fix to poke the comparator so that the setting only applies to
the particular channel.

Conveniently, though not necessarily intentionally, this avoids
truncating the output pulse and causing unexpected reactions from
servos. This also preserves the old behavior.
2024-12-27 16:20:26 +00:00
Peter Barker
dd1b843da4 AP_Logger: add metadata giving enum for RFND.Orient
2024-12-18 02:20:27.446: RFND
    TimeUS: 3111687840 µs
    Instance: 0 instance
    Dist: 0.23 m
    Stat: 4 (Good)
    Orient: 25 (ROTATION_PITCH_270)

(allows ROTATION_PITCH_270 to be filled in)
2024-12-27 16:06:30 +11:00
Thomas Watson
75da82605e AP_HAL_ESP32: set up EKF double like other boards
It's still not enabled.
2024-12-26 19:59:15 -06:00
Patrick José Pereira
c29815644f libraries: AP_HAL_ESP32: README: Add info about ESPPORT
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2024-12-27 09:12:12 +11:00
Iampete1
0dbbb87ce2 AP_Scripting: fix remaining luacheck issues 2024-12-24 14:48:58 -06:00
Eric Katzfey
5a8bc16170 AP_HAL_QURT: Added support for PWM channels 4 to 8 when using the IO board 2024-12-24 12:32:04 +11:00
Peter Barker
c438d8a28d AP_HAL: correct comments for ArduPlane.cpp rename 2024-12-24 12:26:42 +11:00
Iampete1
2851aaf76a RC_Channel: use @LoggerEnum to give name for three level source enum 2024-12-24 11:34:07 +11:00
Iampete1
7fd3106871 GCS_MAVLink: set source index when running aux functions 2024-12-24 11:34:07 +11:00
Iampete1
754fc867c2 AP_Scripting: set source index when running aux functions 2024-12-24 11:34:07 +11:00
Iampete1
440d49c7f3 AP_Mission: set source index when running aux functions 2024-12-24 11:34:07 +11:00
Iampete1
81c5697948 AP_Button: set source index when running aux functions 2024-12-24 11:34:07 +11:00
Iampete1
9ebb87816a RC_Channel: add source index to aux function trigger 2024-12-24 11:34:07 +11:00
Iampete1
f5dee94a5d AP_ICEngine: reinstate STARTCHN_MIN looking up PWM using source index 2024-12-24 11:34:07 +11:00
Iampete1
be86284f18 RC_Channel: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
a5741a53cb GCS_MAVLink: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
473c39a9e9 AP_Scripting: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
921b91930a AP_Mission: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
0732bf8c5f AP_Button: move to AuxFuncTrigger structure 2024-12-24 11:34:07 +11:00
Iampete1
9185430797 AP_ICEngine: fully move to aux function removing dedicated min PWM and high low thresholds 2024-12-24 11:34:07 +11:00
Iampete1
6b0d59340e AP_Scripting: Examples: Flip_Mode: combine allow entry methods 2024-12-24 11:05:56 +11:00
Peter Barker
4a52e86131 AP_RangeFinder: tidy defines around bebop rangefinder inclusion 2024-12-23 18:03:55 -06:00
Michael du Breuil
5b961891ee AP_BattMonitor: Handle allocating too many analog channels
If you over allocate the number of analog channels this results in a
crash. It's easy to trigger this if you have voltage only monitors as we
still eat up a current input channel, regarless of if we use it. There
are only 16 channels at this time on ChibiOS, so if you have 9 voltage
only battery monitors you are out.

This PR improves that situation by only allocating channels when needed,
and in the case where we run out we now set a ConfigError, which on a
flight controller is much more friendly then a instant segfault the
moment we read a battery monitor. NOTE: on AP_Periph this takes the
node off the bus, rather then just sitting in the bootloader. This was
consideted acceptable as the current behaviour was to segfault and then
sit in the bootloader, unless you made new firmware that limited the
number of channels allocated it wasn't possible to recover in this
situation anyways.
2024-12-24 09:01:28 +09:00
Thomas Watson
54e3d74b51 AP_HAL_ESP32: drop spurious HAL_PARAM_DEFAULTS_PATH definition
It's already conditionally defined to nullptr in the top-level AP_HAL.
2024-12-24 10:50:21 +11:00
Thomas Watson
5de8da421d AP_HAL_ESP32: drop never-used defaults.parm 2024-12-24 10:50:21 +11:00
Peter Barker
6e62ff7ed2 hwdef: reduce number of RCOU channels skyviper has 2024-12-24 08:07:10 +09:00
Peter Barker
23872df5cd hwdef: remove ADSB entirely from SkyViper
drivers were still around
2024-12-24 08:07:10 +09:00
Peter Barker
cd95acbb6a hwdef: remove payload place from SkyViper-v2450 2024-12-24 08:07:10 +09:00
Peter Barker
56969e42f5 AP_HAL_ChibiOS: disable SBus output on SkyViper-v2450 2024-12-24 08:07:10 +09:00
Andrew Tridgell
613b835d67 AP_Scripting: added QUIK_ANGLE_MAX for lua quicktune
this brings the same protection to the lua script as was added for the
C++ implementation
2024-12-22 07:09:31 +11:00
Andrew Tridgell
9503744e6a AP_Scripting: added get_att_error_angle_deg binding for AC_AttitudeControl 2024-12-22 07:09:31 +11:00
Peter Barker
cb6907992b AP_Proximity: prevent buffer overflow in LD06 driver
We're using a value off the wire before it has been validated.  That value is used to limit indexing into a buffer, and that buffer isn't big enough to handle all possible "bad" values that index could take on.  Note that "read" here returns int16_t....
2024-12-19 22:58:29 +11:00
Eric Katzfey
5c9003dd02 AP_Volz_Protocol: Moved member variable definition within proper #define block to prevent unused variable warning 2024-12-18 21:50:27 +11:00
bugobliterator
42e2e23464 AP_Networking: fix memory error generated by CAN mcast driver 2024-12-18 21:48:54 +11:00
Andreas Gising
300e5ccedd AP_Scripting: add glide-into-wind example without RC override 2024-12-18 19:35:34 +11:00
Peter Barker
f5d81abb42 AP_AHRS: return EAS from get_unconstrained_airspeed_EAS
Co-authored-by: luweiagi <luweiagi@163.com>
2024-12-18 19:10:15 +11:00
Peter Barker
46b9f06011 AP_AHRS: use TAS in DCM drift correction code
Co-authored-by: luweiagi <luweiagi@163.com>
2024-12-18 19:10:15 +11:00
Siddharth Purohit
92241daef1 AP_InertialSensor: do not read FIFO faster than requested rate for ICM45686 2024-12-18 19:05:20 +11:00
Randy Mackay
523b34fbb9 AP_Scripting: add follow-target-send applet 2024-12-18 18:28:12 +11:00
Randy Mackay
5c7cfa13cf AP_Scripting: add FOLLOW_TARGET msg definition 2024-12-18 18:28:12 +11:00
Randy Mackay
56cb20ac50 AP_Scripting: add get_vel_target poscontrol binding 2024-12-18 18:28:12 +11:00
Randy Mackay
74c702674b AC_PosControl: add get_vel_target and get_accel_target 2024-12-18 18:28:12 +11:00
Bob Long
dee88b4ecb SITL: default SIM_ENGINE_MUL to 0
This makes SIM_ENGINE_FAIL work a little more intuitively, since it is
usually used to simulate a complete failure.

Also, drive-by fix of the SIM_ENGINE_MUL documentation.
2024-12-18 18:06:50 +11:00
Bob Long
58c3854325 SITL: make SIM_ENGINE_FAIL a mask
The param docs already claimed it was one.
2024-12-18 18:06:50 +11:00
Peter Barker
84440108e3 AP_AHRS: rename DCM members to clarify EAS vs TAS 2024-12-17 20:17:48 +11:00
Peter Barker
33a788ebb5 GCS_MAVLink: move sending of WATER_DEPTH into Rover code
only compiled in on Rover at the moment.

need to add an additional Rover-specific check for frame type, so move this code into Rover for now.
2024-12-17 20:17:19 +11:00