Commit Graph

65728 Commits

Author SHA1 Message Date
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
Hayden Donald 79b596d229 AP_Periph: Prepare reboot before rebooting via AP_Periph:reboot()
Call AP_Periph:prepare_reboot() before rebooting via AP_Periph:reboot()
2024-11-19 16:08:40 +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
Peter Barker 9941313a9d autotest: augment blended test to ensure three GPSs seen 2024-11-19 12:27:10 +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
mikefenghao 7cbc4bd4e3 Tools:add bootloader for MFE_POS3_CAN 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
Iampete1 52efe952cd Plane: slew limit all throttles in one place 2024-11-19 11:04:37 +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
mikefenghao 69ebf63cb7 AP_Bootloader: Reserve 4 boards ID for MFE_PDB_CAN、MFE_POS3_CAN、MFE_RTK_CAN、MFE_AirSpeed_CAN. 2024-11-19 08:51:36 +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
Iampete1 e0a8b64e08 Plane: tailsitter: tidy tilt left and right handling 2024-11-18 09:09:55 +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