Commit Graph

24255 Commits

Author SHA1 Message Date
Andrew Tridgell 965af98f4a AP_InternalError: added an internal error for GPIO ISR overload 2020-10-02 09:38:24 +10:00
Andrew Tridgell c62b86e3c1 AP_HAL: added timer_tick() on GPIO 2020-10-02 09:38:24 +10:00
Peter Barker 4bbf623cac AP_Soaring: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 914316a529 AP_RangeFinder: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 460bb7291e AP_Proximity: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker b024ff8ea4 AP_Notify: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 3a8751d8a7 AP_NavEKF: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 10e0646251 AP_Generator: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 0eb34912cf AP_ADSB: remove unused variables 2020-10-01 21:13:20 +10:00
Peter Barker 12af51e356 AC_Autorotation: remove unused variables 2020-10-01 21:13:20 +10:00
Patrick José Pereira 57373180d1 AP_LeakDetector: Remove not used LeakDetector_Type enum
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-01 16:31:13 +10:00
Andrew Tridgell 2b13ad35ec AP_OLC: remove use of algorithm header
not needed
2020-10-01 09:40:45 +10:00
Michel Pastor 8465588467 AP_OLC: clean namespace and use constexpr instead of init method 2020-10-01 09:40:45 +10:00
giacomo892 4eeccb61cd WAF: Add AP_OLC to build 2020-10-01 09:40:45 +10:00
giacomo892 b00d3e00bc AP_OSD: Add OLC (pluscode) element 2020-10-01 09:40:45 +10:00
giacomo892 481d72255f AP_OLC: Open Location Code support 2020-10-01 09:40:45 +10:00
bugobliterator 0a4ea250ad AP_HAL_ChibiOS: disable CANFilter on H7 boards temporarily 2020-10-01 07:19:19 +10:00
Peter Barker a5a13f37c9 SITL: adjust for START_STOP_D now not polluting global namespace 2020-09-30 23:14:40 +10:00
Peter Barker 6cbb553adc AP_Frsky_Telem: reformat new filed using astyle.sh; no history to lose 2020-09-30 23:14:40 +10:00
Peter Barker 9c211d9847 AP_Frsky_Telem: move #defines to be static const members of AP_Frsky_Backend 2020-09-30 23:14:40 +10:00
Peter Barker 0bb7a31850 AP_Frsky_Telem: move all method implementations into correct files 2020-09-30 23:14:40 +10:00
Peter Barker 05d7950261 AP_Frsky_Telem: frontend/backend split 2020-09-30 23:14:40 +10:00
Iampete1 4e064ef812 AC_Circle: add Circle options 2020-09-30 17:58:12 +10:00
Andy Piper ac8dc26d41 AP_Filesystem: increase tasks buffer size 2020-09-30 17:37:20 +10:00
Andy Piper 958c19543f AP_Scheduler: print task total time as a percentage of all tasks time 2020-09-30 17:37:20 +10:00
Iampete1 608e1dcdc4 AP_WindVane: report apparent wind with named float 2020-09-30 17:03:58 +10:00
bugobliterator 84f3e70b10 AP_Compass: add set_dev_id when initialising HIL 2020-09-30 17:01:37 +10:00
Peter Barker 7cb8cde417 GCS_MAVLink: move orderly rebooting code from GCS into AP_Vehicle
Several places we reboot the vehicle we should probably do several of
the things done in this code - flushing parameters, forcing safety on
etc.
2020-09-29 18:07:59 +10:00
Peter Barker 3aabb45059 AP_Vehicle: move orderly rebooting code from GCS into AP_Vehicle
Several places we reboot the vehicle we should probably do several of
the things done in this code - flushing parameters, forcing safety on
etc.
2020-09-29 18:07:59 +10:00
yaapu e7a49dd624 GCS_Mavlink: refactor zero_rc_outputs() out of GCS_Mavlink 2020-09-29 18:07:59 +10:00
yaapu bc7c5a0c8e SRV_Channels: refactor zero_rc_outputs() out of GCS_Mavlink 2020-09-29 18:07:59 +10:00
Randy Mackay f5a04fd1a3 AP_NavEKF3: shorten buffer size send_text message length 2020-09-29 08:57:52 +09:00
Donione ff80be19c1 AP_GPS: fix type and update reserved bytes in ublox PVT 2020-09-28 16:31:14 -07:00
yaapu f33d197b16 AP_RCProtocol: fix fport rssi 2020-09-29 09:04:38 +10:00
Randy Mackay 7398529f6b AP_NavEKF3: minor format fix 2020-09-28 20:57:39 +09:00
Peter Barker abab203b32 SITL: remove zero initialisations, move more into class definitions 2020-09-28 12:15:04 +10:00
Andrew Tridgell 174dc3b032 AP_BoardConfig: disable watchdog in examples
not a lot of use in example code
2020-09-26 11:47:46 +10:00
Andrew Tridgell 5a535b25e3 AP_ADSB: remove annoying debug 2020-09-26 06:02:31 +10:00
Peter Barker 0c88af99da GCS_MAVLink: revert removal of private channel check when forwarding
This reverts 6dc77c97ce

