Commit Graph

34476 Commits

Author SHA1 Message Date
Thomas Watson dc76e03890 AP_HAL: introduce get_HAL_mutable() to complement get_HAL()
Returns a mutable reference to the same HAL for certain purposes where
the HAL needs to be mutated to avoid UB problems with casting away const
and to make the fact that mutation is happening obvious.
2023-11-28 08:24:25 +11:00
Andrew Tridgell c48feefe23 AP_BattMonitor: fixed battery percentage with aux info
when we have aux battery information we had assumed the CAN device
would provide the battery remaining percentage. We should obey the "do
not use CAN SoC" with or without an AUX message

This fixes CAN battery monitors with a cell monitor
2023-11-27 13:02:46 +11:00
Stephen Dade 73eb3b0590 AR_Motors: Add prearm check for no outputs 2023-11-27 08:31:31 +09:00
Peter Barker f40250c073 AP_AHRS: compile EKF2 out by default on all boards 2023-11-27 09:05:08 +11:00
Tom Pittenger 6dcaf94c3d AP_BattMon: add AP_BATTERY_WATT_MAX_ENABLED 2023-11-26 11:57:14 +11:00
Tom Pittenger 1f7b4d0938 AP_HAL_ChibiOS: set AP_BATTERY_WATT_MAX_ENABLED 0 for minimize 2023-11-26 11:57:14 +11:00
Tom Pittenger cd6a656acf AP_HAL_ChibiOS: set AP_BATTERY_WATT_MAX_ENABLED 0 for periph 2023-11-26 11:57:14 +11:00
Tom Pittenger 8ab3ad2777 AP_Networking: add support for AP_Periph 2023-11-26 11:28:57 +11:00
Tom Pittenger e8c852f0d4 AP_HAL: Allow APMSockets to autodetect Broadcast IPs 2023-11-25 16:28:07 -08:00
olliw42 8f9df5a62e AP_Arming: Reduce response time when checks go from true to false 2023-11-25 14:59:04 -08:00
Peter Barker 27f836b66e hwdef: correct ARK_CANNODE compilation
this was turning SPI on when there aren't any devices...
2023-11-25 13:47:13 -08:00
alexklimaj ddba794420 hwdef: ark_rtk_gps fix safety led 2023-11-25 13:45:56 -08:00
Andrew Tridgell ee592476ce AP_HAL: implement multicast for UDP sockets 2023-11-25 12:19:43 -08:00
Andrew Tridgell 68e2bb1f15 AP_Networking: enable receive of multicast packets 2023-11-25 12:19:43 -08:00
Andrew Tridgell 58cf4f65a9 HAL_SITL: use SocketAPM for CAN multicast and SITL_Periph state 2023-11-25 12:19:43 -08:00
Ryan Friedman 14aeb831fb AP_DDS: Add instructions for running HW test
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-22 21:44:35 -08:00
bugobliterator 4b61b3d64e AP_Stats: initialise parameter defaults 2023-11-22 21:43:00 -08:00
Tom Pittenger b5e2f9aa0a AP_Scripting: change some _INFO msgs to _CRITICAL/ERROR 2023-11-22 00:07:05 -08:00
Pierre Kancir d98a400d9e AP_Logger: Prepare the maximum number of log files in the config parameter 2023-11-22 18:35:21 +11:00
Peter Barker e9fc99b1bf AP_HAL_ChibiOS: base HAL_USE_SPI on devices not buses
fixes compilation problem with gcc 10.3

../../libraries/AP_HAL_ChibiOS/SPIDevice.cpp: In static member function 'static void ChibiOS::SPIDeviceManager::__static_initialization_and_destruction_0(int, int)':
../../libraries/AP_HAL_ChibiOS/SPIDevice.cpp:76:18: error: statement has no effect [-Werror=unused-value]
   76 | ChibiOS::SPIDesc SPIDeviceManager::device_table[] = { HAL_SPI_DEVICE_LIST };
      |                  ^~~~~~~~~~~~~~~~
