Commit Graph

37604 Commits

Author SHA1 Message Date
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
Tatsuya Yamaguchi 253d98dd53 RC_Channel: use SourceSetSelection enum class 2024-09-08 10:02:29 +10:00
Tatsuya Yamaguchi a7f9abcff9 GCS_MAVLink: use SourceSetSelection enum class 2024-09-08 10:02:29 +10:00
Tatsuya Yamaguchi 29b9157a20 AP_Scripting: use SourceSetSelection enum class 2024-09-08 10:02:29 +10:00
Tatsuya Yamaguchi f58d88d144 AP_AHRS: use SourceSetSelection enum class 2024-09-08 10:02:29 +10:00
Tatsuya Yamaguchi 83c544f792 AP_NavEKF3: use SourceSetSelection enum class 2024-09-08 10:02:29 +10:00
Tatsuya Yamaguchi 23ce7cc416 AP_NavEKF: define SourceSetSelection enum class and use it for clarity 2024-09-08 10:02:29 +10:00
Peter Barker 62dc5280ba AP_Parachute: remove AUX_FUNC entries based on feature defines 2024-09-08 00:55:43 +10:00
Peter Barker b09e546fce RC_Channel: remove AUX_FUNC entries based on feature defines 2024-09-08 00:55:43 +10:00
Andrew Tridgell 3dd44dd8e0 GCS_MAVLink: zero signing key structure for valgrind
the signing key structure is not marked as packed, which means it has
a 4 byte padding between the uint32_t magic and the uint64_t
timestamp. This gets written to the database and valgrind warns about
a write of uninitialised bytes. It is harmless as when the structure
is read the field is not used
2024-09-07 19:23:01 +10:00
Eric a1a4c63881 hwdef: add mpu6000 to support ReaperF745 V4 FC 2024-09-06 21:19:32 +10:00
Randy Mackay 77ba7cf04d SITL: aircraft sends wind to slung payload 2024-09-06 14:47:38 +10:00
Randy Mackay c3a6950d6f SITL: slung payload sends pos updates at 10hz 2024-09-06 14:47:38 +10:00
Randy Mackay 8d3ce78e98 SITL: slung payload affected by wind 2024-09-06 14:47:38 +10:00
Henry Wurzburg 4107151b31 AP_ICEngine: add legacy label to gps and ice params 2024-09-06 14:46:50 +10:00
Henry Wurzburg 9f8acbab39 AP_GPS: add legacy label to gps and ice params 2024-09-06 14:46:50 +10:00
David Buzz 7846cccdaa AP_HAL_ESP32: fix RMT on s3by using channel thats compatible with both . 2024-09-06 11:54:31 +10:00
Peter Barker 784760342d Copter: remove ENABLE/ENABLED/DISABLE/DISABLED defines 2024-09-06 11:53:09 +10:00
Peter Barker 0e33a0f8f7 AP_GPS: mark GPS_TYPE as @Legacy 2024-09-06 11:52:58 +10:00
David 'Buzz' Bussenschutt 792941d4de AP_HAL_ESP32: bigger instruction cache on s3 helps performance 2024-09-06 11:52:32 +10:00
Peter Barker c05441b959 AP_DDS: remove instance check for DDS Client
this is probably a flow of control problem.

But the code block below this resets some state variables before returning, and will also return false in the same case this removed block does.

Resetting that state might be very important to the caller.
2024-09-06 08:52:20 +10:00
Peter Barker 690947537a AP_HAL: examples: add missing include for AP_InertialSensor
we instantiate this library in here
2024-09-06 08:52:01 +10:00
Peter Barker 35d0f5c104 AP_DAL: add missing include file for Replay build 2024-09-06 08:52:01 +10:00
Peter Barker b3c1cd1a5e APM_Control: add missing include for AP::ins() 2024-09-06 08:52:01 +10:00
Peter Barker 33f9513854 AP_NavEKF3: correct includes 2024-09-06 08:52:01 +10:00
Peter Barker 8b8307c132 AP_NavEKF2: correct includes 2024-09-06 08:52:01 +10:00
Peter Barker b5cd3370eb AP_InertialSensor: add missing include for AHRS
we use a method from this library
2024-09-06 08:52:01 +10:00
Peter Barker 89c9b186e2 AP_Camera: add missing include for AP_AHRS
We use this library's singleton
2024-09-06 08:52:01 +10:00
Peter Barker 2bb6846d47 AP_NavEKF2: stop including AP_DAL.h in header
it's not needed and will slow compilation down
2024-09-06 08:52:01 +10:00
jamming 4d3e97533d AP_HAL_ChibiOS: Add a new target Holybro DroneCAN-pmu 2024-09-06 08:50:20 +10:00
Peter Barker bfcac18eb2 hwdef: GEPRCF745BTHD: rely on custom builds for external baros
this is overflowing - it has an onboard baro, that will have to do...
2024-09-06 08:49:57 +10:00
Peter Barker 61b1a2d525 hwdef: remove SMBus battery support from all minimize-fpv boards
I doubt there's a single one of these boards on the planet using stock firmware and smbus batteries.  If they exist, the custom build server can re-add this
2024-09-06 08:49:28 +10:00
Peter Barker 94062fce5c AP_Mission: do not adjust ret_packet on get_item failure
do not modify the return packet value at all upon failure, rather than indicating invalidity with a flag value.  We return boolean for a reason.
2024-09-06 08:48:12 +10:00
George Zogopoulos 18e95c7979 Revert "AP_NavEKF3: Corrected logged units"
This reverts commit 1f01f75036.
2024-09-06 08:46:11 +10:00
Jacob Dahl d96926050b hwdef: ARKV6x: fix RC input 2024-09-06 08:45:57 +10:00
khimaros 2e1af82044 AP_HAL_Chibios: default to MavLinkV1 on CubeSolo
see also https://github.com/ArduPilot/ardupilot/issues/22155
2024-09-04 19:13:05 +10:00
romi2002 e6d35b08cb hwdef: enable flash-from-SD on Pixhawk6C
Enabled flash-from-SD support on Pixhawk6C bootloader based off Pixhawk6X hwdef (3b230c4).
2024-09-04 19:08:46 +10:00
Andy Piper 7fc61090f2 AP_HAL_ChibiOS: add support for disabled mask on iomcu 2024-09-04 18:34:10 +10:00
Andy Piper e5d26a579d AP_HAL_ChibiOS: correctly check for channel enablement on iomcu 2024-09-04 18:34:10 +10:00
Andy Piper ff2c64e4b1 AP_IOMCU: add support for disabled channels 2024-09-04 18:34:10 +10:00
Andy Piper 48624f189e AP_HAL_ChibiOS: dshot commands for reverse/3D should be sent to IOMCU
normalize servo/FMU channels for dshot commands and 3D mask
2024-09-04 18:34:10 +10:00
Andy Piper 7f8e5aab85 AP_IOMCU: add iomcu support for reversible mask
propagate armed state
2024-09-04 18:34:10 +10:00
Andy Piper fc51829b63 AP_HAL_ChibiOS: add iomcu support for reversible mask
check armed state on iomcu before sending dshot packets
2024-09-04 18:34:10 +10:00
rishabsingh3003 31f527c9a7 AP_Proximity: Include database push in MR72 driver 2024-09-04 18:07:27 +10:00
junan 4e1ef8ef46 AP_Baro: remove unnecessary "#ifdef HAL_BUILD_AP_PERIPH"
Signed-off-by: junan <junan76@163.com>

AP_Baro: Update libraries/AP_Baro/AP_Baro.h suggested by @peterbarker

Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2024-09-04 14:42:21 +09:00
Andrew Tridgell 4daca86ba1 AP_Common: fixed cygwin for non-SITL builds 2024-09-04 11:12:45 +10:00
Andrii Fil e74afdfcea GCS_MAVLink: support MAV_CMD_EXTERNAL_WIND_ESTIMATE 2024-09-04 10:14:45 +10:00
Andrii Fil 3344dba627 AP_AHRS: support MAV_CMD_EXTERNAL_WIND_ESTIMATE 2024-09-04 10:14:45 +10:00
Peter Barker 40e367e14f AP_HAL_ChibiOS: avoid use of global signed_fw in ChibiOSHWdef object 2024-09-04 09:52:55 +10:00
Peter Barker 53b726271f AP_HAL_ChibiOS: avoid use of global args in ChibiOSHWdef object 2024-09-04 09:52:55 +10:00
Hubert b971046a07 hwdef: Update hwdef for MicoAir405v2 and MicoAir405mini
Update MicoAir405v2 hwdef.dat: enable OPTICALFLOW

Update MicoAir405v2 defaults.parm: enable OSD_TYPE2 and adjust LOG_FILE_BUFSIZE from 16 to 8

Update MicoAir405Mini defaults.parm: adjust LOG_FILE_BUFSIZE from 16 to 8
2024-09-04 09:52:30 +10:00
Peter Barker 90af3043bc AP_Motors: avoid use of AP_Logger.h in library headers
this pulls in many more headers, we should avoid using it whereever we can
2024-09-04 09:51:49 +10:00
Peter Barker 4e623bd384 APM_Control: avoid use of AP_Logger.h in library headers
this pulls in many more headers, we should avoid using it whereever we can
2024-09-04 09:51:49 +10:00
Peter Barker 6cfecaa86d AP_NavEKF3: use enum class for DAL MemoryType 2024-09-04 09:51:08 +10:00
Peter Barker 7d1e1ef924 AP_NavEKF2: use enum class for DAL MemoryType 2024-09-04 09:51:08 +10:00
Peter Barker e3e350427e AP_DAL: use enum class for DAL MemoryType 2024-09-04 09:51:08 +10:00
Randy Mackay b46d22f08b AP_Scripting: minor docs fix 2024-09-04 08:37:08 +09:00
Randy Mackay 1df029a679 AP_Scripting: minor spelling fix 2024-09-04 08:37:08 +09:00
Andrew Tridgell 34c1c70cc4 hwdef: rename BotBloxSwitch to BotBloxDroneNet 2024-09-04 09:03:56 +10:00
Peter Barker 7a930637e0 AP_RangeFinder: RDS02UF: avoid nuking partial messages after good parse
there may be a fragment of another packet in the buffer
2024-09-03 14:34:23 +10:00
David Buzz 61e83dcd0e AP_HAL_ESP32: improve the reported LOOP_RATE on esp32s3 to similar loop rate to classic esp32
getting a loop rate of around 130 on both now

source modules/esp_idf/export.sh

./waf configure --board=esp32s3empty --debug
./waf copter
cd build/esp32buzz/esp-idf_build/
ninja menuconfig

./waf configure --board=esp32buzz --debug
./waf copter
cd build/esp32buzz/esp-idf_build/
ninja menuconfig

and try to get both the resulting modified sdkconfig as smiilar as possible - this causes s3 to use qio, which is faster, and also puts the wifi stuff onto CORE1 on both configs.

s3:
loop_rate: actual: 148.097137Hz, expected: 400Hz
loop_rate: actual: 147.908691Hz, expected: 400Hz

classic:
loop_rate: actual: 188.718842Hz, expected: 400Hz
loop_rate: actual: 191.819748Hz, expected: 400Hz
2024-09-03 11:04:10 +10:00
Peter Barker 8856100e39 AP_Logger: restart logging after log transfer 2024-09-03 11:01:24 +10:00
Aaron Elijah b63865cdc5 hwdef: force 100MBit fullduplex for BotBloxSwitch
auto-negotiation doesn't work

