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