Commit Graph

24855 Commits

Author SHA1 Message Date
Peter Barker
0f597e0919 RC_Channel: expose do_aux_function for button to call 2020-12-01 10:06:57 +11:00
Peter Barker
3264fd750b SRV_Channel: add k_min, m_trim and k_max to output min/trim/max values 2020-12-01 10:06:57 +11:00
Andrew Tridgell
862ae59e28 AP_GPS: support $PHD message for AllyStay NMEA GPS
this adds vertical velocity support
2020-12-01 09:04:43 +11:00
Peter Barker
035e798b23 AP_HAL_SITL: use a separate eeprom.bin for SITL build
This resolves a problem in autotest where the eeprom.bin gets wiped out
when we run Replay against a log as part of test.Copter.Replay
2020-11-30 18:50:24 +11:00
Tom Pittenger
d780e66cc4 AP_ADSB: remove deinit() 2020-11-30 16:05:17 +11:00
Tom Pittenger
e94697cb4c AP_ADSB: Allow for multiple backends in the future drivers 2020-11-30 16:05:17 +11:00
Tom Pittenger
20d21fe175 SITL/examples: remove ADSB param that is already default 2020-11-30 16:05:17 +11:00
Peter Barker
88895f9b13 GCS_MAVLink: stop using one backend's signing structure for all backends 2020-11-30 14:11:08 +11:00
Andrew Tridgell
8914bb45f8 AP_DAL: fix for uartI support 2020-11-30 14:09:31 +11:00
Andrew Tridgell
af0ee82ff1 AP_SerialManager: support uartI, allowing a total of 9 uarts
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Andrew Tridgell
a7a5879c0c AP_HAL_SITL: support uartI, allowing a total of 9 uarts
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Andrew Tridgell
78711e05b7 AP_HAL_Linux: support uartI, allowing a total of 9 uarts
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Andrew Tridgell
68fdf033ee AP_HAL: support uartI, allowing a total of 9 uarts
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Andrew Tridgell
217433ee16 AP_HAL_Empty: support uartI, allowing a total of 9 uarts
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Andrew Tridgell
4d171ec19a AP_HAL_ChibiOS: support uartI, allowing a total of 9 uarts
this allows for OTG2 on the MatekH743 board, which makes SLCAN much
easier
2020-11-30 14:09:31 +11:00
Peter Barker
52b8b95a72 AP_NavEKF3: rearrange readGPSData to remove some nesting 2020-11-30 11:51:12 +11:00
Phillip Kocmoud
c9182b39d5 hwdef: mRo Control Zero H7 OEM - update and improve uniformity 2020-11-30 08:48:36 +11:00
Phillip Kocmoud
b55920165a hwdef: mRo Pixracer Pro - update and improve uniformity 2020-11-30 08:48:36 +11:00
Peter Barker
72acc8bfc8 AP_InertialSensor: use primary gyro (not accel) for get_delta_angle_dt 2020-11-29 13:21:53 +11:00
Phillip Kocmoud
a379bb8fc5 hwdef: mRo Control Zero F7 update and improve uniformity 2020-11-28 20:28:22 +11:00
Andrew Tridgell
a587195912 HAL_ChibiOS: change f303-MatekGPS to 5Hz by default 2020-11-27 19:41:33 +11:00
Randy Mackay
4cd1c3cfde AP_NavEKF3: param conversion loses config_error
config_error should only be run as part of setup because it may never return
2020-11-27 08:20:07 +09:00
Andrew Tridgell
8c959c4e13 AP_BoardConfig: added an EXPECT_DELAY_MS to config_error
this prevents a config_error called after setup() has complete from
causing a watchdog. That is a bit more friendly
2020-11-26 17:06:13 +09:00
Hwurzburg
7a82898e92 AP_GPS: expand gps rate description 2020-11-26 18:25:29 +11:00
Kawamura
cef0c87c4c AP_Scripting: fix method name for ahrs-source.lua 2020-11-25 21:07:19 +09:00
Hwurzburg
f37d8e5865 RC_Channel: add inflight airspeed cal rc switch 2020-11-25 21:30:15 +11:00
Hwurzburg
615b8add8c AP_Airspeed: add inflight airspeed cal rc switch 2020-11-25 21:30:15 +11:00
Randy Mackay
8c2688605e AP_AHRS: active_EKF_type fallback to DCM checks if GPS configured for use 2020-11-25 21:00:07 +11:00
Randy Mackay
adfc92523b AP_NavEKF3: add configuredToUseGPSForPosXY 2020-11-25 21:00:07 +11:00
Randy Mackay
4087d7b792 AP_NavEKF2: add configuredToUseGPSForPosXY 2020-11-25 21:00:07 +11:00
Andy Piper
a6436851b4 AP_Logger: account for expected delays and boot time delays in block logger. 2020-11-25 18:17:34 +11:00
Peter Barker
fdbffd19c6 AP_NavEKF_Source: remove defaults for baro and compass
This makes all our defaults "NONE", meaning that a user will not see a
prearm failure for any source other than those in the primary set when
using the default configuration.
2020-11-25 15:19:00 +11:00
Peter Barker
8124c3fea8 AP_NavEKF_Source: set compass_required if we require a compass 2020-11-25 15:19:00 +11:00
Tom Pittenger
67405cedb2 AP_HAL_ChibiOS: add AP_BattMonitor support to CubeBlack&Orange-periph 2020-11-25 14:20:53 +11:00
Tom Pittenger
87813b9401 AP_Generator: AP_Periph should not include Generator by default 2020-11-25 14:20:53 +11:00
Tom Pittenger
171a10e117 AP_BattMonitor: Add support for multiple UAVCAN batteries from a single node 2020-11-25 14:20:53 +11:00
Tom Pittenger
48e2b78cab AP_BattMonitor: fix compile for AP_Periph 2020-11-25 14:20:53 +11:00
Tom Pittenger
089f3aa349 AP_HAL: allow hwdef to define HAL_SUPPORT_RCOUT_SERIAL - must be disabled for AP_Periph 2020-11-25 14:20:53 +11:00
Andy Piper
a592d76866 AP_Scripting: fix compile on clang 10 2020-11-25 09:28:06 +11:00
Andrew Tridgell
7eea13f86f AP_NavEKF3: fixed build of standalone replay link test
parameter conversion not needed for replay
2020-11-24 20:46:37 +11:00
Hwurzburg
ae8fe818c8 RC_Channel: move RETRACT_MOUNT option to common for all vehicles 2020-11-24 20:22:02 +11:00
Peter Barker
42d9727f49 AP_Logger: correct documentation on ARSP message 2020-11-24 15:33:37 +11:00
Gone4Dirt
5edae526fd AP_Math: Add conversion Ams to mAh 2020-11-24 12:54:52 +11:00
Peter Barker
c52298352a AP_HAL_SITL: add simulator for IntelligentEnergy 2.4kWh 2020-11-24 12:54:52 +11:00
Peter Barker
f7b2856af0 SITL: add simulator for IntelligentEnergy 2.4kWh
SITL: Added setup note to comment

