Commit Graph

37604 Commits

Author SHA1 Message Date
Peter Barker cc6b3cec5d hwdef: use V-UAV in place of VIEWPRO for link text 2024-11-08 10:46:32 +11:00
Andy Piper 01fc0744dc AP_HAL_ChibiOS: TBS LUCID H7 2024-11-07 14:33:38 +00:00
Peter Barker f0900bd119 AP_Camera: RunCam: get rpty channels directly using convenience functions 2024-11-06 18:40:38 +11:00
Peter Barker 70c277b759 AP_Logger: make logging_started const 2024-11-06 16:31:38 +09:00
Iampete1 2ba7516b0f AP_Scripting: applets: MissionSelector: add loaded print 2024-11-06 18:14:47 +11:00
Iampete1 d01ac70c16 AP_Scripting: Applets: MissionSelector: fix error on file open and checker errors 2024-11-06 18:14:47 +11:00
Peter Barker 96bc2f5e57 GCS_MAVLink: use set_alt_m 2024-11-06 18:12:48 +11:00
Peter Barker 0077066ffb AP_Common: Location: add set_alt_m
we have get_alt_m already, and there's a bunch of places that *100
2024-11-06 18:12:48 +11:00
Richard Allen c0ee3b2216 AP_HAL: support port SITL to OpenBSD 2024-11-06 14:17:31 +11:00
Richard Allen 9696081a85 AP_Filesystem: support port SITL to OpenBSD 2024-11-06 14:17:31 +11:00
Richard Allen bc9e135d6f AP_HAL_SITL: support port SITL to OpenBSD 2024-11-06 14:17:31 +11:00
Andrew Tridgell 7f04c82994 AP_Scripting: added FlexDebug example 2024-11-05 17:03:23 +09:00
Andrew Tridgell 03de099452 AP_DroneCAN: support FlexDebug message 2024-11-05 17:03:23 +09:00
Andrew Tridgell 349ebde101 AP_Scripting: added support for FlexDebug message
allows lua to retrieve vendor specific data from CAN nodes
2024-11-05 17:03:23 +09:00
James O'Shannessy 2892483ea1 AP_BattMonitor: Fix documentation generating incorrect parameter name
Without this, parameter names are generated as eg. 'BATT2__ARM_VOLT'
2024-11-05 10:05:01 +09:00
Frank0587 3aa2f51465 AP_RCTelemetry: Fix Baro and Vario values
Add the missing byte swapping for 16bit values
2024-11-05 09:36:51 +09:00
Dr.-Ing. Amilcar do Carmo Lucas 12b761c534 AP_Scheduler: Use a range of values here because it is valid to do so.
Makes it easier for GUI applications to display this better and valudate the range
2024-11-05 09:25:59 +09:00
Dr.-Ing. Amilcar do Carmo Lucas 6a59d3adae AP_Compass: Also mark Z axis as calibrations, just like the XY 2024-11-05 09:25:59 +09:00
Peter Barker de0f3ddebe AP_NavEKF: add enumeration to document EKF SolutionStatus
this isn't used for anything but documenting the solution status field, which can be used in the Wiki and in various log analysis tools
2024-11-05 08:59:42 +09:00
Peter Barker 44375f27e1 AP_NavEKF3: add enumeration to document EKF SolutionStatus
this isn't used for anything but documenting the solution status field, which can be used in the Wiki and in various log analysis tools
2024-11-05 08:59:42 +09:00
Peter Barker dc62483e0c AP_Math: move zeroing to header, use memset, reuse in identity
this method is in ITCM memory on STM32 - which makes small optimisations worthwhile
2024-11-05 08:39:25 +09:00
Peter Barker 4e0930a09d AP_HAL_ChibiOS: exclude chprintf from fastramfunc
on H730 we are overflowing the ITCM area for SPRacingH7RF and other boards are not far behind.

Step away from the edge by removing this function which should never be in a fast path
2024-11-05 08:38:23 +09:00
Henry Wurzburg 1daa52478b AP_HAL_ChibiOS:Mugin MUPilot 2024-11-05 08:16:34 +09:00
Thomas Watson 195d3b78e6 AP_Scripting: ESC_slew_rate: fix lua warning
Docs say that logger must be called with `:`.
2024-11-04 15:34:19 +00:00
Stephen Dade 3764f377d8 APM_Control: Correct use of deceleration 2024-11-04 11:55:28 +09:00
Ryan Friedman bd067f9615 AP_DDS: Set GPS instance ID in the GPS frame ID
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-11-01 11:11:41 +09:00
nicholas-inocencio c270c392c4 AP_ADSB: Style fixes 2024-10-31 15:28:34 -07:00
nicholas-inocencio 7a6031c746 AP_ADSB: Bugfixes and improvements to ping200X integration
AP_ADSB: uAvionix Transponder Status V3

+ Current version of ping200X sends the v1 status message periodically and the v3 status message in response to the transponder control message, so ardupilot needs to handle both gracefully; version 1 and version 3 are very different in structure and naively assuming one version over another will cause errors.

AP_ADSB: Process additional xpdr status v3 fields

AP_ADSB: Send GCS xpdr status at least every 10s

AP_ADSB: Send ping200X estimated HPL

+ When AP sends the ping200X the GPS data GDL90 message, it needs to provide a valid HPL for the ping200X to report a valid NIC.

AP_ADSB: Don't send unsolicited transponder status

AP_ADSB: Better initialization of xpdr id/config

AP_ADSB: Better initialization of frontend status