The commit caused a regression on Solo as the gimbal is "nodding",
indicating traffic from the autopilot is getting through to the gimbal.
2020-09-25 09:42:27 +10:00
Peter Barker 8e6cde25dc AP_Logger: keep pointer to link rather than using its ->chan 2020-09-25 09:01:00 +10:00
Patrick José Pereira 1ee03a0d2e AP_Common: Add missing const in AP_FWVersion variables
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-09-25 08:55:18 +10:00
giacomo892 9c42c0f176 AP_Baro: remove unnecessary debug on DPS280 2020-09-25 08:19:29 +10:00
Vikas Singh 38c52acf9b AP_Filesystem: add simple File I/O example 2020-09-24 13:00:08 +10:00
Andrew Tridgell 4b747430e1 HAL_ChibiOS: save 2k in f103 bootloader
don't include serial bl support if dev list is empty
2020-09-24 12:32:19 +10:00
Siddharth Purohit 6fb973081b AP_HAL_ChibiOS: enable all I2C compasses by default for f103 boards 2020-09-24 12:32:19 +10:00
Andrew Tridgell 0e8c8c29a8 HAL_ChibiOS: fixed f303-MatekGPS build 2020-09-24 12:32:19 +10:00
Andrew Tridgell 246e790484 AP_Bootloader: use new hal CAN interface for CAN support 2020-09-24 12:32:19 +10:00
Siddharth Purohit a79efaeb1d AP_HAL_ChibiOS: hwdef: add support for HAL CANIface based bootloader 2020-09-24 12:32:19 +10:00
Siddharth Purohit 882c86c394 AP_HAL_ChibiOS: add app start offset to leave space for params 2020-09-24 12:32:19 +10:00
Siddharth Purohit 22ab426cf2 AP_HAL: make bools to use single bit in CANTxItem 2020-09-24 12:32:19 +10:00
Siddharth Purohit 72cf040f81 AP_Compass: add option to selectively disable Compass I2C backend 2020-09-24 12:32:19 +10:00
Siddharth Purohit 0ca2f56b71 AP_HAL: add support for external buffer to be used in ByteBuffer 2020-09-24 12:32:19 +10:00
Siddharth Purohit 9aa0970eed AP_HAL: disable protocol drivers for bootloader builds 2020-09-24 12:32:19 +10:00
Siddharth Purohit 1f16aa8360 HAL_ChibiOS: add hwdef for CubeOrange-periph 2020-09-24 12:32:19 +10:00
Siddharth Purohit d8852615ed AP_UAVCAN: disable UAVCAN library when libuavcan drivers are disabled 2020-09-24 12:32:19 +10:00
Siddharth Purohit 62df67a4b8 HAL_ChibiOS: hwdef: modify to use HAL CAN driver instead of ChibiOS's 2020-09-24 12:32:19 +10:00
Siddharth Purohit 36ffcdae30 HAL_ChibiOS: modify hal can drivers for use by AP_Periph 2020-09-24 12:32:19 +10:00
Siddharth Purohit c7d69e4d13 AP_HAL: disable CAN Protocol Drivers for AP_Periph 2020-09-24 12:32:19 +10:00
Samuel Tabor b6f92989a7 AP_Soaring: Only compile if HAL_SOARING_ENABLED. 2020-09-24 07:30:48 +10:00
Samuel Tabor 10111f92d5 Plane: Rename SOARING_ENABLED to HAL_SOARING_ENABLED and don't compare to ENABLED. 2020-09-24 07:30:48 +10:00
Samuel Tabor 0a738395fa Plane: Add THERMAL mode for thermal soaring. 2020-09-24 07:30:48 +10:00
Patrick José Pereira e81f9fccd9 AP_Common: Add new AP_FWVersionDefine header
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2020-09-23 20:58:35 +10:00
Jovian Dsouza a62a7e0bd1 SITL: correct Webots README.md
Resolves :#15378
2020-09-23 15:32:56 +10:00
Hwurzburg d5722b15e9 AP_ChibiOS: fix configuration number in OmnibusF7V2 hwdef 2020-09-23 07:35:22 +10:00
Peter Barker 41ab59dcdb AP_Motors: eliminate flags structure
Saves about 44 bytes
2020-09-22 20:26:24 +10:00
Kai Schoos 798c3fd0b7 AP_Baro: examples: BARO_generic: instantiate sitl to fix nullptr panic 2020-09-22 14:56:59 +10:00
Peter Barker d26b2a6f9a AP_TECS: replace '@User: User' with '@User: Standard' 2020-09-22 14:56:04 +10:00
Peter Barker d20c6ceb3b APM_Control: replace '@User: User' with '@User: Standard' 2020-09-22 14:56:04 +10:00
Peter Barker ffb87e68c5 AP_Landing: replace '@User: User' with '@User: Standard' 2020-09-22 14:56:04 +10:00
Peter Barker 3569c4d979 AC_PrecLand: correct @User field in ACC_P_NSE documentation 2020-09-22 14:56:04 +10:00
Tatsuya Yamaguchi fb27dbbd4f AP_Vehicle: replace message indicating that initialisation has completed 2020-09-22 09:52:52 +10:00
Hwurzburg de8002ab5e AP_HAL_ChbiOS: ALT config to enable UART3 in place of I2C 2020-09-22 09:48:02 +10:00
Andy Piper 9fef5b1e94 AP_Scripting: remove compile errors and warnings 2020-09-22 09:37:02 +10:00
Andy Piper 5d487be242 GCS_MAVLink: squash enum type error 2020-09-22 09:37:02 +10:00
Andy Piper ad895c2654 AP_HAL: ringbuffer get_size cannot be const because of semaphore 2020-09-22 09:37:02 +10:00
Andy Piper 940d708438 AP_UAVCAN: conditionally compile in ADSB support 2020-09-22 09:33:51 +10:00
Andy Piper 93ac301b19 RC_Channel: conditionlly compile in ADSB support 2020-09-22 09:33:51 +10:00
Andy Piper 32cd6b487e AP_Avoidance: conditionally compile based on ADSB support 2020-09-22 09:33:51 +10:00
Andy Piper 465357e715 AP_ADSB: conditionally compile based on HAL_ADSB_ENABLED 2020-09-22 09:33:51 +10:00
Iampete1 152e2366f0 AP_Motors: Tri: dont check yaw servo on plane 2020-09-22 09:12:14 +10:00
Andrew Tridgell 0ba256f625 HAL_ChibiOS: fixed warning on gcc9
packed structure can be misaligned
2020-09-22 08:07:23 +10:00
Andrew Tridgell 1000371d8a AP_SmartRTL: fixed build warning on gcc9
this example produces a slightly oversize frame
2020-09-22 08:07:23 +10:00
Andrew Tridgell 90cd2a38b6 HAL_ChibiOS: fixed gcc9 warnings 2020-09-22 08:07:23 +10:00
Andrew Tridgell fabbbea0b4 AP_Fileystem: fixed gcc9 warning 2020-09-22 08:07:23 +10:00
Andy Piper dc0084a2b2 AP_Logger: only write final log out a page at a time to avoid lock contention
remove health check timing hack
2020-09-21 20:44:34 +10:00
Andy Piper 4f7047797e AP_GyroFFT: reduce locking to avoid contention and match thread priority to IO
remove previous scheduling hack
2020-09-21 20:44:34 +10:00
Mark Whitehorn f25a1e7a0d AP_Logger: fix description of BAT.Res 2020-09-21 08:50:49 +10:00
Andrew Tridgell 8a4b0f858a AP_NavEKF3: reset body mag variances at key points
we need to reset the body mag variances if we change sensors or if we
are starting 3D fusion. When not doing 3D fusion we zero the
variances, so they must be initialised again when we restart
fusion. This fixes a bug in handling the variances on a 2nd flight
2020-09-20 09:25:57 +10:00
Andrew Tridgell e9185f526b AP_NavEKF3: add comments on state indexes
make it easier to check indexes
2020-09-20 09:25:57 +10:00
Andrew Tridgell 35e95d3328 AP_NavEKF2: reset body mag variances at key points
reset on sensor switch or when changing to 3D fusion
2020-09-20 09:25:57 +10:00
Andrew Tridgell 8920362212 AP_Compass: default SITL compass to having scale factor set 2020-09-20 09:25:57 +10:00
Andrew Tridgell 1f21d72c79 AP_NavEKF3: fixed init of earth state mag variances
we were starting with zero variance for X and Y earth states, it
should start with sq(magNoise)
2020-09-20 09:25:57 +10:00
Andrew Tridgell 534e63e2fa AP_NavEKF2: fixed init of earth state mag variances
we were starting with zero variance for X and Y earth states, it
should start with sq(magNoise)
2020-09-20 09:25:57 +10:00
Andrew Tridgell d6dcbda0d3 AP_NavEKF2: removed duplicate compass switch check
left over from last set of changes
2020-09-20 09:25:57 +10:00
Tom Pittenger 1fce38c62a AP_ADSB: Sagetech for 2MB only 2020-09-18 09:57:52 -07:00
Tom Pittenger 043a3ba06e AP_Mission: add accessor for in_landing_flag() 2020-09-17 07:31:43 -07:00
Tom Pittenger f364dc933d AP_Mount: remove unused GPS.h include 2020-09-17 10:55:08 +10:00
Hwurzburg c64f286333 AP_ChibOS: add UART7_RX to OMNIBUSF7V2 2020-09-17 10:47:18 +10:00
Andy Piper d036b57de3 AP_Logger: stop logs safely in the block logger and asynchronously where possible 2020-09-17 10:45:57 +10:00
Andy Piper 46d4d9a97e AP_OSD: use cleaner conditional compilation for the various OSD options
provide suitable defaults for parameter screens on different vehicles
build fixes
Co-authored-by: Peter Barker <pb-gh@barker.dropbear.id.au>
2020-09-16 18:11:54 +10:00
bugobliterator 575a56a6b6 hwdef: CubeOrange: do power reset on peripherals and sensor at boot 2020-09-16 18:08:08 +10:00
bugobliterator a2ee82d8d9 hwdef: use inv2 sensor checks in CubeOrange 2020-09-16 18:08:08 +10:00
bugobliterator b390f402b7 AP_BoardConfig: do bank selection when checking Invensensev2 Sensors 2020-09-16 18:08:08 +10:00
Andy Piper ab1d0d53f3 AP_Camera: keep trying to initialize RunCam after boot 2020-09-16 18:00:53 +10:00
Randy Mackay 2db57dffac AR_AttitudeControl: update param desc increment and range 2020-09-16 16:49:40 +09:00
Tom Pittenger 3cc985332d AP_ADSB: create backend and add Sagetech driver 2020-09-15 13:09:50 -07:00
Tom Pittenger b74c22864d AP_SerialManager: add support for Sagetech protocol 2020-09-15 13:09:50 -07:00
Tom Pittenger bd445bafc4 SITL: update ADSB sim to use squawk=1200 and set all valid flags 2020-09-15 13:09:50 -07:00
Tom Pittenger 6efaa29577 AP_Math: add bitwise fetch/load 16, 24, 32bit operations 2020-09-15 13:09:50 -07:00
Tom Pittenger 935cb39dff AP_Math: add function to convert any base to any base
Example: convert dec 12345 to 0x12345 or dec 1200 to octal 1200
2020-09-15 13:09:50 -07:00
Tom Pittenger b502582d14 AP_UAVCAN: replace old hardcoded value with new mavlink enum 2020-09-15 13:09:50 -07:00
Tom Pittenger 96a2aa485a AP_Param: add set_and_save_and_notify() 2020-09-15 13:09:50 -07:00
Peter Barker 4ebde78bbf AP_HAL_Linux: throw warning if we ever stop-clock backwards
Also don't compile in the stop_clock symbol to make it clear changes in
this method won't affect vehicles
2020-09-15 10:02:36 +10:00
Peter Barker 0d396f4235 AP_Vehicle: don't do any GCS stuff in delay callback if we're Replay
We haven't initialised the GCS at all, so it's not a great idea to
update_receive() and the like.
2020-09-15 10:02:36 +10:00
Peter Barker 29d042dbc7 AP_Vehicle: Replay now creates vehicle singleton reference 2020-09-15 10:02:36 +10:00
Andrew Tridgell 4bfdd973a4 AP_MSP: fixed build warnings for MSP with AP_Periph 2020-09-15 09:40:03 +10:00
Andrew Tridgell 8c1bc94053 AP_GPS: fixed build warnings for MSP with AP_Periph 2020-09-15 09:40:03 +10:00
Andrew Tridgell bfa2feb8d8 AP_Compass: fixed build warnings for MSP with AP_Periph 2020-09-15 09:40:03 +10:00
Andrew Tridgell 7daf8d3cd4 AP_Baro: fixed build warnings for MSP with AP_Periph 2020-09-15 09:40:03 +10:00
Andrew Tridgell 27a85ef51c AP_CANManager: fixed build warning for stack size
dynamically allocate test objects instead of putting on the stack
2020-09-15 09:40:03 +10:00
Andrew Tridgell cd1502ab72 SITL: fixed string warnings 2020-09-15 09:40:03 +10:00
Andrew Tridgell 6803408453 AP_UAVCAN: fixed string warnings 2020-09-15 09:40:03 +10:00
Andrew Tridgell 930726ca9a AP_Logger: fixed string warnings 2020-09-15 09:40:03 +10:00
vierfuffzig ca95e7865a AP_OSD_Param_Setting: fix copter FS_OPTIONS mnemonics 2020-09-15 09:26:46 +10:00
Iampete1 f350bfba78 SITL: JSON: don't warn for none required sections 2020-09-15 08:12:29 +10:00
Andrew Tridgell 2bc7d17e7a AP_NavEKF3: improved core comparison to check alignment
this adds coreBetterScore() which takes account of tilt and yaw
alignment when comparing cores for lane switching