SITL: IE24: Add Error param and cycle battery pwr
2020-11-24 12:54:52 +11:00
Gone4Dirt
a2d2e85ba1 AP_Logger: Reinstate Watt unit 2020-11-24 12:54:52 +11:00
Gone4Dirt
d25f9d5d3a AP_Vehicle: Move AP_Generator to all vehicles 2020-11-24 12:54:52 +11:00
Gone4Dirt
2dc684622e AP_Arming: Add support for AP_Generator frontend 2020-11-24 12:54:52 +11:00
Gone4Dirt
66285b65ce RC_Channel: Add support for AP_Generator frontend 2020-11-24 12:54:52 +11:00
Gone4Dirt
caf1ad28d5 GCS_Common: AP_Generator_Richenpower is now AP_Generator 2020-11-24 12:54:52 +11:00
Gone4Dirt
836717c0af AP_BattMonitor: Add support for AP_Generator frontend-backend 2020-11-24 12:54:52 +11:00
Gone4Dirt
8cfe4fc9f7 AP_Generator: Split into frontend-backend and add IE fuel cells 2020-11-24 12:54:52 +11:00
Gone4Dirt
6c136862b8 AP_DAL: Add stdio include 2020-11-24 12:54:52 +11:00
Gone4Dirt
9d90d16c2b AP_ADSB: Access snprintf from hal 2020-11-24 12:54:52 +11:00
斯东Stone
4990048efb HAL_ChibiOS: Correct a typo and Update product link url for PH4-mini 2020-11-24 12:48:11 +11:00
Peter Barker
786fd8a2f8 AP_Logger: add and use instance number to ARSP message 2020-11-24 12:19:45 +11:00
Peter Barker
8647dda8a9 AP_Airspeed: add and use instance number to ARSP message 2020-11-24 12:19:45 +11:00
Andy Piper
c291107f50 Filter: correct grammar on HNTCH docs 2020-11-24 10:17:16 +09:00
Andy Piper
726307cb31 Filter: correct harmonic notch docs and provide better defaults. 2020-11-24 10:17:16 +09:00
Peter Barker
3baaa84de1 AP_OSD: remove duplicate parameter definition 2020-11-24 12:15:15 +11:00
Randy Mackay
6c3948f417 AP_NavEKF_Source: optimise configured_in_storage
This small CPU optimisation takes advantage of the fact that once configured in storage is true it will always remain true
2020-11-24 12:10:27 +11:00
Andrew Tridgell
bce4fd43a3 SITL: fixed GPS POS parameters
SIM_GPS2_POS1_* makes no sense
2020-11-24 12:01:04 +11:00
Andrew Tridgell
05194ed8b6 AP_GPS: don't accept infinite accuracies for blending
these result in NaN values for velocities
2020-11-24 12:00:41 +11:00
Andrew Tridgell
83c479bcc2 AP_GPS: prevent UAVCAN GPS from giving infinite accuracy values
this can happen due to the complex encodings of accuracies in UAVCAN
2020-11-24 12:00:41 +11:00
Andrew Tridgell
a762926526 AP_GPS: fixed constrained NaN in EKF3 caused by bad GPS blending
if the accuracies reported are very low then we can do a division by
zero and this results in a constraining NaN for GPS vertical velocity
filter in NavEKF3_core::calcGpsGoodToAlign
2020-11-24 12:00:41 +11:00
Peter Barker
f0c22244a5 GCS_MAVLink: correct response codes when mode change fails
Was "UNSUPPORTED", which is supposed to mean, "Command is not supported"

Now is either "DENIED" (Command is invalid (is supported but has invalid
parameters)) or "FAILED" (Command is valid, but execution has failed.)