AP_ADSB: Suggestions from review
2024-10-31 15:28:34 -07:00
ARg a6f00a34b1 AP_HAL_ESP32: RCOutput ported to new mcpwm driver 2024-10-27 21:19:29 +11:00
Bayu Laksono d27742983f AP_HAL_ESP32: Switch WIFI task from FASTCPU to SLOWCPU
Switching WIFI task from FASTCPU to SLOWCPU seems to bring more balance between CPUs and thus increasing connection reliabiiity
2024-10-27 21:16:28 +11:00
Ryan Friedman 380e9aa36b AP_DDS: Wrap services in defines
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-10-27 11:59:08 +11:00
ZeroOne-Aero b2b45477af hwdef: update ZeroOne X6 documentation 2024-10-27 11:42:49 +11:00
Eric Katzfey b4df082618 AP_RCProtocol: get rid of compiler warning from clang about unknown warning group -Wswitch-unreachable 2024-10-26 21:05:33 +11:00
Andrew Tridgell f161d5745e HAL_QURT: avoid sudo in make_package.sh
sudo is not allowed on build server
2024-10-26 08:26:42 +09:00
bugobliterator 9dca511e7e AP_HAL_ChibiOS: do not run through SPI_RX and TX as well
we use MISO and MOSI name for SPI
2024-10-25 18:16:00 +11:00
Bob Long 61593e2b36 SITL: FlightAxis: add option to silence FPS 2024-10-25 18:14:22 +11:00
Bob Long 49bbb2c923 SITL: FlightAxis: add position reset option 2024-10-25 18:14:22 +11:00
Bob Long 9fdd0a4e84 SITL: FlightAxis: add options bitmask parameter 2024-10-25 18:14:22 +11:00
muramura 5e47fa1353 AP_AHRS: Change the order in which you make judgments 2024-10-25 18:13:57 +11:00
jamming e91cab3349 hwdef: Add icm42688 support for KakuteH7Mini 2024-10-25 18:08:22 +11:00
Eric Katzfey 7d3740f79f AP_HAL_QURT: Add Debian packaging script and support files 2024-10-25 12:36:57 +09:00
Ryan Friedman 72f0ecc18f AP_DDS: Support compile-time configurable rates for each publisher
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-10-24 20:58:24 +11:00
Andrew Tridgell 92693e0237 AP_ExternalAHRS: support backends with get_variances()
re-implement send_status_report in terms of get_variances and support
EKF failsafe with ExternalAHRS
2024-10-23 06:46:59 +09:00
Andrew Tridgell 04d18f1efb AP_AHRS: support variances from External_AHRS 2024-10-23 06:46:59 +09:00
bugobliterator b69087ae61 AP_HAL_ChibiOS:CubeNode: undefine IMU for CubeNode_ETH 2024-10-23 06:46:22 +09:00
bugobliterator 9381404a9f AP_InertialSensor: fix continuing after ins init fail in AP_Periph 2024-10-23 06:46:22 +09:00
bugobliterator 76d6a88b7b AP_HAL_ChibiOS: properly enable periph IMU on CubeOrange-periph and heavy 2024-10-23 06:46:22 +09:00
bugobliterator 2cc7277692 AP_Scripting: fix build with both GCS and Scripting enabled 2024-10-23 06:46:22 +09:00
bugobliterator 830de73e58 AP_HAL_ChibiOS: add support for raw imu publishing in AP_Periph 2024-10-23 06:46:22 +09:00
bugobliterator 87ae3bccec AP_HAL_ChibiOS: change name CubePilot-CANMod and -PPPGW to CubeNode 2024-10-23 06:46:22 +09:00
Andrew Tridgell 145cc4bb26 AP_Scripting: example to test ESC slew limit
can be used to calculate equivalent cutoff frequency
2024-10-17 11:16:18 +11:00
Hayden Donald 0ddaae5cb6 AP_Scripting: Add mcu_voltage
Add analog:mcu_voltage() to get a reading of the mcu voltage
2024-10-16 19:04:16 +11:00
ZeroOne-Aero 81768b26ff hwdef: added ZeroOneX6 picture
upload ZeroOneX6 picture
2024-10-15 15:04:49 +11:00
Andrew Tridgell b34417f683 GCS_MAVLink: raise number of MAVLink ports
with CAN serial ports and network serial ports sometimes need more
2024-10-15 13:13:54 +11:00
Andrew Tridgell 996b36531b AP_DroneCAN: force DroneCAN zero throttle when disarmed
if a user has set CAN_D1_UC_ESC_RV which is the mask of ESCs that are
reversible we were sending -8191 when disarmed, which is full reverse
throttle. This is the correct output when armed as it is treated as
full reverse at "PWM" 1000 and stopped at 1500, but when disarmed we
should always send zero or the user may find all ESCs spin up at full
reverse when disarmed if the ESC supports reverse throttle (which is
rare in DroneCAN ESCs)
2024-10-15 11:51:10 +11:00
Andrew Tridgell 8053c40993 AP_Logger: mark CSRV non-streaming
the rate of CAN servo messages is controlled by the servo. Having this
streaming means we can miss logging when there is more than one CAN
servo.

In the future we will move to holding the CAN servo data in a data
structure like we do for ESCs, and then log at a regular rate, but for
now this fixes the issue
2024-10-15 11:31:36 +11:00
Tom Pittenger 3ec92731d4 AP_Temperature: fix MCP9600 i2c address and TEMP9 index 2024-10-15 11:30:30 +11:00
Andrew Tridgell 02fd1f3561 AP_Scripting: use cached in AHRS_switch example
and use EKF2/EKF3, more likely to be useful
2024-10-15 10:48:11 +11:00
Peter Barker e15f72ce58 AP_DAL: document more replay messages 2024-10-15 10:46:45 +11:00
Peter Barker d8b109683a AP_NavEKF3: initialise variables as part of declaration 2024-10-15 10:45:59 +11:00
Thomas Watson f2a9075d43 AP_PiccoloCAN: use 32 bit microsecond timeouts for write_frame
For consistency with other parts of the code.

Note that now different frames in a group could have slightly different
deadlines.
2024-10-15 10:24:25 +11:00
Thomas Watson 1354490621 AP_PiccoloCAN: use 32 bit microsecond timeouts for read_frame
For consistency with other parts of the code.

Makes obvious the curious fact that the read_frame timeout is always 0.
2024-10-15 10:24:25 +11:00
Thomas Watson 55c5cb10d0 AP_PiccoloCAN: use 32 bit microsecond timeouts for connection funcs
For consistency with other parts of the code.
2024-10-15 10:24:25 +11:00
Iampete1 baf41ae92e AP_Volz_Protocol: rate limit logs to 5Hz 2024-10-15 10:13:06 +11:00
Iampete1 441dba493f AP_Volz_Protocol: add support for telem and logging 2024-10-15 10:13:06 +11:00
bugobliterator 2524583dda AP_HAL_ChibiOS: increase the number of memory regions for crashdump
also checks num region overruns for bss and heap
2024-10-14 07:21:22 +11:00
MattKear 20449e3c6a AC_Autorotation: Add RSC_Autorotation class 2024-10-11 09:54:26 +11:00
Gone4Dirt b96bb5dc08 AC_Autorotation: Remove bailout case 2024-10-11 09:54:26 +11:00
Gone4Dirt 075ce596d2 Copter: Heli: simplify autorotation mode change and support RSC autorotation state 2024-10-11 09:54:26 +11:00
Gone4Dirt 431cc25dca AP_MotorsHeli: Consolidate all autorotation state into its own class within RSC 2024-10-11 09:54:26 +11:00
Tiziano Fiorenzani 969979cd17 AP_DDS: battery topic to report all the available batteries 2024-10-11 09:53:51 +11:00
Peter Barker a8ce43426b AP_TemperatureSensor: compile all of TemperatureSensor in on boards with >2048 flash
this includes SITL but should also include CubeRed etc
2024-10-11 09:52:03 +11:00
Thomas Watson 9a497fe716 AP_KDECAN: standardize on 32 bit microsecond CAN timeouts
For consistency with other parts of the code. No compiler output change.
2024-10-11 09:51:43 +11:00
Alexis Guijarro 43b8900bec hwdef: Removed duplication for AP_STATS_ENABLED 2024-10-11 09:51:27 +11:00
Peter Barker b36f539c7c SITL: avoid floating point exception around rangefinder distance
projecting onto an infinite plane can cause exceptionally long rangefinder distances - for now jsut cap the distance that the simulated rangefinder can return to avoid floating point exceptions.

the FPE is caused in the Plane FlyEachFrame autotest when flying quadplane-copter_tailsitter - which ends up with a rangefinder at yaw-minus-180.
2024-10-10 20:44:04 +11:00
Andy Piper cb111504e2 AP_InertialSensor: cope with negative ESC frequencies in notch updates 2024-10-09 18:31:57 +11:00
Tiziano Fiorenzani 57157d470f AP_DDS: Airspeed topic 2024-10-09 10:00:32 +11:00
Peter Barker dec10a1a58 hwdef: GEPRCF745BTHD: remove parachute and bl-flashing support (flash overflow) 2024-10-09 08:24:12 +11:00
Henry Wurzburg b71ed41c32 AP_BLHeli:correct RVMASK metadata 2024-10-08 20:58:16 +11:00
Peter Barker 8ba2dae936 AP_NavEKF2: clarify wind direction descriptions 2024-10-08 20:57:36 +11:00
Peter Barker 197d837b6c SITL: clarify wind direction descriptions 2024-10-08 20:57:36 +11:00
Peter Barker 8edcb4b8d3 AP_NavEKF3: clarify wind direction descriptions 2024-10-08 20:57:36 +11:00
Peter Barker 8487657137 AP_AHRS: DCM: log estimated wind 2024-10-08 20:57:36 +11:00
Peter Barker 56de7243f5 AP_AHRS: DCM: tidy variable creation 2024-10-08 20:57:25 +11:00
muramura 6c1a5bf3d0 AP_Logger: Align the order of definitions 2024-10-08 20:57:01 +11:00
Peter Barker 41753b43d7 AP_AHRS: DCM: remove unused variable 2024-10-08 11:10:26 +11:00
Peter Barker 3273f58851 AP_HAL: remove defines for boards which don't exist
we'll now get compilation failures if code is introduced depending on these...
2024-10-08 11:04:28 +11:00
Peter Barker 93174e3240 AP_HAL: avoid include of non-existant file
this file doesn't exist
2024-10-08 11:04:28 +11:00
olliw42 4616fec1be AP_SerialManager: RegisteredPort, add bytes_per_second/baudrate methods 2024-10-08 10:42:21 +11:00
Thomas Watson e9e7eba799 AP_DroneCAN: properly convert timeout to deadline for aux frames
The timeout specified for auxiliary driver frames was passed to the
driver where a deadline was expected. The transmission was then started
after its "deadline", thereby causing it to be canceled and the data
lost if the frame could not be sent immediately.