this ensures we don't switch to a lane that is unaligned due to the
zero error score for unaligned lanes
2020-09-14 20:29:04 +10:00
Andrew Tridgell 067001bd61 AP_NavEKF2: take into account alignment when comparing cores
ensure we don't switch to a lane that does not have yaw or tilt
alignment from a lane that is aligned
2020-09-14 20:29:04 +10:00
Tatsuya Yamaguchi 5ea1fde6ee RC_Channel: update RCx_OPTION's @Values order 2020-09-14 13:27:53 +10:00
Andrew Tridgell 96dd354131 AP_ICEngine: check for valid RC input for ICE 2020-09-14 12:20:55 +10:00
Andrew Tridgell 890fc96d20 AP_ICEngine: added ICE_STARTCHN_MIN
this gives a min PWM value to trigger an engine stop. It makes RC
glitches leading to engine stop much less likely
2020-09-14 12:20:55 +10:00
Dan Laks 54c827a792 AP_ICEngine: Initialize start_chan_last_value and catch RC values less than 800 2020-09-14 12:20:55 +10:00
Andrew Tridgell 23da0ea8b6 AP_ICEngine: add debounce to RC input for ICE_START_CHAN 2020-09-14 12:20:55 +10:00
Michael Oborne f235c620b2 AP_CANManager: Remove Param keyword identifier 2020-09-14 10:40:16 +10:00
Iampete1 f5172cdecf AC_Avoid: hide params with enable flag 2020-09-14 08:54:13 +09:00
Hwurzburg f78a09ba2a AP_OSD: fix white space error preventing emit to Wiki 2020-09-13 12:16:57 +10:00
Andy Piper 3bbac765f0 AP_Logger: correct units on raw accel data 2020-09-13 12:15:33 +10:00
dmitry 94d2f4ea0e SITL_AirSim: moved NED position initialization
out of always false if -statement
2020-09-13 08:04:09 +10:00
Randy Mackay 4ed486bb92 AC_AttitudeControl: revert Add PosControl PID logging 2020-09-12 08:10:33 +09:00
Randy Mackay 36dee8791a AP_Logger: revert adding PSCP log structure 2020-09-12 08:10:33 +09:00
Iampete1 c109df3dd5 AC_AttitudeControl: Add PosControl PID logging 2020-09-11 10:12:08 +10:00
Iampete1 9753a20404 AP_Logger: add PSCP log structure 2020-09-11 10:12:08 +10:00
Iampete1 e955b431ef AC_PosControl: move to structure logging for PSC 2020-09-11 10:12:08 +10:00
Iampete1 02c225ee93 AP_Logger: add structure for PSC message 2020-09-11 10:12:08 +10:00
Jim Stockwell 1565c69943 AC_HELI_PID: spelling in comment, leaded -> leaked 2020-09-11 08:39:58 +09:00
Samuel Tabor f926dc62ed AP_Soaring: Reduce default value for minimum cruise time. 2020-09-10 09:18:52 -07:00
Samuel Tabor e0f524d425 Plane: Soaring: Use circling time as timeout if less than 20s. 2020-09-10 09:18:52 -07:00
Samuel Tabor 440d17e0de AP_Soaring: Add accessor for SOAR_ALT_CUTOFF. 2020-09-10 22:21:41 +10:00
Peter Barker dd8361ba33 AP_RangeFinder: remove default case from Rangefinder init switch
Allows the compiler to help the programmer fill in required code
2020-09-10 20:52:06 +10:00
Andy Piper 04b3b1f4c2 AP_OSD: re-enable OSD parameters on 1Mb boards since it wasn't doing anything
Make sure OSD parameters can be disabled in hwdef.dat
2020-09-10 18:10:32 +10:00
Andy Piper 570fd59c39 AP_HAL_ChibiOS: disable OSD parameters on F7 1Mb boards with SD cards 2020-09-10 18:10:32 +10:00
Mark Whitehorn 866405c7df AP_HAL_SITL: fix segv in examples 2020-09-10 14:30:24 +10:00
ashvath100 9665421a9c AP_Scripting: Walking robot naming fix and height control 2020-09-10 08:27:01 +09:00
ashvath100 e21e720b12 SITL: walking robot script direction fix 2020-09-10 08:27:01 +09:00
ashvath100 9248272baa Rover: walking_height input sent to motors 2020-09-10 08:27:01 +09:00
ashvath100 9968b2f52c RC_Channel: add height input channel 2020-09-10 08:27:01 +09:00
Andrew Tridgell 1ffbbb2896 HAL_ChibiOS: added FLASH_TOTAL to environment 2020-09-10 07:41:25 +10:00
Andy Piper eab127ffa3 AP_OSD: disable OSD parameter support on 1Mb boards 2020-09-09 20:36:42 +10:00
Andy Piper bbaaf7d66f AP_HAL_ChibiOS: disable features on KakuteF7 and OmnibusF7v2 to mirror KakuteF7Mini 2020-09-09 20:36:42 +10:00
Andy Piper c483c04d4b AP_OSD: separate parameter screen
display parameter names and types and allow modification via stick gestures
add support for updating selected parameters
support symbolic names for cetain options with add vehicle specific labels
add support for OSD parameter access and modification over mavlink
save OSD parameter when setting
add missing serial protocols
set defaults on settings correctly
re-organise defaults for NTSC screens and add 9th parameter
allow parameter control to be disabled
add plane aux options (from vierfuffzig)
only enable osd param on bitmap enabled backends
make sure draw() is elided on non-bitmap backends
2020-09-09 20:36:42 +10:00
Andy Piper 13676f9784 AP_SerialManager: add number of serial protocols to enum 2020-09-09 20:36:42 +10:00
Andy Piper 8b766efb0a GCS_MAVLink: add support for updating OSD parameters over mavlink 2020-09-09 20:36:42 +10:00
Andy Piper 7aa98d55eb AP_Param: expose the stable key for use by AP_OSD
add support for finding parameters by name and returning the token
2020-09-09 20:36:42 +10:00
Andy Piper 88d8cdadb7 AP_Camera: make runcam check for osd menu before entering osd menu 2020-09-09 20:36:42 +10:00
Andy Piper 2c19152644 AP_Arming: arming check for osd menu 2020-09-09 20:36:42 +10:00
Iampete1 8aeee4bc83 SITL: SIM_JSON:: add support for apparent wind sensor 2020-09-09 18:26:54 +10:00
Iampete1 917358e4a5 AP_WindVane: add apparent wind SITL types 2020-09-09 18:26:54 +10:00
Iampete1 2764126a1c SITL: add apparent wind sensor support 2020-09-09 18:26:54 +10:00
Gone4Dirt 32de8d78ab AP_Scripting: Add Heli_IM_COL_TUNE applet and readme 2020-09-09 17:50:31 +10:00
Gone4Dirt 39788aa4f7 AP_Scripting: Add rc norm_input_ignore_trim binding 2020-09-09 17:50:31 +10:00
Andy Piper 5b5b9d57a1 AP_Scheduler: add per-task performance information accesible from @SYS/tasks.txt
print fully qualified name on most boards
remove old task slip message
Don't die on allocation failure.
dynamically allocation/free task info based on SCHED_OPTIONS
dynamically enable task info on ftp get
2020-09-09 17:06:12 +10:00
Andy Piper f70f13e620 AP_Filesystem: add support for @SYS/tasks.txt 2020-09-09 17:06:12 +10:00
Randy Mackay d53045db10 AP_Soaring: minor spelling fix 2020-09-09 15:40:58 +09:00
Oliver Walters 8aeec6c4d1 AP_PiccoloCAN: Constrain ESC command message rate
Use constain_int16 rather than using primitive checks
2020-09-09 15:31:21 +10:00
Oliver Walters 21ffc0f663 AP_PiccoloCAN: Change #ifdef guard to prevent compiler error 2020-09-09 15:31:21 +10:00
Oliver Walters fc29e40463 AP_PicolloCAN: Load PiccoloCAN parameters from EEPROM 2020-09-09 15:31:21 +10:00
Oliver Walters 09d38f8729 AP_PiccoloCAN: Fix logic to improve readability 2020-09-09 15:31:21 +10:00
Oliver Walters 818e7f2cdf AP_PiccoloCAN: ESC message rate is now in Hz 2020-09-09 15:31:21 +10:00
Oliver Walters 5c53c17076 Remove parameters related to CAN servo operation 2020-09-09 15:31:21 +10:00
Oliver Walters 66812c72da AP_PiccoloCAN: Specify which ESC channels are used
- Uses the CAN_Dx_PC_ESC_BM bitmask to determine which ESC (motor) channels are controlled over PiccoloCAN
- Only transmits messages relevent to the selected motor channels
2020-09-09 15:31:21 +10:00
Oliver Walters 17932e3d1d AP_PiccoloCAN: ESC command rate now configurable
Uses CAN_Dx_PC_ESC_MS parameter to set the ESC data rate (in ms)
2020-09-09 15:31:21 +10:00
Oliver Walters a98babc02c AP_PiccoloCAN: Add user configurable operations to adjust Piccolo CAN ESC behaviour 2020-09-09 15:31:21 +10:00
Peter Barker c78dcb15a1 AC_PID: remove dead get_ff(float target) method as per TODO comment 2020-09-09 13:19:17 +09:00
Randy Mackay 1c1caa9374 AP_Winch: correct Daiwa line lengtha and speed scaling 2020-09-09 11:56:00 +09:00
Andrew Tridgell 90e488d29d HAL_ChibiOS: set airspeed type in f303-MatekGPS fw 2020-09-09 12:04:49 +10:00
Samuel Tabor 861b57cb09 AP_Soaring: Add EXIT_COMMANDED status used when pilot changes switch position when thermalling. 2020-09-08 16:54:45 -07:00
yaapu bc21e505e3 AP_RangeFinder: aligned msp message data struct name to gps,baro and mag 2020-09-09 06:35:50 +10:00
yaapu efca0c04eb AP_OpticalFlow: aligned msp message data struct name to gps,baro and mag 2020-09-09 06:35:50 +10:00
yaapu 747bf73fec AP_MSP: aligned opflow and rangefinder struct names to gps, baro and mag 2020-09-09 06:35:50 +10:00
Andrew Tridgell e95a44e73c HAL_ChibiOS: run f303-MatekGPS at 10Hz 2020-09-09 06:35:50 +10:00
Andrew Tridgell bea9769b82 AP_Logger: log unhealthy barometers 2020-09-09 06:35:50 +10:00
Andrew Tridgell 7ae64d20aa AP_Vehicle: init MSP earlier
this allows for MSP sensors (baro, compass) to be ready during probe
2020-09-09 06:35:50 +10:00
Andrew Tridgell 4b1552eebe AP_HAL: added BUS_TYPE_MSP
for MSP sensors
2020-09-09 06:35:50 +10:00
Andrew Tridgell c7b03dc936 AP_OSD: added missing OSD types to param docs 2020-09-09 06:35:50 +10:00
yaapu 5e88a856e9 AP_Compass: support for MSP compass 2020-09-09 06:35:50 +10:00
yaapu ea53ce2a3f AP_Baro: support for MSP barometer 2020-09-09 06:35:50 +10:00
Andrew Tridgell 94670879f8 AP_GPS: allow hwdef.dat override of GPS rate 2020-09-09 06:35:50 +10:00
yaapu 85b61d6bf3 AP_GPS: added support for MSP GPS sensors 2020-09-09 06:35:50 +10:00
yaapu 266b747ffc AP_MSP: added support for MSP sensors 2020-09-09 06:35:50 +10:00
Andrew Tridgell 844db20db0 HAL_ChibiOS: use a default node ID for f303-MatekGPS 2020-09-09 06:35:50 +10:00
Andrew Tridgell 9c24415f86 AP_Periph: support output of MSP sensor data 2020-09-09 06:35:50 +10:00
Andrew Tridgell 5647aadbcf AP_GPS: added API for getting last iTOW 2020-09-09 06:35:50 +10:00
Andrew Tridgell 5f5c7735a3 AP_MSP: support AP_Periph MSP send 2020-09-09 06:35:50 +10:00
Andrew Tridgell 9c7568eb5f HAL_ChibiOS: enable MSP output for f303-MatekGPS 2020-09-09 06:35:50 +10:00
chobits f4320c935c AP_HAL_ChibiOS: fix kakutef7/mini motor glitch when using dshot 2020-09-08 18:57:30 +10:00
Peter Barker 4d59939db6 AP_BattMonitor: create and use new AP_HAL::PWMSource object 2020-09-08 16:10:50 +10:00
Peter Barker abfd995fff AP_RSSI: create and use new AP_HAL::PWMSource object 2020-09-08 16:10:50 +10:00
Peter Barker 72b49efc78 AP_RangeFinder: create and use new AP_HAL::PWMSource object 2020-09-08 16:10:50 +10:00
Peter Barker 55f72c1534 AP_HAL: create and use new AP_HAL::PWMSource object 2020-09-08 16:10:50 +10:00
Andrew Tridgell c03c43e52c AP_NavEKF3: use same mag switch pattern as EKF2
based on Pauls suggested change
2020-09-08 11:01:14 +10:00
Paul Riseborough da7bb44a61 AP_NavEKF2: Consolidate magnetometer timeout checks 2020-09-08 11:01:14 +10:00
Andrew Tridgell 37866ec3cf AP_Compass: fixed compass logging when first compass unhealthy
keep logging compasses if any are healthy
2020-09-08 11:01:14 +10:00
Andrew Tridgell 3836b59041 AP_NavEKF3: fixed handling of failed compass
when a compass goes unhealthy due to sensor failure we should try
another compass after 10s if another compass is available
2020-09-08 11:01:14 +10:00
Andrew Tridgell 6b9e595602 AP_NavEKF2: fixed handling of failed compass
when a compass goes unhealthy due to sensor failure we should try
another compass after 10s if another compass is available
2020-09-08 11:01:14 +10:00
Andrew Tridgell c2feebea13 AP_Compass: allow simulation of compass sensor failure 2020-09-08 11:01:14 +10:00
Andrew Tridgell bf9c76a5c3 SITL: added SIM_MAGn_FAIL parameters 2020-09-08 11:01:14 +10:00
Peter Barker 5c2b478feb SRV_Channel: remove unused set_output_pwm_first method 2020-09-08 10:55:23 +10:00
Mark Whitehorn d3c1838fbe AP_Motors: remove AP_MotorsMatrixTS 2020-09-08 10:50:31 +10:00
Andrew Tridgell 74686f8dc4 GCS_MAVLink: fixed locking of mavlink in serial control
this fixes takeover of mavlink ports for high serial numbers
2020-09-08 09:01:16 +10:00
vierfuffzig a547af97c6 AP_OSD_Screen.cpp: fix aviation unit vspd sym
in aviaition units it's ft / min actually, not ft / s. stumbled across this thanks to increased attention to the vspeed panel using @samuelctabor awesome soaring addons ;)
2020-09-08 08:13:24 +10:00
bugobliterator fbc0b9e599 AP_UAVCAN: silence function cast warning/error for Registry template 2020-09-08 07:42:20 +10:00
Samuel Tabor 21a8471d2d SITL: Add start time argument. 2020-09-07 21:20:25 +10:00
vierfuffzig 63fdac0048 AP_HAL_ChibiOS: add USART3 as alt config on OmnibusNanoV6 2020-09-07 15:34:01 +10:00
Andrew Tridgell d6e3b5834a AP_MSP: change font to fix arrows and added --font and --list-fonts 2020-09-07 11:59:20 +10:00
Andrew Tridgell ad6a1af2fc AP_MSP: cleanup after control-C 2020-09-07 11:59:20 +10:00
Andrew Tridgell c83fd8edf2 AP_MSP: fixed use of float in pygame for py3 2020-09-07 11:59:20 +10:00
yaapu 65b70dddb2 AP_MSP:msposd.py added a DJI look and feel to some items 2020-09-07 11:59:20 +10:00
yaapu 51cec414cb AP_MSP: fix capacity in battery state message 2020-09-07 11:59:20 +10:00
yaapu 52599a4aaf AP_MSP: converted more messages to PACKED structs 2020-09-07 11:59:20 +10:00
yaapu ed21f9a8c7 AP_MSP: fix separate enable of MSP opticalflow 2020-09-07 11:59:20 +10:00
yaapu 67ed957bf0 AP_MSP: removed unused parameters (using OSD_* instead) 2020-09-07 11:59:20 +10:00
Andrew Tridgell 815f813d34 AP_SerialManager: allow for other baudrates for MSP 2020-09-07 11:59:20 +10:00
Andrew Tridgell 7159283e33 AP_MSP: fixed valgrind warning with RTC msg 2020-09-07 11:59:20 +10:00
Pierre Kancir 240c34ecde AP_Math: add missing ; on benchmark test 2020-09-06 19:13:04 +10:00
Andy Piper 5c554221c7 AP_Logger: address review commenst from #14299 2020-09-06 09:12:59 +10:00
bugobliterator 76ee7bec77 AP_CANManager: fix skipping driver init for disabled slcan iface 2020-09-06 07:16:01 +10:00
Andy Piper ccb583d092 AP_Logger: make block logger conform to mavlink expectations of numbering
add support for log time to block logger
refactor rotation into backed. Don't start logs when erasing
correct log start logic
separate read and write points so that requesting log information does not corrupt the current log
when starting a new log stop logging first
clear the write buffer when starting a new log
insert utc time when requesting info for the current log
stop logging and request formats again when starting a new log
cope with erase happening while we are logging
keep pushing out startup messages even when format messages are done
don't log to the gcs in the io thread
don't start new logs in the io thread
don't validate logs while erasing
flush logs when stopping logging
account for page header when calculating logs sizes
don't return data when asked for more data than in the log
optimize locking and use separate semaphore to mediate ring buffer access
stop logging when the chip is full and send a notification
calculate logs sizes correctly even when they wrap
read log data correctly even when it wraps
add stats support to block logger
reset dropped when starting a new log
fail logging when the chip is full
refactor critical bufferspace checks
increase messagewriter budget to 250us and to 300us for FMT
2020-09-05 10:20:39 +10:00
Michael Oborne 4e9848ab3a HAL_ChibiOS: fix sdcard param init
the write was failing because of a 0 byte write attempt, the response was -1 vs 0
this results in not using the sdcard backend for storage for all boots after the initial
2020-09-04 07:13:12 +10:00
murata a44defc49e SITL: Disabling debugging cyclic messages
SITL: Disabling debugging cyclic messages
2020-09-03 11:31:05 +10:00
bugobliterator 27b1ce572e AP_CANManager: fix comms between SLCAN and second CAN Iface 2020-09-03 11:01:26 +10:00
Michael du Breuil d905282c1e AP_HAL: Don't redefine allowing double math in SITL/Linux if already defined 2020-09-03 09:56:29 +10:00
Andrew Tridgell 56b743dfca AP_GPS: build SBF driver with double precision 2020-09-03 09:56:29 +10:00
Michael du Breuil 6a8680d31d AP_GPS: Send RTK baseline data from SBF 2020-09-03 09:56:29 +10:00
Samuel Tabor f1290a2e17 Plane: Add use of airbrakes, used when throttle is negative OR via RC channel option. 2020-09-02 10:10:09 -07:00
Rajat Singhal e9b3c54e6d AP_Rangefinder: Add SITL option in param description 2020-09-02 17:25:43 +10:00
Rajat Singhal 0f66936353 SITL: Airsim: Add support for rangefinder sensor data
Also increase RC channels to 12
2020-09-02 17:25:43 +10:00
Rajat Singhal 6085614364 SITL: Airsim: Resend servo output after timeout
Plus some cleanup
2020-09-02 17:25:43 +10:00
Tatsuya Yamaguchi 829cd29d7c SITL: fix when speedup is specified as a startup parameter 2020-09-02 17:13:22 +10:00
Andy Piper 1f3c24d436 AP_RCProtocol: put back DSM VTX control and logging, add tests 2020-09-02 17:10:59 +10:00
bugobliterator c6e45dd536 AP_Param: add set_and_save_ifchanged for Vector3f params 2020-09-02 17:06:05 +10:00
bugobliterator de6b48f922 AP_Compass: set only if changed to save space in param storage 2020-09-02 17:06:05 +10:00
Andrew Tridgell 3a252a042b HAL_ChibiOS: fixed fast sampling on F32Lightning
this SPI bus on this board can't handle 8MHz
2020-09-02 06:42:44 +10:00
Andrew Tridgell cfc59497f6 AP_InertialSensor: trigger internal error on persistent IMU reset
this will give users a warning when they are getting the Invensense
IMU FIFO reset issue
2020-09-02 06:42:44 +10:00
Andrew Tridgell b20279e452 AP_InternalError: added imu_reset error 2020-09-02 06:42:44 +10:00
Andrew Tridgell 1488142d88 AP_MSP: fixed system ID 2020-09-02 05:56:46 +10:00
Andrew Tridgell f330d5aa77 AP_MSP: run new MSP code through code style script 2020-09-02 05:56:46 +10:00
Andrew Tridgell d8ed210b98 AP_MSP: cleanup namespace handling
using "using namespace MSP" in headers is a bad idea as it spreads to
lots of cpp via includes. It is fine in a cpp file
2020-09-02 05:56:46 +10:00
Andrew Tridgell 3517ab9c45 AP_OpticalFlow: allow separate enable of MSP opticalflow 2020-09-02 05:56:46 +10:00
Andrew Tridgell 34430e9d6c AP_RangeFinder: allow separate enable of MSP rangefinder 2020-09-02 05:56:46 +10:00
Andrew Tridgell 87cf7b58ae AP_MSP: added sample OSD enable params 2020-09-02 05:56:46 +10:00
Andrew Tridgell 5358c1e476 AP_MSP: handle utf-8 in string display 2020-09-02 05:56:46 +10:00
Andrew Tridgell 8ca9af72e0 AP_OSD: prevent startup segfault 2020-09-02 05:56:46 +10:00
Andrew Tridgell 8319b7b6b7 AP_MSP: check for MSP rangefinder enable 2020-09-02 05:56:46 +10:00
Andrew Tridgell 84f7589f2d AP_RangeFinder: allow separate enable of MSP rangefinder 2020-09-02 05:56:46 +10:00
yaapu 4a8290508d AP_MSP:Tools: added more OSD items and messages 2020-09-02 05:56:46 +10:00
yaapu cfc7823af8 AP_MSP: fix missing memset for battery_state struct 2020-09-02 05:56:46 +10:00
Andrew Tridgell 0e55a63be2 AP_OSD: skip backend drawing for boards without font backends
this saves a lot of flash space on boards that want the MSP OSD system
but not the MAX7456 backend
2020-09-02 05:56:46 +10:00
Andrew Tridgell 25746ef27e AP_OSD: avoid building MAX7456 driver without an SPI device for it 2020-09-02 05:56:46 +10:00
Andrew Tridgell 491e82159c HAL_ChibiOS: add HAL_WITH_SPI_xx defines for SPI devices
this allows us to avoid building drivers for SPI devices we don't
have, such as OSD
2020-09-02 05:56:46 +10:00
Andrew Tridgell 17173871a4 AP_RangeFinder: fixed non-MSP build 2020-09-02 05:56:46 +10:00
Andrew Tridgell f3a0ba0138 AP_OpticalFlow: fixed non-MSP build 2020-09-02 05:56:46 +10:00
Andrew Tridgell 27acdf1800 AP_MSP: fixed values for MSP_OSD_NCELLS param docs 2020-09-02 05:56:46 +10:00
Andrew Tridgell d9da06b9e4 AP_MSP: fixed constrains in analog and battery MSP msgs
need to use constrain_int32() for values that give unsigned 16 bit
values
2020-09-02 05:56:46 +10:00
Andrew Tridgell 5dba8ab9c8 AP_MSP: convert more MSP msg parsing to new system 2020-09-02 05:56:46 +10:00
Andrew Tridgell c31bab2a85 AP_MSP: don't send zero length MSP packets 2020-09-02 05:56:46 +10:00
Andrew Tridgell f033aaf5bd AP_MSP: fixed ESC telem data send
only send if we have telemetry data, and ensure data lines up with
motor numbers
2020-09-02 05:56:46 +10:00
Andrew Tridgell 952a3956a9 AP_BLHeli: added have_telem_data() API 2020-09-02 05:56:46 +10:00
Andrew Tridgell 05f4bf0b32 AP_MSP: fixed viewer for py2 and py3 2020-09-02 05:56:46 +10:00
Andrew Tridgell 5a7f81b5c3 AP_MSP: use more compact message format for most messages 2020-09-02 05:56:46 +10:00
Andrew Tridgell 24a6cfe36c AP_MSP: fill in millis for RTC 2020-09-02 05:56:46 +10:00
Andrew Tridgell c4092ca57a AP_MSP: don't send ESC_SENSOR_DATA when not enabled in build 2020-09-02 05:56:46 +10:00
Andrew Tridgell 449883c7f1 AP_MSP: added python MSP FPV viewer 2020-09-02 05:56:46 +10:00
Andrew Tridgell cea2eadd16 AP_MSP: make MSP packing smaller and more efficient
this changes two MSP items (GPS and home pos) to use packed structures
insteaf of individual sbuf writes. This makes for faster and smaller
code
2020-09-02 05:56:46 +10:00
yaapu 6a0531c08a AP_Common: added missing bit set/clear functions 2020-09-02 05:56:46 +10:00
yaapu 9efc4602af AP_BLHeli: integrate MSP protocol with existing blheli inplementation 2020-09-02 05:56:46 +10:00
yaapu 144f7df02f AP_Math: added CRCs needed by AP_MSP 2020-09-02 05:56:46 +10:00
yaapu 7170adf50e AP_OpticalFlow: added support for MSP based flow sensors 2020-09-02 05:56:46 +10:00
yaapu 699ffcbcd2 AP_RangeFinder: added support for MSP based range finders 2020-09-02 05:56:46 +10:00
yaapu b8b285b359 AP_OSD: added support for an MSP based OSD 2020-09-02 05:56:46 +10:00
yaapu 234ed303fe AP_SerialManager: added support for the MSP protocol 2020-09-02 05:56:46 +10:00
yaapu 7f789fb443 AP_Vehicle: added support for the MSP protocol 2020-09-02 05:56:46 +10:00
yaapu 80eca32604 AP_MSP: added Multiwii Serial protocol (MSP) v1 and v2 support 2020-09-02 05:56:46 +10:00
Siddharth Purohit d25908a1c9 AP_HAL_ChibiOS: keep a backup of storage for last 100 boots 2020-09-01 14:31:53 +10:00
Michael du Breuil 6027553b85 AP_SerialManager: Add missing baud rate documentation 2020-09-01 10:42:30 +10:00
ashvath100 9e86355734 AP_Scripting: quadruped.lau fix after review 2020-09-01 09:33:24 +09:00
ashvath100 f344363404 AP_Scripting: quadruped.lua logic test fix 2020-09-01 09:33:24 +09:00
Randy Mackay a4c7aa6386 AP_Scripting: quadruped.lua fixups after peer review
includes these changes:
add header to quadruped.lua example
quadruped.lua loses unnecessary pwm array
minor formatting fix
correct quadruped comments re servo connections
quadruped.lua replaces /2 with x0.5
quadruped.lua loses servo_estimate arguments
2020-09-01 09:33:24 +09:00
Randy Mackay 28026176f6 AP_Scripting: quadruped example formatting fixes 2020-09-01 09:33:24 +09:00
ashvath100 1a6a623295 AP_Scripting: quadruped example script 2020-09-01 09:33:24 +09:00
ashvath100 9ea390e24b SITL: pybullet script for walking robots 2020-09-01 09:33:24 +09:00
Peter Hall d5316edde7 RC_Channel: add roll and pitch input channels 2020-09-01 09:33:24 +09:00
Sharvashish Das 80e2dbc9f2 GCS_Common: send_local_position uses offset from origin 2020-09-01 10:27:18 +10:00
vierfuffzig 56e44c46ca AP_HAL_ChibiOS: disable IMU fast sampling on F35 / WingFC10
fast sampling introduces random IMU glitches, bisect search identifies 9c2caf5b12 
disabling fast sampling fixes IMU back to expected behaviour. see:
https://github.com/ArduPilot/ardupilot/issues/15090
https://discuss.ardupilot.org/t/shaking-horizon-and-jittering-servos/60420
for reference
2020-08-31 19:50:09 +10:00
Peter Barker 9cdda81e9c RC_Channel: correct case in AvoidAPRoximity function string 2020-08-29 09:48:33 +09:00
Andrew Tridgell 30f9fd9d2a GCS_MAVLink: fixed overrun of text passed to other libraries
this caused corruption in log files, and was passing a
non-nul-terminated string to notify and other libraries
2020-08-28 17:35:17 +10:00
Andrew Tridgell b18928e28e SITL: fixed SIM_IMU_COUNT conflict
this came from merging two PRs which both changed SITL params
2020-08-28 11:32:31 +10:00
Andrew Tridgell 458ade86f5 AP_NavEKF3: fixed segfault when IMU mask covers more IMUs than GSF mask 2020-08-28 10:17:00 +10:00
Andrew Tridgell 6ee527d3e0 AP_NavEKF2: fixed segfault when IMU mask covers more IMUs than GSF mask 2020-08-28 10:17:00 +10:00
Andrew Tridgell d5c0522651 AP_InertialSensor: instantiate SIM_IMU_COUNT sensors in SITL 2020-08-28 10:17:00 +10:00
Andrew Tridgell c16467a47f SITL: added SIM_IMU_COUNT 2020-08-28 10:17:00 +10:00
Siddharth Purohit 8373862f39 AP_CANManager: constant slcan via serial manager protocol param 2020-08-28 09:13:23 +10:00
Andrew Tridgell a4e7c72635 AP_AHRS: removed duplicate implementation of airspeed_estimate() 2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla b5b3298f0a AP_AHRS: get airspeed estimate from non-primary instances too
with multiple airspeed sensors and airspeed affinity in EKF3,
it is possible to have switched over to a lane not using the
primary airspeed sensor, so AHRS should know which airspeed
sensor to use, i.e, the one being used by the primary lane.
2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla d7c569c085 AP_Baro: able to freeze baro using SITL parameter 2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla 952c14ed33 AP_HAL_SITL: add GPS Velocity Error through a SITL parameter 2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla 8507c7d3b9 SITL: add some airspeed, baro, gps noise simulation parameters
also some rearrangements in the parameter
lists to make things look better
2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla 09620ee1e7 AP_HAL_SITL: use airspeed noise as pressure noise
this emulates real sensors that have higher airspeed noise at
lower speeds, also change airspeed offset to a sitl parameter
2020-08-27 20:20:51 +10:00
Andrew Tridgell 505953bdb2 AP_Airspeed: added get_num_sensors() 2020-08-27 20:20:51 +10:00
Andrew Tridgell 326ab0d7b8 AP_Baro: added get_primary() method 2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla edc3709653 AP_NavEKF3: implement sensor affinity using EK3_AFFINITY parameter
this allows the EKF core index to be used to select a GPS/baro/mag
instance. This is an alternative to GPS blending that allows EKF lane
switching to be used to select the right combination of GPS and IMU
add logging to XKFS message
2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla 9588a68e1b AP_Logger: added logging of baro, gps, airspeed to XKFS
new XKFS message for "XKF Sensor"
2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla d7edc946b6 AP_NavEKF3: Relative Error based Lane-Switching
Improvments to the lane selection logic, we accumulate error for each
EKF lane relative to the primary for a more robust core selection
2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla 56cbcb42ee AP_NavEKF2: Add core relative error and errorscore logging in NKF3 packet
TODO : Port lane switching logic from EKF3 to make use of these terms
Since both share the same NKF3 log structure, needed to do this.
Just log 0 as of.
2020-08-27 20:20:51 +10:00
Harshit Kumar Sankhla 775a40e4cc AP_Logger: Add RErr and ErSc fields to NKF3 log
RErr (Core Relative Errors) and ErSc (Core Error Scores)
2020-08-27 20:20:51 +10:00
Pierre Kancir af1bdcfdfc AP_Scipting: fix memleak on generator 2020-08-26 17:06:23 +10:00
Rishabh caf5bfed59 AC_Avoid: Added new OA type (Dijkstra + BendyRuler fusion) 2020-08-26 15:43:46 +09:00
Patrick José Pereira 6e24880f87 AP_Common: missing: Add definition for strndupa
`strndupa` is only available when using the GNU GCC suite.
With this definition is possible to use the MUSL compiler.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-25 07:15:00 -07:00
Patrick José Pereira 5746943f50 AP_HAL_Linux: Use pthread_self in place of _ctx
Avoid aproblem where _ctx is initialized in a race condition.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-25 07:15:00 -07:00
Patrick José Pereira 248daa85a1 AP_HAL_Linux: Scheduler: Use pthread_* over sched_* calls for setschedparam
musl implements `sched_*` following the posix standard,
where `sched_setschedule` is used for process scheduling.
Linux implementation defines `sched_*` functions based in
the thread scheduler and not with the process.