We should probably returned DENIED if we try to change to a mode which
doesn't exist, but that would require another callback on AP_Vehicle.
It would also lead to questions around what a valid mode is - so
QSTABILIZE if quadplane is disabled in Plane, for example.
2020-11-24 10:09:37 +11:00
Peter Barker
200b085eea AP_NavEKF3: move XKY0 and XKY1 to be normal log structures (from Log_Write) 2020-11-22 20:47:29 +11:00
Peter Barker
e1a033b296 AP_NavEKF3: make logging a core concern
Also dissolve some methods only used for logging
2020-11-22 20:47:29 +11:00
Peter Barker
914629351f AP_NavEKF3: use scalar rather than array for state-prediction-allowed
EKF2 needs this for choosing alternate cores.  EKF3 does not.
2020-11-22 14:09:48 +11:00
QioTek
e4f4868d9b HAL_ChibiOS: add QMC5883L on QioTekZealotF427
add QMC5883L on QioTekZealotF427
2020-11-22 06:10:34 +11:00
Jacob Walser
35c2d13e2f HAL_Linux_Class: specify per board external clock frequency for RCOutput_PCA9685 drivers 2020-11-21 00:25:19 -08:00
Jacob Walser
e64d9816ce RCOutput_PCA9685: allow different external clock frequencies
The PCA9685 may use an external clock 0~50MHz
Specify the external clock frequency in constructor arguments for each board HAL
2020-11-21 00:25:19 -08:00
Paul Riseborough
8561f5239d AP_NavEKF3: Fix bug preventing yaw alignment to EKF-GSF estimate 2020-11-21 12:56:10 +11:00
Andrew Tridgell
fe81387433 AP_NavEKF: allow init twice
this can happen if setup_core() fails with low mem and is called again
2020-11-20 21:56:32 +11:00
Andrew Tridgell
1e4b1d7563 AP_NavEKF3: convert to using common buffer classes
this saves a considerable amount of flash
2020-11-20 21:56:32 +11:00
Andrew Tridgell
39ba8a8c83 AP_NavEKF2: convert to using common buffer classes
this saves a considerable amount of flash
2020-11-20 21:56:32 +11:00
Andrew Tridgell
e4a9497942 AP_NavEKF: added common EKF buffer classes 2020-11-20 21:56:32 +11:00
Randy Mackay
d1983b0b77 AP_NavEKF3: fixup source param conversion
shorten param conversion config error
if gps and optical flow are enabled we default SRC2_VELXY to optflow
convert_params run from InitialiseFilter
ensure param conversion only run once
2020-11-20 16:43:44 +09:00
Randy Mackay
0119c48e1e AP_NavEKF_Source: add mark_configured_in_storage 2020-11-20 16:43:44 +09:00
Randy Mackay
50b2cf136f AP_NavEKF_Source: default OPTIONS to 1 (fuse all velocities) 2020-11-20 16:43:44 +09:00
Randy Mackay
04e3623620 AP_NavEKF3: improve MAG_CAL vs EK3_SRCn_YAW checks
MAG_CAL param description include deprecated values
Pre-arm check of MAG_CAL using deprecated values
effective_magCal interprets 5 (was EXTERNAL_YAW) as Never, 6 (was EXTERNAL_YAW_FALLBACK) as WhenFlying
Update comments in param conversion from MAG_CAL to EK3_SRC1_YAW
2020-11-20 16:43:44 +09:00
Andrew Tridgell
36c946113d AP_NavEKF3: handle compass fallback in yaw source reset
if we get to this point we must be using the compass fallback logic,
and should do the reset
2020-11-20 16:43:44 +09:00
Randy Mackay
bf5c74dbdb AP_Scripting: ahrs-source example script
switches automatically between gps, external nav and optical flow
2020-11-20 16:43:44 +09:00
Randy Mackay
2b9fb79d72 AP_Scripting: add bindings for set_posvelyaw_source and get_vel_innovations 2020-11-20 16:43:44 +09:00
Randy Mackay
9dbfb99cc3 AP_VisualOdom: add align_position_to_ahrs 2020-11-20 16:43:44 +09:00
Randy Mackay
04655d9698 RC_Channel: add aux switch to change the EKF's sensor sources 2020-11-20 16:43:44 +09:00
Randy Mackay
4b542aa714 AP_AHRS: add get_vel_innovations_and_variances_for_source 2020-11-20 16:43:44 +09:00
Randy Mackay
dc5d1d099b AP_AHRS: add set_posvelyaw_source_set 2020-11-20 16:43:44 +09:00
Randy Mackay
8895d20c45 AP_NavEKF3: rename setPosVelYawSourceSet 2020-11-20 16:43:44 +09:00
Randy Mackay
5eb3875ebb AP_NavEKF3: rename posxy_source_last and posxy_source_reset 2020-11-20 16:43:44 +09:00
Randy Mackay
f88364d653 AP_NavEKF3: use_compass minor order fixup 2020-11-20 16:43:44 +09:00
Randy Mackay
b475f01b25 AP_NavEKF3: update comments 2020-11-20 16:43:44 +09:00
Randy Mackay
0f8d0ef11b AP_NavEKF3: move sources to 2nd bank of parameters 2020-11-20 16:43:44 +09:00
Randy Mackay
33b6212cce AP_NavEKF3: rename _sources to sources 2020-11-20 16:43:44 +09:00
Randy Mackay
9716b09cad AP_NavEKF3: minor indenting fix 2020-11-20 16:43:44 +09:00
Randy Mackay
6daaa06317 AP_NavEKF3: integrate AP_NavEKF_Source::useVelXYSource
also integrate useVelZSource
2020-11-20 16:43:44 +09:00
Andrew Tridgell
72ee7d15e1 AP_NavEKF3: fixup for AP_DAL 2020-11-20 16:43:44 +09:00
Randy Mackay
73835f0c11 AP_NavEKF3: pre_arm_check includes sources 2020-11-20 16:43:44 +09:00
Randy Mackay
6c0bb6a198 AP_NavEKF3: add convert_params for source 2020-11-20 16:43:44 +09:00
Randy Mackay
849e94cc24 AP_NavEKF3: call sources align inactive sources 2020-11-20 16:43:44 +09:00
Randy Mackay
ba9f60abc7 AP_NavEKF3: add getVelInnovationsAndVariancesForSource 2020-11-20 16:43:44 +09:00
Randy Mackay
58aa6086df AP_NavEKF3: always calculate GPS innovations and variances 2020-11-20 16:43:44 +09:00
Randy Mackay
e7e91b1c3b AP_NavEKF3: always calculate extNav innovations and variances 2020-11-20 16:43:44 +09:00
Randy Mackay
6b2b5c4ca0 AP_NavEKF3: add CalculateVelInnovationsAndVariances 2020-11-20 16:43:44 +09:00
Randy Mackay
2505fd5c1c AP_NavEKF3: body and wheel odometry check source 2020-11-20 16:43:44 +09:00
Randy Mackay
1263648d88 AP_NavEKF3: beacon fusion checks source 2020-11-20 16:43:44 +09:00
Randy Mackay
8a56ce49be AP_NavEKF3: optical flow fusion checks source 2020-11-20 16:43:44 +09:00
Randy Mackay
4cadaa5194 AP_NavEKF3: readyToUseOptFlow, Beacon, ExtNav check source 2020-11-20 16:43:44 +09:00
Randy Mackay
faed58a027 AP_NavEKF3: integrate Source for yaw 2020-11-20 16:43:44 +09:00
Randy Mackay
8931e50166 AP_NavEKF3: integrate Source for alt 2020-11-20 16:43:44 +09:00
Randy Mackay
c21d58ebea AP_NavEKF3: integrate Source for position 2020-11-20 16:43:44 +09:00
Randy Mackay
9b84abecaa AP_NavEKF_Source: enables dynamically changing sensor sources 2020-11-20 16:43:44 +09:00
Andrew Tridgell
9e5e49cd13 AP_DAL: added methods to support EKF sources selection 2020-11-20 16:43:44 +09:00
Peter Barker
d50e4d03f4 AP_Logger: remove time_us parameter to several sensor logging methods
These were used by the old Replay code to try to provide a frame of
sensor data by correlating the timestamps.  That Replay code has been
removed.
2020-11-20 16:59:09 +11:00
Peter Barker
e257dd9fee AP_GPS: correct logging for GPS blending 2020-11-20 09:45:57 +11:00
Dr.-Ing. Amilcar do Carmo Lucas
58f0c34612 AP_GPS: fix dataflash logging of blended GPS instance 2020-11-20 09:45:57 +11:00
Peter Barker
a12c2a6b87 AP_Logger: use instance numbers for logging GPS data 2020-11-20 09:45:57 +11:00
Rishabh
f57082a2e0 AR_WPNav: Add note to WP_PIVOT_ANGLE 2020-11-19 16:46:27 +09:00
Peter Barker
58c23e618e AP_Logger: remove unused IMUDT code
Unused since we've moved to new Replay code
2020-11-19 08:31:49 +11:00
Rishabh
c1d67705ce AP_Proximity: Remove Morse backend 2020-11-18 20:23:45 +11:00
Iampete1
681f45c4e0 AP_MotorsMulticopter: make thrust to actuator public 2020-11-18 19:33:21 +11:00
giacomo892
470c00b6b2 AP_Arming: Fix compilation with OSD_PARAM_ENABLED not defined 2020-11-18 18:56:09 +11:00
Marek Łukasiewicz
64f208cbec HAL_ChibiOS: Add af_parse for CubeMX pinout csv 2020-11-18 18:39:07 +11:00
Phillip Kocmoud
701ab83f01 HAL_ChibiOS: Added support for mRo ControlZero OEM H7 flight controller 2020-11-18 18:28:24 +11:00
Andrew Tridgell
408f8b3940 HAL_ChibiOS: added check for overwrite of nullptr on H7
the STM32H7 has 64k of ITCM memory at address zero. We allow
allocation of everything except the first 1024 bytes. This checks for
those reserved bytes being overwritte, which would indicate a write to
nullptr
2020-11-18 17:14:43 +11:00
Andrew Tridgell
8f682c0782 HAL_ChibiOS: check all memory at 10Hz 2020-11-18 17:14:43 +11:00
Andrew Tridgell
95a823a702 HAL_ChibiOS: added link list of all memory allocations
check all allocations for corruption on free() and malloc_check()
2020-11-18 17:14:43 +11:00
Andrew Tridgell
9a026b8068 HAL_SITL: fixed warning building with gcc 9.x 2020-11-18 17:14:43 +11:00
Andrew Tridgell
3f775205e6 HAL_ChibiOS: fixed use of chHeapFree
should be free
2020-11-18 17:14:43 +11:00
Andrew Tridgell
ce3e1a69ec HAL_ChibiOS: added memory guard system 2020-11-18 17:14:43 +11:00
Andrew Tridgell
cc61e05d90 AP_InternalError: added mem_guard internal error 2020-11-18 17:14:43 +11:00
vierfuffzig
e830494f0f AP_OSD_Screen: move vspeed decimal switch to 10 m/s 2020-11-18 09:27:54 +11:00
Andrew Tridgell
6bf7f9e864 AP_Logger: use load_file()
save a bit of flash
2020-11-18 09:11:36 +11:00
Andrew Tridgell
3a0e494085 AP_OSD: fallback to font 0 on load failure
this will allow us to reduce the number of fonts we include as
standard without breaking existing setups
2020-11-18 09:11:36 +11:00
Andrew Tridgell
a2d86eac6d AP_OSD: allow for loading fonts from sdcard
user can put fontN.bin on their sdcard and it will replace the font in
romfs. This makes for easy font development, and allows for multiple
languages

This replaces #15668
2020-11-18 09:11:36 +11:00
Andrew Tridgell
773517a473 AP_Filesystem: added load_file() API
this makes it very easy to load a small file from sdcard or ROMFS
2020-11-18 09:11:36 +11:00
Huibean
cf2b89c4f1 AP_HAL_ChibiOS:add mazzy star drone hwdef 2020-11-17 17:57:07 +11:00
Andrew Tridgell
079e11275a AP_Filesystem: allow for replay on any file in local filesystem 2020-11-17 13:45:07 +11:00
Andrew Tridgell
4c606a30bb AP_NavEKF3: use common structure names 2020-11-17 13:45:07 +11:00
Andrew Tridgell
3a4095fc7f AP_NavEKF2: use common structure names 2020-11-17 13:45:07 +11:00
Andrew Tridgell
636fe783f4 AP_DAL: use common events and structures for EKF2 and EKF3
this facilitates --force-ekf2 and --force-ekf3
2020-11-17 13:45:07 +11:00
Andrew Tridgell
08291a15fb HAL_SITL: avoid sitl command line processing for replay
avoids need for -- arguments for replay
2020-11-17 13:45:07 +11:00
Andrew Tridgell
019544ceb1 AP_Logger: allow for replay with both EKF enabled
even when one is disabled in the original log
2020-11-17 13:45:07 +11:00
murata
bbc673c668 AP_RangeFinder: Change rangefinder number 10 to A 2020-11-17 11:46:25 +11:00
Hwurzburg
6eca18c08b GCS_MAVLink: add Board option to disable MAVftp in low mem bds/apps 2020-11-17 10:41:59 +11:00
Hwurzburg
6fe5ed36ce AP_BoardConfig: add Board option to disable MAVftp in low mem bds/apps 2020-11-17 10:41:59 +11:00
Andrew Tridgell
9c74474196 GCS_MAVLink: setup baudrates for passthru serial ports 2020-11-17 10:26:14 +11:00
Andrew Tridgell
d0db3eef58 AP_SerialManager: added baudrates to get_passthru() 2020-11-17 10:26:14 +11:00
Michael du Breuil
53cbd86cbe AP_Scripting: Fix the lua scheduling rate to be referenced from the
start of the update

