Commit Graph

36697 Commits

Author SHA1 Message Date
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
bnsgeyer 528b7eb438 AC_AutoTune: general cleanup to make code more efficient 2024-07-01 22:57:55 -04:00
bnsgeyer 9e4d118cc9 AC_AutoTune: remove sweep for Rate D up 2024-07-01 22:57:55 -04:00
bnsgeyer 32af6216b7 AC_Autotune: tradheli use dwell for FF test 2024-07-01 22:57:55 -04:00
bnsgeyer dd1f0cdcf7 AC_AutoTune: make rate freq sweeps safer 2024-07-01 22:57:55 -04:00
Henry Wurzburg 48e27c382a AP_RSSI: make metadata more consistent 2024-07-02 11:34:29 +10:00
Henry Wurzburg f087e9d25d AP_RangeFinder: make metadata more consistent 2024-07-02 11:34:29 +10:00
Henry Wurzburg a03ccd1a8a AP_BattMonitor: make metadata more consistent 2024-07-02 11:34:29 +10:00
Henry Wurzburg 59db5de78c AP_Airspeed: make metadata more consistent 2024-07-02 11:34:29 +10:00
Thomas Watson 717c5ff863 AP_Scripting: ignore hidden Lua files
On macOS, sometimes ._script.lua is created to store metadata when the
user copies script.lua over to their SD card. Previously, the scripting
engine would barf since the file is not Lua. Now, these files are
ignored.

