Commit Graph

30666 Commits

Author SHA1 Message Date
Andrew Tridgell c597ccb566 HAL_SITL: use motor mask for noise checking for motors 2022-10-24 22:23:43 +09:00
Andrew Tridgell 01b0586958 AP_InertialSensor: use motor_mask from SITL for which outputs are motors
generate noise based on motor_mask
2022-10-24 22:23:43 +09:00
Andrew Tridgell 3db15e19b2 AP_Vehicle: removed num_dynamic_notches limit in dynamic harmonic
use INS_MAX_NOTCHES instead, allowing for more ESCs to be added by lua
scripts
2022-10-24 22:23:43 +09:00
Andrew Tridgell cbccda9ea1 Filter: allow for expansion of dynamic filters
this allows for the number of dynamic filters on a harmonic notch
filter to expand at runtime, which allows for ESC RPMs to be populated
from other than AP_Motors, such as with lua scripts or for fwd motors
in a SLT quadplane
2022-10-24 22:23:43 +09:00
Andrew Tridgell 99786bb2d7 SITL switched to motor_mask for which actuators are motors
this allows for any output to be an ESC, which allows for proper
simulation of quadplanes with ESCs on outputs 5-8 or 9-12, for testing
notch filtering
2022-10-24 22:23:43 +09:00
Andrew Tridgell 6f3d9d0e46 SITL: support playback of new GPS log format 2022-10-24 22:23:43 +09:00
Andrew Tridgell 6cab052b66 AP_GPS: fixed resolution of KSXT parsing for NMEA
needs to be double precision for lat/lon
2022-10-24 22:23:43 +09:00
Andrew Tridgell b0d0575906 AP_GPS: added logging to more serial GPS backends 2022-10-24 22:23:43 +09:00
Andrew Tridgell 12a273f376 AP_GPS: improve GPS debug logging
use timestamped data allowing for much more precise playback
2022-10-24 22:23:43 +09:00
Leonardo Garcia 2c6ccb3e05 AP_InertialSensor: Fix BMI085 accel scaling
Original BMI088 has 24G range so it was hardcoded for *scale* within
read_fifo_accel. Added a class variable accel_range which is assigned
the correct value when the sensor type is received (16.0 or 24.0).
2022-10-24 22:23:43 +09:00
Andrew Tridgell 19d444bb3a GCS_MAVLink: prevent segv in ftp
if the user disables ftp by changing BRD_OPTIONS after ftp has started
then we could dereference a nullptr
2022-10-24 22:23:43 +09:00
Andrew Tridgell 781fed2390 AP_Scripting: added rc:get_aux_cached() example 2022-10-24 22:23:43 +09:00
Andrew Tridgell 06b18183e0 AP_Scripting: added get_aux_cached() RC binding 2022-10-24 22:23:43 +09:00
Andrew Tridgell 3c8a46d2c5 RC_Channel: added cache of aux functions for scripting
allows for scripting to act on aux functions
2022-10-24 22:23:43 +09:00
Andrew Tridgell 30997a2b05 AP_Common: added setonoff() method for bitmask 2022-10-24 22:23:43 +09:00
Andrew Tridgell efd5c2a47e AP_Scripting: added relay get() binding 2022-10-24 22:23:43 +09:00
Andrew Tridgell 9366ae9c7e AP_Relay: added get() method for scripting 2022-10-24 22:23:43 +09:00
Andrew Tridgell 973bc41cfa HAL_ChibiOS: fixed build error with gcc 11.3 2022-10-24 22:23:43 +09:00
Andrew Tridgell ba6797da0f AP_Scripting: fixed use of clock and time in lua
not available on stm32
2022-10-24 22:23:43 +09:00
Andrew Tridgell bcccc6e191 GCS_MAVLINK: fixed warning in ftp build with gcc 11.3 2022-10-24 22:23:43 +09:00
Andrew Tridgell fdd1c71ab2 RC_Channel: add winch enable to option param docs for Copter 2022-10-14 17:13:21 +09:00
Iampete1 6571a95120 AP_Scripting: clear alocated i2c devices on scripting stop 2022-10-14 17:13:21 +09:00
Iampete1 207efe3b03 AP_Scripting: add maunal i2c binding allowing read of sequentual registers 2022-10-14 17:13:21 +09:00
Iampete1 a6b5febe3d AP_Scripting: allow maunal apobject bindings 2022-10-14 17:13:21 +09:00
Andrew Tridgell ecaa3fbcf7 AP_Vehicle: implement 1M/2M warnings
encourage users to run the right firmware for their boards
2022-10-14 17:13:21 +09:00
Andrew Tridgell a258a40681 hwdef: added warning messages about flash size 2022-10-14 17:13:21 +09:00
Andrew Tridgell d3e4cc59b0 HAL_ChibiOS: make check_limit_flash_1M() available in main firmware 2022-10-14 17:13:21 +09:00
Andrew Tridgell 18320b0469 AP_Airspeed: use DEVID to maintain lineup of CAN sensors
persist DEVID and use it to ensure that we keep the order of DroneCAN
sensors between boots. It still allows for a sensor to be swapped out
for a new one, while keeping slot of the one that hasn't been removed
2022-10-14 17:13:21 +09:00
davidsastresas 735083ebd8 AP_NMEA_Output.cpp: Fix conversion precision issue:
We were casting the location in integer 32 bits
to float, and making fabsf in float as well, so
we were losing precision translated in about 40 cm
minimum variation in position for the NMEA output.