also disable TX/RX swap as not needed on final board
2024-09-03 10:41:58 +10:00
Peter Barker 771696e7d5 AP_Soaring: remove use of AP_AHRS from most headers
don't need to know the details, just that it is a class
2024-09-03 10:35:54 +10:00
Peter Barker e19ae3ec01 AP_Module: remove use of AP_AHRS from most headers
don't need to know the details, just that it is a class
2024-09-03 10:35:54 +10:00
Peter Barker 42282dab65 AP_L1_Control: remove use of AP_AHRS from most headers
don't need to know the details, just that it is a class
2024-09-03 10:35:54 +10:00
Peter Barker 90749b6f40 AP_InertialNav: remove use of AP_AHRS from most headers
don't need to know the details, just that it is a class
2024-09-03 10:35:54 +10:00
Peter Barker 99dc2d1b39 AP_DDS: remove use of AP_AHRS from most headers
don't need to know the details, just that it is a class
2024-09-03 10:35:54 +10:00
Peter Barker 42b8ee78cf AP_Compass: remove use of AP_AHRS from most headers
don't need to know the details, just that it is a class
2024-09-03 10:35:54 +10:00
Peter Barker 9eec4fdff2 AP_ADSB: remove use of AP_AHRS from most headers
don't need to know the details, just that it is a class
2024-09-03 10:35:54 +10:00
Peter Barker e8f361458e AP_NavEKF3: rename gpsVelInnovTime_ms to gpsRetrieveTime_ms
in preparation for using this for other things
2024-09-03 10:34:02 +10:00
Peter Barker 2a6b45f4d9 AP_NavEKF3: tidy formatting of is_deadreckoning 2024-09-03 10:34:02 +10:00
Peter Barker 4782ace3b9 AP_NavEKF3: rename lastPosPassTime_ms to lastGpsPosPassTime_ms 2024-09-03 10:34:02 +10:00
Peter Barker a51614f360 AP_NavEKF3: use reference for dal in frontend
in place of method calls
2024-09-03 10:16:59 +10:00
Randy Mackay ba9bb22c3c AP_Scripting: add camera-change-settings applet 2024-09-03 09:04:39 +09:00
Randy Mackay 79983944c6 AP_Scripting: change_camera_setting binding 2024-09-03 09:04:39 +09:00
Randy Mackay 1f14c2ca6b AP_Mount: Siyi implements change_setting 2024-09-03 09:04:39 +09:00
Randy Mackay 78d88d11a3 AP_Camera: add change settings 2024-09-03 09:04:39 +09:00
Willian Galvani 11e05b1436 AP_HAL: add BMP390 option for navigator 2024-09-02 11:37:40 -03:00
Ryan Friedman 02d01ce392 AP_DDS: Remove duplicate instructions
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-09-02 12:24:31 +10:00
cuav-chen2 18cb1f3899 HAL_ChibiOS: change battery scale for CUAV-7-Nano flight controller 2024-09-02 12:23:08 +10:00
Thomas Watson 89c9e59c55 AP_DroneCAN: DNA_Server: polish db methods
No compiler output change.
2024-09-02 11:53:24 +10:00
Peter Barker a0c57291d7 AP_InertialSensor: correct compilation when logging disabled 2024-09-02 11:53:12 +10:00
Peter Barker 864a7a2a4b AP_GPS: define GPS_BLENDED_INSTANCE any time AP_GPS_BLENDED_ENABLED
otherwise someone can explicity ebable it but not have a blended instance ID
2024-09-02 11:53:12 +10:00
Peter Barker e9baf3d15a AP_DAL: add and use pr/EK3_FEATURE_OPTFLOW_FUSION 2024-09-02 11:53:12 +10:00
Peter Barker 02c6784c11 AP_NavEKF3: add and use pr/EK3_FEATURE_OPTFLOW_FUSION 2024-09-02 11:53:12 +10:00
Peter Barker c5b9d1dcbb AP_AHRS: add and use pr/EK3_FEATURE_OPTFLOW_FUSION 2024-09-02 11:53:12 +10:00
David Buzz 04292a280c AP_HAL_ESP32: scheduler timing information was lying to us
This reverts commit 010cfa2f4c.

AP_HAL_ESP32: scheduler timing information was lying to us, this puts it back so both 'esp32buzz' and 'esp32s3empty' loop rates are "better than before.  Still terrible, but an improvement

revert of part of pr #27181
2024-09-02 09:21:45 +10:00
Thomas Watson e99b0fd7b9 AP_HAL: increase overtime margin on ESP32 2024-09-02 09:21:08 +10:00
Thomas Watson 6c2daabd21 AP_Scheduler: make overtime margin definable
Also warn about overtime on ESP32 which is most likely to hit it.
2024-09-02 09:21:08 +10:00
Ferruccio Vicari 5b2dcc3a0c AP_Motors: fix DDVP tail servo initialization 2024-09-01 18:03:20 -04:00
Clyde McQueen cc06f7099c AC_WPNav: lower WPNAV_SPEED min to 10 cm/s 2024-08-30 07:55:50 +09:00
Maxim Buzdalov 15d6e664d8 AP_Notify: Fix compilation error in GPIO_LED_1.cpp 2024-08-29 09:37:50 +10:00
bugobliterator 957e92aca1 AP_HAL_ChibiOS: use CubePilot-CANMod's Serial Order 2024-08-28 18:20:29 +10:00
Henry Wurzburg e6351b6a41 AP_Notify:correct and expand 1 led flash sequences 2024-08-28 18:19:26 +10:00
Henry Wurzburg 4a72373624 AP_GPS:fix metadata typo 2024-08-28 15:31:08 +10:00
Henry Wurzburg 1631e85fe8 AP_GPS:add note to old param names to avoid confusion 2024-08-27 12:00:14 +10:00
Iampete1 3c6e5691e4 Filter: LowPassFilter: use `calc_lowpass_alpha_dt` helper 2024-08-27 11:21:22 +10:00
Iampete1 5453f3a0cc AP_DroneCAN: register handle_actuator_status_Volz callback and fix logging 2024-08-27 11:18:18 +10:00
Peter Barker 46db6c12c1 SITL: correct use of simulated GPS data
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>

uses the elements out of the simulated GPS data "d", rather than going to the parameters in teh simulated GPS "backends".
2024-08-27 11:14:09 +10:00
Peter Barker 3c0c2bfa67 AP_Math: add a test for rand_float 2024-08-27 11:09:13 +10:00
Peter Barker 84bcea73e1 AP_Math: correct range of returned value for rand_float on real hardware 2024-08-27 11:09:13 +10:00
Andrew Tridgell 6de6de694a AP_Math: allow rand_float() on STM32 2024-08-27 11:09:13 +10:00
Peter Barker ee6bd4fca0 AP_RangeFinder: number enum entries
we log these so they should be numbered
2024-08-27 11:05:32 +10:00
Wu a33a0d1579 HAL_ChibiOS: fixed the imu orientation of RadiolinkPIX6 2024-08-27 10:26:50 +10:00
Randy Mackay 5bcbf56a47 AP_Mount: Siyi ZT6 set lens fix
ZT6 has RGB and Thermal image sensors only
2024-08-27 10:23:47 +10:00
Randy Mackay 0874202aa1 AP_Mount: Siyi ZT6 hardware id fix 2024-08-27 10:23:47 +10:00
Peter Barker c79ba79ed1 AP_Logger: AllTypes example: freshen output file 2024-08-27 10:19:26 +10:00
Peter Barker 1c15488e35 AP_Common: add comment on top of float16 storage
there are multiple standards for storing these values
2024-08-27 10:19:26 +10:00
Peter Barker b4e3b6cdd5 AP_Logger: add support for logging float16 2024-08-27 10:19:26 +10:00
Peter Barker 4e27c51aa1 AP_NavEKF3: do not log DefaultAirspeed if logging not started
if we are not going to use this value ourselves then we certainly should not add it to the replay log
2024-08-27 10:15:10 +10:00
Peter Barker 00dc15063e AP_NavEKF: avoid copying all but the best element when recalling time-horizon data 2024-08-27 10:07:52 +10:00
Iampete1 98d9890bf1 AP_ICEngine: convert from local servo endpoints and rc channel params 2024-08-27 09:37:34 +10:00
Iampete1 51963f497b RC_Channel: add ICEngine start / stop aux function 2024-08-27 09:37:34 +10:00
Iampete1 eee2d2f57e SRV_Channel: add methods to set defualt and save min/max values 2024-08-27 09:37:34 +10:00
Peter Barker 39b4b80a5f AP_GPS: create real AP_GPS_Blended backend 2024-08-27 09:26:06 +10:00
Peter Barker a65cd27435 AP_Beacon: allow hwdefs to override number of beacons
... also a few other variables.

Also move these out of the main header file as one is internal and the others should go in the ocnfig. in case the values are used elsewhere
2024-08-26 13:48:02 +10:00
Ryan Friedman 284faf08ee AP_GSOF: Use sparse endian instead of custom code
* This saves flash

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-26 13:31:49 +10:00
Willian Galvani 616d74f1b0 AP_Scripting: add note about generating code for extension fields 2024-08-24 14:18:53 +01:00
Wu 52c94e2a5b AP_HAL_ChibiOS: add SPA06 baro for RadiolinkPIX6 2024-08-23 18:38:27 +10:00
Andy Piper 98f3a4b7d5 AP_InertialSensor: allow backend filters to be updated independently from a separate thread 2024-08-23 18:34:28 +10:00
Tatsuya Yamaguchi 62e3c6a6a9 AC_AttitudeControl: update comment to reflect the current logic in is_active_xy() 2024-08-23 07:14:50 +10:00
jamming 988d50fd9b hwdef: Add IST8310 and RM3100 Compass support for HolybroG4_GPS 2024-08-22 08:57:18 +10:00
jamming a3c930be7b AP_HAL_ChibiOS: Add a new target HolybroG4 DroneCAN Airspeed 2024-08-22 08:56:22 +10:00
Andy Piper 9c588d6ae2 AP_HAL_ChibiOS: do not include NeoPixel in minimum pulse separation 2024-08-21 17:24:01 +10:00
Randy Mackay 0d568b500a AP_Scripting: message_interval example handles 0hz 2024-08-21 11:41:50 +09:00
Andrew Tridgell d3a1d515cb AP_Scripting: added TECS tuning to revert param script 2024-08-21 06:46:56 +10:00
Andrew Tridgell 1b4fb403f2 AP_NavEKF2: added EK2_OPTIONS
this allows for disabling of external navigation data (such as visual
odomotry) in EKF2. This is very useful when using EKF2 as a fallback
and truth reference when testing visual odomotry on EKF3
2024-08-21 06:32:34 +10:00
Peter Barker 2e1364e3b0 autotest: include SBF when testing GPS backends work 2024-08-21 06:31:41 +10:00
Peter Barker 07b27d76be SITL: correct and augment SBF simulator
- checksum calculation was including header parts in CRC twice
 - need to send DOP message to make EKF happy
 - need to supply own number of satellites
 - must pad packets to a multiple of 4 bytes
2024-08-21 06:31:41 +10:00
Peter Barker 3bde446538 AP_GPS: SBF: avoid FPE when undulation is DNF 2024-08-21 06:31:41 +10:00
chiara de saint giniez c9f648b97c SITL: SBF driver 2024-08-21 06:31:41 +10:00
Peter Barker ebc8a71c36 GCS_MAVLink: allow cancelling of mission upload by sending MISSION_CLEAR_ALL 2024-08-20 20:46:41 +10:00
Peter Barker c0735d136c GCS_MAVLink: factor out a check_receiving_cancel method
allow reuse of this logic
2024-08-20 20:46:41 +10:00
Peter Barker 8ee7bf2dcb AP_GPS: change GPS_TYPE value 10 from SBF to Septentrio 2024-08-20 20:45:45 +10:00
Peter Barker b86380bbc6 AP_Camera: create and use an option_is_enabled 2024-08-20 14:50:23 +10:00
Ryan Friedman d859e9aa55 AP_GSOF: Disable packet1 test for now
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-20 14:50:05 +10:00
Ryan Friedman 724e61fa70 Tools: factor out common library for GSOF
* Add tests too

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-20 14:50:05 +10:00
Ryan Friedman 921ef6cd36 AP_GSOF: factor out common library for GSOF
* Add tests too

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-20 14:50:05 +10:00
Ryan Friedman f8295cb52b AP_GPS: factor out common library for GSOF
* Add tests too

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-20 14:50:05 +10:00
Andrew Tridgell 669cb6563b AP_GPS: allow for EAHRS_SENSORS to not include GPS
this allows external AHRS GPS to not be presented to AP_GPS as a
possible driver
2024-08-20 10:27:01 +10:00
Thomas Watson 7c5a46bac2 AP_DroneCAN: DNA_Server: arrange db methods into more logical order 2024-08-20 10:22:55 +10:00
Thomas Watson b38766c469 AP_DroneCAN: DNA_Server: clarify comments with consistent terminology 2024-08-20 10:22:55 +10:00
Thomas Watson 9669b4e85d AP_DroneCAN: DNA_Server: rename db methods to use consistent terminology
Also use snake_case like the rest of Ardupilot.
2024-08-20 10:22:55 +10:00
Thomas Watson ddf74e2da4 AP_DroneCAN: DNA_Server: rename node record structure
Rename NodeData to NodeRecord to provide a more specific name and match
the record term used in the comments. Also nominally allows stuff to be
associated with the nodes that's not the record, as expanding the record
is hard.