Also avoids a case where a hidden and valid script might be loaded
without the user's knowledge.
2024-07-02 11:07:40 +10:00
Peter Barker 0056ef2d90 AP_Logger: write formats out as required rather than at start of log 2024-07-02 10:59:55 +10:00
Andrew Tridgell 681e2d7993 AP_GPS: don't consider uBlox PVT time correct unless we have 2D fix
the time may be set by an offline assistance client and may not be
accurate
2024-07-02 10:25:03 +10:00
Peter Barker f3a75661d9 AP_Frsky_Telem: avoid use if int16-t read call 2024-07-02 10:14:28 +10:00
Peter Barker 85f89812d5 AP_Generator: avoid use of int16_t-read 2024-07-02 10:13:24 +10:00
Peter Barker 42805aa892 AP_GPS: confine inter-instance DroneCAN state checks to DroneCAN GPSs
stop these looking at parameters/state for all GPSs, focus on DroneCAN GPSs
2024-07-02 09:56:40 +10:00
Peter Barker ebfbcacfe3 AP_GPS: tidy pre_arm_checks 2024-07-02 09:56:40 +10:00
Peter Barker 3e57edf37c AP_Arming: tidy pre_arm_checks 2024-07-02 09:56:40 +10:00
Iampete1 a9eb6051fa AP_BatteryMonitor: add missing failsafe with no action 2024-07-02 09:54:36 +10:00
Bill Geyer c5585f84af AC_AttitudeControl: various suggested cleanup items
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-02 08:39:33 +09:00
Bill Geyer 29897f99af AP_Motors: Clean up spacing
Co-authored-by: Peter Hall <33176108+IamPete1@users.noreply.github.com>
2024-07-02 08:39:33 +09:00
Bill Geyer 805480e5a2 AC_AttitudeControl: only allow angle boost when not autorotating 2024-07-02 08:39:33 +09:00
Bill Geyer a19b72e895 AP_Motors: helper function to determine when heli is in autorotation 2024-07-02 08:39:33 +09:00
bnsgeyer f06bbd471f AC_AttitudeControl: tradheli-add support for inverted and throttle boost features 2024-07-02 08:39:33 +09:00
Peter Barker 4550f7dcb1 hwdef: make H757I_EVAL a periph
its bootloader is marked as a bootloader peripheral, the main firmware is notistent in our message.
2024-07-02 09:17:26 +10:00
Peter Barker 6e5198a50c AP_Frsky_Telem: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker e88d76d72d AP_Scripting: rangefinder singleton requires AP_RANGEFINDER_ENABLED
.... or HAL_PERIPH_ENABLE_RANGEFINDER
2024-07-02 09:17:26 +10:00
Peter Barker 118f3b41ac AP_RangeFinder: create a AP_RANGEFINDER_BACKEND_CAN_ENABLED
avoid cmpilation problems when rangefinder not enabled but CAN is
2024-07-02 09:17:26 +10:00
Peter Barker fe6b120a73 AP_Vehicle: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker f9a94fd7dd AP_RangeFinder: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 37964011df AP_OSD: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 07e76a7cae AP_NavEKF: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 13e7d04497 AP_NavEKF3: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 0f47cd7e8b AP_NavEKF2: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker a715ee1ce2 AP_HAL_ChibiOS: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker abc0179a53 AP_DAL: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Peter Barker 955245e4b7 AP_Arming: make AP_RANGEFINDER_ENABLED remove more code 2024-07-02 09:17:26 +10:00
Andrew Tridgell 38ca478178 AP_Scripting: added gcs:run_command_int() binding 2024-07-01 20:08:29 +10:00
Andrew Tridgell 0116e1e80d GCS_MAVLink: added lua_command_int_packet()
for lua access to MAV_CMD_xxx
2024-07-01 20:08:29 +10:00
Henry Wurzburg 4ed1b6b357 AP_Temperature:expand metadata for analog sensors 2024-07-01 14:01:19 +10:00
Peter Barker e2f18d9217 AP_NavEKF2: remove unused initFailureReason 2024-07-01 09:04:05 +09:00
bnsgeyer 9c2d43f6c4 SITL: improve dual heli dynamics model 2024-06-30 18:21:21 -04:00
Andrew Tridgell 077c5f38f7 SITL: added comments on how to fly the glider 2024-06-30 10:02:15 +10:00
Peter Barker 780352cd75 AP_Logger: correct enumeration name -> AP_SmartRTL::Action 2024-06-28 10:11:57 +10:00
Peter Barker 2c89622f09 AP_SmartRTL: use enum class for Action, number entries
we log these values, so number them explicitly
2024-06-28 10:11:57 +10:00
George Zogopoulos 2717470df1 AP_Scripting: Misc. small improvements.
Typo fix
Removed unused variable
2024-06-28 10:05:29 +10:00
Thomas Watson 6e0d7bddf1 AP_Scripting: add serial device simulation example 2024-06-27 12:00:18 +10:00
Thomas Watson f9b138724c AP_Scripting: add serial loopback test script
Tests that data can flow both ways with one end using protocol 28
(Scripting) and the other using the serial device simulation feature.
2024-06-27 12:00:18 +10:00
Thomas Watson 46e204dd6c AP_Scripting: clear serial device sim buffers appropriately
Ensures the script won't process data created before it started, and
that the protocol won't process data created after the script stopped.
2024-06-27 12:00:18 +10:00
Thomas Watson 4cb684e8a9 AP_Vehicle: initialize scripting serial device sim ports early
Necessary for mavlink in particular to notice the port and hook up the
protocol internally.
2024-06-27 12:00:18 +10:00
Thomas Watson a077e4a3ed AP_Scripting: introduce serial device simulation support
Allows a script to simulate a device attached via any serial protocol.
The script can read and write data and have it handled according to the
protocol as if exchanged over a serial port. The script can then do
protocol translation, data filtering and validation,
hardware-in-the-loop simulation, experimentation, etc., especially in
combination with the scripting protocol which lets the script itself
handle an attached device and so interpose any communication.
2024-06-27 12:00:18 +10:00
Thomas Watson 4df2a1bce7 AP_Scripting/generator: generate depends for manual functions on singletons 2024-06-27 12:00:18 +10:00
Thomas Watson c18f9f733e AP_Scripting: add writestring for serial
Enables more efficient scripting.
2024-06-27 12:00:18 +10:00
Thomas Watson d93aa15f2a AP_Scripting: refactor serial readstring
Using `luaL_Buffer` avoids the need for any heap allocation in the
common case (count <= 512 bytes) and avoids stressing out the system
heap for large reads, instead using the script heap.

Zero net flash usage change.
2024-06-27 12:00:18 +10:00
Thomas Watson e18449b1b8 AP_Scripting: use generic access userdata for serial ports
Adding another layer instead of just exposing UARTDriver bindings allows
substitution of the different functions for device simulation later.