Also, even if using double and fabsF, we were still
rounding up last 2 decimals, so now the logic is
done in degree * 10e7 to not loose precision and
then converted properly before building the string
2022-10-14 17:13:21 +09:00
Andrew Tridgell b06ec29d5c AP_ICEngine: report when engine goes into run state 2022-10-14 17:13:21 +09:00
Andrew Tridgell e072655649 AP_Vehicle: check for motors being nullptr
this can happen with plane with Q_ENABLE=0
2022-10-14 17:13:21 +09:00
Andrew Tridgell 6a0bd4c88e AP_BoardConfig: fixed BRD_SAFETY_MASK
this was being omitted on most boards since we changed to
SERVOn_FUNCTION=-1 method for GPIO
2022-10-14 17:13:21 +09:00
Andrew Tridgell 259dbe35dc AP_Param: fixed handling of long lines in defaults.parm
lines longer than 100 bytes were causing the parsing to stop
2022-10-14 17:13:21 +09:00
Kirill Shilov 18970613f9 hwdef: AIRLink: USART2 enabled in hwdef 2022-10-04 16:50:15 +09:00
Andy Piper a51a615588 AP_GyroFFT: correct ref_energy indexing that could lead to free memory read
Fix doc spelling mistakes
2022-10-04 16:50:15 +09:00
Andy Piper c93029edc4 AP_Logger: ensure that we don't read the same block more than once, dramatically increasing performance. 2022-10-04 16:50:15 +09:00
Andrew Tridgell 98d2775a72 hwdef: reduce flash usage to allow build 2022-10-04 16:50:15 +09:00
Andrew Tridgell a9a7e4f4d2 AP_Scripting: delay getting EFI backend
allow for AP_EFI startup after scripting
2022-10-04 16:50:15 +09:00
Andrew Tridgell cbd528cfaf AP_Scripting: changed bindings to ap_object 2022-10-04 16:50:15 +09:00
Andrew Tridgell 186e579036 AP_Scripting: convert HFE driver to get_backend 2022-10-04 16:50:15 +09:00
Andrew Tridgell 3b5561aa88 AP_RPM: added AP_RPM_config.h 2022-10-04 16:50:15 +09:00
Andrew Tridgell 079a3e66af AP_EFI: switched to AP_EFI_config.h 2022-10-04 16:50:15 +09:00
Andrew Tridgell d25e2b5ba2 AP_EFI: convert to using ap_object approach 2022-10-04 16:50:15 +09:00
Andrew Tridgell 55b87b1e78 AP_Scripting: added mag_heading example 2022-10-04 16:50:15 +09:00
Andrew Tridgell b0fe423d39 AP_Scripting: added EFI HFE driver 2022-10-04 16:50:15 +09:00
Andrew Tridgell c3dd582872 AP_Scripting: added EFI_HFE tester 2022-10-04 16:50:15 +09:00
Andrew Tridgell cdebefb77a AP_HAL: added id_signed for CANFrame
makes for more efficient lua processing
2022-10-04 16:50:15 +09:00
Andrew Tridgell eed54bfb13 AP_Scripting: update bindings for new fields 2022-10-04 16:50:15 +09:00
Andrew Tridgell 2dd1897388 AP_EFI: added more fields
fill in 3 remaining fields available in MAVLink
2022-10-04 16:50:15 +09:00
Andrew Tridgell 41d6e6a05d AP_Scripting: added EFI testing script 2022-10-04 16:50:15 +09:00
Andrew Tridgell 691a75989f AP_Scripting: added EFI_SkyPower driver 2022-10-04 16:50:15 +09:00
Andrew Tridgell e69043c77c AP_EFI: removed array from cylinder_status
this array was never used and just makes doing drivers harder. Removed
to reduce complexity
2022-10-04 16:50:15 +09:00
Joshua Henderson 15314b8ed6 AP_EFI: add EFI scripting driver 2022-10-04 16:50:15 +09:00
Andrew Tridgell 24962be00b AP_Scripting: update docs 2022-10-04 16:50:15 +09:00
Joshua Henderson b548e8bbde AP_Scripting: add scripting EFI bindings 2022-10-04 16:50:15 +09:00
Joshua Henderson 0feea8e8f8 AP_Vehicle: EFI increase loop rate to 50Hz 2022-10-04 16:50:15 +09:00
Andrew Tridgell 7cacb7972f AP_PiccoloCAN: fix for new param set 2022-10-04 16:50:15 +09:00
Reilly Callaway eaf41912ce AP_PiccoloCAN: SendECU throttle commands over CAN 2022-10-04 16:50:15 +09:00
Reilly Callaway c4699d0aba AP_EFI: Add Currawong ECU packet decoding 2022-10-04 16:50:15 +09:00
Reilly Callaway 47776cfa0a AP_EFI: Add ECU density parameter for Currawong fuel flow calculations 2022-10-04 16:50:15 +09:00
Reilly Callaway 5675109450 AP_EFI: Add Currawong ECU to known types 2022-10-04 16:50:15 +09:00
Reilly Callaway 3634d208e3 AP_PiccoloCAN: Add Currawong ECU message handling 2022-10-04 16:50:15 +09:00
Reilly Callaway a18781df65 AP_PiccoloCAN: Add Currawong ECU piccolo protocol 2022-10-04 16:50:15 +09:00
Reilly Callaway ee1af1b089 AP_EFI: Add currawong ECU EFI backend 2022-10-04 16:50:15 +09:00
Reilly Callaway e2874707cc AP_Math: Add kg/m^3 to g/cm^3 conversion define 2022-10-04 16:50:15 +09:00
Andrew Tridgell e30992d874 AP_UAVCAN: support sending pulses as PWM for DroneCAN actuators 2022-10-04 16:50:15 +09:00
Andy Piper 7f0fd504f7 Filter: optimize notch filter frequency updates when the requested frequency has not changed 2022-10-04 16:50:15 +09:00
yaapu e6b0947393 AP_MSP: move arming status to MSP telemetry base class 2022-10-04 16:50:15 +09:00
yaapu f7c74c2d73 AP_OSD: New per screen PARAMs for OSD overlay resolution and font
This adds
 OSDn_TXT_RES to select SD/HD overlay resoloution
 OSDn_FONT_INDEX for font index selection