Additionally, rename the `hwid` field to `uid` as that's what's used in
the rest of the code.
2024-08-20 10:22:55 +10:00
Thomas Watson e22f26e507 AP_DroneCAN: DNA_Server: briefly document database to guide cleanup 2024-08-20 10:22:55 +10:00
Iampete1 4ab976178e SRV_Channels: find_channel: use channel mask remove need for search over all channels 2024-08-20 09:41:58 +10:00
Peter Barker b1ae1591fb AP_TemperatureSensor: add AP_TEMPERATURE_SENSOR_BACKEND_DEFAULT_ENABLED 2024-08-20 09:34:21 +10:00
Andrew Tridgell faf769d8cd AP_Param: throw error if we lose parameters
if we can't save a parameter due to the queue size not being large
enough then there is a coding error, likely the code trying to save
large numbers of parameters while armed
2024-08-20 09:30:22 +10:00
Iampete1 d0d5dfddda AP_ESC_Telem: getters: check index is in range first 2024-08-20 09:14:11 +10:00
Iampete1 f9f8c2aa29 AP_ESC_Telem: add `telemdata.valid` method to simplify code 2024-08-20 09:14:11 +10:00
Iampete1 64c2a1070f AP_ESC_Telem: SITL: fill in extended status values 2024-08-20 09:14:11 +10:00
Iampete1 be80f83679 AP_ESC_Telem: add getters for extended status values 2024-08-20 09:14:11 +10:00
timtuxworth c2a5554e9f AP_Vehicle: Bindings for crosstrack in Lua 2024-08-20 09:10:42 +10:00
timtuxworth 8a93c6a264 AP_Scripting: Bindings for crosstrack in Lua 2024-08-20 09:10:42 +10:00
Iampete1 b811791863 Filter: examples: TransferFunctionCheck: add support for varable DT low pass 2024-08-20 09:09:41 +10:00
Iampete1 e2ce21a237 Filter: LowPassFilter: split into two classes for constant and variable dt 2024-08-20 09:09:41 +10:00
Iampete1 7d7333a91f Filter: example: TransferFunctionCheck: override constant dt filter 2024-08-20 09:09:41 +10:00
Iampete1 ee8a8f0254 SITL: SIM_Battery: provde dt in voltage filter apply function 2024-08-20 09:09:41 +10:00
Iampete1 89297737ea AP_InertialSensor: move to new constant dt low pass filter class 2024-08-20 09:09:41 +10:00
Iampete1 44918b0e75 AP_ICEngine: move to new constant dt low pass filter class 2024-08-20 09:09:41 +10:00
Iampete1 1d589c5244 AP_GyroFFT: move to new constant dt low pass filter class 2024-08-20 09:09:41 +10:00
Iampete1 5cc63d7e6f APM_Control: move to new constant dt low pass filter class 2024-08-20 09:09:41 +10:00
Loki077 0c29d4280c AP_Scripting: AP_ESC_Telem method update
-Updated AP_ESC_Telem methods to use ESC_TELEM_MAX_ESCS instead of NUM_SERVO_CHANNELS.
- the place where the function returns bool adding skip check.
2024-08-19 21:16:41 +10:00
Loki077 46c98d6c95 AP_Scripting: added lua binding get_last_update for efi and esc 2024-08-19 21:16:41 +10:00
Loki077 94059ed7bc AP_ICEngine: Add Option to Control the direction of Cranking.
Added the 5th bit to the ICE_OPTION parameter to enable CRANK_DIR_REVERSE control, specifically for managing Hirth engine direction using AP_ICEngine_TCA9554.
2024-08-19 20:21:57 +10:00
Lokesh-Ramina 54ec26a80a AP_EFI: Adding EFIS log for Hirth
- Added EFIS log for Hirth engine
- Added ThM to help understand the engine logs better
- Updated the field names to keep the total length 64-characters long.
- Added Bitfield for the EFIS log to log all errors.
2024-08-19 07:11:50 +10:00
Andrew Tridgell 1fe21b6120 QURT: allow for external compasses
this allows for additional compasses on I2C
2024-08-17 13:20:00 +10:00
Pierre Kancir f1dd2bb2e8 AP_HAL_Linux: SITL: add missing header for timeval struct on alpine linux 2024-08-15 22:33:42 +10:00
Pierre Kancir 3e4241ee7f AP_HAL: add missing header for timeval struct on alpine linux 2024-08-15 22:33:42 +10:00
Pierre Kancir 102547968f SITL: add missing header for timeval struct on alpine linux 2024-08-15 22:33:42 +10:00
Peter Barker ca9a504c4f AP_Camera: move defintiion of HAL_RUNCAM_ENABLED into AP_Camera_config.h 2024-08-15 18:15:05 +10:00
Gone4Dirt 1de229debc AP_MotorsHeli_RSC: Make variables in constructor const 2024-08-14 23:39:01 -04:00
Gone4Dirt 7271a469fd AP_MotorsHeli: Move heli logging down to motors 2024-08-14 23:39:01 -04:00
Peter Barker 60c2e4278c AP_Compass: avoid use of MAV_RESULT if mavlink bindings not used 2024-08-14 19:40:31 +10:00
Peter Barker 571f18bb69 AP_Terrain: gate mavlink includes on HAL_GCS_ENABLED
avoids trying to include headers which have not been generated"
2024-08-14 19:39:16 +10:00
Peter Barker ba305025c4 AP_Notify: use default value for DEFAULT_NTF_LED_TYPES for NavIO2
this is the default default value for this define
2024-08-14 19:38:48 +10:00
Peter Barker b47bcc4429 AP_Notify: use default DEFAULT_NTF_LED_TYPES on unrecognised Linux boards
now have two ifndef blocks, one of which defaults things on recognized linux boards, the other generically.