This allows specifying a return value like "return update, 10" to run
at a near perfect 100Hz, where as before it would be run 10 ms after the
script had completed it's loop, which can be highly variable as the
script experiences interupts from the system, as well as needing the
script author to take responsibility for calculating the desired update
rate at the end. This was always intended to be fixed, but I pushed it
back during the initial development, however people are begining to run
scripts that have enough processing, or are rate sensitive enough that
we are now needing to start correcting this, or scripts will have to do
their best to guess the time, which will be inferior to us providing it.

As a note if you exceeded the time expected we will be rescheduling the
script immediately, thus it will have a schedule time in the past and
will be slotted in. This can't indefinetly starve other scripts as they
will still be slotted in, but if you request an update in 1 ms, but took
100ms to run we will simply slide you back into the queue 1ms after when
you started running.
2020-11-17 10:19:13 +11:00
Andrew Tridgell
5385f25868 AP_RSSI: handle init ordering with MSP
this fixes a nullptr dereference on startup when MSP asks for RSSI
data before the RSSI library is initialised

Fixes #15824
2020-11-17 10:01:54 +11:00
Paul Riseborough
248ef92ed7 AP_NavEKF2: Add velocity innovation check to use of EKF-GSF yaw
Only apply to non fly forward vehicle, eg copters, because magnitude of velocity innovation produced by plane launches is TBD.
2020-11-16 16:01:13 +11:00
Paul Riseborough
aaf558f593 AP_NavEKF3: Add velocity innovation check to use of EKF-GSF yaw
Only apply to non fly forward vehicle, eg copters, because magnitude of velocity innovation produced by plane launches is TBD.
2020-11-16 16:01:13 +11:00
Paul Riseborough
78e10e99f5 AP_NavEKF: Add accessor for yaw estimator velocity innovation length 2020-11-16 16:01:13 +11:00
Paul Riseborough
db86a5acc8 AP_NavEKF3: Don't update yaw estimator with bad GPS 2020-11-16 16:01:13 +11:00
Paul Riseborough
e5e8d0ba3c AP_NavEKF2: Don't update yaw estimator with bad GPS 2020-11-16 16:01:13 +11:00
Andrew Tridgell
5686dafeef AP_NavEKF3: fixed logged core for GSF messages 2020-11-16 10:28:43 +11:00
Andrew Tridgell
a2f4b16cdc AP_NavEKF2: fixed logged core for GSF messages 2020-11-16 10:28:43 +11:00
Andrew Tridgell
04f60001ff AP_Logger: allow WriteV() to work within Replay
save formats for lookup by WriteV
2020-11-16 10:28:43 +11:00
Andrew Tridgell
03f2e853ce AP_NavEKF3: fixed memory corruption on push before init
this fixes a bug that happens with VISION_SPEED_ESTIMATE from a
companion computer, which may come in before the EKF buffers are
allocated. That causes a push to an uninitialised ringbuffer which
triggers memory corruption

found using the new memory guard system
2020-11-15 15:42:48 +11:00
Andrew Tridgell
01cd678244 AP_NavEKF2: fixed memory corruption on push before init
this fixes a bug that happens with VISION_SPEED_ESTIMATE from a
companion computer, which may come in before the EKF buffers are
allocated. That causes a push to an uninitialised ringbuffer which
triggers memory corruption

found using the new memory guard system
2020-11-15 15:42:48 +11:00
yaapu
026ddfa679 AP_OSD: fix for sim_vehcile --osdmsp 2020-11-15 15:01:13 +11:00
Peter Barker
32ba55e756 AP_DAL: move structure used for location references into cpp
Outside we get a copy per compilation unit.
2020-11-14 14:19:40 +11:00
Peter Barker
8c2c6141f7 AP_DAL: remove unused antenna_offset state 2020-11-14 10:33:38 +11:00
Tom Pittenger
3cf537deed AP_BoardConfig: reorder the fixed-index enum 2020-11-14 08:38:24 +11:00
Tom Pittenger
e0e3c23a87 AP_HAL_ChibiOS/hwdef: fix misprint in comment 2020-11-14 08:00:40 +11:00
Michael du Breuil
58ee8f62e2 AP_HAL_SITL: Support SFML joystick input 2020-11-13 15:38:22 +11:00
Michael du Breuil
892fb74c96 SITL: Add parameters for SFML_Joystick 2020-11-13 15:38:22 +11:00
Andrew Tridgell
c8e604a730 AP_Scripting: fixed gcc 9.x build 2020-11-13 14:30:11 +11:00
Andrew Tridgell
c14d19be68 AP_NavEKF3: fixed gcc 9.3 build error
gcc 9.3 doesn't like the use of get_accel(i) when array length is 1
2020-11-13 14:30:11 +11:00
Andrew Tridgell
7099bb6096 AP_NavEKF2: fixed gcc 9.3 build error
gcc 9.3 doesn't like the use of get_accel(i) when array length is 1
2020-11-13 14:30:11 +11:00
Andrew Tridgell
19c42ca0ed AP_RCTelemetry: fixed build for gcc 9.x 2020-11-13 14:30:11 +11:00
Andrew Tridgell
c1dded0483 AP_DAL: fixed distance in rangefinder data
thanks to Paul for noticing
2020-11-13 11:45:42 +11:00
Andrew Tridgell
8c59575646 AP_OSD: support callsign display on OSD
use a file "callsign.txt" on the sdcard for callsign
2020-11-12 14:22:44 -08:00
Andrew Tridgell
c423bcca65 AP_OLC: fixed build of OSD on SITL
failed to link with constexpr, simple fix is to use defines, which
also scopes it inside the cpp
2020-11-12 14:22:44 -08:00
Peter Barker
a9a2c8c392 AP_HAL_SITL: only disown a sempahore once we're done with it 2020-11-12 21:19:55 +11:00
Peter Barker
545a086865 SITL: make ToshibaLED an 8-bit register device 2020-11-12 21:19:55 +11:00
Peter Barker
e21e55ba51 SITL: add I2CRegister::8Bit for 8-bit-quantity devices 2020-11-12 21:19:55 +11:00
Huibean
a00243dc5a SITL: fix copter sitl build on macos 2020-11-12 20:39:51 +11:00
Andrew Tridgell
3f4c605361 AP_Beacon: added const 2020-11-11 16:14:22 -08:00
Marek Łukasiewicz
8813057b4c AP_HAL_ChibiOS: Tweak sorting to be py2/py3 compatible 2020-11-12 10:27:31 +11:00
bugobliterator
bf4f482f5e AP_FileSystem: do listing for SYS without slash as well 2020-11-12 08:42:44 +11:00
Andrew Tridgell
02e9519ab0 AP_Filesystem: fixed stat call for @SYS files 2020-11-12 08:42:44 +11:00
Peter Barker
c787231435 AC_Fence: remove timeout for waiting on fence semaphore, make nonblocking
Also move where we indicate we've attempted a load.
2020-11-11 18:46:22 +09:00
bugobliterator
d0cf3365ee AP_HAL_Linux: handle uninitialised soCAN file descriptor 2020-11-11 19:52:37 +11:00
bugobliterator
eea6b4c9b9 AP_HAL_SITL: handle uninitialised file descriptor 2020-11-11 19:52:37 +11:00
Peter Barker
48385b82dc AP_Logger: use instance number for Mag logging 2020-11-11 19:31:53 +11:00
Peter Barker
12f0e9dd43 AP_Logger: use instance number for Baro logging 2020-11-11 19:31:53 +11:00
Peter Barker
2437cf8a24 AP_Logger: use instance number for IMU logging 2020-11-11 19:31:53 +11:00
Peter Barker
d436e5b5d1 SITL: add simulator for Rotoye battery monitor
Also correct temperature from generic battery simulator
2020-11-11 19:27:21 +11:00
Lucas De Marchi
4be9b4171b AP_RangeFinder: TFMiniPlus: respect max configured via param
Do like other drivers do and cap the maximum reported value with what is
configured in the parameter.
2020-11-11 19:23:41 +11:00
Lucas De Marchi
0e63a833e9 AP_RangeFinder: TFMiniPlus: fix out-of-range returned a no-data
Other drivers consider that they received data even if the value is
reported as "out of range" by sensor. On the I2C driver for TFMiniPlus
we considered this case, too. However when the signal strength is very
low (and thus the distance would likely be out of range), we would end up
ignoring the new sample. With enough samples without any value this
would lead the status to turn to "NoData".
2020-11-11 19:23:41 +11:00
Iampete1
36eb605de5 AP_Arming: fix aux auth arming check 2020-11-11 18:24:55 +11:00
Peter Hall
d6a1af4690 AP_Scripting: example: arming auth: removed unused millis call
now is fetched but never used
2020-11-11 18:24:55 +11:00
Peter Barker
41943f5fda GCS_MAVLink: correct use of uninitialised value in Rally upload 2020-11-11 18:22:58 +11:00
Andrew Tridgell
0db8745320 AP_Filesystem: fixed flushing with posix compat layer
this ensures the directory entry in the FAT is updated on fflush()

