Commit Graph

26021 Commits

Author SHA1 Message Date
Randy Mackay b81930885c AC_WPNav: remove unnecessary assignment and constify local vars 2021-04-21 10:41:28 +10:00
Randy Mackay bebb7e7d8f AC_WPNav: removed unused enums 2021-04-21 10:41:28 +10:00
Andrew Tridgell 961e538cc0 HAL_ChibiOS: reduced flash usage on MatekF405
overflowing by 1k
2021-04-21 07:12:55 +10:00
Andrew Tridgell 08cbfa032d AP_Filesystem: review fixes
thanks Andy!
2021-04-21 07:12:55 +10:00
Andrew Tridgell b941b8c93a AP_Filesystem: allow for parameter upload via ftp 2021-04-21 07:12:55 +10:00
Andrew Tridgell 0b948d3faf AP_Param: allow save_sync without send 2021-04-21 07:12:55 +10:00
Andrew Tridgell 5a7ee5a376 AP_Common: fixed null termination bug in ExpandingString
not all HALs zero memory on realloc
2021-04-21 07:12:55 +10:00
Andrew Tridgell 23785c00dc AP_Param: improved queue handling and added set_and_save_by_name_ifchanged 2021-04-21 07:12:55 +10:00
Andrew Tridgell d8575f0607 AP_Filesystem: allow for partial mission upload 2021-04-21 07:12:55 +10:00
Andrew Tridgell d96002942c AP_Filesystem: ensure all blocks are filled on upload 2021-04-21 07:12:55 +10:00
Andrew Tridgell c1f491ce39 AP_Filesystem: allow mission upload 2021-04-21 07:12:55 +10:00
Andrew Tridgell 3fb280ff50 AP_Common: added return to ExpandingString append 2021-04-21 07:12:55 +10:00
Andrew Tridgell e055165eb8 AP_Filesystem: added download of mission/fence/rally 2021-04-21 07:12:55 +10:00
Andrew Tridgell c53c112691 GCS_MAVLink: expose functions to convert fence and rally to mavlink
this allows for the @MISSION filesystem to download data in the
current mavlink format
2021-04-21 07:12:55 +10:00
Andrew Tridgell dd86e0cc89 AP_GPS: added comment explaining the approach 2021-04-20 17:43:01 +10:00
Andrew Tridgell 8bc31ec5e9 AP_GPS: account for rotation rate in moving baseline Z test
this avoids switching GPS on rapid roll/pitch
2021-04-20 17:43:01 +10:00
Andrew Tridgell 2168633372 HAL_SITL: account for attitude rate in moving baseline data 2021-04-20 17:43:01 +10:00
Andrew Tridgell 62e0a89036 AP_Param: cleanup the eeprom parsing tools and fixed sentinal detection 2021-04-20 16:59:17 +10:00
Andrew Tridgell eac027b5c5 AP_Param: fixed handling of group_element=255 in sentinal detection
EK3_DRAG_BCOEF_Y has a group element of 255, which was being detected
as a sentinal
2021-04-20 16:59:17 +10:00
Hwurzburg 85e3772759 RC_Channel: correct metadata for fence enable and rst mode for Plane 2021-04-20 16:14:22 +10:00
Peter Barker a7e0c565dc AP_GPS: populate extension fields in GPS2_RAW 2021-04-20 11:46:35 +10:00
Andrew Tridgell 9cc883a8c0 AP_Compass: fixed the IST8308 on CubeBlack
CubeBlack needs to probe both internal and external buses
2021-04-20 10:42:54 +10:00
Andy Piper 21e95a62d5 AP_VideoTX: increase stack for smart audio thread 2021-04-20 10:39:16 +10:00
Andy Piper a9f442b4c1 AP_BLHeli: make sure there is delay between MSP send and receive to avoid reading our own data 2021-04-20 10:35:22 +10:00
Andy Piper 4bb4e2fb22 AP_HAL_ChibiOS: adjust GPIO settings for serial passthru 2021-04-20 10:35:22 +10:00
Randy Mackay fee30b4447 AP_RangeFinder: add get_temp and implement for NMEA driver 2021-04-20 09:17:48 +10:00
Randy Mackay 83c18249a4 AP_CANManager: chane KDECAN enum from 2 to 8
This is to force users to realise that something has changed in the hopes they will read the 4.1 release notes
2021-04-20 09:13:30 +10:00
Randy Mackay d2b8fce25a AP_KDECAN: map ESC id to servo channel and passthrough pwm
Co-authored-by: Siddharth Purohit <siddharthbharatpurohit@gmail.com>
2021-04-20 09:13:30 +10:00
Randy Mackay 6c93039d84 AP_KDECAN: slightly improve pre-arm check messages 2021-04-20 09:13:30 +10:00
hs293go 93a13bbf0e AP_Math: Implement tests for the Quaternion class
These tests cover Quaternion multiplication, conversion to rotation
matrix, and the optimized rotation operator
2021-04-19 15:34:45 +10:00
hs293go 8bc02ab00b AP_Math: Implement quaternion vector rotation operator
Overloads operator*() with semantics of applying a rotation to a vector, in
common with usage in Eigen/OpenGL. This implementation carries out 30
operations, compared to 58 operations for the q*v*q.inverse() formula
2021-04-19 15:34:45 +10:00
Rishabh 359327c7a3 AP_Proximity: add temp boundary class 2021-04-19 14:23:26 +09:00
Leonard Hall c28d103afe AC_AttitudeControl: Fix Angular velocity rotation to body frame
Thanks to BreederBai for higlighting this in issue #17059
Thanks to esaldiran and Hs293Go for helping check the math.
2021-04-19 14:48:59 +10:00
murata 7d3a1739d8 AP_Proximity: Integrate the judgment 2021-04-19 09:08:27 +09:00
Michael Oborne 323cbe47d2 SITL: fixup SIM_BAR parameter descriptions
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>