Using `pthread_*` should be used to follow such standard.

Ref: https://pubs.opengroup.org/onlinepubs/9699919799/

From: https://www.openwall.com/lists/musl/2016/03/01/5

> ... Linux does not provide a way
> to set scheduling parameters for a _process_, only for threads. The
> sched_setscheduler syscall is documented as taking a pid but actually
> takes a thread id and only operates on that thread. glibc just ignores
> this and provides sched_* functions that do the wrong thing.

This can be fixed by using `pthread_setschedparam` and requesting the current
thread id via `pthread_self`.

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-25 07:15:00 -07:00
Patrick José Pereira 11c19a2dde AP_HAL: RCOutput_Tap_Linux: Include arm/ioctls.h
Add missing include for TCGETS2 while compile with MUSL

Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-25 07:15:00 -07:00
Randy Mackay 46a7e96c48 AP_NavEKF3: readRngBcnData avoids array overflow from beacon count 2020-08-25 09:38:10 +09:00
Randy Mackay b314195f6e AP_NavEKF3: minor spelling fix 2020-08-25 09:38:10 +09:00
Randy Mackay b86e16e927 AP_NavEKF3: readRngBcnData gets minor formatting fix 2020-08-25 09:38:10 +09:00
Randy Mackay 384029d278 AP_NavEKF3: rngBcnDataNew made local 2020-08-25 09:38:10 +09:00
Randy Mackay 8c877f02af AP_NavEKF3: shrink beacon arrays and add assert 2020-08-25 09:38:10 +09:00
Randy Mackay d292ba028a AP_NavEKF3: increase beacon buffer to imu + 1 2020-08-25 09:38:10 +09:00
Randy Mackay ce55af4d95 AP_Beacon: fix sitl position to be NED 2020-08-25 09:38:10 +09:00
Randy Mackay 276e56e618 AP_Beacon: update comments to clarify frame
also minor formatting fix
2020-08-25 09:38:10 +09:00
Peter Barker 716e7622be AP_Logger: log RCIN channels 14 and 15 in RCI2 2020-08-25 10:27:00 +10:00
Andrew Tridgell e5e092d077 AP_AHRS: check EKF status for having horizontal position estimate
this will allow a fixed wing to fall back to DCM if the EKF stops
providing an absolute position while we have 3D GPS lock. The
using_gps flag is not enough, as lagged GPS data can lead to the EKF
stopping fusing when the data is behind the fusion time horizon. In
that case EKF3 gives using_gps=1 but sets horiz_pos_abs=0
2020-08-25 10:22:05 +10:00
Andrew Tridgell 87c7781be2 AP_GPS: show GPS as unhealthy if it is lagged too much
this detects GPS data lag, and if 5 samples in a row are lagged by
more than 50ms beyond the expected lag for the GPS then we declare the
GPS as unhealthy.