Fixes #14617
2020-11-11 18:19:44 +11:00
Andy Piper
bd6b28e5d9 AP_Camera: if the RunCam supports both 2-key and 5-key control, use 2-key
adjust camera menus for Split4 4k
use power button to start/stop recording on Split4
2020-11-11 18:14:41 +11:00
Andy Piper
8cd9af5ddd AP_OSD: refactor to enable a TX-only set of parameter screens
add accessor for getting parameter names
add camel-case conversion for parameters names
enable OSD parameters unless HAL_MINIMIZE_FEATURES
correct OSD parameter documentation
don't default to TXONLY
2020-11-11 18:13:11 +11:00
Andy Piper
4d1c660ebc GCS_MAVLink: enable OSD parameters on parameter enablement 2020-11-11 18:13:11 +11:00
Andy Piper
06feecfaf2 AP_RCTelemetry: support CRSF parameter ping requests
process read and write parameter request frames
add support for getting OSD parameters on read requests
send text selections over CRSF
chunker algorithm for CRSF text selections
disable functions if OSD_PARAM_ENABLED is not set
create separate parameter scheduler entry
don't enable CRSF text selection on 1mb boards
2020-11-11 18:13:11 +11:00
Andy Piper
7f3f135dc5 AP_RCProtocol: add debug for further CRSF messages
add better frame debug info to CRSF
2020-11-11 18:13:11 +11:00
Nick Belanger
dbe5b90398 AP_BattMonitor: Adding driver for Rotoye Batmon equipped smart batteries 2020-11-11 14:24:13 +11:00
Peter Barker
eb132d1c93 AP_DAL: fill in visualodom structures 2020-11-11 13:50:22 +11:00
Peter Barker
428c9ef0e1 AP_GPS: correct logging in dual-ublox setups 2020-11-10 17:39:51 +11:00
Andrew Tridgell
2a210549f9 AP_DAL: minor review cleanups 2020-11-10 16:15:45 +11:00
Andrew Tridgell
790a5ffa38 AP_Vehicle: added bootloader vehicle type 2020-11-10 16:15:45 +11:00
Andrew Tridgell
280e9d1c41 HAL_ChibiOS: fixed bootloader build 2020-11-10 16:15:45 +11:00
Andrew Tridgell
17b4198921 HAL_ChibiOS: add WITH_FATFS to environment 2020-11-10 16:15:45 +11:00
Andrew Tridgell
147df12eb8 GCS_MAVLink: allow replay to use GCS_Dummy 2020-11-10 16:15:45 +11:00
Andrew Tridgell
ac566763fe HAL_ChibiOS: disable loop delay on replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell
5e8380ff41 AP_HAL: allow replay on ChibiOS 2020-11-10 16:15:45 +11:00
Andrew Tridgell
f4bf2ec3fe AP_DAL: allow replay on ChibiOS 2020-11-10 16:15:45 +11:00
Andrew Tridgell
f121c250ae AP_BoardConfig: allow replay on ChibiOS 2020-11-10 16:15:45 +11:00
Andrew Tridgell
db86b95761 HAL_SITL: fixed AP_Periph sitl build 2020-11-10 16:15:45 +11:00
Andrew Tridgell
806852c9c3 AP_Math: speedup fill nanf 2020-11-10 16:15:45 +11:00
Andrew Tridgell
c321025725 HAL_SITL: run nanf fill every 10 loops
this saves a lot of cpu while still giving protection
it reduces time to run a test replay from 8.1s to 4.1s
2020-11-10 16:15:45 +11:00
Andrew Tridgell
3152da98e1 AP_Logger: skip structure validation in replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell
d380447cd5 HAL_SITL: support command line args for replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell
f966e92d99 HAL_SITL: default model for replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell
0bc77a3baf AP_NavEKF3: fixed whitespace 2020-11-10 16:15:45 +11:00
Andrew Tridgell
8cb3013217 AP_DAL: setup low pass IMU filter for 20Hz 2020-11-10 16:15:45 +11:00
Andrew Tridgell
9e73922fd9 AC_PID: use calc_lowpass_alpha_dt() 2020-11-10 16:15:45 +11:00
Andrew Tridgell
b0f0c8d842 Filter: use calc_lowpass_alpha_dt() 2020-11-10 16:15:45 +11:00
Andrew Tridgell
cdcf32d22c AP_Math: added calc_lowpass_alpha_dt()
used in several places
2020-11-10 16:15:45 +11:00
Andrew Tridgell
6ee1b23d28 AP_NavEKF3: removed use of another lanes gyro in optflow takeoff detection
as discussed with Paul
2020-11-10 16:15:45 +11:00
Andrew Tridgell
5b41d5541f AP_NavEKF2: removed use of another lanes gyro in optflow takeoff detection
as discussed with Paul
2020-11-10 16:15:45 +11:00
Andrew Tridgell
0506af113e AP_DAL: tidyup 2020-11-10 16:15:45 +11:00
Andrew Tridgell
fabac94952 AP_DAL: avoid logging unused IMU data 2020-11-10 16:15:45 +11:00
Andrew Tridgell
7d7031d3d7 AP_NavEKF2: added const (review request) 2020-11-10 16:15:45 +11:00
Andrew Tridgell
7a34ec4458 AP_DAL: updated comment 2020-11-10 16:15:45 +11:00
Andrew Tridgell
0e7611cebe AP_DAL: fixed handling of AHRS trim 2020-11-10 16:15:45 +11:00
Andrew Tridgell
f145afabf3 AP_DAL: pack RFRN more efficiently 2020-11-10 16:15:45 +11:00
Andrew Tridgell
a08a1a4247 AP_Logger: allow for larger LOG_FILE_BUFSIZE
larger sizes on F7 and H7 allow for much more rapid loggging
2020-11-10 16:15:45 +11:00
Andrew Tridgell
71e4d72fe3 AP_Logger: removed 64k limitation on log buffer
the reason for the limit is gone with AP_FileSystem
2020-11-10 16:15:45 +11:00
Andrew Tridgell
2945de4796 AP_Logger: use WITH_SEMAPHORE in _WritePrioritisedBlock
this prevents a 1ms delay when waiting for the semaphore
2020-11-10 16:15:45 +11:00
Andrew Tridgell
7a8e8b8b51 AP_DAL: removed use of BUILD macros in headers
fixes sempahore build
2020-11-10 16:15:45 +11:00
Andrew Tridgell
5be818f8a1 AP_DAL: re-pack GPS replay data
this fixes antenna offset for blended GPS, and reduces the average
amount of data in logs for GPS replay
2020-11-10 16:15:45 +11:00
Andrew Tridgell
cb830dcc11 AP_AHRS: added comment from review 2020-11-10 16:15:45 +11:00
Andrew Tridgell
905ffed7fd AP_DAL: cleanups from review 2020-11-10 16:15:45 +11:00
Andrew Tridgell
509b9f5e63 AP_DAL: only enable standalone build with --no-gcs and --disable-scripting 2020-11-10 16:15:45 +11:00
Andrew Tridgell
4f17edc67d AP_DAL: moved standalone example to tools
prevent trying to build with all examples
2020-11-10 16:15:45 +11:00
Andrew Tridgell
70abf799c3 AP_DAL: check for zero time in accel/gyro filtering 2020-11-10 16:15:45 +11:00
Andrew Tridgell
dd96d7c205 AP_DAL: fixed standalone linking 2020-11-10 16:15:45 +11:00
Andrew Tridgell
6fe05a9ab6 AP_NavEKF3: restore XKTV message 2020-11-10 16:15:45 +11:00
Andrew Tridgell
f5275fd0ad AP_NavEKF3: fixed use of pointers in ringbuffers
these don't work with AP_DAL
2020-11-10 16:15:45 +11:00
Andrew Tridgell
16f7e51ea5 AP_NavEKF2: fixed use of pointers in ringbuffers
these don't work with AP_DAL
2020-11-10 16:15:45 +11:00
Andrew Tridgell
eaa8474563 AP_NavEKF3: cope with INS_MAX_INSTANCES below 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell
246a441883 AP_NavEKF2: cope with INS_MAX_INSTANCES below 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell
021e305340 AP_Mount: cope with INS_MAX_INSTANCES below 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell
dab091a801 AP_AHRS: cope with INS_MAX_INSTANCES below 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell
f6c45c3bcd AP_InertialSensor: cope with INS_MAX_INSTANCES < 3 2020-11-10 16:15:45 +11:00
Andrew Tridgell
bb3b59966f HAL_ChibiOS: define INS_MAX_INSTANCES if less than 3
save some flash and memory
2020-11-10 16:15:45 +11:00
Andrew Tridgell
4ef7d5b468 AP_DAL: make more APIs const 2020-11-10 16:15:45 +11:00
Andrew Tridgell
9b81c5a1e0 AP_NavEKF3: use dal reference in EKF backends
saves a bit of flash space
2020-11-10 16:15:45 +11:00
Andrew Tridgell
5f0e943f0f AP_NavEKF2: use dal reference in EKF backends
saves a bit of flash space
2020-11-10 16:15:45 +11:00
Andrew Tridgell
e273f73cb4 AP_DAL: fixed shadowed variable 2020-11-10 16:15:45 +11:00
Andrew Tridgell
1bdf6173ec AP_NavEKF3: removed have_ekf_logging 2020-11-10 16:15:45 +11:00
Andrew Tridgell
21dfdc2192 AP_NavEKF3: use DAL for body frame odometry 2020-11-10 16:15:45 +11:00
Andrew Tridgell
8591b31665 AP_NavEKF2: cleanup unused code 2020-11-10 16:15:45 +11:00
Andrew Tridgell
9635231088 AP_DAL: added body frame odomotry 2020-11-10 16:15:45 +11:00
Andrew Tridgell
6c4e552a0b AP_GPS: removed have_ekf_logging() 2020-11-10 16:15:45 +11:00
Andrew Tridgell
353ec29ab6 AP_Compass: removed have_ekf_logging() 2020-11-10 16:15:45 +11:00
Andrew Tridgell
b0ec4f8b93 AP_Baro: removed have_ekf_logging() 2020-11-10 16:15:45 +11:00
Andrew Tridgell
1bc82d3118 AP_AHRS: removed have_ekf_logging() 2020-11-10 16:15:45 +11:00
Andrew Tridgell
851cb30e0d AP_Logger: speed up startup with replay if LOG_DISARMED=0 2020-11-10 16:15:45 +11:00
Andrew Tridgell
29ab747982 AP_DAL: fixed navio build 2020-11-10 16:15:45 +11:00
Andrew Tridgell
c7cc26d9bc AP_DAL: rename xxprintf() to rprintf() 2020-11-10 16:15:45 +11:00
Andrew Tridgell
9542f365f6 AP_DAL: fixed range beacon handling 2020-11-10 16:15:45 +11:00
Andrew Tridgell
d01534c7c6 AP_DAL: remove unnecessary variables 2020-11-10 16:15:45 +11:00
Andrew Tridgell
a0de6c620f AP_NavEKF3: use selected GPS for gps_yaw_deg()
more than one GPS could provide yaw
2020-11-10 16:15:45 +11:00
Andrew Tridgell
f4c3d7286c AP_NavEKF3: support replay with wheel odomotry 2020-11-10 16:15:45 +11:00
Andrew Tridgell
b8a3413f5e AP_DAL: support wheel odomotry 2020-11-10 16:15:45 +11:00
Andrew Tridgell
e87f98066f AP_NavEKF3: support replay with external navigation data 2020-11-10 16:15:45 +11:00
Andrew Tridgell
bec095d661 AP_NavEKF2: support replay with external navigation data 2020-11-10 16:15:45 +11:00
Andrew Tridgell
c068da154a AP_DAL: support external pos and velocity data 2020-11-10 16:15:45 +11:00
Andrew Tridgell
5260d677ef AP_DAL: fixed optical flow replay 2020-11-10 16:15:45 +11:00
Andrew Tridgell
7bbbbd314c AP_NavEKF3: added optflow support for AP_DAL 2020-11-10 16:15:45 +11:00
Andrew Tridgell
224792b8b8 AP_NavEKF2: added optflow support for AP_DAL 2020-11-10 16:15:45 +11:00
Andrew Tridgell
dab9d824fd AP_DAL: added optflow support 2020-11-10 16:15:45 +11:00
Andrew Tridgell
a56f07b74d AP_Math: allow build without other headers for vector2.h 2020-11-10 16:15:45 +11:00
Andrew Tridgell
31091d6307 AP_NavEKF3: use ekf_low_time_remaining for core scheduling 2020-11-10 16:15:45 +11:00
Andrew Tridgell
90a8c5cb1a AP_NavEKF2: use ekf_low_time_remaining for core scheduling 2020-11-10 16:15:45 +11:00
Andrew Tridgell
47c3fadc17 AP_DAL: added ekf_low_time_remaining()
used by EKF for inter-lane scheduling
2020-11-10 16:15:45 +11:00
Andrew Tridgell
1848491ac2 AP_DAL: fixed GPS backend for multiple sensors 2020-11-10 16:15:45 +11:00
Andrew Tridgell
bf61910c7c AP_DAL: fixed shadowed variable
found by semaphore build
2020-11-10 16:15:45 +11:00
Andrew Tridgell
50d03571da AP_DAL: fixed build without VisualOdometry 2020-11-10 16:15:45 +11:00
Andrew Tridgell
b7d60b1d97 AP_Logger: added C field to EKF msgs 2020-11-10 16:15:45 +11:00
Andrew Tridgell
f3c3778169 prevent duplicate EKF logging
vehicle code sometimes tries to log the same data twice
2020-11-10 16:15:45 +11:00
Andrew Tridgell
fa75824948 AP_DAL: added standalone link test
useful to check for clean linking of EKF2/EKF3

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
32bda36908 SITL: fixed build with no GCS 2020-11-10 16:15:45 +11:00
Andrew Tridgell
0700ca4882 AP_Vehicle: added DAL standalone vehicle type 2020-11-10 16:15:45 +11:00
Andrew Tridgell
ae56f554b9 AP_Vehicle: send watchdog reset msg at startup
this helps if the watchdog will happen within 10s of startup
2020-11-10 16:15:45 +11:00
Andrew Tridgell
77687a9639 AP_UAVCAN: fixed build with no GCS
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
9b35bfba55 AP_AHRS: use enum class for takeoff/touchdown states
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
31fbb59384 AP_AHRS: delay EKF start until logging ready
for replay to work reliably we need all the parameters output before
we init the EKF.

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
096aab9388 AP_NavEKF3: convert to use AP_DAL for new replay structure
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
6be3d19e82 AP_NavEKF2: convert to use AP_DAL for new replay structure
Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
97a2c5a576 AP_NavEKF: removed Log_EKF_Timing
not needed for new replay

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
c0b20881d6 AP_Math: allow vector3.h to be included earlier in include chain 2020-11-10 16:15:45 +11:00
Andrew Tridgell
09aff03edc AP_Logger: support new replay system
added allow_start_ekf and block write method for replay

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
daa0abeb13 AP_Logger: make structure check errors clearer
add message name to more error messages
2020-11-10 16:15:45 +11:00
Andrew Tridgell
bd7ed003c2 AP_Logger: split out EKF messages and prepare for new replay
adds core to more EKF message structures

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Andrew Tridgell
e116b1ff0a AP_DAL: added data access layer library
This provides a wrapper around sensor and system calls to allow for
logging for replay in EKF2 and EKF3