this fixs a issue with MP param doc parser caused by a syntax change
2021-04-16 09:21:44 +09:00
Andrew Tridgell 4118a3eb03 HAL_ChibiOS: check bus owner on all SPI transfers 2021-04-16 10:02:02 +10:00
Peter Barker 13dc5bee25 AP_Logger: fix memory leak when finding last log 2021-04-15 19:33:15 +10:00
Andrew Tridgell ec11bf1146 AP_Vehicle: fixed segfault in replay 2021-04-15 13:39:18 +10:00
Andrew Tridgell 7a7ac0cd73 AP_Logger: raise log_io stack size
See
https://github.com/ArduPilot/ardupilot/issues/15916#issuecomment-819489618
2021-04-15 13:33:42 +10:00
Iampete1 2a10d9d4f5 AP_Scirpting: add terrain warning example 2021-04-15 09:16:28 +09:00
murata 3344e87639 RC_Channel: Align Relay5 and Relay6 notations with others 2021-04-15 08:42:54 +09:00
Andrew Tridgell f64c6f9ba1 APM_Control: fixed cygwin build
FF0 is a macro in cygwin
2021-04-15 06:57:16 +10:00
Andrew Tridgell 767a0b2a99 APM_Control: tweak the activation detection to catch more events 2021-04-15 06:57:16 +10:00
Andrew Tridgell bb1dc7192b APM_Control: lower default target filter frequencies
this will remove a lot of the level flight noise causing oscillation
at higher gains
2021-04-15 06:57:16 +10:00
Andrew Tridgell dd98f00947 APM_Control: prevent cross-axis tuning
this should fix tuning at higher AUTOTUNE_LEVEL values
2021-04-15 06:57:16 +10:00
Andrew Tridgell 320d3d20c2 APM_Control: log autotune at 25Hz 2021-04-15 06:57:16 +10:00
Andrew Tridgell 72b51a389c APM_Control: use ATRP log msg via structure 2021-04-15 06:57:16 +10:00
Andrew Tridgell f34e4be991 AP_Logger: re-enable ATRP logging msg 2021-04-15 06:57:16 +10:00
Andrew Tridgell 7b073a61f1 APM_Control: allow for gain reductions when idle 2021-04-15 06:57:16 +10:00
Paul Riseborough b969a43074 Filter: Slewlimiter use different filtering for external reporting 2021-04-15 06:57:16 +10:00
Paul Riseborough dd446433f7 Filter: Adjust SlewLimiter tuning 2021-04-15 06:57:16 +10:00
Paul Riseborough 6e6df3df58 Filter: Increase gain modifier action 2021-04-15 06:57:16 +10:00
Paul Riseborough 458c46353d Filter: remove unnecessary fmaxf 2021-04-15 06:57:16 +10:00
Andrew Tridgell 91856b1d8c APM_Control: prevent bad init of FF in autotune 2021-04-15 06:57:16 +10:00
Paul Riseborough cb4a770d38 Filter: Reduce spikes in oscillation slew rate metric 2021-04-15 06:57:16 +10:00
Paul Riseborough fdfdb118b9 Filter: Improve SlewLimiter oscillation detection 2021-04-15 06:57:16 +10:00
Andrew Tridgell 3fdd507157 APM_Control: log I and prevent numercial errors in autotune 2021-04-15 06:57:16 +10:00
Andrew Tridgell 24d53eade4 APM_Control: adjust filter for autotune to 0.75 Hz
this should give a better FF estimate
2021-04-15 06:57:16 +10:00
Paul Riseborough 9e6561e6b5 APM_Control: Ensure adequate trim speed 2021-04-15 06:57:16 +10:00
Paul Riseborough 4622e33255 Filter: Use positive and negative direction changes for slew limiting 2021-04-15 06:57:16 +10:00
Andrew Tridgell fa88967b6e APM_Control: adjust min value for tconst 2021-04-15 06:57:16 +10:00
Andrew Tridgell b079da33c5 APM_Control: use slew rate to move gains more smoothly 2021-04-15 06:57:16 +10:00
Andrew Tridgell 59a805a740 Filter: expose slew rate in slew limiter 2021-04-15 06:57:16 +10:00
Andrew Tridgell 95b375dc87 AC_PID: log SRate in pid info and expose slew rate 2021-04-15 06:57:16 +10:00
Andrew Tridgell 05d5fc2ecc AP_Logger: added SRate logging to PIDs 2021-04-15 06:57:16 +10:00
Andrew Tridgell 772b1262d4 APM_Control: added proportional reduction to D and P 2021-04-15 06:57:16 +10:00
Andrew Tridgell d561cd358f APM_Control: log RMAX and TAU 2021-04-15 06:57:16 +10:00
Andrew Tridgell d914ce6829 APM_Control: reset filters on autotune start 2021-04-15 06:57:16 +10:00
Andrew Tridgell 6cae97446a Filter: added auto-init to LowPassFilter
make sure initial filter returns are not a long way off if filtered
input is far from zero
2021-04-15 06:57:16 +10:00
Andrew Tridgell 7e64875a02 APM_Control: tweak tuning settings 2021-04-15 06:57:16 +10:00
Andrew Tridgell ccd7b15d06 APM_Control: apply pitch limiting at high roll to rate
this fixes an issue with a large elevator trim error when rolled at
close to 90 degrees
2021-04-15 06:57:16 +10:00
Andrew Tridgell 4694820ac3 APM_Control: allow for smaller minimum tconst 2021-04-15 06:57:16 +10:00
Andrew Tridgell 97f88f67f6 APM_Control: allow for AUTOTUNE_LEVEL=0
this means keep the existing TCONST and RMAX parameters, if non-zero
2021-04-15 06:57:16 +10:00
Andrew Tridgell 316541017a APM_Control: fixed handling of clipped actuator in autotune 2021-04-15 06:57:16 +10:00
Andrew Tridgell 9997b191a8 APM_Control: log smoothed rates 2021-04-15 06:57:16 +10:00
Andrew Tridgell 20ef242280 APM_Control: fixed restore of tconst on autotune abort 2021-04-15 06:57:16 +10:00
Andrew Tridgell 8f249d5ece AP_OSD: fixed param edit for new plane PIDs 2021-04-15 06:57:16 +10:00
Andrew Tridgell 160b25c557 AP_Param: fixed KEY_DUMP option
use right index, and use ::printf
2021-04-15 06:57:16 +10:00
Andrew Tridgell 5818d6040c SITL: convert param file for new plane PID system 2021-04-15 06:57:16 +10:00
Andrew Tridgell 53ee13a083 APM_Control: use instance logging and allow AUTOTUNE_LEVEL adjustments 2021-04-15 06:57:16 +10:00
Andrew Tridgell 70c194c358 APM_Control: fixed LoggerDocumentation test 2021-04-15 06:57:16 +10:00
Andrew Tridgell 0b76a8018f APM_Control: move rmax and tau more slowly 2021-04-15 06:57:16 +10:00
Andrew Tridgell 3cb32a18f0 APM_Control: fixed for cygwin build 2021-04-15 06:57:16 +10:00
Andrew Tridgell 364fa0680d APM_Control: use shorter tau for autotune higher levels 2021-04-15 06:57:16 +10:00
Andrew Tridgell f88622def8 APM_Control: implement new autotune system
use actuator/rate ratio with median filter for FF and Dmod/overshoot
for P,I,D
2021-04-15 06:57:16 +10:00
Andrew Tridgell 12fad55891 APM_Control: fixed pid_info for pitch controller 2021-04-15 06:57:16 +10:00
Andrew Tridgell ead011c7c2 APM_Control: move to only ACPID 2021-04-15 06:57:16 +10:00
Andrew Tridgell 6ca9033dde APM_Control: run AC_PID in parallel with old PID for roll/pitch 2021-04-15 06:57:16 +10:00
Andrew Tridgell 99fe194980 AP_Logger: removed old ATRP log msg 2021-04-15 06:57:16 +10:00
Andrew Tridgell 7b98ab0f12 AP_Param: added get_param_by_index
useful for parameter conversion within an object
2021-04-15 06:57:16 +10:00
Andrew Tridgell 5ef31a1801 Filter: moved ModeFilter to C++
save flash space for common code
2021-04-15 06:57:16 +10:00
Andrew Tridgell 6f2e592943 AC_PID: allow for slew limit scaler
used by plane to have slew limiter in deg/s
2021-04-15 06:57:16 +10:00
Andrew Tridgell 62afa46924 AC_PID: added accessor for IMAX 2021-04-15 06:57:16 +10:00
Peter Barker 6a3188a8ec AC_PrecLand: use enum-class for Type, make enum private 2021-04-14 18:04:26 +10:00
Peter Barker 252543978e AC_PrecLand: remove unused PrecLandBehaviour enum and accessor
AFAICS this has never been used
2021-04-14 18:04:26 +10:00
Peter Barker 1ad9542df3 AC_PrecLand: use enum-class for EstimatorType
And remove accessor for same
2021-04-14 18:04:26 +10:00
Philippe Hamelin 187549b431 SITL: Add NMEA THS message. 2021-04-14 17:20:28 +10:00
Philippe Hamelin 738d000f86 AP_GPS: Add NMEA THS message. 2021-04-14 17:20:28 +10:00
Andrew Tridgell 3e138aa98a AP_Filesystem: fixed a read past EOF bug in @PARAM
this could cause mavproxy FTP param download to fail
2021-04-14 17:05:49 +10:00
Tatsuya Yamaguchi 5fd46c02ad AP_ExternalAHRS: remove message when EAHRS_TYPE is None 2021-04-14 14:46:03 +10:00
Andrew Tridgell 9990404e64 HAL_ChibiOS: fixed G4 analog input build
use right resolution in ADC peripheral for ADCv3
2021-04-14 13:11:58 +10:00
Andrew Tridgell 1fe1e53260 AC_PrecLand: pass in time corrected LANDING_TARGET msg
should make companion based precision landing more accurate
2021-04-13 17:30:19 +10:00
Andrew Tridgell 8444a3310d GCS_MAVLink: added handle_command_landing_target()
used to allow vehicle handling of time corrected LANDING_TARGET msgs
2021-04-13 17:30:19 +10:00
Hwurzburg cc4fe29d8f AP_OSD: add icon for terrain alt panel and font editor 2021-04-13 14:50:07 +10:00
Peter Barker 9513bbe85f AC_Precland: remove unused _timestamp_us 2021-04-13 14:18:05 +10:00
Andrew Tridgell ea3657e941 AP_Motors: added accessors for ff output to motors
needed for tailsitters
2021-04-13 10:28:47 +10:00
Peter Barker 6fe58a807d AP_Logger: move precision landing logging up into AC_PrecLand 2021-04-13 10:28:39 +10:00
Peter Barker 6d9f1f1bb4 AC_PrecLand: move precision landing logging up into AC_PrecLand 2021-04-13 10:28:39 +10:00
Andrew Tridgell eca8cf3414 HAL_ChibiOS: save flash on boards that are critically low
move to single OSD font on some boards