Fix by converting the timeout to a deadline before passing to the
driver. The conversion is done in the Canard interface code as it
already does other conversions from timeouts to deadlines.
2024-10-08 10:35:41 +11:00
ARg 47d391fc6d AP_HAL_ESP32: ADC driver ported to new idf 5.x driver and debugged 2024-10-08 10:29:02 +11:00
Ryan Friedman 88c06e07d7 AP_DDS: Wrap all topics in ifdefs
* Give ability to enable/disable any topic in DDS through compile
  options

Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-10-08 10:18:38 +11:00
Nick Exton 77f1efac5e AP_Mission: Set DO_MOUNT_CONTROL.mode when converting command to MAVLink 2024-10-08 08:05:27 +09:00
bnsgeyer e30b4bf090 AP_MotorsHeli: fix cooldown feature with new autorotation RSC library 2024-10-06 14:33:57 +11:00
Leonard Hall 4d116ceefe AR_PosControl: integrate PSC logging update
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-10-04 09:25:56 +09:00
Leonard Hall 399336f7ce AC_PID: AC_P_2D comment fix 2024-10-04 09:25:56 +09:00
Randy Mackay 73dfeac547 AP_Scripting: copter-slung-payload suppresses oscillation
Co-authored-by: Leonard Hall <leonardthall@gmail.com>
2024-10-04 09:25:56 +09:00
Randy Mackay bff288d498 AP_Scripting: mavlink_msgs global-position-int and heartbeat 2024-10-04 09:25:56 +09:00
Randy Mackay 51ec6dfd73 AP_Scripting: add copter-posoffset example script
Co-authored-by: Leonard Hall <leonardthall@gmail.com>
2024-10-04 09:25:56 +09:00
Randy Mackay 0c81f111fb AP_Scripting: add set_posvelaccel_offset binding
Co-authored-by: Leonard Hall <leonardthall@gmail.com>
2024-10-04 09:25:56 +09:00
Leonard Hall 37a7635c66 AC_Loiter: updates to offset handling 2024-10-04 09:25:56 +09:00
Randy Mackay e20c7edf68 AC_Loiter: optimise get-posvelaccel-target usage 2024-10-04 09:25:56 +09:00
Randy Mackay 2753b7030b AC_Circle: get-closest-point-on-circle returns dist 2024-10-04 09:25:56 +09:00
Randy Mackay 9ca47cf465 AC_Circle: integrate pos vel accel offsets
Co-authored-by: Leonard Hall <leonardthall@gmail.com>
2024-10-04 09:25:56 +09:00
Leonard Hall 9185b82b7a AC_WPNav: get_closest_point_on_circle uses is_positive 2024-10-04 09:25:56 +09:00
Randy Mackay 951ff473c3 AC_WPNav: support pos vel accel offsets
Co-authored-by: Leonard Hall <leonardthall@gmail.com>
2024-10-04 09:25:56 +09:00
Randy Mackay c706d01d7f AC_PosControl: implement singleton 2024-10-04 09:25:56 +09:00
Leonard Hall 9fb8a0f1ac AC_PosControl: support 3D pos, vel, accel offsets
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-10-04 09:25:56 +09:00
George Zogopoulos 68003a5eb4 AP_TECS: Reverted pitch limitation order 2024-10-02 17:09:07 +10:00
George Zogopoulos 121adf5f6d AP_TECS: Throttle limits refactor 2024-10-02 17:09:07 +10:00
George Zogopoulos 880ebbcdad AP_TECS: Takeoff improvements
- Refactor and split set_pitch_max_limit method.
- New _update_pitch_limits to encapsulate all relevant functionality.
- Automatically reset if pitch and throttle are overriden.
- nullified TAKEOFF alt_dem offset on external throttle.
- Simplify use of TKOFF_THR_MIN.
- Prevent takeoff altitude overshoot by capping the altitude setpoint offset.
- Move pitch limits after vertical acceleration limitation.
2024-10-02 17:09:07 +10:00
Bayu Laksono efe003743c AP_Notify: Add GPIO driver and buzzer 2024-10-01 21:06:39 -05:00
Bayu Laksono 6d672d42b9 AP_HAL_ESP32: Add GPIO driver and buzzer 2024-10-01 21:06:39 -05:00
Stephen Dade 9a563e222f GCS_MAVLink: Check if set_message_interval is too fast 2024-10-02 09:22:43 +10:00
Ryan Friedman 1bdc635ba8 AP_DDS: Implement joystick support
Signed-off-by: Ryan Friedman <ryan.friedman+github@avinc.com>
Co-Authored-by: Tiziano Fiorenzani
2024-10-01 10:46:35 +10:00
Andrew Tridgell b6f20e3786 AP_Scripting: docs update 2024-10-01 10:45:10 +10:00
Andrew Tridgell 3bbde7c302 AP_Scripting: test update 2024-10-01 10:45:10 +10:00
Andrew Tridgell 6a16bce001 AP_Scripting: added bindings for IPv4 address/string
and make socket recv return the source address and port
2024-10-01 10:45:10 +10:00
Peter Barker 8dec79d136 AP_GPS: use AP_GPS_FixType for ExternalAHRS fix type 2024-10-01 10:32:11 +10:00
Peter Barker f66815b200 AP_ExternalAHRS: use AP_GPS_FixType for ExternalAHRS fix type 2024-10-01 10:32:11 +10:00
Peter Barker efec7ccdc5 SITL: remove stale parameter metadata
now done by having the subgroup in its own file
2024-10-01 10:25:49 +10:00
Iampete1 d7599f225c GCS_MAVLink: Common: Allow scripting to receive messages which fail CRC check 2024-10-01 10:25:22 +10:00
Iampete1 902f1e6476 AP_Scripting: modules: MAVLink: update to latest version of generated code 2024-10-01 10:25:22 +10:00
Peter Barker 163f49827f AP_Mission: split logging of mission-upload vs mission-execution 2024-10-01 10:19:29 +10:00
Peter Barker 4237a33ce6 AP_Logger: split logging of mission-upload vs mission-execution 2024-10-01 10:19:29 +10:00
Peter Barker 1d947396b3 AP_Mission: move Mission log structures into Mission library 2024-10-01 10:19:29 +10:00
Peter Barker b98e682ec6 AP_Logger: move Mission log structures into Mission library 2024-10-01 10:19:29 +10:00
Peter Barker 423daaa71f GCS_MAVLink: split sending terrain report from terrain request 2024-10-01 10:13:06 +10:00
Peter Barker a401c98c74 AP_Terrain: split sending terrain report from terrain request 2024-10-01 10:13:06 +10:00
Bob Long 11014cae06 AP_BattMonitor: add option minimum volt option 2024-10-01 10:05:01 +10:00
Andrew Tridgell 52169f25da HAL_ChibiOS: replace volatile bools with mutexes
this replaces the two booleans used to mediate TX and RX buffer
protection with mutexes.

