Commit Graph

37431 Commits

Author SHA1 Message Date
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