compilation terminated due to -Wfatal-errors.
cc1plus: some warnings being treated as errors
2023-11-22 18:14:00 +11:00
Andrew Tridgell f30ac4052c HAL_SITL: added SERIAL4 as UDP output for SITL periph 2023-11-22 17:19:12 +11:00
Andrew Tridgell a725d8b90c AP_DroneCAN: support CAN serial ports
this allows any serial protocol to be mapped to a remote DroneCAN node
2023-11-22 17:19:12 +11:00
Andrew Tridgell e06d65bd75 AP_Networking: simplify port registration 2023-11-22 17:19:12 +11:00
Andrew Tridgell 65ffe713b4 AP_SerialManager: enable port registration for dronecan 2023-11-22 17:19:12 +11:00
Andrew Tridgell e63a2250ca AP_SerialManager: ensure registered ports are in sorted order
this avoids ordering issues if using both CAN and network serial ports
2023-11-22 17:19:12 +11:00
Andrew Tridgell 0ae5c9116c AP_SerialManager: added AP_SerialManager_config.h 2023-11-22 17:19:12 +11:00
Andrew Tridgell a54503ae12 AP_SerialManager: define port ranges for CAN serial ports 2023-11-22 17:19:12 +11:00
Peter Mullen adc0ebf9de AP_RangeFinder: Add signal_quality_pct to range finder state 2023-11-21 22:24:12 +11:00
Peter Barker 8eb5baa4ae Filter: correct AP_Filter defines
- checking the build type is very rarely used and definitely not required here
 - fix boilerplate to conform to normal pattern of including the config header and #if'ing based on the _ENABLED directly after that
2023-11-21 21:13:42 +11:00
Peter Barker e806adb009 AP_Vehicle: correct AP_Filter defines
- checking the build type is very rarely used and definitely not required here
 - fix boilerplate to conform to normal pattern of including the config header and #if'ing based on the _ENABLED directly after that
2023-11-21 21:13:42 +11:00
Peter Barker 15e0f689c2 AP_HAL_ChibiOS: correct AP_Filter defines
- checking the build type is very rarely used and definitely not required here
 - fix boilerplate to conform to normal pattern of including the config header and #if'ing based on the _ENABLED directly after that
2023-11-21 21:13:42 +11:00
Ryan Friedman da0efa3323 SITL: Bump up read rate on SITL
* This is needed to do active configuration quickly
* Read/Write split and exposed to ensure physics/write rate is still
  coupled to avoid impacting the jamming and delayed data
* Created a utility to allocate the SITL instance

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-21 15:29:46 +11:00
Andrew Tridgell 69bfe9b837 APM_Control: added D_FF support for fixed wing 2023-11-21 13:26:23 +11:00
Andy Piper 5d53485be0 AP_Logger: add PIDInfo.DFF logging 2023-11-21 13:26:23 +11:00
Andy Piper 6ecb18e027 AP_Vehicle: link in AP_Filter support
allow filters to be compiled out
add filter updates at 1Hz
2023-11-21 13:26:23 +11:00
Andy Piper e729c8ccfa Filter: add AP_Filter support
enable filters with AP_FILTER_ENABLED
allow filters to be compiled out
add dynamic updates, remove load/save and enable
2023-11-21 13:26:23 +11:00
Andy Piper 5b0f30ad44 AP_WheelEncoder: update for new AC_PID settings
enable filters with AP_FILTER_ENABLED
2023-11-21 13:26:23 +11:00
Andy Piper cfebae5857 APM_Control: update for new AC_PID settings
enable filters with AP_FILTER_ENABLED
2023-11-21 13:26:23 +11:00
Andy Piper fc76312fc3 AC_PID: use AP_Filter for notch configuration
enable filters with AP_FILTER_ENABLED
dynamically allocate notches
remove load/save for notches, update docs
move feedfoward update to update_all()
restrict load_gains() and save_gains() to just what autotune needs
add D_FF logging
2023-11-21 13:26:23 +11:00
Andy Piper 560030c9ba AC_CustomControl: update for new AC_PID settings
enable filters with AP_FILTER_ENABLED
2023-11-21 13:26:23 +11:00
Andy Piper b7a969d462 AC_AttitudeControl: update for new AC_PID settings
enable filters with AP_FILTER_ENABLED
2023-11-21 13:26:23 +11:00
Andy Piper 13ff23f39d AP_HAL: enable filters with AP_FILTER_ENABLED on sitl 2023-11-21 13:26:23 +11:00
Andy Piper d6287e90f1 AC_AttitudeControl: update PID notch centres
add documentation for PID notches and D feed-foward
add notches and D feedforward to heli PIDs
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Andy Piper 6a40843a9e Filter: provide accessors for center and sample frequencies on NotchFilter 2023-11-21 13:26:23 +11:00
Andy Piper 370ee7d4d3 AP_WheelEncoder: add documentation for PID notches and D feed-foward
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Andy Piper 952baf860c AC_CustomControl: add documentation for PID notches and D feed-foward
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Andy Piper 9211dba484 APM_Control: update docs for new AC_PID parameters
add advanced flag to PIDs and selectively compile advanced PID options
2023-11-21 13:26:23 +11:00
Andy Piper b17b78e329 AC_PID: add notch filters to target and error terms
calculate D feed-forward and notch applications correctly
only update notches when enabled
add notches and D feedforward to heli PIDs
add advanced flag an selectively compile advanced options
2023-11-21 13:26:23 +11:00
Peter Barker bc03918ea4 GCS_MAVLink: create and use AP_MAVLINK_MSG_UAVIONIX_ADSB_OUT_STATUS_ENABLED
narrower define we can use when not compiling in the backends which use this
2023-11-21 13:21:13 +11:00
Peter Barker 232edac8d7 AP_ADSB: create and use AP_MAVLINK_MSG_UAVIONIX_ADSB_OUT_STATUS_ENABLED
narrower define we can use when not compiling in the backends which use this
2023-11-21 13:21:13 +11:00
Thomas Watson b8d50b112a AP_Compass: fix C++ One Definition Rule violations
Two structs with the same name must have exactly the same definition, no
matter where they occur in the program, otherwise the program is undefined.