this saves about 12k on these boards. They were also extremely close
to overflowing flash, under 2k on some

Now that we support having an OSD font on the microSD card (where
available) we can reduce built in fonts without a large functionality
impact

This also disables some less used features on these boards:

 - generator support
 - object avoidance path planning
 - precision landing

This will give us some breathing room on these boards
2021-04-13 09:58:59 +10:00
Andrew Tridgell bb28a58bce AP_ExternalAHRS: added frontend/backend split
allow for multiple backends
2021-04-13 09:36:52 +10:00
Andrew Tridgell b3ed4f4b12 AP_InertialSensor: fixed handling of more than 3 accel/gyro instances
allows for first 3 to work without a panic
2021-04-13 09:36:52 +10:00
Andrew Tridgell fd3bf0f639 HAL_Linux: added --defaults option to Linux HAL
useful for initial parameters
2021-04-13 09:36:52 +10:00
Andrew Tridgell ae088f792d AP_ExternalAHRS: added EAHRS_RATE for IMU rate
this allows setting of required data rate from the external AHRS
2021-04-13 09:36:52 +10:00
Andrew Tridgell 266b425115 HAL_SITL: use common nmea_printf() 2021-04-13 09:36:52 +10:00
Andrew Tridgell 3650c02745 AP_GPS: use common nmea_printf() 2021-04-13 09:36:52 +10:00
Andrew Tridgell 6c29f8c24f AP_Common: added common nmea_printf code 2021-04-13 09:36:52 +10:00
Mirko Denecke e904de3431 AP_Scripting: add position light example 2021-04-13 09:23:59 +10:00
vierfuffzig 10f15fbba5 AP_OSD: add kilo symbol to RPM panel 2021-04-13 09:08:36 +10:00
Samuel Tabor e78d6fee0a AP_Soaring: Ensure minimum cruise times are respected when RC switch position is changed. 2021-04-12 18:38:10 +10:00
Samuel Tabor 9a7f80789f AP_Soaring: Update vario tau calculation to use SOAR_THML_BANK. 2021-04-12 16:24:03 +10:00
Andy Piper 4fd88e8ad0 AP_VideoTX: don't try to change pitmode on anything other than SA2.1 2021-04-12 16:22:36 +10:00
Andy Piper bfcefa3f34 AP_VideoTX: prioritize pitmode changes over power changes 2021-04-12 16:22:36 +10:00
Andy Piper de64467ca3 AP_RCTelemetry: prioritize pitmode changes over power changes 2021-04-12 16:22:36 +10:00
Peter Barker 27c262b037 SITL: add documentation fo rsimulated barometers 2021-04-10 11:28:22 +10:00
chobits fd88e53be6 AC_WPNav: remove unassigned _track_desired 2021-04-08 16:13:51 +09:00
Randy Mackay 30a08dda0a SITL: add rover with vectored thrust support 2021-04-08 08:47:07 +09:00
Randy Mackay 381044c2d0 SITL: add comments to SIM_Rover members 2021-04-08 08:47:07 +09:00
Iampete1 186cb6ef13 AP_Scripting: correct rotations in fault tolerant hex example 2021-04-08 08:23:08 +09:00
Andrew Tridgell 47a5d78397 HAL_ChibiOS: disable DMA on high contention UARTs
switch to interrupt driven when in high contention
2021-04-08 06:53:48 +10:00
Jacob Walser f7da853adb AP_HAL: update hardware definitions for navigator r3 2021-04-07 15:08:18 -04:00
Jacob Walser 397def7b9e AP_LeakDetector: update leak pin for navigator r3 2021-04-07 15:08:18 -04:00
Jacob Walser 5537f5564c AP_HAL: update imu hardware for navigator r3 2021-04-07 15:08:18 -04:00
Jacob Walser 3a433cd71e AP_HAL: update pwm hardware for navigator r3 2021-04-07 15:08:18 -04:00
Jacob Walser 421638453f AP_HAL: update Notify LED hardware for navigator r3 2021-04-07 15:08:18 -04:00
MHefny 6bbfdbaf6a AP_HAL_LINUX:fix missing setting physical address 2021-04-07 10:36:31 -07:00
MHefny 30382740d2 AP_HAL_Linux:fix code style 2021-04-07 10:36:31 -07:00
MHefny 8767112a77 AP_HAL_LINUX:remove duplicates and fix _version 2021-04-07 10:36:31 -07:00
MHefny c57764e9b4 linux: RCInput_RPI RPI-4 Support 2021-04-07 10:36:31 -07:00
Andrew Tridgell 7b9826cdce SITL: change for AP::terrain as a pointer 2021-04-07 20:56:01 +10:00
Andrew Tridgell 483ed19662 AP_OSD: change for AP::terrain as a pointer 2021-04-07 20:56:01 +10:00
Andrew Tridgell d3e3e58466 AP_Frsky_Telem: change for AP::terrain as a pointer 2021-04-07 20:56:01 +10:00
Andrew Tridgell 5e820b203b Ap_Terrain: make AP::terrain return a pointer
this is needed for rover and OSD support
2021-04-07 20:56:01 +10:00
Peter Barker 9471d8069c GCS_MAVLink: move handling of last-seen-SYSID_MYGCS up to GCS base class 2021-04-07 17:54:21 +10:00
Peter Barker 5d686b9cb1 AP_AdvancedFailsafe: move handling of last-seen-SYSID_MYGCS up to GCS base class 2021-04-07 17:54:21 +10:00
anbello 77998fb5ba revo-mini bdshot 2021-04-07 17:44:29 +10:00
anbello dcb90c7bdb revo-mini ext i2c 2021-04-07 17:26:56 +10:00
Andy Piper be39e1f297 AP_HAL_ChibiOS: correct current scale for BeastH7 and BeastF7 2021-04-07 17:25:19 +10:00
Andy Piper aa0ec0f091 AP_HAL_ChibiOS: optimize BeastH7 compilation 2021-04-07 17:25:19 +10:00
Iampete1 ec90ab13f4 AP_HAL_ChibiOS: RCOutput: print DMA alocation errors 2021-04-07 17:24:25 +10:00
Iampete1 15509f314c AP_HAL_ChibiOS: RCOuput: LED setup re-work 2021-04-07 17:24:25 +10:00
Andrew Tridgell 61c829d624 HAL_ChibiOS: only use SRAM4 for DMA for now
we can enable others when we have an allocation interface that
specifies the peripheral type
2021-04-07 17:10:45 +10:00
Iampete1 2377d33417 AP_HAL_ChibiOS: H7 set SRAM4 to no cache and allow DMA 2021-04-07 17:10:45 +10:00
Jacob Walser 8defcb9169 AP_Compass: add memsic MMC5883 driver 2021-04-07 16:03:57 +10:00
Andrew Tridgell 4cddb12508 HAL_ChibiOS: fixed DMA sent calculation on UART DMA timeout 2021-04-07 07:34:45 +10:00
Andy Piper b3dbc21fa7 AP_HAL_ChibiOS: KakuteF7 bdshot configuration, tested by yaapu 2021-04-06 11:33:53 +10:00
Iampete1 79a6c5d2d5 SITL: Examples: JSON: MATLAB: add legacy Simulink files for 2018b 2021-04-06 10:45:37 +10:00
Michael du Breuil bde695d11f AP_Notify: UAVCAN_RGB_LED: don't init if no UAVCAN backends
This allows us to consider enabling UAVCAN_RGB_LED as a more general
default, as it won't consume one of our limited backend slots if UAVCAN
is not enabled.
2021-04-06 10:45:09 +10:00
PYBrulin 240bfeb6bd AP_RangeFinder: TeraRangerI2C added case of out of range measurement 2021-04-06 10:44:13 +10:00
PYBrulin afe9573900 AP_RangeFinder: TeraRangerI2C redefining the output distance logic with OutOfRange cases 2021-04-06 10:44:13 +10:00
Andrew Tridgell c886fd7025 AP_Logger: make log file erase async
this prevents clagging up the main loop on a big erase. With an erase
of large enough files we could trigger a disarmed watchdog.
2021-04-06 10:40:40 +10:00
Andy Piper 721850d00a AP_HAL_ChibiOS: fix dshot150. 2021-04-06 10:24:04 +10:00
Andy Piper f6b1e15b0e AP_HAL_ChibiOS: optimize bdshot ISRs 2021-04-06 10:24:04 +10:00
Andy Piper cb3b37d181 AP_HAL_ChibiOS: ensure that non-dshot modes get regular 1Khz updates 2021-04-06 10:24:04 +10:00
Andy Piper ea3291520c AP_HAL_ChibiOS: add fast cycle calibration step 2021-04-06 10:24:04 +10:00
Andy Piper 74d4af9ac9 AP_HAL_ChibiOS: reset bdshot IC correctly
don't allow dshot rates below 800Hz.
set pin speed to MID1 to avoid glitching
don't run receive pulses on a timer
2021-04-06 10:24:04 +10:00
Andy Piper 477ff72214 AP_HAL_ChibiOS: allow dshot rate to be set so as to both regularize the output as well as
allow faster rates synchronized to the loop rate
synchronize 1Khz and use Betaflight definition for prescaler
adjust dshot bitrates
don't allocate IC DMA if already allocated
cancel DMA pulses correctly
try really hard to align pulses with push() by making each dshot pulse event driven
2021-04-06 10:24:04 +10:00
Andy Piper 9a870e4d75 SRV_Channel: add SERVO_DSHOT_RATE and propagate to rcout 2021-04-06 10:24:04 +10:00
Andy Piper 9ac8e2b705 AP_Vehicle: addlow SRV_Channels to be initialized 2021-04-06 10:24:04 +10:00
Andy Piper f29dba2ddd AP_HAL: add set_dshot_rate() 2021-04-06 10:24:04 +10:00
Peter Barker 749d4c997b AP_Vehicle: ensure reboot command ACK is written out in SITL 2021-04-06 10:21:59 +10:00
Peter Barker 5ebe505f2c AP_HAL_SITL: ensure reboot command ACK is written out in SITL 2021-04-06 10:21:59 +10:00
Jacob Walser d91fd8b006 AP_Notify: add driver for LED on Blue Robotics Navigator board 2021-04-06 09:11:53 +10:00
Peter Barker 1a2b960b0d GCS_MAVLink: prune old statustexts from queue 2021-04-06 09:10:43 +10:00
Peter Barker 4027ed6070 GCS_MAVLink: make servicing statustext more efficient
We should only need to do a single PAYLOAD_SIZE check for each mavlink
backend now.

 - stop iterating over all channels, only do instantiated mavlink