Co-authored-by: Peter Barker <pbarker@barker.dropbear.id.au>
2020-11-10 16:15:45 +11:00
Iampete1
1587d88f58 AP_Scripting: example saving serial data to SD card 2020-11-10 12:15:56 +11:00
Iampete1
60951a7891 AP_GPS: add use primary if 3D fix GPS_AUTO_SWITCH option 2020-11-10 12:01:56 +11:00
Iampete1
347723dbaf AP_GPS: add primary param 2020-11-10 12:01:56 +11:00
Iampete1
0c2037438b AP_Motors: output mask: do not apply copter sin params and epxo 2020-11-10 11:09:56 +11:00
Peter Barker
814aa4e5ec AP_AHRS: take secondary attitude from EKF3 if it is configured 2020-11-10 10:59:08 +11:00
Andrew Tridgell
f7daa4a93a AP_Compass: raise max scale factor and make symmetric 2020-11-10 10:15:39 +11:00
Rishabh
68b6ecc59c AC_Avoid: Mark OA_OPTIONS as a Rover-Only param 2020-11-09 08:37:47 +09:00
Andrew Tridgell
cb034c50a7 HAL_ChibiOS: fixed orientation of compass on M10070B 2020-11-08 16:13:17 +11:00
Andrew Tridgell
3b7b2b89a5 HAL_ChibiOS: added baro for mRo Location-one GPS 2020-11-08 16:13:17 +11:00
Tom Pittenger
df90e28b89 AP_ADSB: move code to new uAvionix backend 2020-11-05 07:02:56 -08:00
Tom Pittenger
f784fc7c5c AP_ADSB: create frontend/backend split 2020-11-05 07:02:56 -08:00
Peter Barker
fd9068de8a AP_L1_Control: correct zeroing of cross-track integrator
This routine is generally only called at 10Hz, so the integrator was
regularly reset.
2020-11-05 17:32:38 +11:00
Randy Mackay
d6869b9234 AC_PosControl: fix typo in posxy_p param desc 2020-11-05 14:59:00 +09:00
Mark Whitehorn
5f8b4968ec AP_Vehicle: add instructions for config_error loop 2020-11-05 15:04:10 +11:00
Mark Whitehorn
30a9bb4ff4 AP_BoardConfig: change message interval to 5 seconds to match scheduler_delay_callback 2020-11-05 15:04:10 +11:00
bugobliterator
9acaa84b8f AP_Param: disable cmdline parameters for AP_Periph 2020-11-04 19:59:40 +11:00
bugobliterator
0d41db5520 AP_HAL_SITL: flush data from select call as we don't wait select in AP_Periph 2020-11-04 19:59:40 +11:00
bugobliterator
09a0d8d0c0 HAL_SITL: add support for AP_Periph SITL build 2020-11-04 19:59:40 +11:00
bugobliterator
9f4457f1d2 HAL_Empty: add empty protocol method in RCInput 2020-11-04 19:59:40 +11:00
Tom Pittenger
7a09f88e83 AP_ADSB: refactor and renamed things and general cleanup for pre-backend split 2020-11-04 16:22:47 +11:00
Tom Pittenger
8bcc32db78 RC_Channel: added adsb health check 2020-11-04 16:22:47 +11:00
Tom Pittenger
37c6622b96 AP_Arming: add arming check for ADSB 2020-11-04 16:22:47 +11:00
Iampete1
e95376fbef AP_Scripting: add notify LED get RGB binding and example 2020-11-02 17:40:21 -07:00
Iampete1
0f2c06d798 AP_Notify: RGBLed: rename OFF define 2020-11-02 17:40:21 -07:00
Iampete1
2e4b61d96e AP_Notify: add scripting LED type 2020-11-02 17:40:21 -07:00
Iampete1
cf599952f5 AP_Notify: RGB LED remove unused varables 2020-11-02 17:40:21 -07:00
Iampete1
0668c5c584 AP_Scripting: support pass by refence on none bool return 2020-11-02 17:40:21 -07:00
Michael du Breuil
b30c55b3f3 AP_GPS: Support yaw from moving base station on SBF drivers 2020-11-03 11:12:20 +11:00
Michael du Breuil
4161e2eb28 AP_GPS: Factor out moving base offset helper 2020-11-03 11:12:20 +11:00
Hwurzburg
230798546e RC_Channel: correct metadata for RC_OPTION param 2020-11-03 11:06:36 +11:00
Michael du Breuil
0f5179d204 AP_Scheduler: Emit last internal error line 2020-11-03 11:04:13 +11:00
Michael du Breuil
25ca2a0828 AP_Logger: Reserve space in PM for last internal error line 2020-11-03 11:04:13 +11:00
Michael du Breuil
051640e2b2 AP_Math: Log line numbers on constrain_nan's for constrain float 2020-11-03 11:04:13 +11:00
Randy Mackay
2681d3afe2 AP_NavEKF3: simplify alignYawAngle 2020-11-03 11:00:01 +11:00
Peter Barker
fc49b55b85 AP_NavEKF3: make coreBetterScore const 2020-11-03 10:39:35 +11:00
Peter Barker
84c92b717f AP_NavEKF2: make coreBetterScore const 2020-11-03 10:39:35 +11:00
Phillip Kocmoud
c192efea0a hwdef:PixracerPro - Fix analog volt pin assignments 2020-11-03 08:17:54 +11:00
Andre Kjellstrup
e5ffc834e9 AP_Arming: Parameter check is not unused 2020-11-02 13:41:57 +11:00
Andrew Tridgell
46976c4358 HAL_ChibiOS: fixed remapping of ioline_t with BRD_ALT_CONFIG
when a peripheral is made available via BRD_ALT_CONFIG we need to
remap the existing ioline_t in the UART and I2C drivers to use the new
pin.