Right now support is limited to MSP Displayport OSD devices
2022-10-04 16:50:15 +09:00
Randy Mackay 942fed8ac5 AP_Mount: remove set_mode overrides
The mode state is local to the driver and does not depend upon successful communication with the gimbal
2022-10-04 16:50:15 +09:00
yaapu d483799f2d AP_OSD: Fixed UART thread ownership for the MSP DisplayPort OSD Backend 2022-10-04 16:50:15 +09:00
Henry Wurzburg 709888aaf7 SRV_Channel: change sw and output names to match new MOUNT params 2022-10-04 16:50:15 +09:00
Henry Wurzburg 13d4c796f8 RC_Channel: change sw and output names to match new MOUNT params 2022-10-04 16:50:15 +09:00
Michael du Breuil 187c97e946 AP_Arming: Expose ARMING_OPTIONS to all vehicles 2022-10-04 16:50:15 +09:00
murata 4d7e819bac AP_InertialSensor: Allow gyro counts to be returned 2022-10-04 16:50:15 +09:00
Andy Piper 5ce02708cf AP_InertialSensor: make sure dynamic notches always get updates so that slew limiting is not too aggressive 2022-10-04 16:50:15 +09:00
Andy Piper 6eff3922db Filter: constrain harmonic notch center frequency changes to be within a slew limit
raise notch filter slew for smaller aircraft
ensure NotchFilter init() resets the center frequency
2022-10-04 16:50:15 +09:00
Andy Piper adaed75a0d AP_Vehicle: make sure notches are not spurious disabled when not using throttle notch 2022-10-04 16:50:15 +09:00
Yuri 48d3cdbfe6 AP_HAL_ChibiOS: define skyviper short board names 2022-10-04 16:50:15 +09:00
Yuri 803e8e9b37 GCS_MAVLink: increase short board names to 23 chars 2022-10-04 16:50:15 +09:00
Yuri a6bbb13731 AP_Radio: increase short board names to 23 chars 2022-10-04 16:50:15 +09:00
Yuri 56bec53e2c AP_Logger: increase short board names to 23 chars 2022-10-04 16:50:15 +09:00
Yuri a898cbbd5d AP_HAL_SITL: increase short board names to 23 chars 2022-10-04 16:50:15 +09:00
Yuri b0bc7591dd AP_HAL_Linux: increase short board names to 23 chars 2022-10-04 16:50:15 +09:00
Yuri 9312c571c6 AP_HAL_ESP32: increase short board names to 23 chars 2022-10-04 16:50:15 +09:00
Yuri e84eda5317 AP_HAL_ChibiOS: define CubeOrange-SimOnHardWare short board name 2022-10-04 16:50:15 +09:00
Yuri 9b6e670c82 AP_HAL_ChibiOS: increase short board names to 23 chars 2022-10-04 16:50:15 +09:00
Yuri 760af1fe37 AP_HAL: increase short board names to 23 chars 2022-10-04 16:50:15 +09:00
Peter Barker cd6b1b2667 AP_GPS: use default case for sending blob
This structure avoids a compiler warning that a statement isn't reachable when all backends are compiled out.
2022-10-04 16:50:15 +09:00
Peter Barker 945e342001 AP_GPS: no init blobs for SBF/GSOF/NOVA/SITL 2022-10-04 16:50:15 +09:00
Peter Barker 624a708c0d AP_GPS: cycle through baud rates for SBF/GSOF/NOVA/SITL 2022-10-04 16:50:15 +09:00
Iampete1 1d9fb68036 SRV_Channel: adjust trim, check all channels for range limit 2022-10-04 16:50:15 +09:00
Paul Riseborough cd3b7389ea AP_NavEKF3: Allow wind states to recover faster when airspeed sensor failed 2022-10-04 16:50:15 +09:00
Andrew Tridgell f367fe5a73 AP_Airspeed: allow EKF checking without wind max 2022-10-04 16:50:15 +09:00
Paul Riseborough a41a45a128 AP_Airspeed: Update documentation for used parameter index warnings 2022-10-04 16:50:15 +09:00
Andrew Tridgell db32d7c9bd AP_Logger: fixed missing doc field 2022-10-04 16:50:15 +09:00
Paul Riseborough f70ee99851 AP_Airspeed: remove unsupported parameter units descriptor 2022-10-04 16:50:15 +09:00
Paul Riseborough 642c8baee5 AP_Airspeed: Add tuning advice for ARSP_WIND_GATE 2022-10-04 16:50:15 +09:00
Paul Riseborough 810f0fb95b AP_Airspeed: Add hysteresis to consistency check 2022-10-04 16:50:15 +09:00
Paul Riseborough 2cc2bf2a71 AP_TECS: Assume flight at cruise speed if speed measurement not available 2022-10-04 16:50:15 +09:00
Paul Riseborough c6aeadd320 AP_Airspeed: Enable use of EKF3 to check airspeed health 2022-10-04 16:50:15 +09:00
Paul Riseborough e45d68d2e8 AP_Logger: Fix ARSP data type string 2022-10-04 16:50:15 +09:00
Paul Riseborough 05046c1400 AP_Logger: Add consistency test ratio to ASPD logging 2022-10-04 16:50:15 +09:00
Paul Riseborough 24cb640321 AP_AHRS: Add accessor function for airspeed health monitoring 2022-10-04 16:50:15 +09:00
Paul Riseborough 2edf166252 AP_NavEKF3: Allow reporting of airspeed consistency for a deselected sensor 2022-10-04 16:50:15 +09:00
Paul Riseborough 85c1c98a59 AP_NavEKF3: Add accessor function for airspeed health monitoring 2022-10-04 16:50:15 +09:00
Paul Riseborough 47189d2c73 AP_NavEKF3: Enable monitoring of unhealthy airspeed sensors
Innovations and innovation test ratios will still be calculated and reported for an unhealthy sensor, but the EKF states wnd covariance matrix will not be modified.
2022-10-04 16:50:15 +09:00
Andy Piper 6a60f1a421 AP_RPM: fix reporting of RPM from the harmonic notch 2022-10-04 16:50:15 +09:00
Andrew Tridgell 76c0825136 AP_Motors: added a SPIN_MIN check
and check SPIN_ARM <= SPIN_MIN
2022-10-04 16:50:15 +09:00
Andrew Tridgell fb28a26511 AP_BoardConfig: load CUAVv6X defaults when detected 2022-10-04 16:50:15 +09:00
Andrew Tridgell 394cdba297 AP_Param: make load_defaults_file() available on ChibiOS 2022-10-04 16:50:15 +09:00
Andrew Tridgell a036d14a1e hwdef: added CUAV_V6X default parameters 2022-10-04 16:50:15 +09:00
Andrew Tridgell 57c873d304 AP_CANManager: disable SLCAN when armed
this disables SLCAN if enabled using CAN_SLCAN_CPORT and
SERIALn_PROTOCOL=22 when we are armed, to reduce load on the CAN
thread from the very inefficient SLCAN processing
2022-10-04 16:50:15 +09:00
Andrew Tridgell 5c7a2b6369 hwdef: reduced memory usage on MatekF405-CAN board 2022-10-04 16:50:15 +09:00
Andy Piper 2c82fb5f38 AP_HAL_ChibiOS: make sure SkystarsH7HD has functioning VTX on Camera 1 by default 2022-10-04 16:50:15 +09:00
Andy Piper f345c21078 AP_HAL_ChibiOS: put RX on UART1 on Skystars H7HD bdshot
make sure VTX has power on Skystars H7HD at boot
2022-10-04 16:50:15 +09:00
Andy Piper 4be9377d54 AP_HAL_ChibiOS: hwdef for bdshot variant of SkystarsH7HD
Correct bootloader storage location for SkystarsH7HD
2022-10-04 16:50:15 +09:00
yaapu 191a44b471 ArduPlane: fixed roll and pitch for OSD VTOL view 2022-10-04 16:50:15 +09:00
Bob Long 43c06a1646 AP_Mission: initialize jump-tracking in init() 2022-10-04 16:50:15 +09:00
Peter Barker 57c6a93564 AP_Mission: zero frame field when filling mavlink_int from mavlink_cmd
Callers should be filling their bits in after calling this.
2022-10-04 16:50:15 +09:00
Andrew Tridgell 03c27c6626 AP_NavEKF3: fixed EKF3 origin alt inconsistency
always use common origin, and adjust output posD for difference
between public and local lane origin heights
2022-10-04 16:50:15 +09:00
Peter Barker 13b905cd00 AP_RPM: correct SITL backend compilation if RPM disabled in SITL 2022-10-04 16:50:15 +09:00
Andy Piper 709fc43032 AP_VideoTX: ensure that Tramp changes are broadcast to the GCS 2022-10-04 16:50:15 +09:00
Andy Piper c5d5b0aedb AP_VideoTX: fix potential buffer overrun bug 2022-10-04 16:50:15 +09:00
Andy Piper eaba8b7afb AP_VideoTX: add lookup tables for VTX power settings
correct settings when power set is received
add support for capturing all supported power levels
learn power levels in SmartAudio 2.1
add better support for VTX power levels
don't set power to 0 if in pitmode
add option for iNav compatibility
support non-conforming SmartAudio implementations
re-enable pitmode on SmartAudio 2.0
add support for "blind" VTX setting
2022-10-04 16:50:15 +09:00
Andrew Tridgell 59bfbbe6ae hwdef: rename board at request of vendor
there are multiple AtomRCF405 boards
2022-10-04 16:50:15 +09:00
Andrew Tridgell a7dd59fc75 SITL: fixed tailsitter airspeed in RF9 2022-09-13 14:20:02 +09:00
Andrew Tridgell e379aa359b AP_Scripting: added set_rpm_scale example 2022-09-13 14:20:02 +09:00
Andrew Tridgell 69b5ca8c07 AP_Scripting: added set_rpm_scale API 2022-09-13 14:20:02 +09:00
Andrew Tridgell 81c98e0038 AP_ESC_Telem: support set_rpm_scale() call for scripting 2022-09-13 14:20:02 +09:00
Iampete1 d066588c91 AC_Fence: always clear breaches 2022-09-12 08:57:42 +09:00
olliw42 64b1277a66 AP_Mount: storm integrates find_by_mavtype_and_compid
Note that this forces users to set their gimbal's component id while before any component id was acceptable
2022-09-12 08:44:38 +09:00
Randy Mackay 7c9b487779 AP_Mount: gremsy integrates find_by_mavtype_and_compid 2022-09-12 08:44:38 +09:00
olliw42 c034f8a099 GCS_MAVLink: add find_by_mavtype_and_compid 2022-09-12 08:44:38 +09:00
Iampete1 64d9413871 hwdef: Hitec-Airspeed: disable UART to save flash 2022-09-11 14:02:18 +10:00
Andrew Tridgell a0530a4816 hwdef: fixed FlyingmoonF427 servo rail voltage 2022-09-11 08:29:12 +10:00
Andrew Tridgell ee5fc4ad8e AP_Airspeed: use row_times_mat 2022-09-11 07:57:16 +10:00
Andrew Tridgell 0d7da89ef1 SITL: fixed rotation of airspeed in tailsitters in FlightAxis 2022-09-11 07:57:16 +10:00
Andrew Tridgell 5470c6435e AP_Math: rename * operator for vector3f * matrix3f 2022-09-11 07:57:16 +10:00
Michael du Breuil 5282dba42a GCS_MAVLink: Rate limit blocking accel calibrations
This allows us to drop any queued commands that may have arrived while
we were calibrating. Rather then entering a second and unexpected
calibration.
2022-09-09 08:52:14 +10:00
Andrew Tridgell dd89d68107 hwdef: added AtomRC F405 board 2022-09-09 07:14:51 +10:00
Iampete1 f3dc805978 AP_Motors: Block Spoolup: stop advance from ground idle 2022-09-07 17:03:03 +01:00
Andy Piper 2de992dcf1 AP_ESC_Telem: avoid FPE on macos
use floats for rpm in API calls
2022-09-07 17:03:03 +01:00
Randy Mackay ff91bbd762 AP_Motors: add spoolup block 2022-09-07 17:03:03 +01:00
Andy Piper b9280630f5 AP_ESC_Telem: add are_motors_running() based on rpm feedback
add spin armed rpm to SITL
use floats for rpm in API calls
implement is_telemetry_active()
simulate ESC telemetry in SITL
2022-09-07 17:03:03 +01:00
Andy Piper ab64480d2b SITL: add spin armed rpm 2022-09-07 17:03:03 +01:00
Iampete1 e72e5a2751 AP_Motors: add pre-arm check 2022-09-07 17:54:16 +10:00
Michael du Breuil ff94ef1c60 GCS_MAVLink: Check for mission space before sending items 2022-09-07 17:52:23 +10:00
Randy Mackay 152ef7f78f AP_Mission: do-gimbal-manager-pitchyaw command supports multiple gimbals 2022-09-07 16:09:07 +09:00
Randy Mackay f932add7ea AP_Mount: mav-cmd-do-gimbal-manager-pitchyaw supports multiple gimbals 2022-09-07 16:09:07 +09:00