backends
 - if we don't have space for a statustext on a channel, break
immediately and don't do remaining texts
 - resposibility is now on the GCS_MAVLINK backend for sending texts
   - that's a timing change

 - only iterate over entries actually in the queue rather than maximum
queue size
   - it's likely to be the full length anyway as we don't expire things
from the queue and most setups will have full channels
2021-04-06 09:10:43 +10:00
Rishabh 5e5ca6e02a AP_Proximity: Check for stray faces and add new param for filter cut off freq 2021-04-05 14:09:17 +09:00
Rishabh e31ea2f3ee AC_Avoid: Change parameter defaults 2021-04-05 13:43:28 +09:00
Rishabh 1dc67fb932 AP_Proximity: Change parameter defaults 2021-04-05 13:43:28 +09:00
Andrew Tridgell 45477f6063 HAL_ChibiOS: fixed default MSP port for f405-MatekGPS 2021-04-05 11:02:32 +10:00
Andrew Tridgell ca948171fe HAL_ChibiOS: fixed ADC error on revXY STM32H7 boards
with the new ChibiOS revision we were configuring for newer revisions
of the H7, which meant that we changed the ADC config. This broke ADC
readings on revX and revY H7 MCUs.

This PR fixes it in two ways:

 1) change ChibiOS config to assume XY config chips

 2) use 16 bit ADC for H7, which means the chip rev doesn't matter,
    and also gives us 16x the resolution for ADC readinga, so we can
    read smaller voltage and current values