The booleans were a hangover from the very early HAL_ChibiOS code, and
can lead to a deadlock. The sequence is as follows:

 - a very high CAN bus bandwidth usage, triggered by MissionPlanner
   requesting CAN_FORWARD on a CAN serial port. That causes a
   "infinite" number of CAN_FRAME messages which saturates the bus,
   and leads to the DroneCAN thread looping with no pause

 - a serial port configured as GPS type AUTO, auto-probing for a GPS
   that isn't there. This calls begin() periodically

 - the UART TX thread assocated with that UART not making progress as
   the TX thread priority is below the DroneCAN thread priority

 - this causes the begin() in main thread waiting for _in_tx_timer to
   loop forever, which triggers a watchdog
2024-10-01 09:54:26 +10:00
Peter Barker 0cd6e330a5 AP_BattMonitor: add more-specific prearm failure when SUM backend not available 2024-10-01 09:48:13 +10:00
Peter Barker 721a9b846e AP_BattMonitor: print unhealthy message if battery backend not as expected
a backend which fails to allocate, or where the user has changed the backend type without rebooting will cause an "unhealthy" message to be emitted
2024-10-01 09:48:13 +10:00
Henry Wurzburg 4b5f490e9f Tools:remove BATTRY_SUM from <1K builds 2024-10-01 09:48:13 +10:00
tompsontan 84fbaa3abc AP_HAL_ChibiOS: add board X-MAV-AP-H743v2
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2024-10-01 09:39:55 +10:00
Thomas Watson 8e5ee61b02 AP_NavEKF3: derivation: don't generate unused equations
The code is left in for the future when they might be used.
2024-10-01 09:28:54 +10:00
Thomas Watson f9fa2565c4 AP_NavEKF3: document provenance of tilt error variance equations
This is also from the older version of the generator.

Note that as documented, some of the equations have been removed and
rearranged slightly as it is assumed their terms are zero. Additionally,
the result is taken as the sum of the diagonal entries of the matrix.
2024-10-01 09:28:54 +10:00
Thomas Watson 34fba4dfd7 AP_NavEKF3: document provenance of drag force fusion equations
It's from the older version of the generator as well.

Update variable names in the real code to be the same as the generated
code. Skip generation of the unused alternate form of the equations.

Delete `acc_bf_generated.cpp` as we know exactly how to generate it now.
2024-10-01 09:28:54 +10:00
Thomas Watson ef1c31bd50 AP_NavEKF3: document provenance of yaw fusion equations
Requires digging up old versions of the generator script.

The equations have been rearranged somewhat after generation to choose
the appropriate method but they do match overall. The auto-substitution
of the power functions caused slight changes to the generated syntax so
we make those to the real code as well.

Delete `yaw_generated.cpp` as we know exactly how to generate it now.
2024-10-01 09:28:54 +10:00
Thomas Watson ad5da01077 AP_NavEKF3: document provenance of covariance matrix equations
Validated that the generated code matches exactly the code in AP_NavEKF3
(except for the early exits).

Delete `covariance_generated.cpp` as we know exactly how to generate it
now (and it was out of date anyway).
2024-10-01 09:28:54 +10:00
Thomas Watson 4184980537 AP_NavEKF3: derivation: pin generator library versions
Document exactly which versions were used when generating the code.
Sympy is the most important so it is explicitly checked.

Also add an alternate generate script which uses `nix-shell` to make it
convenient to automatically use these versions.
2024-10-01 09:28:54 +10:00
Thomas Watson 57082257fd AP_NavEKF3: derivation: make generation slightly easier
Add a shell script to run the generate_1.py file. Foresight tells us
that we will need multiple such files.

Also ignore the generated code files as they are already out of date and
we are aiming to document provenance and make them unnecessary anyway.
2024-10-01 09:28:54 +10:00
Thomas Watson c880bf57cd AP_NavEKF3: derivation: auto-substitute optimized power functions
Avoids the need to manually insert them after generation.
2024-10-01 09:28:54 +10:00
ARg 1ef0f1a63f AP_HAL_ESP32: Migration of ESP32 targets from idf 4.4 to 5.3 consisting of:
- modification of CMakeLists to use new component names of idf 5.3;
- removing big sdkconfig, which changes a lot, when upgrading idf and to use sdkconfig.defaults, which contain only non default defines;
- Updated idf installation packages list, according to espressif documentation;
- Updated README.md to reflect changes in sdkconfig handling;
- Fixed WDT in Scheduler, it was broken with idf 5.3;
- fixed compilation issues with GCC 13 (which is used by idf 5.3);
- fixed bug in case when HAL_ESP32_WIFI defined as 0 (disable wifi)
- Added ESP32 targets sdkconfig (auto generated) to .gitignore
2024-10-01 09:25:35 +10:00
Peter Barker b234729398 AP_HAL_ChibiOS: CubeRedPrimary: probe external compasses 2024-10-01 09:22:42 +10:00
Nick Exton 2989d623bd AP_Scripting: Add binding for AP_Camera::set_stream_information() 2024-10-01 08:18:54 +09:00
Nick Exton cb620126b3 AP_Camera: Add capability to set VIDEO_STREAM_INFORMATION from Lua 2024-10-01 08:18:54 +09:00
Nick Exton 919a711f17 AP_HAL_ChibiOS: Disable VIDEO_STREAM_INFORMATION in minimize_common.inc 2024-10-01 08:18:54 +09:00
Nick Exton 67642867e3 GCS_MAVLink: Add handler for VIDEO_STREAM_INFORMATION request 2024-10-01 08:18:54 +09:00
Nick Exton e6ac9c3108 AP_Scripting: Add binding for AP_Camera::set_camera_information() 2024-10-01 08:18:54 +09:00
Nick Exton fed948c98d AP_HAL_ChibiOS: Disable CAMERA_INFO_FROM_SCRIPT in minimize_common.inc 2024-10-01 08:18:54 +09:00
Nick Exton 30a212b4cf AP_Camera: Add capability to set CAMERA_INFORMATION from Lua 2024-10-01 08:18:54 +09:00
Andrew Tridgell cb924d1363 AP_L1_Control: make reached_loiter_target() more reliable
if our target loiter radius is unachievable then we can reach the
loiter target on initial capture but be unable to maintain it. This
ensures that once we capture we return true on reached_loiter_target()

This is critical for any mission type where we take an action on
reached_loiter_target() and another condition (such as being lined up
for a waypoint). Otherwise we may continue loitering forever
2024-10-01 07:15:44 +10:00
Tdogb f282c8db65 hwdef: add DPS280 to baros present on FlyWooF745 2024-09-30 19:58:04 +10:00
Andrew Tridgell 1e310ac86f AP_AHRS: add option to disable the EKF check for airspeed
for some flight profiles (such as glider pullup) the EKF airpeed
consistency check may be triggered, leading to a valid airspeed being
ignored, which can lead TECS to be in non-airspeed mode
2024-09-29 11:06:05 +10:00
juvinski 413452aa1a AP_Baro: fix example: fixing missing objects
This fix  a crash running on beaglebone boards reported
       https://github.com/ArduPilot/ardupilot/issues/21321