Also take the opportunity to rework the docs a little.
2024-06-27 12:00:18 +10:00
Thomas Watson c37dba60de AP_Scripting/generator: allow disabling userdata creation from Lua
Passing -1 to the argument count for the `creation` tag (name does not
matter) will stop the generator from giving Lua a function to construct
that userdata. The C `new_<name>` function still works.
2024-06-27 12:00:18 +10:00
Thomas Watson 7fb65aece3 AP_SerialManager: allocate port IDs for scripting serial device ports 2024-06-27 12:00:18 +10:00
Peter Barker 0ee787325a AC_AutoTune: NFC whitespace, ordering and add trailing comma to enumeration 2024-06-27 10:12:30 +10:00
Pierre Kancir 396bca359d AP_Scripting: add an example to use Copter Standby mode in SITL with LUA 2024-06-27 10:11:53 +10:00
Andrew Tridgell 10c6020a66 AP_Scripting: update docs 2024-06-27 10:11:14 +10:00
Andrew Tridgell bcfc273799 hwdef: enable an ADC on CubePilot-PPPGW
allows for mcu temp
2024-06-27 10:11:14 +10:00
Andrew Tridgell 98479658d4 HAL_ChibiOS: support H7 at 200MHz 2024-06-27 10:11:14 +10:00
Andrew Tridgell d87404adfa AP_Scripting: added mcu_temperature binding 2024-06-27 10:11:14 +10:00
Andrew Tridgell f532f7a9e6 AP_SerialManager: added docs for SERIALn_PROTCOL=PPP 2024-06-27 10:11:14 +10:00
Andrew Tridgell 5a795ccba0 AP_Networking: added TCP reflection test
TCP to an echo server, testing bi-directional transfer
2024-06-27 10:11:14 +10:00
Andrew Tridgell 34815f9fb0 HAL_ChibiOS: scale RTS threshold to make software CTS more effective 2024-06-27 10:11:14 +10:00
Andrew Tridgell ebc4ee99a9 AP_HAL_ChibiOS: add support for GPIO pins as software CTS 2024-06-27 10:11:14 +10:00
bugobliterator b6cdb8b1a6 hwdef: fix hwdef for updated CubePilot-PPPGW 2024-06-27 10:11:14 +10:00
bugobliterator 0a0d5a3e49 AP_HAL_ChibiOS: add support for PPP on CubeOrangePlus 2024-06-27 10:11:14 +10:00
Peter Barker 2425023331 AP_Notify: flash green lights based off location not GPS
Your Copter in stabilize mode can flash rapid-green indicating a good DGPS lock or better, and yet your vehicle still doesn't have a good idea of where it is.

That means that your vehicle may end up RTL'ing onto a point somewhere along your flight path, when you were given an all-green indication by teh vehicle before you armed in stabilize.

Past this PR, we require the same GPS as before, but in addition we must have been happy enough with our location to set the navigation origin, *and* currently be able to get a location.

A user will receive slow-flashing blue lights if they can't currently get a location, or the navigation origin isn't set, even if they've got a "good" fix.

We also require a good location to get a solid green light - you will get a solid blue light if you can't get a location or don't have a navigation origin, even if you have a good GPS lock
2024-06-26 18:39:43 +10:00
Randy Mackay 3439ced236 AP_Mount: add Siyi ZT6 support 2024-06-26 18:37:42 +10:00
Peter Barker c55a5abcd9 AP_RCProtocol: remove redundant check for crsf telem on iomcu
the hwdef for the iomcu already removes crsf
2024-06-26 18:13:01 +10:00
bugobliterator 178cf7c2da AP_GPS: use 64 bit time in the pps interrupt callback in ublox driver 2024-06-26 17:51:31 +10:00
Andy Piper 651f4f15eb AP_RCTelemetry: use get_max_rpm_esc() 2024-06-26 17:36:54 +10:00
Andy Piper 451c1ae347 AP_OSD: use get_max_rpm_esc()
allow ESC index to be specified for OSD ESC info
2024-06-26 17:36:54 +10:00
Andy Piper 038735657a AP_ESC_Telem: add get_max_rpm_esc() 2024-06-26 17:36:54 +10:00
Andy Piper a86f4fdc8f AP_InertialSensor: move gyro and accel instance ids into AP_InertialSensor_Backend 2024-06-26 17:14:56 +10:00
Peter Barker 5911b87ae3 GCS_MAVLink: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 563c3e7c62 AP_NavEKF3: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 025888a7d1 AP_NavEKF2: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 8302e0d1e2 AP_Mount: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 8ddac54b17 AP_InertialSensor: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker 243e095b4e AP_DAL: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Peter Barker a325ddbfa9 AP_AHRS: rename ins get_primary_accel to get_first_usable_accel 2024-06-26 17:12:12 +10:00
Leonard Hall 7047e11090 AC_AttitudeControl: Change input_quaternion to use body frame rates 2024-06-26 11:22:54 +10:00
Peter Barker 580199dfba AP_Logger: disable HAL_LOGGING_BLOCK_ENABLED if not HAL_LOGGING_ENABLED
HAL_LOGGING_DATAFLASH_ENABLED is set unconditionally in some hwdefs, but we still need to honour HAL_LOGGING_ENABLED
2024-06-25 18:32:41 +10:00
Clyde McQueen 0e6543f0e4 AP_NavEKF3: sub update for yaw reset and inFlight checks
on sub, request final yaw reset after diving 0.5m.
Also update rangefinder tests for sub
2024-06-25 18:09:37 +10:00
Andrew Tridgell ed58758ce6 hwdef: don't use DEFAULTGPIO in bootloaders
setting up a DEFAULTGPIO pulldown in bootloaders is a bad idea as it
overrides any hardware pullups that have been put in place as part of
a "hold in bootloader" mechanism. See discussion in #27360 for ELRS