Move each sample register struct definition into the associated class
definition so they are in a different namespace and no longer
identically named, thus fixing this issue.
2023-11-21 13:21:03 +11:00
Rhys Mainwaring 0d735ffb01 AP_DDS: increase the timeout when creating participants and entities
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2023-11-21 13:20:23 +11:00
Peter Barker 6d172a1b22 GCS_MAVLink: exclude deadlock-creation based on FAILURE_CREATION_ENABLED 2023-11-21 09:35:50 +09:00
Henry Wurzburg f9c9a09327 AP_MSP: update option metadata for clarity 2023-11-21 10:05:56 +11:00
Henry Wurzburg 36a66424e1 AP_BattMonitor:remove unused param from analog fuel level 2023-11-21 10:01:38 +11:00
Peter Barker 170d96e8cc GCS_Common: remove mappings for non-supported messages 2023-11-20 19:25:25 +11:00
Peter Barker 70160c58e8 GCS_MAVLink: tidy sending of ADSB messages 2023-11-20 19:25:25 +11:00
Peter Barker 6f5ff2f952 GCS_MAVLink: tidy sending of HIGH_LATENCY2 messages 2023-11-20 19:25:25 +11:00
Peter Barker 031e5b1dab GCS_MAVLink: tidy sending of WATER_DEPTH messages 2023-11-20 19:25:25 +11:00
Peter Barker a8906ac491 GCS_MAVLink: tidy sending of winch messages 2023-11-20 19:25:25 +11:00
Peter Barker 564e6ec77a GCS_MAVLink: tidy sending of efi messages 2023-11-20 19:25:25 +11:00
Peter Barker 892bafe951 GCS_MAVLink: tidy sending of esc telem generator messages 2023-11-20 19:25:25 +11:00
Peter Barker a95b2b2497 GCS_MAVLink: tidy sending of queued generator messages 2023-11-20 19:25:25 +11:00
Peter Barker d894281f2b GCS_MAVLink: tidy sending of queued SIM messages 2023-11-20 19:25:25 +11:00
Peter Barker ec69867102 GCS_MAVLink: tidy sending of queued mcu status messages 2023-11-20 19:25:25 +11:00
Peter Barker 0983bd2d06 GCS_MAVLink: tidy sending of queued opticalflow messages 2023-11-20 19:25:25 +11:00
Peter Barker c017c8acf4 GCS_MAVLink: tidy sending of queued mount messages 2023-11-20 19:25:25 +11:00
Andy Piper 229916a48c AP_HAL_ChibiOS: enable serial LEDs on ARK_CANNODE 2023-11-20 19:23:06 +11:00
Andy Piper 04fa8ed593 AP_HAL_SITL: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Andy Piper b5ef11797b AP_Scripting: add success status to serialLED:send and serialLED:set_RGB 2023-11-20 19:22:20 +11:00
Andy Piper 00ceca0fff AP_SerialLED: return success status from send and set_RGB 2023-11-20 19:22:20 +11:00
Andy Piper d30e52ed3f AP_HAL: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Andy Piper 73610c8932 AP_HAL_ChibiOS: return success status from serial_led_send and set_serial_led_rgb_data 2023-11-20 19:22:20 +11:00
Andy Piper b7fd04318a AP_HAL_ChibiOS: fix race condition in sending serial LED data 2023-11-20 19:22:20 +11:00
Ryan Friedman 2d465a5b20 AP_DDS: Fix typos and out of date info
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-20 08:40:06 +09:00
Ryan Friedman 213cba86af AP_SerialManager: Add missing option for XRCE DDS
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-20 08:40:06 +09:00
Andrew Tridgell 8e50584bd8 AP_Networking: fixed buffer size handling
make begin() able to change buffer sizes
2023-11-18 16:54:54 -08:00
Henry Wurzburg 176a4aa51a AP_BoardConfig: add arm/disarm controlled GPIO for module power control 2023-11-18 14:27:05 +11:00
Henry Wurzburg fffe3afb28 AP_Arming: add arm/disarm controlled GPIO for module power control 2023-11-18 14:27:05 +11:00
Peter Barker afa263c691 SITL: set sitl point for GPS backends in constructor
_sitl is guaranteed non-nullptr by the SITL::GPS::update()
2023-11-18 13:59:28 +11:00
Tom Pittenger 3b35915774 AP_Networking: return bug fix
Co-authored-by: Ryan <ryanfriedman5410+github@gmail.com>
2023-11-17 18:24:39 -08:00
Tom Pittenger fcf602cbe2 AP_Networking: init socket null check 2023-11-17 18:24:39 -08:00
Tom Pittenger 30bccf6266 AP_Networking: adjustable PORT buf size 2023-11-17 18:24:39 -08:00
muramura f28ef5e5a7 AP_Baro: Returns directly calculated values 2023-11-18 12:18:36 +11:00
Andrew Tridgell 2ba4bf1478 HAL_ChibiOS: allow for --disable-networking 2023-11-17 10:54:24 -08:00
Andrew Tridgell 31fd43ba25 AP_SerialManager: fixed passthru with network ports 2023-11-17 10:54:24 -08:00
Andrew Tridgell 84dd7eaaf1 AP_Networking: added support for mapping network ports
only UDP_CLIENT so far
2023-11-17 10:54:24 -08:00
Andrew Tridgell ba0598930e AP_Vehicle: added AP_Networking::Port NET_Pn_ parameters 2023-11-17 10:54:24 -08:00
Andrew Tridgell f9f07912e6 AP_SerialManager: added register_port() API
allows another library to register a UART driver for exposing via
AP_SerialManager APIs
2023-11-17 10:54:24 -08:00
Andrew Tridgell 713745ed28 AP_DroneCAN: don't update hobbywing ESC table while armed
some hobbywing ESCs have a bug where requesting the ID table can cause
the ESC to stutter
2023-11-17 16:21:58 +11:00
Pradeep CK 71141080a1 AP_EFI : Hirth Driver Addition
Implementation for Hirth.
 - Base class - AP_EFI
 - polynomial functional throttle linearization
 - AP_EFI_State parameter addition and changes for hirth logging
 - to fix autotest errors
 - updated comments
 - Hirth CI/CD autotest fail fixes
 - logging
 - fix CI issues