2024-09-29 09:40:37 +10:00
muramura 8de103d6ee AP_RangeFinder: Move the flag setting location of has_data 2024-09-29 09:40:20 +10:00
muramura 637aec0085 SITL: Change division to multiplication 2024-09-28 11:01:41 +10:00
murata 946e148688 AP_Arming: mark ARMING_RUDDER as Plane,Rover,Copter and Blimp only 2024-09-27 21:51:06 +10:00
muramura 13a5dc8f71 AP_Arming: Set the message buffer size to twice the message size 2024-09-27 21:33:56 +10:00
muramura 0cb49559e1 AP_Mission: Change the IF statement to a SWITCH statement 2024-09-27 21:30:43 +10:00
Bob Long e57994f28f AP_ICEngine: fix send_text severities 2024-09-27 16:12:28 +10:00
Loki077 772cd1dae7 AP_ICEngine: add max retrial of cranking
Added Param MAX_RETRY which If set 0 or less, then there is no limit to retrials. If set to a value greater than 0 then the engine will retry starting the engine this many times before giving up.
2024-09-27 16:12:28 +10:00
Nick Exton eb4224b818 AP_RobotisServo: Send register write values as little-endian 2024-09-27 11:53:06 +10:00
Andrew Tridgell 9dc7dc32c8 AP_DroneCAN: prevent saturation of CPU with DroneCAN thread 2024-09-27 11:06:20 +10:00
Andrew Tridgell 070363e453 HAL_ChibiOS: limit RX timeout to 100ms
this prevents a very long timeout in begin(), replacement with a mutex
will happen in a separate PR
2024-09-27 11:06:20 +10:00
Peter Barker decf484702 AP_Mount: use NaN in place of 0 for camera information message
Co-authored-by: muramura <ma2maru@gmail.com>
2024-09-26 19:26:59 +10:00
Peter Barker 06b763ca94 AP_Param: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Peter Barker edc0e46614 AP_Mount: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Peter Barker 7710e3c9bc AP_Math: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Peter Barker 54247833c0 AP_Logger: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Peter Barker 08b4cc1374 AP_Camera: add and use global NaNf float value 2024-09-26 19:26:59 +10:00
Andy Piper eeda86ccb4 AC_AttitudeControl: rate_controller_run_dt() takes dt as last argument 2024-09-26 19:25:33 +10:00
Andy Piper 15de449d12 AC_AttitudeControl: raise a config error if rate_controller_run_dt() is called by accident 2024-09-26 19:25:33 +10:00
Andy Piper 053db86abc AC_AttitudeControl: ensure Write_Rate() can be called from autotune 2024-09-26 19:25:33 +10:00
Andy Piper 02a2c788da AC_AttitudeControl: ensure plane always gets the latest gyro 2024-09-26 19:25:33 +10:00
Andy Piper a647b3914c AC_AttitudeControl: remove unused functions 2024-09-26 19:25:33 +10:00
Andy Piper 70067ea7ae AC_AttitudeControl: Write_Rate() should be thread-safe 2024-09-26 19:25:33 +10:00
Andy Piper 829422ecfb AC_AttitudeControl: add commentary about functions which modify the rate loop target 2024-09-26 19:25:33 +10:00
Andy Piper 6b5da48641 AC_AttitudeControl: provide function to reset target modifiers 2024-09-26 19:25:33 +10:00
Leonard Hall 2cddea8d9f AC_Autotune_Multi: Use rate step command 2024-09-26 19:25:33 +10:00
Leonard Hall ddfccb3098 AC_AttitudeControl: Use rate step command 2024-09-26 19:25:33 +10:00
Andy Piper ff002cba3f AC_AttitudeControl: ensure the rate and attitude controllers can't interfere with the target at the same time 2024-09-26 19:25:33 +10:00
Andy Piper c28e38e9b5 AC_AttitudeControl: pass in gyro sample to rate controller 2024-09-26 19:25:33 +10:00
Andrew Tridgell 88957235d2 Scripting: added Lat,Lon to aerobatics POSM/POST
this makes "map POSM POST" work on aerobatic scripts
2024-09-26 16:44:13 +10:00
Rhys Mainwaring 00163ce988 AP_Camera: add Python examples for GStreamer UDP and RTSP video streams
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-09-26 09:32:27 +09:00
Robert Taylor d82e82635f hwdef: switch CAN port definiton on Nucleo-496 hwdef
The CAN port as it was is a valid CAN port for the nucleo, but on the development board the CAN silkscreen is actually on PD0 and PD1. This change makes it easier to get the example running on the Nucleo
2024-09-26 08:31:50 +10:00
Bob Long 8797a07833 AP_ICEngine: clarify ICE_OPTIONS:2 description 2024-09-25 23:44:52 +10:00
Bob Long 8d9ac6451f AP_ICEngine: don't run engine with safety engaged 2024-09-25 23:44:52 +10:00
Peter Barker 14332fad52 hwdef: -Os on MFT-SEMA-100 to avoid flash overflow 2024-09-25 23:44:05 +10:00
Peter Barker c9de940fc8 hwdef: JHEMCU-GSF405A becomes minimize-fpv-osd 2024-09-25 17:12:44 +10:00
Peter Barker 1e26441ae6 AP_Common: Integrate methods for converting hexadecimal characters to numbers
Co-authored-by: muramura <ma2maru@gmail.com>
2024-09-25 08:48:44 +10:00
muramura e4ca54b2e4 AP_CANManager: Integrate methods for converting hexadecimal characters to numbers 2024-09-25 08:48:44 +10:00
Iampete1 4894675977 AP_Scripting: add binding for vehicle `set_target_rate_and_throttle` 2024-09-25 08:47:30 +10:00
Iampete1 fc327fa370 AP_Vehicle: add support for `set_target_rate_and_throttle` 2024-09-25 08:47:30 +10:00
Peter Barker 8e6a1a2b02 AP_Arming: retrieve RC channels directly from RC_Channels
... instead of retrieving values from rcmap and then getting the channel from RC_Channels
2024-09-25 08:46:55 +10:00
Peter Barker 1871170f98 RC_Channel: add accessor for channel number
some places want to be able to report this to the user
2024-09-25 08:46:55 +10:00
muramura 1f5b88cf3b AP_Motors: Change to pass-through 2024-09-24 22:51:23 +10:00
timtuxworth bbd9148b4b AP_Scripting: example for use Location::AltFrame for guided_state.target_alt_frame 2024-09-24 22:51:02 +10:00
Peter Barker 3d4b57cd4a AP_HAL_QURT: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 27df5e0479 AP_HAL_Linux: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker cc9279713a AP_HAL_ESP32: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker ebe9a75a66 SITL: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 68e003fd74 AP_Baro: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker a40b3879fb AC_CustomControl: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker a0978d9d0a AR_WPNav: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 2447be861e AP_SurfaceDistance: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker bb9a0a5b2f AP_Scripting: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 1ce391c6e8 AP_RCTelemetry: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 87fa7a208d AP_RCProtocol: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 53c50b6bc7 AP_NavEKF3: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 8bd1f49a04 AP_NavEKF2: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 5f5fb40753 AP_Motors: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 7147a2deeb AP_InertialSensor: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 5a967a60ff AP_HAL: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 8b9154d115 AP_HAL_ChibiOS: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 2ddec1f9f4 AP_Frsky_Telem: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 291a1ced88 AP_ExternalAHRS: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 3a9f1c1f37 AP_DroneCAN: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker a29dca996e AP_Compass: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker b54c424842 AP_Camera: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 8290f15f2d AP_AHRS: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker aaec6824f6 AP_ADSB: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 6209f31d30 AC_PID: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker 2c150f42bf AC_Avoidance: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Peter Barker b480416c3d AC_AttitudeControl: re-order initialiser lines so -Werror=reorder will work 2024-09-24 22:50:28 +10:00
Rhys Mainwaring a75b8a9269 AP_DDS: add params for ping timeout and max retries
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-09-24 22:49:49 +10:00
Thomas Watson 5f4a6dc2fb AP_HAL_ChibiOS: remove dependency on tmpnam
tmpnam is never linked and not necessary, and naming it/redefining it
introduces problems on platforms that do have a definition.
2024-09-24 22:49:18 +10:00
Thomas Watson 380d8ca6fc AP_Filesystem: remove dependency on tmpnam
tmpnam is never linked and not necessary, and naming it/redefining it
introduces problems on platforms that do have a definition.
2024-09-24 22:49:18 +10:00
Thomas Watson 8b63488431 AP_Scripting: remove dependency on tmpnam
tmpnam is never linked and not necessary, and naming it/redefining it
introduces problems on platforms that do have a definition.
2024-09-24 22:49:18 +10:00
Peter Barker 75073427a6 AP_SerialManager: avoid use of AP_HAL.h in config file
too easy to create loops with this
2024-09-24 11:59:13 +10:00
Peter Barker 82ac0ead72 AP_Terrain: create and use AP_Terrain_config.h 2024-09-24 11:59:13 +10:00
Peter Barker 4b1e1871c9 AP_Mount: create and use AP_Terrain_config.h 2024-09-24 11:59:13 +10:00
Peter Barker a8cc071d62 AP_Filesystem: rearrange to put mission filesystem last
We're developing loops in our config files, move include to after base FILESYSTEM_READING/FILESYSTEM_WRITING defines
2024-09-24 11:59:13 +10:00
Peter Barker ee830355d2 AC_PrecLand: remove assumption about how precland update method is called
this method may not be being called from the scheduler table.  Have the callers pass in a true value instead
2024-09-24 10:56:57 +09:00
Peter Barker 3e1ad5dab6 AP_Compass: use memcmp to check whoami result code from HMC5843 device
Co-authored-by: muramura <ma2maru@gmail.com>
2024-09-24 11:52:47 +10:00
Peter Barker 9784e28148 AP_WheelEncoder: correct initialisation of WheelRateController objects
the existing constructer sets a slew rate limit to 0.2

