Commit Graph

37487 Commits

Author SHA1 Message Date
Kinchin Fong 3e592a90cc AP_HAL_ChibiOS: Add hwdef files for AET-H743-Basic 2024-11-20 23:55:35 +11:00
bugobliterator bd7bb59021 AP_Networking: make connector loopback test priority to be PRIORITY_IO-1 2024-11-20 19:14:38 +11:00
bugobliterator ca9713b275 AP_BoardConfig: add option to use IO safety led switch for ProfiLED 2024-11-20 19:12:44 +11:00
bugobliterator 646e09ebaa AP_Notify: add support for controlling ProfiLED via IOMCU safety pins 2024-11-20 19:12:44 +11:00
bugobliterator d348ffbff9 AP_HAL_ChibiOS: add support for driving profileds via safety pins 2024-11-20 19:12:44 +11:00
bugobliterator 4cbc4dfe34 IO_Firmware: update IOMCU firmware with profiled LED support over safety pins 2024-11-20 19:12:44 +11:00
Peter Barker ec1dc7cbc5 AP_Scripting: adjust for renaming of SIM_GPS_DISABLE to SIM_GPS1_ENABLE 2024-11-20 15:07:45 +11:00
Peter Barker efba110ef9 AP_Param: correct maximum-length parameter sanity check
need to take into account addition of (eg.) _X suffix for VECTOR3F parameters
2024-11-20 15:07:45 +11:00
Peter Barker fab1ef7a87 SITL: add ability to simulate more than 2 GPSs 2024-11-20 15:07:45 +11:00
Peter Barker 4b679dfb1a AP_HAL_SITL: add ability to simulate more than 2 GPSs 2024-11-20 15:07:45 +11:00
Eric Katzfey 115e5254d9 AP_InertialSensor: Added explicit casts to get rid of Qurt compiler warning about implicit casts 2024-11-20 15:06:37 +11:00
Alfie Lockrey 8a6880711a AP_Battery: include OPTIONS parameter on boards with SUM backend
Enable battx_options for periphs if useful.

Enable the options parameter for the battery monitor on AP_Periph devices if they could be useful - ie, battery summing is enabled and in use on a node with more than one source for battery inputs.

Only define options in a single place