note that this only impacts one board that I can see, the
BlitzF745AIO, due to the MCU vs DEFAULTGPIO interaction
2024-06-25 12:05:40 +10:00
Peter Barker 9bb343938f AP_Scripting: correct use-after-free in script statistics
run_next_script can free the script if the script runs over-time.

... so stop using data from that freed script structure!
2024-06-25 11:07:07 +10:00
Peter Barker 7dd50cd036 hwdef: JHEMCU-H743HD correct for rename of W25 dataflash driver 2024-06-25 11:05:22 +10:00
Iampete1 cc99ebf872 AP_Scripting: allow logging lua boolean with uint8 format `B` 2024-06-25 11:01:10 +10:00
Andrew Tridgell 32750476be AP_Scripting: added more telemetry for INF Inject 2024-06-25 09:34:18 +10:00
Andrew Tridgell b108d9cf09 AP_Scripting: added throttle and ignition control for INF_INject
allows full control over serial
2024-06-25 09:34:18 +10:00
TsuyoshiKawamura b9bf7acbf1 AP_Scripting: add test samples of get_target_location/update_target_location for copter 2024-06-25 08:29:57 +09:00
Leonard Hall 5ab2aaffff AC_Autotune: Clean up Multi Variables and non functional changes 2024-06-24 19:11:41 +10:00
Peter Barker 87d694414b AP_Beacon: use enum class for type 2024-06-24 18:24:11 +10:00
bugobliterator 96682b1b1b AP_Networking: add timeout to swap the UDP Server client target 2024-06-21 20:31:31 +10:00
bugobliterator d07e8d16df AP_Networking: use IP4_STR_LEN instead of value 16 2024-06-21 20:31:31 +10:00
bugobliterator a82729589c AP_Networking: allow UDP Server to talk to different clients on the same run 2024-06-21 20:31:31 +10:00
bugobliterator bace8d4c85 AP_HAL: add methods that deal in ip address as uint32_t 2024-06-21 20:31:31 +10:00
bugobliterator 3c69f156f4 AP_HAL: make recv call to be undirected but also get the ip:port of received packet 2024-06-21 20:31:31 +10:00
bugobliterator 43615f22b7 AP_HAL: add AP_MAVLINK_PACKETISE_ENABLE option 2024-06-21 20:31:31 +10:00
MattKear e1a1d15f62 AP_Mount: Alexmos: Improve angle precision and move defines to cpp 2024-06-20 15:13:48 +10:00
muramura 80b1a07de3 AP_Baro: Group device headers 2024-06-20 15:13:01 +10:00
Peter Barker f07ac41c65 AP_Notify: rename Notify buzzertype enumeration 2024-06-20 14:47:20 +10:00
Peter Barker 6b490a4c47 AP_HAL_ChibiOS: rename Notify buzzertype enumeration 2024-06-20 14:47:20 +10:00
Peter Barker 56a7e520b6 AP_Gripper: correct emitting of grabbed/released messages
these strigs would only be released if release() or grab were called a second time
2024-06-20 10:59:14 +10:00
George Zogopoulos 5ca8c0058c AP_TECS: Small legibility improvements
AP_TECS: Fixed bad whitespace
2024-06-20 09:12:50 +10:00
George Zogopoulos 9a3f6ae9c7 AP_Math: Created CentiDegreesToRadians 2024-06-20 09:12:50 +10:00