This is essentially a missing patch from a previous series of PRs which moved dt from being a member variable to being passed into the update call for the PID
2024-09-24 10:46:34 +09:00
Peter Barker 17f501eea5 AC_PID: AC_HELI_PID: override the AC_PID::Default constructor
in place of the existing ordered-fields constructor
2024-09-24 11:43:20 +10:00
Peter Barker 4663382b01 AC_AttitudeControl: use AC_PID defaults to tidy heli rate PID initialisation
makes it look like the Copter initialisation - ie. legible
2024-09-24 11:43:20 +10:00
Peter Barker 6a74a97bf7 AC_AttitudeControl: use AC_PID defaults to tidy rate Sub PID initialisation
makes it look like multi ie. legible
2024-09-24 11:36:38 +10:00
bugobliterator 4d7b94c3cb AP_DroneCAN: Fix constructor initialization order
bad ordering was leading to dronecan dna server getting initialised before canard interface is initialised leading
2024-09-24 11:29:34 +10:00
caijie 42c82f6c5d AP_HAL_ChibiOS: add VUAV-V7pro 2024-09-24 10:07:39 +10:00
Peter Barker 1d91962b96 AP_GPS: move initialisation of some members into header 2024-09-24 09:30:05 +10:00
ARg eb283ce607 SITL: correctly cast types for MegaSquirt error format string
`uint32_t` is `unsigned long int`, not `unsigned int`.
2024-09-24 09:00:29 +10:00
ARg 8204ff4d7c AP_Filesystem: fix esp32 function datatypes
Make them match the superclass and the header file.
2024-09-24 09:00:29 +10:00
Andrew Tridgell 89c2b48286 AP_CANManager: ensure we only remove our own fwd registrations
keep a record of which bus we have registered a callback for and only
unregister with that bus. This prevents us unregistering a multicast
callback when disconnecting from MAVCAN
2024-09-23 21:01:22 +10:00
Andrew Tridgell b98c7c5296 AP_CANManager: fixed de-registering CAN forwarding
this prevented MissionPlanner MAVCAN UI from working reliably as the
CANManager could think we are registered when we are not
2024-09-23 21:01:22 +10:00
Clyde McQueen 8b37100772 autotest: large outliers in sub terrain test have low sq 2024-09-23 19:14:34 +10:00
Peter Barker 44c1e9b896 AP_TemperatureSensor: allow AP_TEMPERATURE_SENSOR_DUMMY_METHODS_ENABLED to be overridden 2024-09-22 20:34:33 +10:00
Peter Barker 83c9b32093 AP_Scripting: add bindings for the AP_TemperatureSensor 2024-09-22 20:34:33 +10:00
muramura 0020cf5fe8 AP_Compass: Add existing devices 2024-09-22 10:11:50 +10:00
cuav-chen2 89a4571c58 AP_Compass: Add in BMM350 Driver 2024-09-21 10:08:36 +10:00
bugobliterator 7513281f65 AP_Scripting: add bindings get/set full mode for GPIO
allows setting alternate pin modes pin drive strengths etc.
2024-09-21 10:07:30 +10:00
Peter Barker fb5c337328 AP_TemperatureSensor: specify units (degC) in comment for get_temperature 2024-09-19 12:37:50 -05:00
Rahul 7d907e9798 AP_TemperatureSensor: new MLX90614 sensor backend driver conversion fix 2024-09-19 22:29:24 +10:00
Ryan Friedman aecb3268c7 AP_DDS: Correct compilation of tests without external odom
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-19 11:45:15 +10:00
muramura c0d14ec397 GCS_MAVLink: Add conditions and delete the same processing 2024-09-19 11:44:57 +10:00
bugobliterator 3d47f01dd4 AP_HAL_ChibiOS: enable TESTs on CubePilot-PPPGW 2024-09-19 11:44:22 +10:00
bugobliterator 5acf25973e AP_Networking: add connector loopback test for Ethernet 2024-09-19 11:44:22 +10:00
Rahul 86b6102267 AP_TemperatureSensor: new MLX90614 sensor backend driver added 2024-09-18 19:10:01 +10:00
Henry Wurzburg 8c3621d021 hwdef: add bdshot to SpeedyBeeF405Wing
Co-authored-by: setup <alxdr64m@gmail.com>
2024-09-18 17:51:26 +10:00
Henry Wurzburg df90b640ca AP_Scripting:Add parameter controller applet 2024-09-18 13:10:26 +10:00
Iampete1 c19e5713ae GCS_MAVLink: Fix Airspeed without AHRS 2024-09-17 22:11:06 +10:00
Peter Barker 8b50f3b54b AP_OSD: don't go via RCMap singleton to get RPTY RC channels 2024-09-17 22:10:53 +10:00
Ruffalo Lavoisier e3f76591fc AP_HAL_ChibiOS: check nullptr 'name' variable
- Check nullptr before using the  'name' variable assigned from malloc()
2024-09-17 22:10:26 +10:00
Thomas Watson 20d04fa823 AP_DroneCAN: DNAServer: remove preferred allocation support
Nothing is known to support it so it can't be tested. Removing it saves
flash and reduces complexity.
2024-09-17 22:10:08 +10:00
Thomas Watson 12a106333c AP_DroneCAN: DNAServer: optimize allocation strategy
Number of allocation messages with 3 nodes (6 trials):

before: 44, 36, 35, 92, 107, 41

after: 28, 28, 28, 28, 26, 28
2024-09-17 10:42:05 +10:00
Ryan Friedman dcfbf0ab69 AP_DDS: Add defines for experimental topics such as IMU
* Experimental topics, such as IMU, should have an easy way to be
  disabled at compile time