Single definition for non periph builds or if AP_BATTERY_SUM_ENABLED
2024-11-20 08:52:51 +11:00
Andrew Tridgell 19c9964e55 AP_MultiHeap: added simple unit test 2024-11-20 07:32:03 +11:00
Andrew Tridgell 5aa7324c2d AP_Scripting: use AP_MultiHeap 2024-11-20 07:32:03 +11:00
Andrew Tridgell d6430ff361 AP_MultiHeap: added library
this is a standalone (no-HAL based) implementation of MultiHeap
2024-11-20 07:32:03 +11:00
Andrew Tridgell 725b625967 AP_Common: removed old MultiHeap code 2024-11-20 07:32:03 +11:00
Andrew Tridgell 0e1bad605a AP_HAL_SITL: removed heap APIs 2024-11-20 07:32:03 +11:00
Andrew Tridgell d90d46c02d AP_HAL_ESP32: removed heap APIs 2024-11-20 07:32:03 +11:00
Andrew Tridgell f8f883baca AP_HAL_ChibiOS: removed heap APIs 2024-11-20 07:32:03 +11:00
Andrew Tridgell 28dc5deb9a AP_HAL: removed heap APIs
implement in AP_MultiHeap instead
2024-11-20 07:32:03 +11:00
Andrew Tridgell 8ebfa28183 AP_Common: added last_failed for leveraging lua GC
we want the lua garbage collector to be used to re-use memory where
possible. This implements a suggestion from Thomas to avoid heap
expansion unless the last allocation failed
2024-11-20 07:32:03 +11:00
Andrew Tridgell 1cd05618f0 AP_Scripting: added warning on heap expansion 2024-11-20 07:32:03 +11:00
Andrew Tridgell bfeed7cc32 AP_HAL_SITL: implement new scripting heap APIs 2024-11-20 07:32:03 +11:00
Andrew Tridgell 70c19b264a AP_HAL_QURT: implement new scripting heap APIs 2024-11-20 07:32:03 +11:00
Andrew Tridgell a124d66110 AP_HAL_Linux: implement new scripting heap APIs 2024-11-20 07:32:03 +11:00
Andrew Tridgell de49c9b1bc AP_HAL_ESP32: implement new scripting heap APIs 2024-11-20 07:32:03 +11:00
Andrew Tridgell c999340786 AP_HAL_ChibiOS: implement new scripting heap APIs 2024-11-20 07:32:03 +11:00
Andrew Tridgell 9f75ad1be8 AP_Common: allow expansion of heaps in MultiHeap
this allows for new heaps to be added at runtime for lua scripting if
you run out of memory while armed
2024-11-20 07:32:03 +11:00
Andrew Tridgell 9a8c59c5ac AP_HAL: rework heap allocation functions
make functions for lua heap allocation suitable for use in all
non-ChibiOS HALs
2024-11-20 07:32:03 +11:00
Andrew Tridgell a5ff7f83d1 AP_Scripting: added ability to expand heap at runtime if armed 2024-11-20 07:32:03 +11:00
Andrew Tridgell 66752996e4 AP_Scripting: cleanup debug option handling 2024-11-20 07:32:03 +11:00
Eric Katzfey e4ba4cc885 AP_RCProtocol: Fixed an explicit initializer to get rid of Qurt compiler warning 2024-11-19 14:14:23 +11:00
Eric Katzfey 45d1a0954e AP_Scripting: Fix method of accessing character string to fix Qurt compiler warning 2024-11-19 14:12:25 +11:00
Eric Katzfey 612e73b9d7 AP_GPS: GSOF: Removed unused private members to fix Qurt compiler warnings 2024-11-19 12:26:55 +11:00
mikefenghao 22cec990e5 hwdef: added MFE_POS3_GPS 2024-11-19 12:25:08 +11:00
Rhys Mainwaring f9e319d114 AP_HAL_ESP32: enable uart rc
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-11-19 11:21:09 +11:00
Oleksiy Protas c415c7fbc7 AP_Arming: typo fix in magnetic model check 2024-11-19 08:17:45 +09:00
Eric Katzfey 7a6a62846d AP_RCProtocol: Remove unused array. This array was causing a Qurt compiler warning. 2024-11-19 09:01:43 +11:00
Peter Barker ed37ee821b AP_Common: move constructor to header to allow inlining 2024-11-18 20:58:22 +11:00
Peter Barker 4773571525 GCS_MAVLink: stop creating unnecessary Location object on stack
Location is implicitly zero.
2024-11-18 20:58:22 +11:00
bugobliterator 2feee53a37 AP_HAL_ChibiOS: disable GCS in CubeNode-ETH
for some reason enabling is breaking the PPPGW
2024-11-18 11:06:09 +11:00
Thomas Watson 4ffffa7af7 AP_TemperatureSensor: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson fbeab64be2 AP_RangeFinder: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson e82e6629d2 AP_RPM: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson 2f1a8d1ef4 AP_RCProtocol: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson 453b83c159 AP_Proximity: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson 1c08119dd9 AP_OpticalFlow: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson 01c6765b6f AP_Mount: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson 360e54f871 AP_GPS: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson 8328368164 AP_EFI: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson d86bab9c58 AP_Compass: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson 9f7ed65bc0 AP_BattMonitor: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson def199e61f AP_Baro: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson cd1118acb4 AP_Airspeed: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson 5874337df7 AP_DroneCAN: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Thomas Watson 2dd98e60ea AP_Mount: Xacti: drop unused subscription status variable 2024-11-18 10:30:29 +11:00
Thomas Watson 378fc63d75 AP_DroneCAN: DNAServer: drop declaration of nonexistent func definition 2024-11-18 10:30:29 +11:00
Eric Katzfey d126c11329 AP_HAL_QURT: Move DSP to Apps Proc link message sequence checking into UART driver so it can be per link. 2024-11-18 09:06:15 +11:00
Peter Barker ee09497b64 AP_HAL_ChibiOS: correct logging of MAV_POWER_STATUS_CHANGED
need to exclude the changed flag from the comparison!
2024-11-18 08:34:37 +11:00
Peter Barker 355c499a24 GCS_MAVLink: stop compiling old rallypoint protocol in by default
We're gradually removing support for this protocol.

