Commit Graph

23890 Commits

Author SHA1 Message Date
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
Andrew Tridgell 44d5a923cc AP_NavEKF3: 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
Siddharth Purohit 8dcb973dad HAL_ChibiOS: fix SWD config in f3 boards 2020-08-20 19:08:14 +10:00
Randy Mackay eddbf7a755 AP_Scripting: fix get_control_output binding
co-author: @wicked.shell.scripts@gmail.com
2020-08-20 14:09:29 +09:00
Randy Mackay 3638602d38 AP_Scripting: add rover-motor-driver example script 2020-08-20 14:09:29 +09:00
Randy Mackay 39d2079c06 AP_Scripting: add set_angle and set_range bindings 2020-08-20 14:09:29 +09:00
Randy Mackay 94b2381399 AP_Scripting: add set_output_norm binding 2020-08-20 14:09:29 +09:00
ashvath100 a3b435e912 AP_Scripting: add get_control_output binding 2020-08-20 14:09:29 +09:00
Randy Mackay 4a21dbf785 SRV_Channel: default scripting1 to 16 to angle of 4500 2020-08-20 14:09:29 +09:00
Randy Mackay 9f197db93c SRV_Channel: add set_output_norm 2020-08-20 14:09:29 +09:00
Randy Mackay 00757fb77f SRV_Channel: fix get_output_norm comment
also minor formatting fix
2020-08-20 14:09:29 +09:00
ashvath100 df42618e0e AP_Vehicle: add get_control_outputs() for lua motor drivers 2020-08-20 14:09:29 +09:00
Siddharth Purohit c8c913e203 AP_UAVCAN: fix UAVCAN sniffer example 2020-08-20 07:44:53 +10:00
Siddharth Purohit 9b11ae0d2a AP_KDECAN: remove KDECAN example KDECAN test is moved to CANTester 2020-08-20 07:44:53 +10:00
Siddharth Purohit 8a0d98967f AP_CANManager: panic if can manager is used before allocation 2020-08-20 07:44:53 +10:00
Siddharth Purohit 23d9be3499 AP_UAVCAN: disable build for UAVCAN test 2020-08-19 19:00:42 +10:00
Siddharth Purohit dc708dc3bd AP_KDECAN: remove build for KDECAN test 2020-08-19 19:00:42 +10:00
Siddharth Purohit 8b74f94a7a SRV_Channels: use AP_CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit 42f5f986d8 GCS_MAVLink: use AP_CANManager library
also add support for handling enumeration cmd by KDETest
2020-08-19 17:31:09 +10:00
Siddharth Purohit e473eed368 AP_UAVCAN: ignore first alloc messages while waiting for followup 2020-08-19 17:31:09 +10:00
Siddharth Purohit bb460647a5 AP_Vehicle: use new CANIface drivers and CANManager 2020-08-19 17:31:09 +10:00
Siddharth Purohit 07b4708a36 AP_UAVCAN: move all uavcan related methods to AP_UAVCAN 2020-08-19 17:31:09 +10:00
Siddharth Purohit 65ea8e1f13 AP_ToshibaCAN: use new CANIface drivers and CANManager
also had to add a work-around for issue with constexpr in gnu++11 build under sitl
2020-08-19 17:31:09 +10:00
Siddharth Purohit 6ef85dd7eb AP_RangeFinder: use AP_CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit 0fcf0b4564 AP_PiccoloCAN: modify to use uavcan agnostic CAN drivers and manager 2020-08-19 17:31:09 +10:00
Siddharth Purohit 8a31448709 AP_OpticalFlow: move to using CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit 81c7099848 AP_Notify: move to using CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit e1203a1d52 AP_KDECAN: move to using uavcan agnostic drivers 2020-08-19 17:31:09 +10:00
Siddharth Purohit f0e6a8c535 HAL_SITL: add methods to fetch native system clock info 2020-08-19 17:31:09 +10:00
Siddharth Purohit c17aec07a2 HAL_SITL: add SocketCAN Iface driver over virtual CAN 2020-08-19 17:31:09 +10:00
Siddharth Purohit 0e923fe061 HAL_Linux: add methods for native clock info methods 2020-08-19 17:31:09 +10:00
Siddharth Purohit 7de444ec53 HAL_Linux: add uavcan agnostic CANSocket Iface Driver 2020-08-19 17:31:09 +10:00
Siddharth Purohit 7929efec0d HAL_ChibiOS: add EventSource HAL 2020-08-19 17:31:09 +10:00
Siddharth Purohit 265e9b8cc6 HAL_ChibiOS: add native time info methods 2020-08-19 17:31:09 +10:00
Siddharth Purohit a7d641c705 AP_HAL_ChibiOS: add available method for locked state 2020-08-19 17:31:09 +10:00
Siddharth Purohit cdf8e369f1 AP_HAL_ChibiOS: create UAVCAN agnostic CANIface driver
HAL_ChibiOS
2020-08-19 17:31:09 +10:00
Siddharth Purohit 15abca8ba4 AP_HAL: add native clock info methods used inside other than main thread 2020-08-19 17:31:09 +10:00
Siddharth Purohit aa893b3983 AP_HAL: add available method for locked state 2020-08-19 17:31:09 +10:00
Siddharth Purohit fa0f1e4c71 AP_HAL: add CANIface HAL, replace uavcan dependent one 2020-08-19 17:31:09 +10:00
Siddharth Purohit 697e4141cb AP_HAL: add common Event interface 2020-08-19 17:31:09 +10:00
Siddharth Purohit 0690b7bd68 AP_GPS: move to using CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit 20edecc340 AP_Filesystem: publish can info over FS Sys iface 2020-08-19 17:31:09 +10:00
Siddharth Purohit e9430d7f80 AP_ESC_Telem: move to using CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit bf1a7799f8 AP_Compass: move to using CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit ad2a63e173 AP_BoardConfig: remove CAN management from BoardConfig 2020-08-19 17:31:09 +10:00
Siddharth Purohit 9820ea9023 AP_BattMonitor: move to using CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit dc02322017 AP_Baro: move to using CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit 0fa6e2bbcc AP_Arming: move to using CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit d65b43795a AP_Airspeed: move to using CANManager library 2020-08-19 17:31:09 +10:00
Siddharth Purohit 979b0b82d0 AP_CANManager: add CANManager library 2020-08-19 17:31:09 +10:00
Samuel Tabor 18b33a439d AP_Soaring: Allow continued thermalling in manual mode changes RC switch position. 2020-08-19 13:38:56 +10:00
Peter Barker 36e6ce6e5e AP_Avoidance: use an enumeration for the AP_Avoidance recovery action 2020-08-19 11:38:19 +10:00
Peter Barker 945d19a9c5 AP_Proximity: resolve ambiguity about which distance is in which sector 2020-08-17 11:20:12 +10:00
Peter Barker 574f3a30f9 AP_Proximity: correct output of DISTANCE_SENSOR message 2020-08-17 11:20:12 +10:00
Andrew Tridgell 822d3b2a3a AP_Scripting: added get_accel AHRS method
complements get_gyro() method
2020-08-16 08:55:27 -07:00
Andrew Tridgell 3f69f97d60 AP_AHRS: added get_accel() for lua access 2020-08-16 08:55:27 -07:00
Peter Barker e55057ad5d AP_AHRS_DCM: limit measured airspeed according to WIND_MAX 2020-08-15 18:14:05 +10:00
Michael du Breuil 08d4e1c062 AP_GPS: Support configuring the SBF com port 2020-08-13 15:04:38 +10:00
Mark Whitehorn 7d67151c87 RC_Channel: update Plane RC_Option metadata 2020-08-13 08:47:27 +10:00
chobits c722367c6c AP_NavEKF3: move extNavVelNew to local variable 2020-08-12 15:40:38 +09:00
Josh Welsh eb4b5fb720 AP_Airspeed: Add additional DLVR support 20inH2O 30inH2O 60inH2O 2020-08-12 08:02:49 +10:00
Peter Barker 0e284b95b0 GCS_MAVLink: move battery type enumeration out of parameters object 2020-08-11 13:21:52 +10:00
Peter Barker 26666b4b3d AP_HAL: move battery type enumeration out of parameters object 2020-08-11 13:21:52 +10:00
Peter Barker 2e3ba2a4d2 AP_BattMonitor: move battery type enumeration out of parameters object 2020-08-11 13:21:52 +10:00
Peter Barker 65834234af AP_HAL_SITL: correct use of uninitialised value in tcp UARTDriver
In the case we already have a _listen_fd, sockaddr wasn't being
initialised before being printed to stdout.
2020-08-11 10:07:52 +10:00
Michael du Breuil 6dc77c97ce GCS_MAVLink: Remove redundant check for private channels
We can't learn the route for sending to a private channel, so we
shouldn't need to actually check it when iterating the routes.
2020-08-11 09:49:42 +10:00
Peter Barker b3d755d018 AP_HAL_SITL: correct loop counter type 2020-08-11 09:19:14 +10:00
Randy Mackay 4009f1583f AP_Param: show_all compiler error fix 2020-08-10 19:26:20 +10:00
Randy Mackay a66893a295 AP_Param: minor spelling fix 2020-08-10 19:26:20 +10:00
chobits 7ad9e3548f AP_NavEKF3: make reset source variable local 2020-08-10 09:43:28 +09:00
Randy Mackay 8629923783 AP_Motors: minor whitespace fix 2020-08-10 09:33:43 +09:00
Josh Welsh e77bc1ce9d AP_Motors: Tradheli servo_test fix 2020-08-10 09:16:44 +09:00
Isaac Ault e74acba4ec AP_HAL_Linux: Allow for parameters to be passed with -G, -H
All other work has been previously implemented, however when fetching
params these values were ignored.
2020-08-10 10:03:12 +10:00
Alexey Bulatov 7baafcd63d AP_Notify: set led_off instead 0
Led off value can be differ from 0 if indication is
inverted.
2020-08-09 13:58:27 +10:00
Iampete1 997ffcf30d AP_GPS: NMEA: only decode each measage once 2020-08-09 11:37:16 +10:00
Patrick José Pereira e1b6ef3e14 AP_BARO: Fix zero as nullptr in KellerLD
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-08-09 10:12:16 +10:00
mhefny e137698a4a AP_HAL_Linux: Fix RCInput_RPI Segmentation Fault 2020-08-08 10:01:57 -07:00
Tsuyoshi Kawamura 67ad05609f AP_Scripting: add proximity bindings 2020-08-07 17:32:16 -07:00
Tsuyoshi Kawamura e2eed88ca3 AP_Scripting: add rangefinder bindings 2020-08-07 17:32:16 -07:00
Randy Mackay b66eaa0d53 AP_Winch: fix type parameter description 2020-08-07 21:55:07 +09:00
Randy Mackay 6bc2bea329 AP_Winch: rename Servo to PWM 2020-08-07 21:55:07 +09:00
Randy Mackay b84423c110 AP_Winch_Daiwa: fixes from peer review
simplify constructor
init calls backend init
fixup parsing to remove unnecessary INT32_MAX/MIN check
fixup comments
2020-08-07 21:55:07 +09:00
Randy Mackay a6c8bb06ff AP_Winch: fixes from peer review
removed init method
constify now_ms
fixed release_length method comment
fixup sprintf
2020-08-07 21:55:07 +09:00
Randy Mackay f7ec08ff18 AP_Logger: add Write_Winch 2020-08-07 21:55:07 +09:00
Randy Mackay 5d99ce9a84 AP_Logger: remove winch events 2020-08-07 21:55:07 +09:00
Randy Mackay 1fbc7b99da AP_Mission: add CMD_DO_WINCH string
This is used to send a text message to the GCS as the command starts
2020-08-07 21:55:07 +09:00
Randy Mackay b0eb375920 AP_Winch: add daiwa driver 2020-08-07 21:55:07 +09:00
Randy Mackay 738480884d AP_Winch: rewrite driver
includes the following changes
move WINCH_ENABLED to library
add singleton
add pre_arm_check
backend gets init_input_and_output and read_pilot_desired_rate
remove use of wheel encoder
rename servo-with-encoder to just servo
add write_log
rename control_mode
add rc input processing
add acceleration limiting
2020-08-07 21:55:07 +09:00
Randy Mackay feb852a9fc AP_Winch: minor formatting fix 2020-08-07 21:55:07 +09:00
Randy Mackay 36b25973d9 AP_SerialManager: add winch protocol to enum and param desc 2020-08-07 21:55:07 +09:00
Randy Mackay 615d3e6205 SRV_Channel: add winch_clutch function 2020-08-07 21:55:07 +09:00
Randy Mackay 1a3ef62b84 GCS_MAVLink: add virtual send_winch_status 2020-08-07 21:55:07 +09:00
Peter Barker 6961f42685 AP_SerialManager: document new don't-forward-mavlink bit 2020-08-07 22:16:46 +10:00
Peter Barker 6b701ae3b3 AP_NavEKF3: correct includes 2020-08-07 19:20:07 +10:00
Peter Barker 032b7c81e5 AP_NavEKF2: correct includes 2020-08-07 19:20:07 +10:00
Peter Barker 37340b846d AP_AHRS: correct includes 2020-08-07 19:20:07 +10:00
Peter Barker 5c4c7b5fd4 AP_Terrain: fix snprintf-overflow compilation error
[451/678] Compiling libraries/AP_Terrain/TerrainIO.cpp
../../libraries/AP_Terrain/TerrainIO.cpp: In member function ‘void AP_Terrain::open_file()’:
../../libraries/AP_Terrain/TerrainIO.cpp:167:35: error: ‘.DAT’ directive output may be truncated writing 4 bytes into a region of size between 2 and 5 [-Werror=format-truncation=]
  167 |     snprintf(p, 13, "/%c%02u%c%03u.DAT",
      |                                   ^~~~
compilation terminated due to -Wfatal-errors.
2020-08-07 12:36:12 +10:00
Peter Barker 4527321035 AP_InternalError: remove leading comma in descriptive string
"i" just looks so likely....
2020-08-07 10:58:00 +10:00
Randy Mackay 89a4f83527 AR_WPNav: minor param description typo fix 2020-08-07 08:30:03 +09:00
Randy Mackay 551f7d66c1 AR_WPNav: update crosstrack error during pivot turns 2020-08-07 08:30:03 +09:00
Randy Mackay da746d6e8c AR_WPNav: pivot only when destination set
this avoids unhelpful pivots as the vehicle reaches the waypoint when WP_RADIUS is very small
2020-08-07 08:30:03 +09:00
Andy Piper 4535e749e1 AP_RCTelemetry: move CRSF link statistics definition to AP_RCProtocol
correctly calculate attitude
fix GPS alt message  - expects alt in m + 1000,  0 - 5000 m - from vierfuffzig <tunella@gmx.de>
fix used battery capacity - from vierfuffzig <tunella@gmx.de>
2020-08-06 18:24:46 +10:00
Andy Piper ce970dcf75 AP_RCProtocol: process CRSF link statistics frames to get RSSI 2020-08-06 18:24:46 +10:00
Peter Barker 53553c7c71 AC_Fence: remove dead and misleading assignment
This is never used again.  Presumably this was factored out of something
else where it might have mattered.
2020-08-06 17:02:12 +10:00
Siddharth Purohit 1a08252504 GCS_MAVLink: add support for bank selection on SPI DEVICE_OPs 2020-08-06 12:41:35 +10:00
Siddharth Purohit 3ddd1d484a AP_HAL_ChibiOS: add support for bank selection call outside SPI driver 2020-08-06 12:41:35 +10:00
bugobliterator 4cdb4b74f3 AP_InertialSensor: add support for checked register in Invensensev2 Drvr 2020-08-06 12:41:35 +10:00
bugobliterator 57dd0ca9ea AP_HAL: add support for Bank based addressing 2020-08-06 12:41:35 +10:00
elhayra fe7e243b01 AP_UAVCAN: sending UAVCAN MAVlink ESC messages 2020-08-06 09:28:35 +10:00
elhayra 9b3a574775 GCS_MAVLink: sending UAVCAN MAVlink ESC messages 2020-08-06 09:28:35 +10:00
Iampete1 a1eb284349 AP_HAL_SITL: populate first rangefinder distance if unused 2020-08-05 18:24:36 +10:00
Iampete1 123d7e4683 SITL: examples: update JSON readme 2020-08-05 18:24:36 +10:00
Iampete1 bdec15f708 SITL: JSON add rangefinder support 2020-08-05 18:24:36 +10:00
Iampete1 537eec9091 SITL: add rangefinder support 2020-08-05 18:24:36 +10:00
Iampete1 16a9506cf2 SITL: SIM_Aircraft: add rangefinder array 2020-08-05 18:24:36 +10:00
Iampete1 e18c195df4 AP_RangeFinder: add SITL backend 2020-08-05 18:24:36 +10:00
Peter Barker d508ca1bbb SRV_Channel: rename k_richenpower_control to k_generator_control 2020-08-05 16:26:19 +09:00
Peter Barker 38f4de9aac AP_Vehicle: move generator to before scheduler and parameter objects 2020-08-05 16:26:19 +09:00
Peter Barker 2f36336627 AP_SerialManager: add CrossFire and Generator to serial protocol descriptions 2020-08-05 16:26:19 +09:00
Peter Barker 34be953085 AP_Vehicle: add is_crashed method to AP_Vehicle 2020-08-05 16:26:19 +09:00
Peter Barker 6ab9089fff AP_Arming: add accessor to retrieve last disarm method 2020-08-05 16:26:19 +09:00
Peter Barker 68b6b77a22 SITL: correct simulation of RichenPower generator 2020-08-05 16:26:19 +09:00
Peter Barker c8a368d896 AP_Generator: update prearm checks, fill new GENERATOR_STATUS fields
AP_Generator_Richenpower: only update servo channel while disarmed

AP_Generator_Richenpower: move warning for servo output channel to prearm checks

AP_Generator: state is simply off if RPM is zero

AP_Generator: send runtime and seconds-until-maintenance in GENERATOR_STATUS

AP_Generator_RichenPower: correct runtime seconds/minutes position in packets

AP_Generator_RichenPower: correct and expand use of mode packet entry

AP_Generator_RichenPower: fail prearm check if generator not seen

AP_Generator_RichenPower: make prearm check for needing maintenance  warn-only

AP_Generator_RichenPower: rename runstate to pilot_desired_runstate

AP_Generator_RichenPower: tweak decoding of time-to-maintenance

AP_Generator: add hysteresis for warmup/cooldown in IDLE

AP_Generator: stop generator in case of vehicle crash

AP_Generator: generator must go through idle from run to stop

AP_Generator: emit statustext when generator configured but not present

AP_Generator: do not log if LOG_BITMASK is zero

AP_Generator: do not warn user if generator configured but not present

They won't be able to start the generator if we can't see it.

Don't update the runstate if no readings seen.

AP_Generator: do not send generator status if no readings seen
2020-08-05 16:26:19 +09:00
Andy Piper d545f392fb AP_HAL: set base type of FrequencyPeak to uint8_t 2020-08-05 17:20:03 +10:00
Andy Piper 9013432d27 AP_GyroFFT: slew FFT frequency output 2020-08-05 17:20:03 +10:00
Rishabh 0b112981f9 AC_Avoid: Back away if vehicle breaches margin to obstacle/fence 2020-08-05 15:37:04 +09:00
Rishabh 85692312ac AC_Fence: Add Pre-Arm check for margin < radius 2020-08-05 15:37:04 +09:00
Rishabh 251ebf9286 AP_Logger: Log Simple Avoidance 2020-08-05 15:37:04 +09:00
Peter Barker 4e12f16608 AP_AHRS: provide accessor for synthetic airspeed 2020-08-04 23:12:03 +10:00
Peter Barker b5050c1e11 SITL: add simulated MaxSonarI2CXL i2c sensor 2020-08-04 21:40:21 +10:00
Peter Barker 80d7a4ee5e SITL: simulated i2c support 2020-08-04 21:40:21 +10:00
Peter Barker 2319638dd2 AP_HAL_SITL: simulated i2c support 2020-08-04 21:40:21 +10:00
Peter Barker 0303c5c4a8 SITL: move calculation of simulated rangefinder range to inside SIM_Aircraft
this will allow us to use the for non-serial rangefinder backends
2020-08-04 21:40:21 +10:00
Peter Barker 2b69b7ba6a AP_HAL_SITL: move calculation of simulated rangefinder range to inside SIM_Aircraft
this will allow us to use the for non-serial rangefinder backends
2020-08-04 21:40:21 +10:00
chobits 4b8be2e535 AP_NavEKF3: fix comments 2020-08-04 18:16:18 +10:00
Mark Whitehorn 1c60a3eb4c RC_Channel: default throttle pre-arm check to enabled 2020-08-04 10:26:45 +10:00
Mark Whitehorn 58463e67c5 AP_Arming: default throttle pre-arm check to enabled 2020-08-04 10:26:45 +10:00
Peter Barker ad435dcdbb AP_AHRS: remove unused base-class airspeed_estimate method 2020-08-04 10:08:22 +10:00
Andrew Tridgell 676c36bad4 RC_Channel: fixed use of radio_in out of range for angle inputs
this prevents mis-calculation of the angle when RC input goes outside
of the configured range. This impacted on throttle nudge in plane when
reverse thrust was enabled

thanks to Pompecukor for reporting!
2020-08-04 09:33:19 +10:00
Andy Piper e53a43461b AP_InertialSensor: remove ICM gyro pre-filter 2020-08-04 09:24:16 +10:00
Andy Piper baf92a17f9 AP_HAL_ChibiOS: disable AP_Mount on "mini" boards 2020-08-04 09:18:14 +10:00
Andy Piper cd60238e3d AP_Camera: make solo gimbal inclusion configurable per-board 2020-08-04 09:18:14 +10:00
Andy Piper e91ae19544 GCS_MAVLink: make mount/gimbal configurable on a per-board basis 2020-08-04 09:18:14 +10:00
Andy Piper f7f5880179 AP_Mount: make mount/gimbal inclusion configurable per-board and disable Solo gimbal on all 1MB boards 2020-08-04 09:18:14 +10:00