2023-11-17 13:09:02 +11:00
Andrew Tridgell 6bf3debe73 HAL_ChibiOS: default disable ICE in periph 2023-11-17 13:09:02 +11:00
Andrew Tridgell 3e0e32a409 AP_Scripting: support 2nd cylinder in EFI 2023-11-17 13:09:02 +11:00
Peter Barker c5eab29f5e AP_Math: add F_TO_KELVIN and C_TO_F 2023-11-17 13:09:02 +11:00
Peter Barker a018bed042 SITL: improve MegaSquirt simulator fidelity 2023-11-17 13:09:02 +11:00
Peter Barker ca16e924db SITL: add simulator Hirth EFI 2023-11-17 13:09:02 +11:00
Peter Barker f134a1df34 AP_HAL_SITL: add simulator Hirth EFI 2023-11-17 13:09:02 +11:00
Peter Barker 76d07f21f5 AP_HAL: add simulator Hirth EFI 2023-11-17 13:09:02 +11:00
Peter Barker 2f710a4689 SITL: correct MegaSquirt simulation 2023-11-17 13:09:02 +11:00
Peter Barker 3f730a8a94 AP_Math: add crc_sum_of_bytes
sums the values of the bytes in a buffer and returns that sum modulus 256
2023-11-17 13:09:02 +11:00