2021-04-05 11:01:03 +10:00
willpiper 94bdca7f6f AP_HAL_ChibiOS: tidy up beastF7 DMA channels 2021-04-04 16:51:19 +10:00
Randy Mackay 193799346c AP_SmartRTL: peek_point method peeks at next point
includes peek point takes semaphore
2021-04-03 12:07:59 +09:00
Leonard Hall 64ae08a925 AC_Loiter: fix references to position error 2021-04-03 12:07:59 +09:00
Leonard Hall d0ab74e496 AC_Circle: fix references to position error 2021-04-03 12:07:59 +09:00
Randy Mackay 2201450180 AC_WPNav: renames and comment fixes 2021-04-03 12:07:59 +09:00
Randy Mackay 85b24cf641 AC_WPNav: fix get_wp_destination_loc
was incorrectly adding alt-above-terrain as if it was alt-above-ekf-origin
also fixup comments
2021-04-03 12:07:59 +09:00
Leonard Hall 32c27b32aa AC_WPNav: support for SCurve navigation
set_wp_destination clear yaw target
limit velocity and acceleration based on track slope
add is_active() and remove unused reached_spline_destination
init accepts desired speed
set_kinematic_limits uses current speed limits instead of defaults
add time compression to prevent target moving too fast for air
implement alternative spline
remove vel-target-length
set_wp_destination always calculates this leg
set_kinematic_limits moved to scurve
fix origin speed after spline segment
spline terrain following fix
handle s-curves with mismatching alt types
fix set_spline_destination_next
add update_track_with_speed_accel_limits
Change to next waypoint at corner apex
use scurve advance along track
remove unused definitions and out-of-date todo
set_spline_destination_next sets fast_waypoint
scurve origin speed set from spline target velocity
fixup takeoff delay
2021-04-03 12:07:59 +09:00
Leonard Hall 6a8ba6f329 AC_PosControl_Sub: update for new position controller changes 2021-04-03 12:07:59 +09:00
Randy Mackay cb0d37586e AC_PosControl: use Vector limit_length and formatting fixes 2021-04-03 12:07:59 +09:00
Leonard Hall ba00c2edd6 AC_PosControl: alt hold controller update
pass accel limit top_pos_xy
prearm check updated
fix PSC_VELZ_FLTE/D param descriptions
fix VelZ FF param desc
limit maximum desired z component
integrate AC_PID_Basic
2021-04-03 12:07:59 +09:00
Leonard Hall b73ad1a1bc AC_PosControl: remove unused sqrt_controller_3D 2021-04-03 12:07:59 +09:00
Leonard Hall 49da872218 AC PosControl: fix position error get functions 2021-04-03 12:07:59 +09:00
Randy Mackay e24f23e076 AP_Mission: add restart_current_nav_cmd 2021-04-03 12:07:59 +09:00
Randy Mackay 2357568eb1 AP_Mission: Mission_Command struct gets comparison operators 2021-04-03 12:07:59 +09:00
Leonard Hall 83b7c496b5 AP_Logger: support for position controller logging 2021-04-03 12:07:59 +09:00
Randy Mackay ae66803148 AC_AttitudeControl: minor optimisation and comment fixes 2021-04-03 12:07:59 +09:00
Leonard Hall d6e3495eca AC_AttitudeControl: support for feedforward rate in angle request for yaw 2021-04-03 12:07:59 +09:00
Leonard Hall 1d720cc5e9 AC_PID: library update and additional functions
includes corrections from peer review
2021-04-03 12:07:59 +09:00
Randy Mackay bc0da915c4 AP_Math: add SplineCurve library
Co-authored-by: Leonard Hall <leonardthall@gmail.com>

