Commit Graph

23933 Commits

Author SHA1 Message Date
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
Andrew Tridgell 6e1aeb905f AP_RCProtocol: added another DSM satellite protocol 2020-08-24 16:32:35 +10:00
Andrew Tridgell 1560c33418 AP_RCProtocol: fixed support for spektrum satellite receivers
this was broken by the recent DSM protocol decoder change
2020-08-24 16:32:35 +10:00
Andrew Tridgell 2779b26e6e AP_RCProtocol: fixed the "3 good frames" test
require 3 consecutive good frames, not 3 frames total, to declare the
weak protocols as detected
2020-08-24 16:32:35 +10:00
Andrew Tridgell 380e9d3075 AP_RCProtocol: greatly increase robustness of DSM decoding
this prevents other protocols being decoded as DSM
2020-08-24 16:32:35 +10:00
Andrew Tridgell 017f005737 AP_IOMCU: pass supported RC protocols to IOMCU 2020-08-24 16:32:35 +10:00
Andrew Tridgell 959e3da406 RC_Channel: added RC_PROTOCOLS mask
allows selection of supported protocols
2020-08-24 16:32:35 +10:00
Andrew Tridgell e0ec46f06d AP_RCProtocol: support a mask of enabled RC protocols 2020-08-24 16:32:35 +10:00
Rishabh db57e0831b AC_WPNav: Navigation based on type of BendyRuler 2020-08-24 08:53:20 +09:00
Rishabh ad3a7e4d49 AP_Logger: Update logs based on new BendyRuler type 2020-08-24 08:53:20 +09:00
Rishabh b62455fd3f AC_Avoid: Extend BendyRuler to search for paths up and down 2020-08-24 08:53:20 +09:00
Rishabh 55923d8b7b AP_Common: Add new method to extrapolate location from bearing and pitch 2020-08-24 08:53:20 +09:00
Rishabh 79a4b8fa32 AC_Avoid: Add feature to reject obstacles near home loc 2020-08-24 08:49:17 +09:00
bugobliterator 5eb0e0a718 AP_HAL_ChibiOS: fix name for RX Queue size define 2020-08-24 06:48:56 +10:00
bugobliterator 4bd0e2f394 AP_CANManager: fix name for RX Queue size define 2020-08-24 06:48:56 +10:00
Peter Barker be2d03b02a AP_HAL_SITL: periodically warn about failure to open real UART device 2020-08-21 21:25:59 +10:00
Randy Mackay 6bf2057712 AP_NavEKF3: minor formatting fixes 2020-08-21 13:18:58 +09:00
Randy Mackay 4c40d2ac3f AP_NavEKF3: readyToUseBodyOdm uses delayed imu and wheel encoder timestamps 2020-08-21 13:18:58 +09:00
Randy Mackay 056a2de260 AP_NavEKF3: wheelOdmDataNew member made local
this variable is never used outside the writeWheelOdom method
2020-08-21 13:18:58 +09:00
Randy Mackay 3d5161f364 AP_NavEKF3: remove unused usingWheelSensors variable
This variable was set but never consumed
2020-08-21 13:18:58 +09:00
Randy Mackay c4b7a1c41a AP_NavEKF3: flowDataToFuse moved to local variable
This variable is never used outside the SelectFlowFusion() method
This variable is always updated at the top of the function meaning subsequent calls to the function will always overwrite its previous value
2020-08-21 13:12:10 +09:00
Randy Mackay 41acf555bf AP_NavEKF3: fix skipping of optflow fusion if mag fusion performed 2020-08-21 13:12:10 +09:00
Andrew Tridgell 83e5639225 AP_NavEKF2: apply min GPS accuracy at measurement point
this fixes an issue a RTK GPS gives 1cm horizontal and vertical
accuracy and that causes the variances to get too small
2020-08-21 07:40:13 +10:00