This fixes an issue with half-duplex, inverted, swapped UART pins for
protocols like FPort and FPort2
2020-10-28 19:51:45 +11:00
Andrew Tridgell
2dd58c8ed1 AP_RCProtocol: send null pkts for FPort2
when we have no data to send, we should send an empty packet to ensure
the receiver schedules us for data as often as possible
2020-10-28 19:51:45 +11:00
Iampete1
97b44dfe71 AP_Scripting: add DIR_DISABLE param 2020-10-28 19:22:45 +11:00
Iampete1
2bdcadd785 AP_Scripting: examples to load and save missions to the SD card 2020-10-28 19:21:26 +11:00
Randy Mackay
b726630ef4 AP_NavEKF3: pos timeout or glitch does not reset vel if fusing successfully
vel is not reset if GPS velocity, optical flow, visual odometry or wheel
encoders are successfully being fused
2020-10-28 19:06:53 +11:00
Randy Mackay
3b38aa6d7b AP_NavEKF3: GPS change pos reset uses ResetPositonNE and ResetPositionD
Using these existing functions removes some code duplicate
non-functional change
2020-10-28 19:03:34 +11:00
Siddharth Purohit
73dea6d29c AP_CANManager: return max number of drivers for get_num_drivers 2020-10-28 18:38:05 +11:00
Oliver Walters
917f7d8797 AP_PiccoloCAN: Update timeout values to use 64-bit calls
- Prevent premature overflow due to 32-bit variables
2020-10-28 18:25:45 +11:00
Oliver Walters
491499ad16 AP_PiccoloCAN: Fixed license text in auto-generated files
- License file had been replaced due to re-generation of protocol files
- Original license file and header text reverted
2020-10-28 18:25:45 +11:00
Oliver Walters
479df2e20b AP_PiccoloCAN: Prevent thread from getting stuck in an infinite loop
- Previous code would get stuck in the CAN Tx loop
- New approach is to simply increase the timeout on frame transmission
2020-10-28 18:25:45 +11:00
Oliver Walters
6786e832a1 AP_PiccoloCAN: Provide compatibility for "Gen 2" Velociy ESC ICD
- The "Gen 2" Velocity ESC provides much more telemetry data
- The new ICD changes are compatible (i.e. legacy and modern ESCs can be on the CAN bus at the same time)
- Decode legacy packets and convert them to modern data structures
- Supports decoding of newer telemetry packets
- Supports decoding of new warning / error packets
2020-10-28 18:25:45 +11:00
Andrew Tridgell
d8337cf9e5 SITL: allow loading of model from ROMFS 2020-10-28 14:20:44 +11:00
Andrew Tridgell
e07cecb264 SITL: added support for simulated battery discharge 2020-10-28 14:20:44 +11:00
Andrew Tridgell
e8f21d3458 AP_InertialSensor: fixed rpm indexing for vtol motors
quadplane vtol motors start at 1
2020-10-28 14:20:44 +11:00
Andrew Tridgell
a0bc9d3148 SITL: fixed quadplane mass and rpm indexing 2020-10-28 14:20:44 +11:00
Andrew Tridgell
767773da5e SITL: improved multicopter simulation
this takes account of motor expo, velocity of air over propellers,
mass, size and other factors