Still available on the custom build server
2024-11-18 08:34:08 +11:00
Peter Barker a65b9ad831 AC_Fence: stop compiling old fencepoint protocol in by default
We're gradually removing support for this protocol.

Still available on the custom build server
2024-11-18 08:34:08 +11:00
Ryan Friedman 98f3f59fb6 AP_ExternalControl: arm through external control
* Prepare for external control enabled flag gating ability to arm in DDS

Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-11-17 21:05:59 +11:00
Ryan Friedman 489e8473a2 AP_DDS: arm through external control
* Prepare for external control enabled flag gating ability to arm in DDS

Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-11-17 21:05:59 +11:00
bugobliterator 0953c9dda3 AP_HAL_ChibiOS: CubeRedPrimary: update config for icm45686 2024-11-17 20:39:34 +11:00
Eric Katzfey 7f4a20981a AP_Filesystem: Added conditional compiling to errno declarations. QURT HAL already has this in errno.h. 2024-11-17 20:38:25 +11:00
Thomas Watson 7ca558f625 AP_DroneCAN: use 32 bit timeout for write_aux_frame
Saves a handful of bytes. 71 minutes ought to be enough for anybody!
2024-11-17 10:38:12 +11:00
Thomas Watson 3dd8aa5304 AP_CANManager: use 32 bit timeout for write_aux_frame
Saves a handful of bytes. 71 minutes ought to be enough for anybody!
2024-11-17 10:38:12 +11:00
Thomas Watson a4f6853a7b AP_CANManager: use 32 bit timeout for write_frame
Saves a few bytes. 71 minutes ought to be enough for anybody!
2024-11-17 10:38:12 +11:00
Eric Katzfey 4d75b44775 AP_GPS: Remove unused private member to get rid of compiler warning in Qurt build 2024-11-16 19:20:11 +11:00
Peter Barker 4c72ca6ddc AP_TECS: make _EAS a local variable
not used outside this one function