Preparation for removing the defaultin for Linux boards in this file
2024-08-14 19:38:48 +10:00
Peter Barker 7c2ee8d53c AP_Notify: use DEFAULT_NTF_LED_TYPES for chibios boards
default is the same  as what ChibiOS sets
2024-08-14 19:38:48 +10:00
root c854830702 AP_VideoTX:add additional freq bands(RushFPV 3.3GHz) 2024-08-13 21:32:56 +10:00
James O'Shannessy 39f7d7a3ad AP_ExternalAHRS: Allow InertialLabs to be used as build option properly
build_options cannot autodetect InertialLabs since the feature is extracted as AP_EXTERNAL_AHRS_INERTIALLABS_ENABLED (without the underscore).
This allows you to define in/out InertialLabs properly.
2024-08-13 21:32:11 +10:00
Andrew Tridgell d225683d69 AP_GPS: fixed unconfigured uBlox pre-arm
when GPS_GNSS_MODE is zero (the default) we could get stuck trying to
configure the GNSS for F9P
2024-08-13 10:49:09 +10:00
Peter Barker 8c6a427107 AP_Vehicle: correct compilation when network port registering disabled
the ports member doesn't exist in this case
2024-08-13 10:46:45 +10:00
Peter Barker f32f3beceb AP_Networking: correct compilation when network port registering disabled
ports doesn't exist if this condition is false
2024-08-13 10:46:45 +10:00
Peter Barker 1dc87a0903 AP_OpticalFlow: simplify condition used for building onboard optical flow in
we're not being consistent in the use of defines to protect this feature; fix that
2024-08-13 10:45:31 +10:00
Andy Piper edbe339f48 AP_Logger: correctly read file header for block logger 2024-08-13 10:44:35 +10:00
Peter Barker 3194fa1385 AP_Scripting: correct compilation when AP_SCRIPTING_SERIALDEVICE_ENABLED false 2024-08-13 10:43:29 +10:00
Peter Barker 6c788c6ae0 AP_Math: correct warning on fabsF
2024-08-08T01:51:53.6780446Z ../../libraries/AP_Math/vector3.cpp:432:9: warning: absolute value function 'fabsf' given an argument of type 'const double' but has parameter of type 'float' which may cause truncation of value [-Wabsolute-value]
2024-08-08T01:51:53.6781336Z     if (fabsF(cosv) >= 1) {
2024-08-08T01:51:53.6781583Z         ^
2024-08-08T01:51:53.6781930Z ../../libraries/AP_Math/ftype.h:50:18: note: expanded from macro 'fabsF'
2024-08-08T01:51:53.6782342Z #define fabsF(x) fabsf(x)
2024-08-08T01:51:53.6782572Z                  ^
2024-08-08T01:51:53.6789178Z ../../libraries/AP_Math/vector3.cpp:633:16: note: in instantiation of member function 'Vector3<double>::angle' requested here
2024-08-08T01:51:53.6789800Z template class Vector3<double>;
2024-08-13 10:42:23 +10:00
Andy Piper 08bf7c6163 AP_HAL_ChibiOS: Flywoo H743 Pro 2024-08-13 10:20:15 +10:00
Thomas Watson e12f345bae AP_DroneCAN: DNA_Server: make lower level database tasks private
All the higher level database operations need to be locked for the whole
duration of the operation, so nobody should be using the lower-level
tasks or raw read/write functions. We can also remove the locks from
them.

The database can now safely be used by multiple servers.
2024-08-13 09:58:44 +10:00
Thomas Watson 4097e9fa42 AP_DroneCAN: DNA_Server: move allocation operation to db
Must be locked for the whole operation due to the find free/add
read-modify-write.

Preserves the previous behavior of sending back an ID of 0 in case of
allocation failure, for better or worse.
2024-08-13 09:58:44 +10:00
Thomas Watson f406c62449 AP_DroneCAN: DNA_Server: move node info update operation to db
Must be locked for the whole operation due to the occupied check and
addition read-modify-write.
2024-08-13 09:58:44 +10:00
Thomas Watson e79437d04a AP_DroneCAN: DNA_Server: move init operation into db
Must be locked for the whole operation due to the get/add
read-modify-write.
2024-08-13 09:58:44 +10:00
Thomas Watson 01e285c681 AP_DroneCAN: DNA_Server: move database tasks to db class
The server should not have raw read/write access to the database so the
database needs to take over the tasks.
2024-08-13 09:58:44 +10:00
Thomas Watson a9774d2334 AP_DroneCAN: DNA_Server: move storage read/write to its own class
There is (currently) only one storage area that is used by all servers,
so it needs to be managed by its own class shared among them.

The occupied mask is also moved as it reflects the storage contents and
so can't be stored by each server.
2024-08-13 09:58:44 +10:00
Iampete1 f6da3ce764 AC_AutoTune: add support for testing tune via aux function 2024-08-13 08:57:44 +09:00
Iampete1 94d3e2673a AC_AutoTune: Multi and Heli: only load tuned gains if a axis has completed successfully 2024-08-13 08:57:44 +09:00
Iampete1 9da6f321a0 RC_Channel: add autotune switch 2024-08-13 08:57:44 +09:00
Peter Barker c3b6127b1b AP_ExternalAHRS: correct VectorNAV handling of error term 2024-08-13 08:38:21 +10:00
Peter Barker f389549d5d AP_InertialSensor: correct warnings on static_assert requiring a message 2024-08-13 08:38:00 +10:00
Peter Barker ce03fd3ed9 AC_AutoTune: remove unused variable from heli autotune 2024-08-12 13:30:26 -04:00
Peter Barker 748fe538ea AP_Winch: correct compilation when backends compiled out 2024-08-12 18:28:27 +10:00
Peter Barker 27a7a21805 AP_Compass: correct compilation when logging disabled 2024-08-12 18:28:07 +10:00
Peter Barker 610ba486ad AP_MSP: cut more code out based on defines 2024-08-12 18:07:21 +10:00
Peter Barker 5c3aa91721 AP_RCTelemetry: add missing gate for AP_VIDEOTX_ENABLED
possible nullptr issue?
2024-08-12 17:52:04 +10:00
Peter Barker 92dd71203e AP_VideoTX: correct include to use config.h
need to avoid random headers in these config files!
2024-08-12 17:52:04 +10:00
Peter Barker 53e9fe0805 AP_Mount: correct compilation with HAL_MOUNT_SET_CAMERA_SOURCE_ENABLED off 2024-08-12 17:50:59 +10:00
Tom Pittenger a014bcb5bd AP_RPM: Allow more instances 2024-08-10 22:37:03 +10:00
mikefenghao ff30224079 AP_HAL_ChibiOS:added new hardware PixPilot-V6PRO 2024-08-10 11:06:33 +10:00
Peter Barker e75903d6fa AP_Baro: replace gcs().send_text with GCS_SEND_TEXT 2024-08-09 14:53:55 -07:00
Peter Barker 127e634589 GCS_MAVLink: add and use Battery backend internal-use-only flag
sometimes the information from a backend is very useful for logging, but not via telemetry.

Add an option bit to signify this
2024-08-08 09:12:08 +10:00
Peter Barker 8ee09c299e AP_BattMonitor: add and use Battery backend internal-use-only flag
sometimes the information from a backend is very useful for logging, but not via telemetry.

Add an option bit to signify this
2024-08-08 09:12:08 +10:00
Iampete1 34549cf0cb AP_ESC_Telem: add logging of power percentage 2024-08-07 11:23:35 +01:00
Iampete1 8ec3d0f0a9 AP_DroneCAN: populate ESC power percentage 2024-08-07 11:23:35 +01:00
Andy Piper a974f3fd42 AP_Motors: add access to per-motor thrust values 2024-08-07 18:45:50 +10:00
Andy Piper fd19c3f401 AP_Vehicle: support per-motor throttle based notches 2024-08-07 18:45:50 +10:00
Peter Barker e23e58fc17 SITL: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 4dac24796d GCS_MAVLink: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker c0b905f6e6 AR_Motors: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 7c1d37f374 AP_VisualOdom: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker bfd97bf0cd AP_Soaring: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker fd418ca59d AP_RangeFinder: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker cee45a2fc2 AP_Radio: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 96b5fa6e93 AP_Proximity: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 496bbde384 AP_Mount: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 78afaebe55 AP_Logger: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 52d5b4e684 AP_LandingGear: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 9a1aece9ab AP_HAL_ESP32: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 23b7e0f64d AP_HAL_ChibiOS: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker f7767d7fd0 AP_Generator: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 4d24e7bbf0 AP_Follow: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker fa4e90a3bb AP_Compass: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker ffb2a32144 AP_Camera: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 4565eed5ad AP_BoardConfig: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker f5e55b9a12 AP_Beacon: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker d205e2e5cf AP_BattMonitor: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker ec5eb88217 AP_Baro: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker edf42f799c AP_AdvancedFailsafe: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker 5db0eecb99 AC_Fence: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Peter Barker bf09835509 AC_AutoTune: use GCS_SEND_TEXT rather than gcs().send_text
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-07 18:33:16 +10:00
Andy Piper b6717e541a AP_MSP: use highest ESC temp rather than motor temp 2024-08-07 18:10:56 +10:00
Andy Piper f6984024c3 AP_ESC_Telem: use highest ESC temp rather than motor temp 2024-08-07 18:10:56 +10:00
Andy Piper 102f483623 AP_OSD: use highest ESC temp rather than motor temp 2024-08-07 18:10:56 +10:00
Andy Piper 189cc9d549 AP_HAL_ChibiOS: correctly uninvert RX/TX on F4 with inverter support 2024-08-07 17:34:34 +10:00
Andy Piper c8989837bc AP_HAL_ChibiOS: KakuteF4-Wing 2024-08-07 17:34:34 +10:00
Andy Piper 30ce705765 AP_HAL_ChibiOS: fix TMotor H743 with BMI270 2024-08-07 17:30:44 +10:00
Bob Long 078a86ad96 AP_Camera: fix altitude units in CAMERA_FOV_STATUS 2024-08-07 17:08:49 +10:00
Peter Barker b6426516b8 AP_HAL_SITL: work around bug in dash
dash doesn't search the path for scripts, so allow user to specify path to ArduPilot scripts
2024-08-07 17:03:52 +10:00
George Zogopoulos 1f01f75036 AP_NavEKF3: Corrected logged units 2024-08-07 17:02:28 +10:00
Nicole Ashley 126d54bc93 AP_Vehicle: Initialise i-BUS telemetry when enabled 2024-08-07 14:01:44 +10:00
Nicole Ashley e2c7b489a1 AP_OSD: Add i-BUS telemetry serial protocol value 2024-08-07 14:01:44 +10:00
Nicole Ashley 6f42acc01f AP_SerialManager: Add serial protocol for i-BUS telemetry 2024-08-07 14:01:44 +10:00
Nicole Ashley 8040e7c502 AP_IBus_Telem: Initial implementation
Allows telemetry data to be sent to receivers that support the
i-BUS protocol (FlySky and Turnigy).
2024-08-07 14:01:44 +10:00
Peter Barker 70b23733ac AR_Motors: make AP_Motors::PWMType enum class
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-06 18:15:35 +10:00
Peter Barker 70a1bc7606 AP_Motors: make AP_Motors::PWMType enum class
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-06 18:15:35 +10:00
Peter Barker a211b66472 AP_BLHeli: make AP_Motors::PWMType enum class
Co-authored-by: muramura <ma2maru@gmail.com>
2024-08-06 18:15:35 +10:00
Leonard Hall a4a9113cde AC_Autotune: Fix bug introduced in #27370 2024-08-06 17:45:04 +10:00
George Zogopoulos 9df4796b70 AP_Scripting: Typo fixes 2024-08-06 14:03:27 +10:00
Peter Barker bc80358e9b AP_Camera: rely on AHRS for position, not GPS
our location may not be coming from a GPS
2024-08-06 12:11:30 +10:00
Peter Barker b65a5a904c AP_SerialManager: tweak error message 2024-08-06 11:36:33 +10:00
Pradeep CK 0e53eb74df AP_ESC_Telem: addition of ESC extended status message
- Conditional compilation definition : AP_EXTENDED_ESC_TELEM_ENABLE
 - ESCX log structure
 - Update functionalities for ESCX status message
 - ESCX DroneCAN callback
2024-08-06 10:57:36 +10:00
Pradeep CK c7216c05b8 AP_DroneCAN: addition of ESC extended status message
- Conditional compilation definition : AP_EXTENDED_ESC_TELEM_ENABLE
 - ESCX log structure
 - Update functionalities for ESCX status message
 - ESCX DroneCAN callback
2024-08-06 10:57:36 +10:00
Peter Barker 516c2a853f hwdef: add named Pixhack-v3 board
allows for building this on the custom build server
2024-08-06 10:29:05 +10:00
Iampete1 c271771a1e AP_ICEngine: stop engine in E-Stop 2024-08-06 09:56:44 +10:00
Peter Barker cbdbbf436c AP_SerialManager: add warning iffrsky already configured 2024-08-06 09:46:56 +10:00
Peter Barker 6151b84c86 AP_LTM_Telem: disable LTM telemetry by default
we have a custom build server if this is required
2024-08-06 09:30:49 +10:00
Peter Barker cb57beaf8f AP_Hott_Telem: disable Hott telemetry by default
we now have a custom build server
2024-08-06 09:30:49 +10:00
YI-BOYANG 559a6e8f65 AP_HAL_ChibiOS: hwdef for GEPRCF745BTHD 2024-08-06 09:12:23 +10:00
Thomas Watson a164abaafb AP_Scripting: add REPL applet
Implements a reasonably comfortable REPL accessible over serial entirely
as a loadable script.

Also accessible over MAVLink using QGroundControl's MAVLink Console and
the new mavport module.
2024-08-06 09:08:04 +10:00
Thomas Watson 87d2b017aa AP_Scripting: add mavport module
Abstracts the MAVLink SERIAL_CONTROL message to be usable as a Lua port,
in particular the DEV_SHELL device supported by QGroundControl's MAVLink
Console.
2024-08-06 09:08:04 +10:00
Thomas Watson 5ec3313c31 AP_HAL: remove never-overridden get_shell_stream function
The only caller is now gone and nobody ever overrode it to do return
more than nullptr.
2024-08-06 09:08:04 +10:00
Thomas Watson abae008250 GCS_MAVLink: remove vestigial SERIAL_CONTROL_DEV_SHELL support
The HAL always returns nullptr so the function always returns, which is
handled already by the default.
2024-08-06 09:08:04 +10:00
Peter Barker 923b5185c6 AP_HAL_ChibiOS: rename OFFBOARD_GUIDED to AP_PLANE_OFFBOARD_GUIDED_SLEW_ENABLED
and remove comparison vs ENABLED
2024-08-05 10:20:14 +10:00
Peter Barker ba2bec07fa AP_HAL_ChibiOS: add env option to omit hwdef.dat from romfs 2024-08-05 10:20:14 +10:00
Andrew Tridgell 9543eecf23 HAL_ChibiOS: fixed AP_FILESYSTEM_ROMFS_ENABLED for peripherals with defaults.parm
now that defaults are in ROMFS we must enable
AP_FILESYSTEM_ROMFS_ENABLED
2024-08-04 17:36:31 +10:00
Andrew Tridgell 7bdb8d770d SRV_Channel: added AM32 to the SERVO_DSHOT_ESC param docs
setting 3 works well with AM32
2024-08-04 07:31:22 +10:00
Andrew Tridgell d48f9ef12c AP_Scripting: added example copter_deploy.lua 2024-08-03 14:29:51 +10:00
Andrew Tridgell ebad1631d7 AP_Scripting: added arm_force() and baro get_altitude_difference() 2024-08-03 14:29:51 +10:00
Andrew Tridgell 6a1d09959b AP_Arming: added arm_force() for scripting 2024-08-03 14:29:51 +10:00
EternAlmox 2ad7177a39 AP_HAL_ChibiOS: added MFT-SEMA100 2024-08-02 18:40:59 +10:00
Peter Barker bc1c305629 AP_HAL: default SITL and Linux to have 4MB of "flash" 2024-08-02 16:29:57 +10:00
Peter Barker 894b99fce5 AP_HAL: remove unused HAL_MINIMIZE_FEATURES define 2024-08-02 16:29:57 +10:00
Peter Barker 9049aeaff6 GCS_MAVLink: accept mavlink standard force arm/disarm value for forced arming
the mavlink standard specifies just one value to do either arm or disarm.  Conform to that standard
2024-08-02 16:29:13 +10:00
DisCoLabIITK e929cc21b1 AP_CustomControl: Update README.md
Adding step for changes that need to be done in the AC_CustomControl_config.h file to prevent error while compilation.
2024-08-01 10:23:14 +10:00
Pierre Kancir d9eabcf411 AP_Vehicle: fix compile when AP_EXTERNAL_CONTROL_ENABLED disabled 2024-08-01 10:00:07 +10:00
Henry Wurzburg e4fc9b0b58 AC_Fence:Add AUTOENABLE deprecation warning
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2024-08-01 09:39:41 +10:00
Peter Barker 90ee339806 AC_PID: rename pid setters to include set_ in the names 2024-07-31 18:43:42 +10:00
Peter Barker 7f4074a22c AC_AutoTune: rename pid setters to include set_ in the names 2024-07-31 18:43:42 +10:00
Peter Barker fae3b39b15 AC_AttitudeControl: rename pid setters to include set_ in the names 2024-07-31 18:43:42 +10:00
Iampete1 21ad679b61 AP_HAL_ChibiOS: GPIO: read: support virtual read of IOMCU pins 2024-07-31 18:13:01 +10:00
Iampete1 60d579dc88 AP_HAL_ChibiOS: GPIO: Check IOMCU after local pins for speed 2024-07-31 18:13:01 +10:00
Iampete1 624ab00c3e AP_HAL_ChibiOS: RCOut banner: check for GPIO on IOMCU 2024-07-31 18:13:01 +10:00
Iampete1 98c5eff7f0 AP_IOMCU: add GPIO mask getter and GPIO virtual read 2024-07-31 18:13:01 +10:00
Andy Piper b9bde4c488 AP_HAL_ChibiOS: add servo outputs as motors to FoxeerF405v2 2024-07-31 17:27:44 +10:00
Henry Wurzburg 847b8eab25 HWDEF:fix CUAV-7-Nano default batt monitor 2024-07-31 17:13:09 +10:00
Henry Wurzburg 9b041be8a1 AC_Fence: correct prearm message 2024-07-31 17:01:07 +10:00
Eric Katzfey 9ef76de0c9 AP_HAL_QURT: Added support for dual mavlink streams 2024-07-31 10:00:35 +10:00
Peter Barker d7caf1e6b5 AP_Math: remove method operator
remove the metho operator from the class.

This means this will no longer work:

Quaternion q{0,1,2,3};
q(5,6,7,8);

.... that used to set the quaternion componets, but is an odd / atypical syntax to use
2024-07-31 08:54:37 +10:00
Peter Barker cac2c63e72 AC_PID: remove method operator
remove the metho operator from the class.

This means this will no longer work:

Quaternion q{0,1,2,3};
q(5,6,7,8);

.... that used to set the quaternion componets, but is an odd / atypical syntax to use
2024-07-31 08:54:37 +10:00
Hayden Donald 52ba8e8513 AP_Scripting: Change serial depends HAL_GCS to AP_SERIALMANAGER
Serial bindings were dependant on HAL_GCS_ENABLED but this is not ideal, it should be dependant on AP_SERIALMANAGER_ENABLED so that serial can function without GCS
2024-07-31 08:27:34 +10:00
“Jane_ZeroOne” d43dd5227a AP_HAL_ChibiOS: add ZeroOneX6 2024-07-30 20:07:31 +10:00
Iampete1 26c51a8002 AP_TemperatureSensor: add logging option to only log sensors with no source 2024-07-30 11:07:17 +10:00
Iampete1 600d9eb7a8 AP_BattMonitor: Sum: report average temperature 2024-07-30 11:00:49 +10:00
Iampete1 45647718cb AP_BattMonitor: ESC: integrate consumed mah if not provided by ESC 2024-07-30 10:59:17 +10:00
Thomas Watson dc4d1bacdd AP_Scripting: adjust string metatable setup to fix sandbox integrity
In Lua, strings are the only type that come with a default metatable.
The metatable must be shared by all string objects, and it is set to be
the `string` library table each time that library is opened. In
Ardupilot's scripting engine, the last script to load then has access to
the string metatable as the library is opened fresh for each script, as
its `string` library will have been set to the metatable.

Therefore, if two scripts are loaded, A first and B second, and script B
executes e.g. `string.byte = "haha"`, then `string.byte()` and
`s:byte()` for script B are broken. Because the metatable is shared,
this also breaks `s:byte()` for script A, which violates the integrity
of the sandbox.

Fix the issue by disabling the metatable setup functionality when the
string libary is opened, then manually opening an additional copy of the
library (which won't be given to any script) and setting it as the
string metatable during intialization.

This will break any script that modifies the string metatable for
constructive purposes, but such a script could have been broken if it
weren't the only script running anyway.
2024-07-30 10:54:00 +10:00
Peter Barker 95281e5c17 hwdef: turn monior thread back on on some boards
most of these boards probably don't need it, but to make a PR no-binary-output...
2024-07-30 10:52:36 +10:00
Peter Barker 90b2a2acaa hwdef: change HAL_NO_MONITOR_THREAD out for HAL_MONITOR_THREAD_ENABLED
... and use a default value for peripherals
2024-07-30 10:52:36 +10:00
Thomas Watson 3a834e83c7 AP_Scripting: reference script environment directly
Referencing the original function to run is of questionable value and
the only user uses it to grab the script environent from the upvalues.

Instead, use a reference to the script environment table directly.
2024-07-30 10:33:56 +10:00
Thomas Watson 15255a36e4 AP_Scripting: reference function to run separately
Some bits of the code in the require machinery use the `lua_ref` to
access the script environment. However, this can change after the script
is rescheduled and it returns an arbitrary function to run next.

Resolve this by introducing `run_ref` which is specifically a reference
to the function to run next. `lua_ref` is preserved for the script
lifetime.
2024-07-30 10:33:56 +10:00
Thomas Watson da006d427d AP_Scripting: add test for require() after rescheduling
It can end up broken due to incorrect assumptions about the executed
function's upvalues, which might change after rescheduling.
2024-07-30 10:33:56 +10:00
Peter Barker be377da6a4 GCS_MAVLink: add build option to not send RC_CHANNELS_RAW
we keep this around in case we break old OSD setups
2024-07-30 10:29:58 +10:00
Peter Barker 6f5ea5a5e9 RC_Channel: rework duplicate-rc-options check to use a Bitmask
just for the memory saving.

Co-authored-by: muramura <ma2maru@gmail.com>
2024-07-30 10:28:42 +10:00
Peter Barker 93704c573c SITL: add documentation for SIM_ENGINE_FAIL and SIM_ENGINE_MUL 2024-07-30 09:21:26 +09:00
Peter Barker 9397ece55a AC_AutoTune: make axis-type enum-class
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2024-07-30 10:20:26 +10:00
Peter Barker f3766b831a AP_HAL_ChibiOS: make include file mistakes nicer to interpret 2024-07-30 09:57:01 +10:00
Thomas Watson 6acfc98cf4 AP_Scripting: factor out ap_object checker
Reduces flash usage.

Saves ~160B.
2024-07-30 09:55:25 +10:00
Thomas Watson 212256731f AP_Scripting: improve object allocation efficiency
Make new_X return the new object instead of having to grab it to
configure it.

Saves ~1.3K.
2024-07-30 09:55:25 +10:00
Thomas Watson 3e05cd9729 AP_Scripting: factor out field access argument error
Saves ~830B.
2024-07-30 09:55:25 +10:00
Thomas Watson 575ed6224f AP_Scripting: improve binding index function efficiency
Move the string checks into the load functions to avoid duplicating it
for each binding.

Also sync up the return types to avoid an unnecessary conversion.

Saves ~1.5K.
2024-07-30 09:55:25 +10:00
Thomas Watson e66d2a1495 AP_Scripting: remove redundant memsets
Matches current generator behavior.
2024-07-30 09:55:25 +10:00
Thomas Watson 837b17e82e AP_Scripting: more intelligently manage Lua stack
The Lua stack is guaranteed to have at least LUA_MINSTACK (default 20)
slots upon entry to C. Check to see if we might need more than that
minimum and only in that case call the function to check and resize the
stack. In virtually all cases the check can then be optimized away.

Additionally remove the redundant "Out of stack" message. Lua already
says "stack overflow" and a null message is valid.

Saves ~330B.
2024-07-30 09:55:25 +10:00
Thomas Watson 7212e35fb0 AP_Scripting: slightly improve codegen
Get singleton pointer closer to where it is used.

Saves ~170B.
2024-07-30 09:55:25 +10:00
Thomas Watson 60a9f1722c AP_DroneCAN: DNA_Server: unify bitmask handling
Put documentation with each bitmask and use the object directly. Node ID
range checks can be removed as the bitmask itself checks and we don't
expect to trip them.

Substantially cleans up the code.
2024-07-30 09:49:43 +10:00
Thomas Watson 56593574a9 AP_DroneCAN: DNA_Server: miscellaneous cleanup 2024-07-30 09:49:43 +10:00
Thomas Watson 5e0bb99dbb AP_DroneCAN: DNA_Server: fix handling of empty entry
Replaces the check for a CRC of 0 with a check that the hwid is 0.
Substantially reduces 1/256 chance that a particular node ID couldn't be
stored.
2024-07-30 09:49:43 +10:00
Thomas Watson 9aeab7b424 AP_DroneCAN: DNA_Server: use 0 as unknown ID
Slightly reduces flash usage and probably is clearer.
2024-07-30 09:49:43 +10:00
Thomas Watson 8d57533f1c AP_DroneCAN: DNA_Server: fix cases involving use of invalid node IDs 2024-07-30 09:49:43 +10:00
Thomas Watson a9317b1a07 AP_DroneCAN: correct and validate allowed NODE range
Node IDs >= 128 don't exist, and IDs 126 and 127 are "reserved for
network maintenance tools" according to the spec.
2024-07-30 09:49:43 +10:00
Thomas Watson 485a9387b1 AP_DroneCAN: DNA_Server: clean up storage failure handling
The StorageManager read_block/write_block methods only return failure if
an out of bounds access is performed. Assert statically that this does
not happen.

Also remove the now-impossible failed to add node state.
2024-07-30 09:49:43 +10:00
Thomas Watson cd8519321b AP_DroneCAN: DNA_Server: search for valid nodes after magic check
Ensures the occupation mask doesn't get populated with junk if the magic
is not valid.
2024-07-30 09:49:43 +10:00
Thomas Watson c1f59186fa AP_DroneCAN: DNA_Server: make reset method private 2024-07-30 09:49:43 +10:00
Ian Burwell 6b4e11090c AP_Scripting: Add BQ40Z shutdown example
This example intercepts PREFLIGHT_REBOOT_SHUTDOWN COMMAND_LONG's and if
param1==2, it shuts down the BQ40Z smart battery BMS. Otherwise it
passes through the COMMAND_LONG as a COMMAND_INT (this required updating
the gcs:run_command_int to return a MAV_RESULT rather than a bool).
2024-07-30 09:40:10 +10:00
Ian Burwell 9d34fa2a5e AP_Scripting: Add I2C transfer bindings
This adds bindings for an I2CDevice's transfer() function, an example,
and removes the nil return hint from the get_device() docs as it never
actually returns nil.
2024-07-30 09:40:10 +10:00
Iampete1 838fbc2b3b AP_Param: Fix `ENABLE_DEBUG` enabled error with no embedded param 2024-07-30 08:51:09 +10:00
Bob Long 64fc60ce32 AP_HAL_SITL: initialize rcout safety state
This allows BRD_SAFETY_DEFLT=1 to work correctly for SITL.
2024-07-30 08:44:31 +10:00
BLash d7ecf5fbc5 AP_ExternalAHRS_VectorNav: Consolidate EAH3 definition to single method
Resolve SITL failures due to multiply defined logger message by pulling the call to a single method
2024-07-29 15:52:29 +10:00
BLash 1d1bb5724e AP_ExternalAHRS_VectorNav: Address review comments
Remove unnecessary header
Switch parameters to default initialization
Change pointer casting to prevent a const_cast, and remove doubled sync byte when echoing ASCII messages
Fix Valgrind report by preventing use of nmea_printf on buffers which may not be null-terminated
2024-07-29 15:52:29 +10:00
BLash 50980ee03e AP_ExternalAHRS_VectorNav: Update SIM to match new message definitions
Redefine messages to 3 INS packets, and send as appropriate
Resolve SITL failures due to too-long logger message headers
2024-07-29 15:52:29 +10:00
BLash d4ca5fe868 AP_ExternalAHRS_VectorNav: Split IMU and EKF message
In AHRS Mode, split the single message to an IMU packet and an AHRS packet; in EKF Mode, split the two messages into an IMU message, an EKF packet, and a GNSS packet.
Simplify message header definition to consolidate and eliminate the need for static asserts
Update healthy logic and use to represent new packet structure
Replace EAH3 message with messages per-packet
Add Ypr as configured output in the EKF message
2024-07-29 15:52:29 +10:00
George Zogopoulos e227187e72 AP_TECS: Converted parameter TKOFF_MODE to TKOFF_OPTIONS 2024-07-29 15:50:32 +10:00
George Zogopoulos b163e13964 AP_TECS: Fixes to reset state
These concern the TAKEOFF flight stage and address #27147.

* Logging metadata fixes
* Disabled continuous TECS reset during takeoff
* Fixed bug in reached_speed_takeoff calculation
* Limited SPDWEIGHT=2 to only first part of takeoff climb
* _post_TO_hgt_offset set to constant
* Takeoff I-gain now defaults to 0 and is used
* Use at least TRIM_THROTTLE during the climb
* Updated description of TECS_TKOFF_IGAIN with new behaviour
* Forced max throttle while below TKOFF_LVL_ALT
* Added throttle constraints in no-airspeed mode

Additionally, set_min_throttle() has been created, that allows one to
set the minimum TECS throttle for the next update_pitch_throttle() loop.
Additionally, the throttle limits system has been reworked. TECS will
receive external throttle limits from Plane and will always take them
into account and respect them.
2024-07-29 15:50:32 +10:00
cuav-chen2 08c8ef379b HAL_ChibiOS: Added support for CUAV-7-Nano flight controller 2024-07-29 12:25:53 +10:00
Peter Barker 317fab2f19 AP_Mission: add and use an option_is_set method 2024-07-29 10:37:52 +10:00
Thomas Watson bbde876353 hwdef: remove EKF opinion from FlywooF745
No effect as lines have always been commented out, but not useful and
EKF2 is not something to encourage.

Verified no compiler output change.
2024-07-29 09:32:22 +10:00
Peter Barker 16c2e23ee7 AP_Mount: allow AP_MOUNT_BACKEND_DEFAULT_ENABLED to be overridden 2024-07-28 12:00:02 +10:00
Peter Barker debf3cb28e hwdef: SpeedyBeeF405WING: restrict mount support to the servo gimbal 2024-07-28 12:00:02 +10:00
Peter Barker 84efdd5700 hwdef: SpeedyBeeF405WING: remove landing gear support 2024-07-28 12:00:02 +10:00
Andrew Tridgell 2ce6532698 AP_Math: updated EulerAngles.pdf link 2024-07-27 11:14:10 +10:00
Andrew Tridgell 98733882f5 AP_Math: added comments and a test for euler ordering
our main euler functions did not have a comment on the ordering
convention
2024-07-27 11:14:10 +10:00
yaapu 5b7aaae008 AP_Frsky_Telem: fix for HAL_WITH_FRSKY_TELEM_BIDIRECTIONAL = 0 2024-07-26 20:12:40 +10:00
muramura e86d5e113f AP_Filesystem: BOOL for binary types 2024-07-26 20:12:05 +10:00
Leonard Hall bb1758ecb1 AC_Autotune: Add ABORT state for consistency between tests 2024-07-26 20:11:42 +10:00
Leonard Hall bea2c5b59b AC_Autotune: Clean up Multi Variables and non functional changes 2024-07-26 20:11:42 +10:00
Peter Barker 78dc5a7b5d hwdef: FlyingMoonF427: remove MAX7456 2024-07-26 20:10:38 +10:00
Peter Barker 5b5dd638c1 hwdef: FlyingMoonH743: remove MAX7456 2024-07-26 20:10:38 +10:00
Randy Mackay 44b3217178 AP_Camera: type param desc gets topotek 2024-07-26 12:55:24 +10:00
Randy Mackay 62a03f18d8 AP_Camera: type param desc gets viewpro and xacti 2024-07-26 12:55:24 +10:00
Andy Piper a560f89b35 AP_HAL_ChibiOS: update logging docs for 2RAW H743 2024-07-26 10:39:38 +10:00
Andy Piper 74f72db4eb AP_HAL_ChibiOS: rename 2RAWH743 to IFLIGHT_2RAW_H7 2024-07-26 10:39:38 +10:00
Andy Piper 278595cf83 AP_HAL_ChibiOS: add support for sdcard to iFlight 2RAW 2024-07-26 10:39:38 +10:00
Peter Barker 7f97e897e2 AP_Camera: add sanity check for Siyi lens change 2024-07-25 12:18:51 +10:00
muramura f1e67ba747 AP_Mount: SWITCH statement to table reference 2024-07-25 12:18:51 +10:00
muramura 9f2da4a763 AP_Mission: Change division to multiplication 2024-07-25 11:33:55 +10:00
Peter Barker a0ac6f22df AP_CANManager: use a switch statement to tidy driver allocation 2024-07-25 11:09:07 +10:00
Andrew Tridgell 23f628f26b hwdef: fixes for BotBloxSwitch 2024-07-25 10:57:04 +10:00
Leonard Hall 2ab3d0b3b0 AC_AttitudeControl: Add Landed Gain Backoff 2024-07-25 09:50:35 +10:00
muramura 84ff78f5c6 AP_Notify: Perform common checks first 2024-07-25 09:50:03 +10:00
James O'Shannessy 66817e207f AP_InertialSensor: Check the gyro/accel id has not been previously registered
If the Gyro/Accel ID is already in the registered list, do not try to add it again.

This stops an issue seen on a CubeOrangePlus BG3 where, during the very first boot after a parameter wipe, software incorrectly registers a fourth IMU.
The Fourth IMU is registered because the AUX IMU is the same DevID as the third ICM45686.
2024-07-25 09:49:35 +10:00
Luca Pescante 028017e38e ArduCopter/RC_Channel: add option 219
(Transmitter Tuning)
2024-07-25 09:40:13 +10:00
bugobliterator 8a4b925c71 AP_HAL_ChibiOS: add support for PPP between CubeRed Primary and Secondary 2024-07-25 09:37:16 +10:00
bugobliterator 4909ad4e4f AP_Networking: add debug code for PPP 2024-07-25 09:37:16 +10:00
bugobliterator 993d694fbb AP_HAL_ChibiOS: allow setup for low noise clock mismatch tolerant UART line 2024-07-25 09:37:16 +10:00
bugobliterator 025077b6f4 AP_HAL_ChibiOS: add support for recording UART Rx errors 2024-07-25 09:37:16 +10:00
mduclehcm 25a406e633 AP_Mount: Conditionally define `serial_instance` to fix unused variable compile error
- Wrapped the definition of `serial_instance` with preprocessor directives to ensure it is only defined when necessary.
- This resolves the compile error caused by the unused variable when no features requiring `serial_instance` are enabled.
2024-07-25 09:35:46 +10:00
Paul Riseborough 4904c718a5 AP_NavEKF3: Fix yaw alignment bug
When the  yaw is aligned to the GPS yaw, the recordYawResetsCompleted() function should be called the same as for any other yaw reset.
2024-07-25 09:34:48 +10:00
rishabsingh3003 07b6c57173 AP_TemperatureSensor: Extend analog sensor backend to 5th order polynomial 2024-07-24 17:53:08 +10:00
rishabsingh3003 3ab3388752 AP_ESC_Telem: Add ifndef before defining ESC_TELEM_MAX_ESCS 2024-07-24 17:45:24 +10:00
Randy Mackay 2b64787099 AP_Mount: topotek spelling fix 2024-07-24 17:28:24 +10:00
Randy Mackay cfd1e98333 AP_Mount: topotek safely parses version 2024-07-24 17:28:24 +10:00
Randy Mackay 1b77751aef AP_SmartRTL: add point made public 2024-07-24 17:22:44 +10:00
Henry Wurzburg 76abc6850f Filter: add "source" to option 5 2024-07-24 17:20:30 +10:00
Randy Mackay a1579bc31e SITL: integrate SlungPayload 2024-07-24 17:09:06 +10:00
Randy Mackay 5c2b758f42 SITL: add SlungPayload 2024-07-24 17:09:06 +10:00
George Zogopoulos e170710de9 SITL: Glider improvements
Fixed balloon going below ground.
Enabled glider torque logging.
2024-07-24 17:03:48 +10:00
Peter Barker 478d26d69c AP_Notify: rename LED_1 pin define to AP_NOTIFY_GPIO_LED_1_PIN 2024-07-24 09:13:50 +10:00
Peter Barker a4577685a7 AP_HAL_ChibiOS: rename LED_1 pin define to AP_NOTIFY_GPIO_LED_1_PIN 2024-07-24 09:13:50 +10:00
Peter Barker cc190f537f AP_OSD: correct compilation with AP_RRSI_ENABLED false
Co-authored-by: David Buzz <davidbuzz@gmail.com>
2024-07-24 09:11:39 +10:00
Peter Barker 1afa801b19 AP_LTM_Telem: correct compilation with AP_RRSI_ENABLED false
Co-authored-by: David Buzz <davidbuzz@gmail.com>
2024-07-24 09:11:39 +10:00
Andy Piper ccfbfddf7e AC_Fence: address minor review comments 2024-07-24 08:24:06 +10:00
Andy Piper 55075961b2 AP_Mission: address minor review comments 2024-07-24 08:24:06 +10:00
Andrew Tridgell 68f2593089 AC_Fence: fixed FENCE_AUTOENABLE=2
needs to auto-enable on takeoff complete
2024-07-24 08:24:06 +10:00
Andy Piper 5bc3727145 AC_Fence: support FENCE_OPTIONS on copter 2024-07-24 08:24:06 +10:00
Andy Piper 29a320b310 AC_Avoidance: correctly set back away speed for minimum alt fences 2024-07-24 08:24:06 +10:00
Andy Piper 37e0923ec2 AP_Arming: allow precise wording of fence pre-arm messages 2024-07-24 08:24:06 +10:00
Andy Piper f0456f29dd AC_Fence: always disable Min Alt fence on landing
allow precise pre-arm messages
2024-07-24 08:24:06 +10:00
Andy Piper 255fac215f AP_Mission: generic fence handling in missions 2024-07-24 08:24:06 +10:00
Andy Piper 04dd7de1ed AC_Fence: disable fences for landing by suppressing in the fence check rather than using a state machine
simplify takeoff auto-enablement
2024-07-24 08:24:06 +10:00
Andy Piper d5c6f3fe06 AC_Fence: add reset_fence_floor_enable() and use it in plane when landing is aborted 2024-07-24 08:24:06 +10:00
Peter Barker a4c7819117 AC_Fence: clear breach of disabled fence
skip breach checks if no fences
correct initialisation of _num_fences in the case of no fences in eeprom
2024-07-24 08:24:06 +10:00
Andy Piper 3fabec4158 AP_Arming: ensure fence enablement on arming is inverted on disarming 2024-07-24 08:24:06 +10:00
Andy Piper 174d5f07bb AC_Fence: ensure fence enablement on arming is inverted on disarming
correct detection of polyfence
2024-07-24 08:24:06 +10:00
Andy Piper f0f8187c7f AC_Fence: add ability to auto-enable fence floor while doing fence checks
control copter floor fence with autoenable
autoenable floor fence with a margin
check for manual recovery only after having checked the fences
make auto-disabling for minimum altitude fence an option
output message when fence floor auto-enabled
re-use fence floor auto-enable/disable from plane
auto-disable on landing
do not update enable parameter when controlling through mavlink
make sure get_enabled_fences() actually returns enabled fences.
make current fences enabled internal state rather than persistent
implement auto options correctly and on copter
add fence names utility
use ExpandingString for constructing fence names
correctly check whether fences are enabled or not and disable min alt for landing in all auto modes
add enable_configured() for use by mavlink and rc
add events for all fence types
make sure that auto fences are no longer candidates after manual updates
add fence debug
make sure rc switch is the ultimate authority on fences
reset auto mask when enabling or disabling fencing
ensure auto-enable on arming works as intended
simplify printing fence notices
reset autofences when auot-enablement is changed
2024-07-24 08:24:06 +10:00
Andy Piper 370b0d7b9c AP_Logger: add events for all fence types 2024-07-24 08:24:06 +10:00
Andy Piper 0288e1e79c RC_Channel: use fence enable_configured() 2024-07-24 08:24:06 +10:00
Andy Piper d16615923d AP_Frsky_Telem: use fence enable_configured() 2024-07-24 08:24:06 +10:00
Andy Piper 0c6ea4790d AP_Common: fix initialization of ExpandingString so that it can be used on the stack
zero out passed in buffers for ExpandingString
2024-07-24 08:24:06 +10:00
Andy Piper 3dbcbe0026 AP_Arming: do not enable minimim altitude fence on arming
call appropriate fence method for auto-enablement
2024-07-24 08:24:06 +10:00
Andy Piper 8287d4f2d0 AC_Avoidance: take into account minimum altitude fence when calculating climb rate 2024-07-24 08:24:06 +10:00
Andy Piper 95b39f64e3 AP_Mission: add comment about new fence API 2024-07-24 08:24:06 +10:00
Andy Piper f73154349b GCS_MAVLink: use bitmask based enablement for fences 2024-07-24 08:24:06 +10:00
Bob Long 230269bed8 HAL_ChibiOS: add adjustable wdg timeout for hwdefs
This allows the watchdog timeout to be adjusted in the hwdef.dat file,
so that critical nodes like ESCs can recover more quickly.
2024-07-23 19:53:38 +10:00
Andrew Tridgell 03bdbea77c hwdef: enable relay support in MatekL431-DShot fw
the PWM expansion boards can also be used for relay control, often
combined with PWM output
2024-07-23 18:42:56 +10:00
Rhys Mainwaring 4354072d34 SITL: SIM_Rover: add simulation for omni3 mecanum rover
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-07-23 13:27:04 +10:00
James O'Shannessy ce0ae33c5b AP_HAL_ChibiOS: Capture the case where the persistent parameter is the newer format INSn_ACC_ID
This fixes the handling of the newer INSn_* parameters when loading those stored in persistent memory.
2024-07-23 12:06:18 +10:00
James O'Shannessy c771440ea4 AP_InertialSensor: Fix persistent storing of IMU Z Scale
Fixes INSn_ACCSCAL_Z not being stored in persistent storage when bootloader is flashed.
2024-07-23 11:59:49 +10:00
xiaozhou e2cb4ba232 AP_Mount: Topotek image tracking fix
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-23 10:51:09 +10:00
xiaozhou 69e4005bb6 AP_Mount: Topotek retrieves model name
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-23 10:51:09 +10:00
xiaozhou 858aff5f4f AP_Mount: Topotek handles new version format
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-23 10:51:09 +10:00
muramura 7731fc09e2 AP_HAL_SITL: If HAL_CAN_WITH_SOCKETCAN is undefined, treat it as NONE 2024-07-23 10:47:16 +10:00
Michael du Breuil edaddc0431 AP_TECS: Use aircraft stall speed
When stall prevention is enabled we were scaling from the aircraft's
minimum flight speed. However this is normally already picked as being
above the stall speed, and for a variety of reasons we may want to pin
the aircraft at a higher minimum speed. But if the aircraft was
commanded to fly to close to that minimum speed as soon as it banked for
a pattern it would command a increase in speed to keep it away from
stalling. However if your minimum speed is far from stalling this
increase was incorrect. To make it worse what this actually results in
happening is an aircraft diving for more speed (over 10 m/s on some
aircraft) as well as descending to gain that speed resulting in over 200
foot deviations in altitude control.
2024-07-23 10:37:24 +10:00
Michael du Breuil 5005809e74 AP_Vehicle: add stall speed parameter for plane 2024-07-23 10:37:24 +10:00
Thomas Watson b64ed6ca56 AP_Scripting: dynamically load some binding objects
Only create the binding object (singleton metatable/userdata or C
function reference) once the user first references a particular
singleton or userdata creation function. Once created, the object is
stored into the script's environment so it doesn't get recreated on the
next reference and there isn't any further overhead. The userdatas are
no longer shared between scripts which imposes a slight memory penalty
for multiple scripts using the same singleton but this avoids an
additional lookup time cost.

Userdata and ap_objects aren't eligible for this optimization as the C++
code might want a particular metatable at any time.

Saves ~9.3K Lua heap.
2024-07-23 10:34:52 +10:00
Thomas Watson 059af2117d AP_Scripting: place bindings into global table
The global table is then used as the __index metamethod of each state's
environment table. Avoids the overhead of loading binding objects into
each state. The binding objects are immutable from Lua so sandboxing is
not violated.

Does have the slight downside that a script can no longer know all the
binding names by enumerating _ENV.

Saves ~700B of memory per loaded script.
2024-07-23 10:34:52 +10:00
Thomas Watson 9cbec043d0 AP_Scripting: remove __call metamethod from singleton metatables
The __call metamethod was set to the metatable itself. With __call not
present, Lua will try to call the metatable (and fail), which is the
same behavior as with the __call metamethod set to the metatable.

Saves ~2K Lua heap.
2024-07-23 10:34:52 +10:00
Thomas Watson 8e303675fe AP_Scripting: don't put userdata and ap_objects into globals
They are never accessed from globals. Only their metatables are
accessed, using luaL_getmetatable.

Saves ~2.9K of Lua heap.
2024-07-23 10:34:52 +10:00
Thomas Watson 50eac0ef31 AP_Scripting: keep enum definitions in flash
Saves ~100B of statically allocated RAM.
2024-07-23 10:34:52 +10:00
chiara-septentrio fc8147ead0 AP_GPS:Septentrio constellation choice 2024-07-23 10:32:32 +10:00
Peter Barker 56773f09b4 AP_Scripting: docs for get_resistance 2024-07-22 09:09:26 +10:00
Peter Barker 6514a3522b AP_Scripting: add battery-resistance-checking example 2024-07-22 09:09:26 +10:00
Peter Barker e94ebe4d1a AP_Scripting: add battery resistance to bindings 2024-07-22 09:09:26 +10:00
Peter Barker ba135b9008 SITL: split MAVLink and physical gimbal simulations 2024-07-21 17:01:47 +10:00
Peter Barker ed3aeb39fd AP_HAL_SITL: split MAVLink and physical gimbal simulations 2024-07-21 17:01:47 +10:00
Peter Barker fc28e2d7b8 SITL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Peter Barker 9b3809c89f AP_HAL_SITL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Peter Barker 1ce6aa7e38 AP_HAL: adjust for renaming of Gimbal to SoloGimbal 2024-07-21 14:22:05 +10:00
Peter Barker ae4254bba8 SITL: rename SIM_Gimbal files to SIM_SoloGimbal 2024-07-21 14:22:05 +10:00
Willian Galvani aca9940534 AP_Scripting: add Readme.md for generating message definitions 2024-07-20 20:45:41 +01:00
Peter Barker 9c1fe4e1c9 SIM_VectorNav: stop using nmea_printf on buffer data
can't use nmea_printf here as the buffer data won't be null-terminated
2024-07-20 22:44:19 +10:00
Peter Barker dcf342d7e3 SITL: add instructions on testing simulated mavlink gimbal 2024-07-20 22:44:10 +10:00
Peter Barker 2584cfd786 SITL: use distinct source system for gimbal
gimbal was sending mavlink into ArduPilot with the target system's own sysid/compid tuple.  ArduPilot was simply discarding these as its own messages being looped back to it
2024-07-20 22:44:10 +10:00
Peter Barker 16a9e53bdb AP_Mount: tidy Solo defines 2024-07-20 22:44:10 +10:00
Peter Barker 70729df4c0 AP_HAL: enable Solo Gimbal in SITL 2024-07-20 22:44:10 +10:00
Rhys Mainwaring 5919ef69cb AP_DDS: add param DDS_DOMAIN_ID
- Require reboot.
- Set DDS_DOMAIN_ID range: 0 to 232..

Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-07-20 19:13:53 +10:00
Stephen Dade 887a890c4a SITL: Add skid steering motorboat 2024-07-20 19:10:09 +10:00
Peter Barker 1626611e0b SITL: add documentation for SIM_ACC?_RND parameters 2024-07-20 13:43:44 +10:00
bugobliterator 5a54d9a2ec AP_Networking: allow reconnection to TCP server or client 2024-07-17 18:20:14 +10:00
Peter Barker 7e722eeb94 hwdef: prune out redundant lines
these have been merged with bad lines in them
2024-07-17 17:49:57 +10:00
BLash 3f00280628 AP_ExternalAHRS_VectorNav: Move allocation to local scope
Move receive_buf to method scope allocation rather than class scope
2024-07-17 17:49:18 +10:00
BLash b3961ec2eb AP_ExternalAHRS_VectorNav: Update VectorNav sim to respond to received commands
Aside from the RRG,1 call, the simulation should reply with exactly what was received as a receipt confirmation to allow the driver to proceed past init
2024-07-17 17:49:18 +10:00
BLash 34031cc6b6 AP_ExternalAHRS_VectorNav: Bugfixes and review comment address
"VNERR" does not match beginning of message_to_send, so have to prevent it from returning due to the string compare. Also must prevent exiting the decode before the sentence has completed so that we can go on to print the error code term.
Fix bug preventing disabling of ASCII measurements
Instead of snprintf the command to message_to_send then executing run_command, allow run_command to accept a string and format spec
Add check to ensure message_to_send is greater than length 6 before attempting to read past 6
2024-07-17 17:49:18 +10:00
BLash ed6ee51783 AP_ExternalAHRS_VectorNav: Minor code clarity improvements
Add clarity to send_command_blocking by improving comment and directly returning instead of breaking
2024-07-17 17:49:18 +10:00
BLash 1288810c70 AP_ExternalAHRS_VectorNav: Handle VNERR responses
Print received VNERR response to console and continually retry sending the configuration message, instead of panicing
2024-07-17 17:49:18 +10:00
BLash 024d50ed09 AP_ExternalAHRS: VectorNav: Disable ASCII messages on both ports, rather than just active port
This change prevents a commonly seen baudrate overflow error on the unused port.
Also pause asynchronous communications during initial configuration.
2024-07-17 17:49:18 +10:00
BLash d5ff3ed35a AP_ExternalAHRS: VectorNav: Add response validation to all sent commands
Expands wait_register_response (and renames to send_command_blocking)
to accept any arbitrary command, and uses the new method for all sent
commands
2024-07-17 17:49:18 +10:00
Peter Barker d4adb1923a hwdef: stop hwdefs defining HAL_GPIO_LED_ON to 0 2024-07-17 17:42:01 +10:00
Peter Barker 9a1a99fd61 AP_HAL_Boards: stop users specifying HAL_GPIO_LED_ON as the default value 2024-07-17 17:42:01 +10:00
bugobliterator d466618b11 AP_HAL_ChibiOS: add flash ecc corrupt method 2024-07-17 17:31:15 +10:00
bugobliterator ceea189fa3 AP_HAL_ChibiOS: enable heap allocation if flash space for bootloader is > 128K 2024-07-17 17:31:15 +10:00
Peter Barker fd80d331cb AP_HAL: add simulator for 1-LED boards 2024-07-17 17:18:27 +10:00
Peter Barker 647048f703 SITL: add simulator for 1-LED boards 2024-07-17 17:18:27 +10:00
Peter Barker 7a15b4aae5 AP_Notify: add support for blinking 1 LED for notify 2024-07-17 17:18:27 +10:00
Peter Barker 338e347427 AP_Notify: remove unused BUZZER_ON/OFF defines
replaced by HAL_BUZZER_ON
2024-07-17 11:14:05 +09:00
Oleksiy Protas 5190aee9ae AP_Camera: proper string formatting
Incoming strings are 32 bytes and may not be null-terminated if the full width is used
2024-07-17 10:39:46 +10:00
Thomas Watson 63ab7bec69 AP_HAL_ESP32: use correct unformatted system ID length
Avoids stuffing uninitialized data into the ID.
2024-07-17 09:08:51 +10:00
Thomas Watson a3aa278589 AP_HAL_SITL: improve periph simulation efficiency
Removes busywait for simulation state packet, dramatically reducing CPU
usage. The dominant wait time in AP_Periph is 1024 microseconds as this
is the default value of HAL_PERIPH_LOOP_DELAY_US, so a 1ms wait is
unlikely to be a problem.
2024-07-17 09:06:16 +10:00
Andrew Tridgell 0179dc0a68 GCS_MAVLink: default MAVLink HAGL support off on low flash boards 2024-07-17 08:03:18 +10:00
Andrew Tridgell 42a1717676 AP_Scripting: added MAV_CMD_SET_HAGL example
for external height source for fixed wing landing
2024-07-17 08:03:18 +10:00
Peter Barker 43dbae54a3 AP_HAL: SIMState: include SITL glider header
used if you want to use the Glider model in Sim-on-Hardware
2024-07-16 22:28:57 +10:00
Rhys Mainwaring 4de8e04679 AR_Motors: add frame type Omni3Mecanum
Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
2024-07-16 16:28:06 +09:00
Andrew Tridgell e93b3722c9 HAL_QURT: implement safety switch
this ensures no outputs during initialisation
2024-07-16 10:54:03 +10:00
Andrew Tridgell a7363d4c14 HAL_QURT: remove ESC order mapping
this is not consistent between ModalAI vehicles, so best done with
SERVOn_FUNCTION parameters
2024-07-16 10:54:03 +10:00
Thomas Watson 1c54dd9e5d AP_HAL_SITL: allow disabling CAN interfaces
Also corrects an issue where setting an invalid type could result in
undefined behavior.
2024-07-16 10:13:11 +10:00
Thomas Watson ca0cd9a7e8 SITL: allow disabling CAN interfaces
Also corrects an issue where setting an invalid type could result in
undefined behavior.
2024-07-16 10:13:11 +10:00
Peter Barker 501d0d8759 AP_Notify: stop using linux board subtype in Notify LED setup
... instead have the board definitions define things like we do for ChibiOS
2024-07-16 10:11:40 +10:00
Peter Barker 55308e6d79 AP_HAL: stop using linux board subtype in Notify LED setup
... instead have the board definitions define things like we do for ChibiOS
2024-07-16 10:11:40 +10:00
Valentin Berman 4938a6bb42 AP_EFI: DroneCAN: set the last_updated_ms field of efi_state
The last_update_ms variable was never set in the DroneCAN implementation of the Electronic Fuel Injector sensor. This causes the function bool AP_EFI::is_healthy to always return false. Solved by adding one line of code to set the variable to the correct value.
2024-07-14 20:19:31 +10:00
Willian Galvani ef9763fdd7 AP_GPS: hdop and vdop are unitless 2024-07-14 17:23:15 +10:00
Iampete1 b75c62d267 AP_HAL_SITL: AnalogIn: return false for set pin to `ANALOG_INPUT_NONE` 2024-07-14 17:11:47 +10:00
George Zogopoulos fb40a7f19d AP_Logger: Fix logged units 2024-07-14 17:07:11 +10:00
Andrew Tridgell cd8b93e1c5 HAL_QURT: adjustments to support different frames
added docs and service files, and support reboot
2024-07-13 14:38:31 +10:00
Andrew Tridgell f8ce4183b8 AP_Filesystem: support QURT with posix filesystem
some features disabled
2024-07-12 15:56:48 +10:00
Andrew Tridgell 3a6024e8ab AP_Common: support QURT 2024-07-12 15:56:48 +10:00
Andrew Tridgell 4e8f1e6092 AP_HAL: added QURT board type and header 2024-07-12 15:56:48 +10:00
Andrew Tridgell 2fe08b6177 HAL_QURT: revived QURT HAL
based around new SDK for ModalAI Voxl2 vehicles
2024-07-12 15:56:48 +10:00
Peter Barker 75f9c4e4fc AP_HAL: chiibos.h: die nicely if HAL_HAVE_PIXRACER_LED is used 2024-07-11 20:08:13 +10:00
Peter Barker e42c9a588e SITL: add support for simulated GPIO LEDs 2024-07-11 20:08:13 +10:00
Peter Barker bad755f4a5 AP_HAL: add support for simulated GPIO LEDs 2024-07-11 20:08:13 +10:00
Clyde McQueen 630d3fa8a7 AP_NavEKF3: log mag fusion selection to XKFS 2024-07-11 16:16:27 +10:00
Iampete1 a551b4f296 AP_SerialManager: remove Volz port config 2024-07-11 13:07:24 +10:00
Iampete1 8eceff2d7a AP_Volz_Protocol: move output to thread 2024-07-11 13:07:24 +10:00
Iampete1 0c5160f05c AP_Volz_Protocol: add range parameter allowing smaller range for improved PWM resolution 2024-07-11 13:07:24 +10:00
Iampete1 71f3dbf098 AP_Volz_Protocol: use popcount 2024-07-11 13:07:24 +10:00
Iampete1 871e9101ff AP_Volz_Protocol: add CMD union helper 2024-07-11 13:07:24 +10:00
Andrew Tridgell b34d0c9c87 AP_HAL: removed vector based I2C get_device
this is unused and prevents building on QURT
2024-07-11 11:20:47 +10:00
Andrew Tridgell dbba4559ee HAL_Linux: removed unused I2C vector get_device 2024-07-11 11:20:47 +10:00
Andrew Tridgell 192972e502 AP_HAL: avoid vector include in I2C API
this doesn't work on QURT build and is unused
2024-07-11 11:20:47 +10:00
Andrew Tridgell ebc7cc2daf AP_OpticalFlow: cleanup printf warnings 2024-07-11 09:34:29 +10:00
Andrew Tridgell c40099a162 AP_Rangefinder: cleanup printf warnings 2024-07-11 09:34:29 +10:00
Andrew Tridgell 991ea6326d AP_Compass: cleanup warnings in printf calls 2024-07-11 09:34:29 +10:00
Peter Barker f4f79905cc AP_Notify: example: do not instantiate AP_BoardLED unless the board supports it 2024-07-11 09:34:00 +10:00
Peter Barker 71332dd039 AP_GPS: example: do not instantiate AP_BoardLED unless the board supports it 2024-07-11 09:34:00 +10:00
Peter Barker ab43668c45 AP_Notify: adjust hwdef files for define renames 2024-07-11 09:34:00 +10:00
Peter Barker 3b764c5812 AP_HAL: adjust hwdef files for define renames 2024-07-11 09:34:00 +10:00
Peter Barker 956ac243e1 AP_HAL_ChibiOS: adjust hwdef files for define renames 2024-07-11 09:34:00 +10:00
Peter Barker 8370e0b08b AP_Notify: create sanity in GPIO-based LED defines 2024-07-11 09:34:00 +10:00
Andrew Tridgell 393cd3252b AP_HAL_SITL: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 3980cbbb82 AP_HAL_Linux: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell f235b71f6b AP_HAL: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 15ef6b1192 AP_HAL_ESP32: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 64f6abd4d4 AP_HAL_ChibiOS: switched ENABLE_HEAP to an #if 2024-07-11 09:28:17 +10:00
Andrew Tridgell 429294fa1d AP_Baro: avoid i2c errors with ICP101XX
this sensor doesn't like reading at higher than expected rate
2024-07-11 09:27:33 +10:00
Andrew Tridgell a02cd4b432 AP_Baro: fixed link with clang for shared library
avoid unused symbols
2024-07-11 09:27:09 +10:00
Andrew Tridgell 3608a78398 AP_Baro: fixed build with clang 2024-07-11 09:27:09 +10:00
Andrew Tridgell 60f582a6b2 AP_BattMonitor: support I2C INA231 battery monitor 2024-07-11 09:26:17 +10:00
Andrew Tridgell 75ebf96adb AP_Filesystem: allow for filesystem with no dtype 2024-07-11 09:25:05 +10:00
Andrew Tridgell 64ed86a82e GCS_MAVLINK: cope with dirent not having dtype 2024-07-11 09:25:05 +10:00
Andrew Tridgell c2e52af1e2 AP_Filesystem: make fgets() much more efficient
normally fgets is on a buffered FILE handle. For AP_Filesystem we use
an unbuffered file descriptor. This means we were reading one byte at
a time from the file

this uses lseek to make fgets() much more efficient by reading the max
buffer size at a time in the file
2024-07-11 09:24:38 +10:00
Peter Barker b2a7fcda5c AP_GPS: resolve compilation problem with timeval
./../libraries/AP_GPS/AP_GPS_SITL.cpp:37:27: error: aggregate 'timeval first_tv' has incomplete type and cannot be defined
    37 |     static struct timeval first_tv;
       |                           ^~~~~~~~
 compilation terminated due to -Wfatal-errors.

 Waf: Leaving directory `/ardupilot/src/build/sitl'
 Build failed
  -> task in 'objs/AP_GPS' failed (exit status 1):
  {task 135805090486368: cxx AP_GPS_SITL.cpp -> AP_GPS_SITL.cpp.0.o}
2024-07-11 09:22:12 +10:00
Andrew Tridgell 7477c4e205 AP_Scripting: fixed remove call
need to use AP_Filesystem
2024-07-11 07:43:35 +10:00
Andrew Tridgell ffc78722f7 HAL_ESP32: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell c4addb7dd0 AP_HAL_SITL: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 2374d6f444 AP_HAL_Linux: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell d54b69a5fe AP_HAL: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 04bd5aa010 AP_HAL_Empty: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell e86e012896 AP_HAL_ChibiOS: removed run_debug_shell 2024-07-11 07:42:54 +10:00
Andrew Tridgell 4d5095cea1 AP_DDS: fixed cell voltages
the std:copy was copying from uint16_t to float
2024-07-11 07:25:33 +10:00
Peter Barker 7f0f851243 hwdef: remove bogus EK2_RPRIMARY from Cube defaults files
looks likely, but hasn't ever existed
2024-07-10 22:35:51 +10:00
Peter Barker 4231275f50 AP_Compass: remove default clause from set_status switch
forces someone to consider what they need to do for any new state
2024-07-10 18:18:31 +10:00
Peter Barker afd8d8255f AP_Compass: use switch statement in failed() method 2024-07-10 18:18:31 +10:00
Peter Barker ef0de65347 AP_InertialSensor: tidy IMU killing 2024-07-10 18:17:00 +10:00
muramura d6a79c0e02 RC_Channel: Add a MOUNT2 retract
Update libraries/RC_Channel/RC_Channel.cpp

Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-10 17:45:28 +10:00
Peter Barker 31f3a796f1 AP_Proximity: avoid use of int16_t-read call 2024-07-10 17:01:09 +10:00
MattKear 2025712505 AP_RPM: Improve rpm logging 2024-07-10 12:24:15 +10:00
Michael du Breuil aafa2f3998 AP_Math: Remove template parameter from constructor
Not valid in C++20, and makes GCC 14.1.1 very unhappy.
2024-07-10 10:07:24 +10:00
muramura e48044dc45 AP_InertialSensor: Clearly state the maximum G-force 2024-07-10 10:07:16 +10:00
muramura 9f6edd8d55 AP_Mount: Increment the serial instance 2024-07-10 08:31:25 +09:00
Ep Pravitra f3d55d821e SITL: fix json airspeed
Airspeed calculation for JSON was not quite working because velocity_air_ef was not updated in SIM_JSON.cpp

Update libraries/SITL/SIM_JSON.cpp

Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
Update libraries/SITL/SIM_JSON.cpp

Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>

comment changes

remove redundant airspeed calculation
2024-07-10 08:24:19 +10:00
James O'Shannessy 9924462618 AP_Mission: Allow Param4 to be uploaded with NaN
By default, QGroundControl will attempt to upload Loiter Unlimited with a NaN in param4.
Given this field could be NaN, we allow it through the parser.

See: https://mavlink.io/en/messages/common.html#MAV_CMD_NAV_LOITER_UNLIM
2024-07-09 22:39:57 +10:00
Peter Barker 481e0301dd hwdef: H757_EVAL: make it not-AP_Periph
avoids this compilation error:

../../Tools/AP_Periph/can.cpp:152:33: error: static assertion failed: DroneCAN bootloader cannot support external flash
  152 | static_assert(EXT_FLASH_SIZE_MB == 0, "DroneCAN bootloader cannot support external flash");
compilation terminated due to -Wfatal-errors.
2024-07-09 12:00:52 +10:00
Randy Mackay 5a8ed5fb51 AP_NavEKF: option to align extnav to optflow pos estimate 2024-07-09 11:59:36 +10:00
Thomas Watson 1249388f23 AP_Common: use template parameter in bitmask functions
Substantially improves code optimization and reduces memory usage.
2024-07-09 11:51:41 +10:00
Thomas Watson 6a4520e8fd AP_Common: clean up bitmask operators
Code already won't compile if there are different numbers of bits as the
template parameter will be different.
2024-07-09 11:51:41 +10:00
Thomas Watson b030b8e789 AP_Common: correctly bound bitmask datatypes
Probably won't work correctly (and of questionable use) if less than 1.
The `first_set()` function might not be able to return a valid value if
greater than INT16_MAX.

unsigned int needs to be >= uint32_t so that the shift ops are in range.
2024-07-09 11:51:41 +10:00
Thomas Watson 0b320fe303 AP_Common: unify bitmask out of bounds checking
Ensures out-of-bounds reads and writes are never performed for setting,
clearing, and checking. Fixes test failure when the number of bits
evenly divides the word size.
2024-07-09 11:51:41 +10:00
Thomas Watson 9a89223531 AP_Common: fix bitmask setall()
Fixes an issue where the last word was not set to all 1s if the number
of bits evenly divided the word size.

Also fixes UB if there were 31 valid bits.
2024-07-09 11:51:41 +10:00
Thomas Watson 122cd72d9c AP_Common: improve bitmask test coverage 2024-07-09 11:51:41 +10:00
Thomas Watson 4a2f03f851 AP_Common: test more bitmask bit widths
Actually test different widths and reveal problems with edge cases.
2024-07-09 11:51:41 +10:00
Thomas Watson 521cf00964 AP_Common: templatify bitmask tests
Enables testing of different widths and edge cases.
2024-07-09 11:51:41 +10:00
Peter Barker aff3af67e6 AP_Logger: remove short-filename compatability code
We used to produce files hwih looked like log1.BIN.  We moved to 00000001.BIN instead so things collate.

This code allowed the autopilot to return data from SD cards which had old logs on them.
2024-07-09 11:34:40 +10:00
Iampete1 f3743b869d AC_PID: correct error caculation to use latest target 2024-07-09 11:33:03 +10:00
Andrew Tridgell b19186980a AP_Mount: added sending of position data to Siyi gimbal
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
this will allow for exif tags of position for photos
2024-07-09 11:28:57 +10:00
Peter Barker 99fb5a994e AC_WPNav: correct calculation of predict-accel when zeroing pilot desired accel 2024-07-09 10:52:14 +10:00
Peter Barker c8a20726ff AP_NavEKF3: do not store prediction-enabled as state
this is only used in one place, and that place is called from the same routine setting the persistent state.  The only other place which calls readIMUData shouldn't be running the prediction step, but mmay, depending on the previous setting of the prediction step.

We are not initialising this state on filter reset, so it's possible that the state will be set when we do an InitialiseFilterBootstrap, which is probably not desired
2024-07-09 10:45:03 +10:00
Peter Barker 3208491983 AP_Logger: remove twin paths for writing FMT messages
This stops us tracking formats-written in two places.

The Write() method will now emit formats as required and set the relevant bit in the backend-owned bitmask of formats sent.
2024-07-09 10:40:08 +10:00
Willian Galvani 64e859ecc5 AP_Compass: warn user if fix_radius() is skipped 2024-07-09 10:13:34 +10:00
Willian Galvani 325d6f6c94 AP_Compass: use ahrs for location instead of GPS directly for calibration 2024-07-09 10:13:34 +10:00
Peter Barker df0b4cdf6d AP_HAL_ChibiOS: chibios_hwdef.py: correct flake8 issues 2024-07-09 10:13:00 +10:00
Oleksiy Protas 6d27f69c96 GCS_MAVLink: correct a debugging message
Probably changed from a pointer to reference at some point and forgot to update a normally disabled block
2024-07-09 10:10:52 +10:00
Andy Piper 1b5febe046 AP_HAL_ChibiOS: iFlight 2RAWH743 2024-07-09 09:43:38 +10:00
Randy Mackay b6c5ad450d AP_Common: char_to_hex returns 0 on invalid char 2024-07-09 09:08:51 +10:00
laozhou 611fb94660 AP_Mount: integrate topotek gimbal driver
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-09 09:08:51 +10:00
laozhou d5d1b9885c AP_Mount: add topotek backend
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2024-07-09 09:08:51 +10:00
HiRCBro 8c58334173 AP_HAL_ChibiOS: longBowF405WING 2024-07-09 09:05:27 +10:00
Peter Barker 933aed5f91 AP_Scripting: add missing scheduler include
corrects compilation of cubeorange-periph-heavy
2024-07-09 07:40:03 +10:00
cuav-chen2 f906fffff7 hwdef: fixed pin definition for C-RTK2-HP 2024-07-08 22:10:27 +10:00
Andrew Tridgell db19bce1d2 AP_Common: wrap _malloc_r on cygwin
fixes dual allocation heap bug
See https://cygwin.com/pipermail/cygwin/2000-July/038916.html
2024-07-07 07:11:59 +10:00
Andrew Tridgell 842a4f507b AP_Scripting: added NMEA 2000 EFI driver
this has been tested on a marine engine, and correctly produces key
telemetry data

the NMEA_2000.lua module is broken out to make it easier to add other
NMEA 2000 based drivers
2024-07-06 07:19:25 +10:00
Peter Barker 9090420db0 SITL: remove duplicated crc code
same as one we already have
2024-07-05 23:02:18 +10:00
Peter Barker c1c3580f8b AP_Logger: remove unused _log_file_size_bytes variable
AP_Logger: comment corection
2024-07-05 21:42:21 +10:00
BLash 0e4124060c SITL: VectorNav: Add support for sensors outside VN-100 and VN-300
Includes naming changes to match new broadened usage
2024-07-05 21:41:22 +10:00
BLash 271f08fc03 AP_ExternalAHRS: VectorNav: Add support for sensors outside VN-100 and VN-300
Includes naming changes to match new broadened usage
2024-07-05 21:41:22 +10:00
Peter Barker 1916490ae6 AC_Sprayer: create and use an AP_Sprayer_config.h 2024-07-05 14:27:45 +10:00
bugobliterator b93c9256c7 AP_HAL_ChibiOS:hwdef/common: disable second core on dual core MCUs 2024-07-05 14:16:27 +10:00
bugobliterator c8fe71b6b0 AP_HAL_ChibiOS: use debug option 3 which includes defines as well 2024-07-05 14:16:27 +10:00
Peter Barker 6ce7e179d7 RC_Channel: produce error if feature compiled out and aux func initialised 2024-07-04 19:41:07 +10:00
Peter Barker ce48932f4d AP_NavEKF3: remove storedRange member variable if rangefinder measurements disabled 2024-07-04 19:21:44 +10:00
Peter Barker 3dff46b2b2 AC_AutoTune: remove unused variables 2024-07-04 13:19:12 +10:00
Peter Barker 35bdadb8ec AC_AutoTune: adjust variable names to include _cd postfix 2024-07-04 13:19:12 +10:00
Vincent Poon fba47e641d Update Pixhawk6C hwdef.dat
Fix https://github.com/ArduPilot/ardupilot/issues/25840

The overcurrent detection of the HIPOWER current limiting chip is connected to PC11 on the Pixhawk 6C.
2024-07-04 06:37:58 +10:00
George Zogopoulos 61c910b08b AP_Scripting: Added script for Quad-X CoM compensation
The script uses the scripting matrix to produce non-equal
front and back thrust, compensating for the lever arm between the center
of thrust and the center of mass.
2024-07-03 18:44:36 +10:00
George Zogopoulos 2cd5413b0d SITL: Documented SIM_WIND_DIR_Z 2024-07-03 18:13:11 +10:00
Willian Galvani cb74ebbddd EKF3: allow earth-frame fields to be estimated with an origin but no GPS 2024-07-03 16:49:27 +10:00
bnsgeyer 5fa2fcfa56 AC_AutoTune: return freqresp ring buffers to original implementation 2024-07-01 22:57:55 -04:00
bnsgeyer 475663e199 AC_AutoTune: use ring buffer only for dwells 2024-07-01 22:57:55 -04:00
bnsgeyer bb6c52d508 AC_AutoTune: remove deletion of ring buffers 2024-07-01 22:57:55 -04:00
bnsgeyer f50bb54112 AC_AutoTune: more suggested changes 2024-07-01 22:57:55 -04:00
bnsgeyer 088b7ec094 AC_AutoTune: incorporate suggested changes 2024-07-01 22:57:55 -04:00
Bill Geyer 41ed4d1321 AC_AutoTune: use new new macro
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-01 22:57:55 -04:00
bnsgeyer c4f4067fd5 AC_AttitudeControl: add accessors to set rate limit 2024-07-01 22:57:55 -04:00
bnsgeyer b13efc86af AC_AutoTune: use attitude controller to enforce rate and accel limits 2024-07-01 22:57:55 -04:00
bnsgeyer ad1b01cd56 AC_AutoTune: improve RFF dwell test and data processing 2024-07-01 22:57:55 -04:00
Bill Geyer 30c2e1f53b AC_AutoTune: general cleanup and protect against freq exceedences 2024-07-01 22:57:55 -04:00
bnsgeyer cc7e43d643 AC_AutoTune: max gain, rate p and d tuning use common search method 2024-07-01 22:57:55 -04:00
bnsgeyer cf50aa1321 AC_AutoTune: trad heli variable cleanup 2024-07-01 22:57:55 -04:00
bnsgeyer ad58f3e1f8 AC_AutoTune: reworked updating max gains 2024-07-01 22:57:55 -04:00
bnsgeyer 989f48f97a AC_AutoTune: reworked updating angle p up 2024-07-01 22:57:55 -04:00
bnsgeyer cd18607f25 AC_AutoTune: reworked updating rate p and d up 2024-07-01 22:57:55 -04:00
bnsgeyer 61182c0e96 AC_AutoTune: reworked dwell_test and updating ff up 2024-07-01 22:57:55 -04:00
bnsgeyer 2339c7daed AC_AutoTune: moved more into dwell_test_init 2024-07-01 22:57:55 -04:00
bnsgeyer 7ff99a39f0 AC_AutoTune: fix tests to work better 2024-07-01 22:57:55 -04:00
bnsgeyer 3943a69b33 AC_AutoTune: fix object buffers to dynamically size 2024-07-01 22:57:55 -04:00