It also allows for frame parameters to be supplied as an external json file
2020-10-28 14:20:44 +11:00
Andrew Tridgell
c2661a0f09 SITL: added picojson.h header
will be used for custom frame parameters
2020-10-28 14:20:44 +11:00
Randy Mackay
7b898ee001 AP_NavEKF3: minor comment and format fixes 2020-10-28 12:17:40 +09:00
Randy Mackay
fccc1fcb72 AP_NavEKF2: minor comment fix 2020-10-28 12:17:22 +09:00
Andrew Tridgell
20c4f1950b AP_RCProtocol: added FPort protocol test 2020-10-28 09:00:34 +11:00
Andrew Tridgell
df5105e20b AP_RCProtocol: added FPort2 protocol test 2020-10-28 09:00:34 +11:00
Andrew Tridgell
a8770a5a82 AP_RCProtocol: added FPort2 protocol support 2020-10-28 09:00:34 +11:00
Andrew Tridgell
747b48d0a8 AP_Math: added crc_sum8
for FPort/FPort2
2020-10-28 09:00:34 +11:00
Andrew Tridgell
66596dcf25 AP_Logger: allow for retry of log open with LOG_DISARMED=1
if booting without a microSD and with LOG_DISARMED=1 then this allows
for a retry of opening the log every 5s
2020-10-27 20:35:56 +11:00
Rishabh
cd8404f80c AP_BattMonitor: Update @value field in param to be increasing order 2020-10-27 17:15:04 +11:00
Vinicius Juvinski
36204e5dae AP_HAL_Linux: Fix PWM FS to follow the Kernel's 4.X instead 3.9
Checking the ToneAlarm under AP_HAL_Linux(BBBMINI is using that)  I realize was using old kernek
3.9 device tree, so I updated to 4.X - this will affect only BBBMINI and
Blue boards.
2020-10-26 22:55:03 -07:00
Randy Mackay
eb880a2657 AP_Scripting: copter-wall-climber fix for climb rate limiting 2020-10-27 14:06:15 +09:00
Randy Mackay
eab7c9520c AP_Scripting: copter-wall-climber accel limiting
reduces climb rate slowly so it can stop before next interval
also fixup formatting of altitude output to user
2020-10-27 14:06:15 +09:00
Randy Mackay
2ab860b8b7 AP_Scripting: copter-wall-climber format and comment fixes
replaced tab with spaces
also fixed comment
2020-10-27 14:06:15 +09:00
giacomo892
640990a7c7 AP_Compass: Fix TYPEMASK bitmask 2020-10-27 15:40:25 +11:00
Tatsuya Yamaguchi
e1126d4fd6 GCS_MAVLink: use micro64 instead of micros for time_usec 2020-10-27 15:37:29 +11:00
Iampete1
7aad83ccca AP_Airspeed: add MATLAB based NMEA sensor example 2020-10-27 11:24:49 +11:00
Iampete1
0e41b821e8 AP_Airspeed: defualt to type none on sub 2020-10-27 11:24:49 +11:00
Iampete1
73594cb19b GCS_MAVLink: send airspeed temp in scaled_pressure 2020-10-27 11:24:49 +11:00
Iampete1
2aff8787c1 AP_Airspeed: add NMEA water speed backend 2020-10-27 11:24:49 +11:00
Iampete1
9884c2c2ce AP_SerialManager: add airspeed type 2020-10-27 11:24:49 +11:00
Iampete1
8996c4cee0 AP_Scripting: NMEA example updated decoding 2020-10-27 11:24:49 +11:00
Iampete1
662d4640ef AP_Airspeed: add dedicated MAX_WIND param 2020-10-27 11:21:04 +11:00
Iampete1
d7e8ad1c13 AP_AHRS: add ARSPD_OPTION note to WIND_MAX 2020-10-27 11:21:04 +11:00
murata
22b8ed5adf AP_Baro: Delete unnecessary return processing 2020-10-27 10:48:52 +11:00
Andrew Tridgell
6f92abea63 AP_Filesystem: fixed build on gcc 9.3 2020-10-27 10:45:47 +11:00
Andrew Tridgell
45af37298b AP_BoardConfig: use AP_Filesystem for sdcard mount 2020-10-27 10:45:03 +11:00
Andrew Tridgell
ee50eaf3c9 HAL_ChibiOS: go via AP_Filesystem for mount/unmount operations
this fixes a deadlock where a mount/unmount could access FATFS without
holding the AP_Filesystem semaphore
2020-10-27 10:45:03 +11:00
Andrew Tridgell
2596875ceb AP_HAL: removed fs_init()
this must go via AP_Filesystem
2020-10-27 10:45:03 +11:00
Andrew Tridgell
e429d578fa AP_Filesystem: added interface for mount/unmount
we need to hold the FATFS semaphore when doing mount/unmount, which
means we must go via AP_Filesystem_FATFS
2020-10-27 10:45:03 +11:00
Michael du Breuil
1a1a5e69dd AP_Scripting: Add setmetatable back to the lua sandbox 2020-10-27 10:25:56 +11:00
Peter Barker
9aec1e48af AP_Frsky_Telem: tidy mavlite message handling
Including calling into reboot-vehicle rather than the hal reboot method.
2020-10-27 10:17:53 +11:00
Peter Barker
e0f8e003ec AP_Frsky_Telem: move mavlite message handling to own object 2020-10-27 10:17:53 +11:00
Peter Barker
b4e12da2c8 AP_Frsky_Telem: rework SPort-to-MAVlite conversion
Breaks the single object into three distinct parts objects, and hidesas
much information from the other parts as possible.
2020-10-27 10:17:53 +11:00
yaapu
4dec72a230 AP_RCProtocol: added support for frsky fport bidirectional telemetry 2020-10-27 10:17:53 +11:00
yaapu
0012b83d86 AP_vehicle: added support for frsky bidirectional telemetry 2020-10-27 10:17:53 +11:00
yaapu
988af83fce AP_Frsky_Telem: added support for frsky sport/fport bidirectional telemetry 2020-10-27 10:17:53 +11:00
yaapu
a4297bcdd7 AP_Frsky_SPort: reduce acceptable response delay to 6500us 2020-10-27 10:17:53 +11:00
yaapu
33f19eec27 AP_Frsky_Telem: tidy parsers and splitting of statustexts 2020-10-27 10:17:53 +11:00
yaapu
6abf4ec2b5 AP_Frsky_Telem: tidy creation of frsky data 2020-10-27 10:17:53 +11:00
Peter Barker
602a9592ce SITL: add Maxell SMBus battery support 2020-10-26 20:34:05 +11:00
Paul Riseborough
f2af2b3458 AP_NavEKF3: Initialise tiltErrorVariance class variable 2020-10-26 11:03:50 +11:00
Paul Riseborough
43386a8eea AP_NAvEKF3: Use a const reference 2020-10-26 11:03:50 +11:00
Paul Riseborough
64a3d8fe4e AP_NavEKF3: Update documentation 2020-10-26 11:03:50 +11:00
Paul Riseborough
6c7820dd8d AP_NavEKF3: Add verification of tiltErrorVariance() method in SITL 2020-10-26 11:03:50 +11:00