includes corrections from peer review
2021-04-03 12:07:59 +09:00
Leonard Hall af7403f4e9 AP_Math: add SCurve library
SCurve const more local variables
rename update to get_jerk_vel_pos_at_time
removed unused update
debug output in SITL
fixes to ensure finished at end of path
fixes including validity check
includes corrections from peer review
2021-04-03 12:07:59 +09:00
Randy Mackay 0e506a71a1 AP_Math: remove control's limit_vector_length
these have been moved to Vector2f and Vector3f
2021-04-03 12:07:59 +09:00
Randy Mackay e2b46d05dc AP_Math: Vector2,3 get limit_length methods 2021-04-03 12:07:59 +09:00
Leonard Hall 3bb0482795 AP_Math: add update_pos_vel_accel to control
also add shape_vel, shape_pos_vel and stopping_distance
also add calculation of kinematic limits
2021-04-03 12:07:59 +09:00
Randy Mackay 67f2c79717 AP_InternalError: added invalid_arguments failure
this is intended to catch problems where we have unexpectedly received
invalid arguments.  For example an out-of-bounds target speed that
should have been caught somewhere else.

running out of bits so we use a single bit to capture invalid inputs to or output from a calculation
2021-04-03 12:07:59 +09:00
Peter Barker 018b1425ce AP_AdvancedFailsafe: remove APM from description 2021-04-01 22:49:34 +11:00
Josh Henderson fb789a07ce AC_WP_Nav_OA: origin_loc & dest_loc should use _terrain_alt_oabak 2021-04-01 14:44:40 +09:00
Sergey Bokhantsev ef95bf088c AP_Motors: Constrain get_throttle_hover value with allowed range 2021-04-01 13:06:02 +09:00
Samuel Tabor a301808e7a SITL: Add parsing of airspeed to SIM_JSON 2021-03-31 19:26:02 +11:00
Iampete1 0b8cdaf392 AP_Scripting: add mission command receve function, binding and example 2021-03-31 19:23:13 +11:00
Iampete1 849ad8c6de AP_Mission: support MAV_CMD_DO_SEND_SCRIPT_MESSAGE 2021-03-31 19:23:13 +11:00
Iampete1 82228469c8 AP_Scripting: add reset_remianing battery binding 2021-03-31 19:21:59 +11:00
Iampete1 9fdceeded3 AP_BattMoniter: add reset remaining per-instance rename existing to _mask 2021-03-31 19:21:59 +11:00
Iampete1 0fe38da522 GCS_MAVLink: rename battery reset function 2021-03-31 19:21:59 +11:00
Randy Mackay d343c569c2 AP_Arming: check for only first compass being disabled
If only the first compass is disabled, users may expect other enabled compasses to be used but they won't be
2021-03-31 19:16:01 +11:00
Randy Mackay 64c4b6a42b AP_Compass: remove unused set_use_for_yaw 2021-03-31 19:16:01 +11:00
Andrew Tridgell 46f35a6910 AP_Baro: work around bad WHOAMI read on DPS310
this fixes an issue with bad read of WHOAMI on a mRoPixracerPro. We
don't know how the sensor gets in a state where WHOAMI can't be read,
but toggling CS does fix it
2021-03-31 13:26:52 +11:00
Michelle Rossouw 7d42c3c834 SITL: Added simple blimp simulator 2021-03-31 12:27:07 +11:00
Michelle Rossouw ac893b4013 AP_Vehicle: added blimp vehicle type 2021-03-31 12:27:07 +11:00
Michelle Rossouw 8bc0f100a2 AP_Param: added blimp frame type 2021-03-31 12:27:07 +11:00
Michelle Rossouw d06161e8ee AP_HAL_SITL: Added support for blimp simulator 2021-03-31 12:27:07 +11:00
Peter Barker e5a8acb227 RC_Channel: return MAV_RESULT_FAILED from do_aux_function if invalid function 2021-03-31 11:36:09 +11:00
Peter Barker 115e895c82 GCS_MAVLink: return MAV_RESULT_FAILED from do_aux_function if invalid function 2021-03-31 11:36:09 +11:00
Peter Barker 30539ac8ac RC_Channel: add method on RC_Channels to execute aux function 2021-03-31 11:36:09 +11:00
Peter Barker d4a0222f76 AP_Mission: allow an auxillary function to be triggered as a DO command 2021-03-31 11:36:09 +11:00
Peter Barker 2d61ded1f3 GCS_MAVLink: add option to execute auxillary functions via mavlink 2021-03-31 11:36:09 +11:00
Peter Barker 7ea5bc7e3e AP_EFI: use enum class for protocol 2021-03-30 21:40:35 +11:00
Andrew Tridgell f0d6b79e8a HAL_ChibiOS: fixed skyviper builds with BMM150 2021-03-30 13:31:50 +09:00
Michael du Breuil c0017abb63 AP_Notify: Remove indirection on RGBLed of init()->hw_init()
Saves a bit of flash, and just makes the code a bit more obvious
2021-03-30 11:18:45 +11:00
Peter Barker f926c27470 AP_Arming: add LANDING arm/disarm method for Copter 2021-03-30 09:00:26 +09:00
Josh Henderson 5551deab4b AC_WPNav: make Location(Vector3f) require ALTFRAME 2021-03-30 08:56:35 +09:00
Josh Henderson 1b584a95ba AC_Avoidance: make Location(Vector3f) require ALTFRAME 2021-03-30 08:56:35 +09:00
Josh Henderson dce01fbb43 AP_Common: make Location(Vector3f) require ALTFRAME 2021-03-30 08:56:35 +09:00
Peter Barker d0b3b926c0 AP_HAL_Linux: split out a calculate_thread_priority method 2021-03-30 10:49:06 +11:00
Peter Barker cfacb5d34d AP_HAL_ChibiOS: split out a calculate_thread_priority method 2021-03-30 10:49:06 +11:00
Iampete1 8b278b52b3 AP_Scripting: add GPIO inputs and exmaple 2021-03-30 10:44:43 +11:00
Iampete1 4315a69b9d AP_HAL_Linux: add semaphore to AnalogIn::channel to make it thread safe 2021-03-30 10:44:43 +11:00
Iampete1 7c96522e44 AP_HAL_ChibiOS: add semaphore to AnalogIn::channel to make it thread safe 2021-03-30 10:44:43 +11:00
Iampete1 f2c2e8c1eb AP_Scripting: add PWM and GPIO to analog input example 2021-03-30 10:44:43 +11:00
Iampete1 e0621179ef AP_Scripting: add PWMSource bindings 2021-03-30 10:44:43 +11:00
Iampete1 590be4049c AP_Scripting: support userdata alias 2021-03-30 10:44:43 +11:00
Iampete1 9d739cfa42 AP_scripting: add bindings and example for analog inputs 2021-03-30 10:44:43 +11:00
Michael du Breuil e5de148ad1 AP_BattMonitor: Fix nullptr deref when resetting a battery 2021-03-30 09:47:44 +11:00
Siddharth Purohit d1dcfd91b5 AP_CANManager: do select before sending passthrough message 2021-03-30 08:05:00 +11:00
Siddharth Purohit cb118c6b73 AP_CANManager: improve robustness of slcan passthrough under high rate 2021-03-30 08:05:00 +11:00
Andrew Tridgell 07313ae71d HAL_ChibiOS: fixed 2nd CAN inferface on F4/F7
CAN1_TX_IRQn is an enum not a defined. This was broken by the recent
change to support different CAN ordering
2021-03-29 20:14:29 +11:00
QioTek 0190a42e47 AP_Airspeed: added ASP5033 driver 2021-03-28 07:50:34 +11:00
Randy Mackay b8d4dbfbb3 AP_Mission: options parameter description per vehicle 2021-03-27 08:20:43 +09:00
Randy Mackay a17086816f AP_Scripting: proximity bindings depend upon HAL_PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00
Randy Mackay d4f1eacbed AP_Logger: use of AP_Proximity checks HAL_PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00
Randy Mackay f67cdf5a81 AC_Avoidance: use of AP_Proximity checks HAL_PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00
Randy Mackay b8f9c3b9c0 GCS_MAVLink: use of AP_Proximity checks HAL_PROXIMITY_ENABLED 2021-03-26 16:22:46 +09:00