Co-authored-by: Michelle Rossouw <michelleros128@gmail.com>
2024-11-16 08:50:56 +11:00
Tom Pittenger 2115ad9c97 AP_Rely: allow RELAYn_DEFAULT values for DroneCAN Periphs 2024-11-15 10:57:31 -08:00
Eric Katzfey 1e99226fd9 AP_HAL_QURT: Fix the SPI transfer special case where a send buffer is passed in even though it is a read transaction. 2024-11-15 10:34:48 +11:00
Andy Piper f07df393be AP_HAL_ChibiOS: support BMP280 on FoxeerF405v2 2024-11-14 20:10:22 +11:00
Tiziano Fiorenzani 86f216703d AP_DDS: status topic to report RC failsafe with callback function 2024-11-14 16:47:41 +11:00
Ryan Friedman 81d1945347 AP_DDS: Recommend run_astyle.py
Signed-off-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2024-11-14 09:02:21 +11:00
Andrew Tridgell b1acd6295b HAL_ChibiOS: cleanup cube IMUs and compasses
don't probe for old sensor set
2024-11-14 09:01:41 +11:00
Iampete1 26152416ab GCS_MAVLink: add support for `AVAILABLE_MODES` msg 2024-11-13 20:11:50 +11:00
Peter Barker 88a80993dc RC_Channel: remove unused method get_channel_pos 2024-11-13 20:08:51 +11:00
Peter Barker 89936bab3d SRV_Channel: make SRV_Channels::cork non-static
for symmetry with the push function
2024-11-13 19:47:49 +11:00
Peter Barker 7eb672984e AR_Motors: make SRV_Channels::cork non-static
for symmetry with the push function
2024-11-13 19:47:49 +11:00
Peter Barker d204f22fe0 AP_Motors: create and use a singleton for SRV_Channels 2024-11-13 19:47:49 +11:00
Peter Barker a0eef1039c SRV_Channel: create and use a singleton for SRV_Channels
avoid creation of static pointers to objects held within SRV_Channels
2024-11-13 19:47:49 +11:00
Peter Barker c1f04b507e AR_Motors: create and use a singleton for SRV_Channels
avoid creation of static pointers to objects held within SRV_Channels
2024-11-13 19:47:49 +11:00
Peter Barker f60d059618 AP_Vehicle: create and use a singleton for SRV_Channels
avoid creation of static pointers to objects held within SRV_Channels
2024-11-13 19:47:49 +11:00
Andy Piper 02f25e81f8 AP_AHRS: correct get_accel() to use primary accel rather than first usable for scripting 2024-11-13 19:44:17 +11:00
Peter Barker 866e00f143 GCS_MAVLink: remove handling of HIL_GPS
... per deprecation/removal schedule
2024-11-13 19:41:00 +11:00
Peter Barker f38668bd6a AP_GPS: remove handling of HIL_GPS
... per deprecation/removal schedule
2024-11-13 19:41:00 +11:00
Peter Barker 20fa2b0741 AP_GPS: don't compile support for sending rtk messages if no backend supports it 2024-11-13 19:40:19 +11:00
Peter Barker d4e15b1ae7 GCS_MAVLink: add specific defines for sending of GPS mavlink messages 2024-11-13 19:40:19 +11:00
Peter Barker 199074ce34 AP_GPS: add specific defines for sending of GPS mavlink messages 2024-11-13 19:40:19 +11:00
George Zogopoulos db6a52581e AP_Vehicle: Added parameter TKOFF_THR_IDLE 2024-11-13 19:32:00 +11:00
Patrick Menschel 9f29606d1c AP_Tramp: Fix _configuration_finished indication
The flag _configuration_finished in AP_VideoTX
is not set by AP_Tramp.
Therefore OSD item VTX_PWR blinks forever.
2024-11-13 07:50:05 +11:00
Randy Mackay 3bbcd8b0a3 AP_Scripting: copter-slung-payload minor format fix 2024-11-13 06:47:59 +11:00
Rhys Mainwaring 2bd4e15f76 AP_DDS: use memset to initialise variable size array
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-11-13 06:47:19 +11:00
Rhys Mainwaring e14045898d AP_DDS: move closing #endif for status publisher
- Must be before the status_ok check.

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-11-13 06:42:25 +11:00
Peter Barker 43970c0c7a AP_HAL_Linux: re-order initialiser lines so -Werror=reorder will work 2024-11-13 06:40:37 +11:00
Peter Barker cca1edb78d AP_HAL: re-order initialiser lines so -Werror=reorder will work
AP_HAL: correct compilation for sim-on-hardware with -werror=reorder
2024-11-13 06:40:37 +11:00
Peter Barker 35f2dce575 AP_HAL_ESP32: re-order initialiser lines so -Werror=reorder will work 2024-11-13 06:40:37 +11:00
Jacob Dahl 8413ab2bf2 AP_InertialSensor: added IIM42653 support 2024-11-13 06:39:29 +11:00
zhou 3bc0207f22 AP_Mount: topotek: Change the type of gimbal angle acquisition
... also convert the lowercase characters in the command to uppercase
2024-11-12 16:56:05 +09:00