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
Peter Barker
6e49333a40
AP_HAL_ChibiOS: do not build QuickTune on peripherals
...
kills heavy peripherals
../../libraries/AP_Quicktune/AP_Quicktune.cpp: In member function 'void AP_Quicktune::update(bool)':
../../libraries/AP_Quicktune/AP_Quicktune.cpp:177:32: error: 'vehicle' is not a member of 'AP'
177 | const auto &vehicle = *AP::vehicle();
| ^~~~~~~
compilation terminated due to -Wfatal-errors.
[ 688/1225] Compiling libraries/AP_TemperatureSensor/AP_TemperatureSensor_TSYS03.cpp
Waf: Leaving directory `/home/pbarker/rc/ardupilot/build/CubeOrange-periph-heavy'
2024-12-17 20:16:30 +11:00
Peter Barker
439c85e793
AP_Airspeed: correct compilation when AP_AIRSPEED_AUTO_CAL_ENABLE is false
...
CubeNode was trying to check a parameter which doesn't exist
../../libraries/AP_Airspeed/Airspeed_Calibration.cpp: In member function 'void AP_Airspeed::send_airspeed_calibration(const Vector3f&)':
../../libraries/AP_Airspeed/Airspeed_Calibration.cpp:179:23: error: 'class AP_Airspeed_Params' has no member named 'autocal'
179 | if (!param[i].autocal && !calibration_enabled) {
| ^~~~~~~
compilation terminated due to -Wfatal-errors.
2024-12-17 11:32:55 +11:00
Andy Piper
7a16bf1987
AP_HAL_ChibiOS: ICM42688 for OrqaF405Pro
2024-12-17 11:21:54 +11:00
Peter Barker
f19eddad74
AP_NavEKF3: apply -O2 to AP_NavEKFx.h
...
the core.h file adjusts the optimisation level; use it when including the AP_NavEKFx.h header file
2024-12-17 11:18:54 +11:00
Peter Barker
c6ec6cb428
AP_NavEKF2: apply -O2 to AP_NavEKFx.h
...
the core.h file adjusts the optimisation level; use it when including the AP_NavEKFx.h header file
2024-12-17 11:18:54 +11:00
Peter Barker
52291b622a
AP_Generator: apply -Os to all cpp files
2024-12-17 11:11:27 +11:00
Henry Wurzburg
85258153ac
AP_BattMonitor: update FS actions metadata with DO_RETURN_PATH_START
2024-12-17 09:34:49 +11:00
Peter Barker
ab4614dd98
AP_HAL_ESP32: stop making python python3
...
this isn't something we should be doing to people's environments
2024-12-17 09:19:20 +11:00
Peter Barker
05e5d2e6bb
AP_SerialManager: move serial port init of Volz protocol into Volz library
2024-12-17 09:14:08 +11:00
Peter Barker
4e0bc79002
AP_Volz_Protocol: move serial port init of Volz protocol into Volz library
2024-12-17 09:14:08 +11:00
Peter Barker
061097ac31
AP_SerialManager: add a method to set the default baud
...
this allows a library to change what the GCS will see in the parameter for a serial port's baud rate.
2024-12-17 09:14:08 +11:00
Peter Barker
aec7cc24d1
AP_Mount: rearrange methods and variables per PR review
2024-12-16 19:16:25 +09:00
Peter Barker
0b8ad6f1d9
AP_Mount: privatise various fields and methods
...
We are hoping to pull more target calculations into the frontend.
Having these non-private threatens for calculations to move into the separate backends instead, so privatise them
2024-12-16 19:16:25 +09:00
James O'Shannessy
4bc6115f1a
hwdef: Update scripts to parse CSV files properly
...
fails because of iterator not returning strings and 'dict' object has no attribute 'iterkeys'. Fixed so both scripts run.
2024-12-16 19:23:58 +11:00
James O'Shannessy
61ca071ba6
AP_HAL_ChibiOS: Add STM32F413xx module
...
Generated the STM32F413xx script from reference manuals and datasheets
Added changes for supporting STM32F413 to mcuconf
2024-12-16 19:23:58 +11:00
Eric Katzfey
99bfc32038
AP_HAL_QURT: Add support for the ModalAI IO board to support PWM ESCs
2024-12-16 13:03:50 +11:00
Rhys Mainwaring
ee7376afb1
SITL: follow standard pattern for including ENABLED guards
...
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-15 11:32:36 -06:00
Rhys Mainwaring
5b935a3838
AP_HAL_ESP32: update cmake minimum version
...
- The ESP32 API guide states the cmake version must be 3.16 or greater.
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-15 08:55:04 -06:00
Bob Long
8229174a76
AP_VisualOdom: fix singleton panic message
2024-12-15 23:38:24 +11:00
Bob Long
a598045fd0
AP_AdvancedFailsafe: fix singleton panic message
2024-12-15 23:38:24 +11:00
Tom Pittenger
a48ff8431b
AP_ADSB: add option to force Mode3AC Only
2024-12-14 22:51:11 -08:00
Tom Pittenger
137915ab46
AP_ADSB: refactor IDENT and add gcs_sendtext feedback
2024-12-14 22:50:19 -08:00
Tom Pittenger
35f563d538
AP_ADSB: refactor a table
2024-12-14 22:49:31 -08:00
Peter Barker
4554dd28d3
AP_DroneCAN: document CANS (Can Bus Statistics) log message
2024-12-15 15:17:55 +11:00
Eric Katzfey
7c1cc26509
GCS_MAVLink: Remove pragma to disable compiler warning and instead cast enum to int to fix the code.
2024-12-15 15:16:21 +11:00
Eric Katzfey
93ba994eb1
AP_GPS: Cast enum to int to fix compiler warning when max enum value is less than the constant being compared to.
2024-12-15 15:16:21 +11:00
Peter Barker
f26372b46e
AC_Avoidance: add missing include
...
../../libraries/AC_Avoidance/AC_Avoidance_Logging.cpp: In member function 'void AP_OABendyRuler::Write_OABendyRuler(uint8_t, bool, float, float, bool, float, const Location&, const Location&) const':
../../libraries/AC_Avoidance/AC_Avoidance_Logging.cpp:23:46: error: 'ahrs' is not a member of 'AP'
23 | yaw : (uint16_t)wrap_360(AP::ahrs().yaw_sensor * 0.01f),
| ^~~~
compilation terminated due to -Wfatal-errors.
2024-12-15 12:46:22 +11:00
Rhys Mainwaring
70fe304c7e
SITL: add ENABLED defines for simulated I2C devices
...
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-12-15 09:49:34 +11:00
Simon Hancock
17f18f7fc5
AP_Filesystem: Add details of withdefaults query param to README
2024-12-15 08:43:42 +11:00
Eric Katzfey
ede51888b0
AP_TECS: Removed an unused variable to get rid of a compiler warning
2024-12-14 15:42:46 +11:00
Thomas Watson
2f5be28378
AP_BattMonitor: INA3221: reallocate parameter indices
...
Hasn't been released yet so let's not add more conflicts.
2024-12-14 15:42:31 +11:00
Thomas Watson
49a3a9d220
AP_BattMonitor: add missing subgroup links to correct metadata gen
2024-12-14 15:42:31 +11:00
Thomas Watson
fb9119fac8
AP_BattMonitor: create table of used backend paramater indices
...
Hopefully makes it less likely for conflicts to happen and makes it
easier to find free indices.
2024-12-14 15:42:31 +11:00
Iampete1
634e106af4
RC_Channel: add another 8 scripting aux functions
2024-12-14 15:41:57 +11:00
Andrew Tridgell
322b7520de
AP_CANManager: fixed critical race in log_text()
...
the AP_CANManager::log_text() gets called from debug logging in
AP_DroneCAN. It is a method on a common AP_CANManager object which is
shared by multiple AP_DroneCAN threads.
if two threads call the debug log messages at the same time then we
can end up with _log_pos greater than LOG_BUFFER_SIZE (1024) and
overwrite past the end of the buffer
in the crash_dump we have for this case the next piece of memory was
hal.can[0], and the overwrite of the buffer had corrupted the
MessageRam_ structurre in the ChibiOS CAN interface code. That led to
a hardfault on receive of a CAN message
Note that this issue only happens if CAN_LOGLEVEL is set to greater
than zero, and the default is zero. So users can avoid the bug by
checking they have not changed CAN_LOGLEVEL.
Also, this is likely an issue that only happens on startup, as once
the two AP_DroneCAN threads are fully running they have the same
thread priority so can't pre-empt each other. During startup some
messages are sent from the main thread which has a different priority
to the AP_DroneCAN threads, and can thus trigger this issue
2024-12-14 15:41:38 +11:00
Peter Barker
eedb8ae617
hwdef: remove 'HAL_WATCHDOG_ENABLED_DEFAULT true' from periphs
...
this is the default for peripherals
2024-12-14 10:36:06 +11:00
Peter Barker
9835fe80d6
AP_TECS: correct comment explaining roll-induced-drag scaling
...
Co-authored-by: George Zogopoulos <tailwhipx4@gmail.com>
2024-12-14 10:11:09 +11:00
Peter Barker
1ab0dcd45d
AP_TECS: remove unneccessary sqrtf in Phi calculations
...
we take the square of this in the only use of it
2024-12-14 10:11:09 +11:00
Peter Barker
fea17e6f59
SITL: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
6fb3e27b8d
AP_RCProtocol: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
d540a31f2e
AP_Radio: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
70e9a90ac5
AP_Param: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
074798fb88
AP_Logger: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
7fe183ba0f
AP_InternalError: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
5becd59265
AP_InertialSensor: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
57ac1e5911
AP_HAL_SITL: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
dc2a5e02b6
AP_HAL_Linux: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
e6796c1e96
AP_HAL_ChibiOS: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
14b29cf7de
AP_FlashStorage: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
f59efb8a19
AP_DDS: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Peter Barker
d68b95e60e
AP_AHRS: remove superfluous linefeed from panic strings
...
panic adds this within the HAL layer.
2024-12-14 10:06:13 +11:00
Andy Piper
684d95a826
AP_Camera: remove lf from panic
...
correct camera info message and defend against -1
2024-12-13 11:07:09 +00:00
Andy Piper
399f9f6f98
AP_Camera: RunCam camera backend
...
RunCam parameter conversion
add RunCam camera settings and control
2024-12-13 11:07:09 +00:00
Andy Piper
90fc426fd5
AP_HAL_ChibiOS: ensure RunCam backend gets included in minimal
2024-12-13 11:07:09 +00:00