* This demonstrates a pattern to add in new topics at compile time

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-17 10:40:59 +10:00
Oleksiy Protas 94f2eb4999 AP_Airspeed: Don't fail on REG_WHOAMI_RECHECK_ID
This prevents a false negative ID check for the cases when the AP is rebooted independently of the sensor, with the latter keeping a temporary ID that was set during initialization
2024-09-17 10:36:29 +10:00
Peter Barker cd9e7e095a hwdef: f103-GPS: explicltly nominiate compass backends supported
this target is overflowing as someone is trying to add a new compass..
2024-09-17 10:31:27 +10:00
Andy Piper 71e2b756af AC_AttitudeControl: introduce ANG log message for high resolution attitude logging
Move RATE message to AC_AttitudeControl_Logging.cpp
2024-09-17 10:12:35 +10:00
Andy Piper 64a1fda05a AP_Scheduler: record and make available the last sample time 2024-09-17 10:12:35 +10:00
junan 71a69367df AP_HAL_Linux: file descriptor leaking and other issues in "Storage" of Linux.
- Fixed the fd leaking issue in "_storage_create" found by @peterbarker
- Remove the unnecessary call of "unlinkat" in "_storage_create"
- Simplify the implementation of "init"

Signed-off-by: junan <junan76@163.com>
2024-09-17 10:09:05 +10:00
Andrew Tridgell 9cb3354ba0 hwdef: default CAN MCAST enabled for PPPGW builds 2024-09-17 10:02:29 +10:00
Andrew Tridgell f065548866 hwdef: enable CAN multicast support in PPP gateways 2024-09-17 10:02:29 +10:00
Andrew Tridgell cd14b2e1c5 AP_Networking: added multicast UDP CAN server
this allows for operation of CAN interfaces over UDP multicast
networking
2024-09-17 10:02:29 +10:00
Andrew Tridgell cc930bd49f AP_CANManager: update for new callback API 2024-09-17 10:02:29 +10:00
Andrew Tridgell 4a102e2f2b AP_HAL: support more than 1 registered CAN callback
this allows for CAN MCAST and MAVCAN at the same time
2024-09-17 10:02:29 +10:00
Andrew Tridgell 21b6b1b229 AP_HAL: allow for multicast sockets in bootloader 2024-09-17 10:02:29 +10:00
Andrew Tridgell 05d43fd00b HAL_ChibiOS: allow for MCAST UDP with no CAN link
this allows the CAN interface to operate without a CAN cable, allowing
for bridging of MCAST UDP CAN
2024-09-17 10:02:29 +10:00
Thomas Watson db18d37ed2 AP_DroneCAN: DNAServer: avoid resetting when server node ID changes
Avoids confusing the user and removes weirdness with multiple servers
sharing the same storage. Does leak the registration for the old ID but
in the unlikely event the table fills up the user can simply reset the
database.