This is useful to detect users who have asked for more data from the
GPS then it can send at the baudrate that is being used. The case that
led to this path was a F9 GPS with GPS_RAW_DATA=1 at 115200 baud. In
that case the UART data is quickly lagged by over 1s
2020-08-25 10:22:05 +10:00
Andrew Tridgell 3f630d3d43 HAL_SITL: use GPS accuracy params 2020-08-25 10:22:05 +10:00
Andrew Tridgell 91b4830801 SITL: added SIM_GPS_ACC parameters 2020-08-25 10:22:05 +10:00
Andrew Tridgell 36442dc9b0 HAL_ChibiOS: added Matek CAN GPS
supports GPS, baro, mag and airspeed
2020-08-25 09:59:15 +10:00
Andrew Tridgell 4c4c3d467b HAL_ChibiOS: added f103-Airspeed sensor
for Matek CAN airspeed sensor
2020-08-25 09:59:15 +10:00
Andrew Tridgell a20d3fed94 AP_Airspeed: allow hwdef override of airspeed default type 2020-08-25 09:59:15 +10:00
Andrew Tridgell fdff355a8a AP_IOMCU: fixed handling of RC ignore failsafe option
this allows for ignoring SBUS failsafe on boards using an IOMCU
2020-08-25 09:53:26 +10:00
Siddharth Purohit 5cd6175d94 AP_Compass: fix reordering compass devid by priority at boot 2020-08-25 08:30:04 +10:00
Randy Mackay 886a7d44a7 AP_NavEKF3: allow switch to ExtNav from optflow 2020-08-24 16:52:34 +09:00
Andrew Tridgell 2bac4b1d97 AP_RCProtocol: fixed up DSM decoder test suite
reverted values from new decoder and added another example
2020-08-24 16:32:35 +10:00
Andrew Tridgell 78c4e27259 AP_RCProtocol: reverted DSM protocol decoder
the new decoder done by Andy is much nicer looking code, but fails to
correctly parse several valid DSM setups, and parses both SBUS and
FPort as DSM, breaking setups that were previously working
2020-08-24 16:32:35 +10:00