We keep the check for an existing registration to avoid dirtying the
storage every boot unnecessarily. We also factor out the deletion of an
existing registration (which is very unlikely but technically possible)
to save some flash.
2024-09-17 10:01:45 +10:00
Leonard Hall ea226637c9 AC_AttitudeControl: Vector3f multiplication clean up 2024-09-17 09:59:55 +10:00
Leonard Hall 5e27e3111d AC_AttitudeControl: Fix dt update order 2024-09-17 09:59:55 +10:00
muramura b1b4ac8d58 AP_ExternalAHRS: Correct the judgment 2024-09-17 09:35:13 +10:00
Valentin Bugrov 167dd7f447 SITL: unify names in ILabs sim 2024-09-17 09:34:32 +10:00
Valentin Bugrov 2b3ee0e7e4 AP_ExternalAHRS: unify names in ILabs EAHRS handler 2024-09-17 09:34:32 +10:00
Bob Long 4a1e4ebcd6 RCOutput: initialize _esc_pwm_min and _esc_pwm_max
Further protection from potential dangerous behavior when these do not
get initialized for some reason.
2024-09-17 09:18:36 +10:00
Bob Long 8e707ef4e2 AP_DroneCAN: prevent invalid numbers spinning ESCs
This prevents bugs and misconfigurations from causing DroneCAN ESCs to
spin at full speed while the vehicle is disarmed.
2024-09-17 09:18:36 +10:00
shipp02 dcc526ec19 Copter: Give better error in opendroneid build when DID_ENABLE=0. 2024-09-17 09:17:24 +10:00
Iampete1 8318109546 GCS_MAVLink: add support for AIRSPEED message 2024-09-17 09:10:17 +10:00
Peter Barker 091ba2782c RC_Channel: adjust description of aux function 90 (EK3 Source Set 2024-09-16 22:34:34 +10:00
Peter Barker 12d8a4d543 AP_Scripting: adjust description of aux function 90 (EK3 Source Set 2024-09-16 22:34:34 +10:00
Peter Barker 6d8f0decac RC_Channel: rename EKF_POS_SOURCE to EKF_SOURCE_SET
Co-authored-by: Michelle Rossouw <michelleros128@gmail.com>

these data sources span more than just position
2024-09-16 22:34:34 +10:00
Yuxin Pan d1562d5119 SITL: update baro param group info 2024-09-16 17:25:02 +10:00
Yuxin Pan ac2751c17b SITL: add baro param file 2024-09-16 17:25:02 +10:00
Valentin Bugrov 79bd82308c SITL: Actualize InertialLabs sim 2024-09-14 19:29:02 +10:00
Valentin Bugrov 092a95e88c AP_ExternalAHRS: add GCS mesages sending for the ILabs EAHRS 2024-09-14 19:29:02 +10:00
Valentin Bugrov 0344cc36ad AP_ExternalAHRS: actualize ILabs EAHRS data processing 2024-09-14 19:29:02 +10:00
Andrew Tridgell cbba88fccd AP_Scripting: added 2nd supply voltage to SkyPower EFI driver
and accept both extended and 11-bit CAN
2024-09-14 09:24:03 +10:00
Ryan Friedman 2aa5db5e73 AP_ExternalAHRS: Remove GPS week comment
* It's a hold-over from MSP. None of AP handles 0xFFFF in a special way

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-14 09:18:33 +10:00
Andrew Tridgell fea279b181 SITL: support more rangefinder orientations
allows for quadplane tailsitter rangefinders
2024-09-14 08:39:51 +10:00
Bob Long 72a013952c AP_EFI: Hirth: fix sensor health bitmask 2024-09-13 18:52:48 +10:00
Bob Long e32d3ceaf7 AP_EFI: Hirth: remove crankshaft sensor status
There is no crankshaft sensor status reported by this EFI. This line is
misleading and should be removed. The sensor health bitmask is already
logged elsewhere.
2024-09-13 18:52:48 +10:00
Andy Piper ef1be6fe01 AP_RCProtocol: only update rc value for GHST on rc frames 2024-09-13 18:52:05 +10:00
Benjamin Menkuec 09286e6f53 AP_MSP: MSP_RAW_GPS cog should be decidegrees not centidegrees 2024-09-13 12:45:22 +10:00
muramura 9e28bec87a AP_NavEKF3: use UINT8_MAX as flag value in place of 255 2024-09-13 09:17:17 +10:00
muramura 8b5c5fcdb7 AP_AHRS: use UINT8_MAX as flag value in place of 255 2024-09-13 09:17:17 +10:00
yuri-rage cd4501e62d AP_Scripting: add advance-wp.lua 2024-09-12 14:23:43 +10:00
muramura a9a2696368 AP_Mission: Change the magic number to a defined value 2024-09-12 14:23:10 +10:00
muramura 68bb55841a AP_HAL_ESP32: Change the magic number to a defined value 2024-09-12 14:23:10 +10:00
muramura 70046e0d58 AP_HAL_ChibiOS: Change the magic number to a defined value 2024-09-12 14:23:10 +10:00
weavVN e5f4f87b9e AP_ExternalAHRS: VectorNav: rename dataflash log message names 2024-09-12 14:22:54 +10:00
Bob Long 2c14176f6a AP_EFI: fix ECYL log message
- Convert temperatures Celsius to match the docs
- Fix format specifier for CHT2
2024-09-12 14:22:39 +10:00
Andrew Tridgell 53a4b5a843 AP_Scripting: add handle_external_position_estimate binding
can be used for offboard navigation systems
2024-09-12 06:58:57 +10:00
Yuxin Pan 61afab2b70 SITL: remove params from whiltelist 2024-09-12 06:54:15 +10:00
Peter Barker 66a2788663 hwdef: RadioLinkPIX6 uses SPL06 driver 2024-09-11 18:27:47 +10:00
Wu 3f577793a1 AP_Baro: SPx06 adds Background mode 2024-09-11 18:27:47 +10:00
Wu c70150e531 AP_Baro: add SPA06 to SPx06 driver 2024-09-11 18:27:47 +10:00
Andrew Tridgell 96cf157df9 AP_Networking: update comment 2024-09-11 16:11:22 +10:00
Bob Long 2b903d20b4 AP_ESC_Telem: tidy old calls to _telem_data
When #27755 was first opened, #26252 had not been merged yet. #26252
refactored a bit, but the change was not applied to #27755. This commit
fixes that.

This should not change the behavior of the code.
2024-09-11 10:23:00 +10:00
Yuxin Pan 41ffc7c860 SITL: SITL.cpp parameters documentation update 2024-09-11 10:22:22 +10:00
koehlert 9beca76f44 GCS_MAVLink: fix includes to ap_message
"GSC_config.h" is needed for HIGHRES_IMU_ENABLED flag.
2024-09-11 08:57:24 +09:00
Andy Piper bb2249f766 AC_AttitudeControl: record latest gyro value and time used for logging
move Write_Rate() to AC_AttitudeControl
move RATE log structure to AC_AttitudeControl
2024-09-10 16:33:04 +01:00
Andy Piper c7b0dfc915 AC_AutoTune: Write_Rate() moved to AC_AttitudeControl 2024-09-10 16:33:04 +01:00
Andy Piper 4f4e822d88 AP_AHRS: move Write_Rate() to AC_AttitudeControl
move RATE log structure to AC_AttitudeControl
2024-09-10 16:33:04 +01:00
xianglunkai c40422cde3 AP_Proximity_DroneCAN: fix code stype 2024-09-10 23:36:44 +10:00
Peter Barker 154229006a AP_MSP: avoid nullptr dereference on bad rcmap 2024-09-10 22:00:50 +10:00
Peter Barker 9cbb494092 RC_Channel: avoid nullptr dereference on bad rcmap value entry 2024-09-10 22:00:50 +10:00
Randy Mackay aa65a2ab54 AP_Mount: siyi supports camera-thermal-range 2024-09-10 20:59:49 +09:00
Randy Mackay 6f2a88f707 AP_Camera: support send-thermal-range 2024-09-10 20:59:49 +09:00
Randy Mackay 2db7a9520a GCS_MAVLink: support camera-thermal-range 2024-09-10 20:59:49 +09:00
Thomas Watson aca624486d AP_DroneCAN: DNAServer: don't "allocate" broadcast ID
While technically legal, it's unlikely to have been tested and an
allocatee might do silly things. Also makes the logic a bit more clear
and improves the failure message.
2024-09-10 12:35:04 +10:00
Thomas Watson 5a1c825ea2 AP_DroneCAN: DNAServer: clean up and optimize allocation 2024-09-10 12:35:04 +10:00
Thomas Watson 4427cbee71 AP_DroneCAN: DNAServer: avoid clearing node ID during allocation
Not necessary and wastes flash.
2024-09-10 12:35:04 +10:00
Thomas Watson 854b769cfe hwdef: remove non-ublox GPSes from MatekL431-Periph
Saves enough flash to get it building again (11K now free). These
backends are default for other boards and so are built in CI.
2024-09-10 12:30:23 +10:00
Peter Barker 222a26ee20 AP_Scripting: tweak conditions for scripting-requires-filesystem
AP_FILESYSTEM_READING_ENABLED isn't quite right as we can't read scripts from @SYS.
2024-09-10 11:47:37 +10:00
Peter Barker 78f0175e20 GCS_MAVLink: reject SET_MESSAGE_INTERVAL commands with p3 set
this is going to be used for changing the rate of a specific instance of a message at some stage

we have to reject it for now so that when the index is used the GCS is told that their message is invalid in this older version of the autopilot
2024-09-10 11:43:52 +10:00
olliw42 3c9965f5e5 AP_DroneCAN: set protocol in tunnel.Targetted message according to protocol parameter 2024-09-10 11:41:59 +10:00
Andy Piper 8dee817acf AP_AHRS: log attitude and attitude target at full resolution in degrees 2024-09-10 10:54:55 +10:00
Andrew Tridgell 05fbc4767d SRV_Channel: added lift_release
for releasing a balloon or other lift device
2024-09-10 10:15:34 +10:00
Iampete1 b1fe1f18d4 AP_Airspeed: healthy: check enabled first for instance range check 2024-09-10 09:48:31 +10:00
Andrew Tridgell cf45dbf284 AP_NavEKF2: fixed return of common origin
when common origin is set we should return that, not backends private
origin
2024-09-10 09:28:50 +10:00
Andrew Tridgell be5ecab686 AP_AHRS: added common origin logic
this aligns the origin between EKF2, EKF3 and ExternalAHRS, making for
smooth transitions between AHRS backends in flight
2024-09-10 09:28:50 +10:00
Andrew Tridgell 91a5cfea6b AP_ExternalAHRS: added set_origin() call
and remove code that aligns origin to AHRS, this will be handled by
the AHRS common origin logic
2024-09-10 09:28:50 +10:00
Andrew Tridgell 3444de06b1 AP_NavEKF2: allow setOrigin when using GPS
this allows for use of a common origin between backends, and aligns
with EKF3 behaviour
2024-09-10 09:28:50 +10:00
Peter Barker 777aab6e0c AP_Scripting: no warning if no ./scripts and no real filesystem
it is possible to build for boards without storage (so no Posix, no Fatafs), but still have scripts in ROMFS.

In this case we will use the backend AP_Filesystem_backend base class when doing file operations.  This will alway fail to open directories, so when we try to load scripts from SCRIPTS_DIRECTORY it will always fail.

This leads to a warning being emitted:

Lua: State memory usage: 2796 + 5227
AP: Lua: open directory (./scripts) failed
AP: hello, world
Time has wrapped

Which isn't great.

Detect we are working on this filesystem and don't warn.
2024-09-10 09:10:49 +10:00
Peter Barker 61de480f62 AP_AHRS: log DCM errrp and erryaw into DCM message 2024-09-09 15:17:15 +10:00
Andrew Tridgell 9726e8e218 Filter: only update notch on init if fixed 2024-09-09 09:29:32 +10:00
Andy Piper a8575e0646 Filter: ensure harmonic notch filters are always working 2024-09-09 09:29:32 +10:00
junan 4ee5b0ea12 AP_HAL_Linux: keep "dfd" open util fsync is done.
Since we want to do a fsync on "dfd", it can not be closed before that.

Signed-off-by: junan <junan76@163.com>
2024-09-09 09:28:51 +10:00