Commit Graph

21084 Commits

Author SHA1 Message Date
Randy Mackay 88761e59f0 AP_Compass: LEARN param default to 0 for all vehicles 2019-12-09 13:18:01 +11:00
Andrew Tridgell 1afd603fa8 AP_Compass: don't show too many params when max compasses 1 2019-12-09 13:18:01 +11:00
Andrew Tridgell 2d25adca33 HAL_ChibiOS: fixed build of sparky2
running out of flash
2019-12-09 13:18:01 +11:00
Andrew Tridgell 9f76d2cf50 AP_BLHeli: fixed critical errors caused by BLHeli code 2019-12-09 13:18:01 +11:00
Andrew Tridgell 1fa764c915 HAL_ChibiOS: update mRoX21-777 I2C mask
all external
2019-12-09 12:58:55 +11:00
Phillip Kocmoud 0fffc77dae HAL_ChibiOS: update mRoControlZeroF7 I2C mask 2019-12-09 12:58:52 +11:00
Andrew Tridgell 59b576ebf3 AP_BattMonitor: added Durandal selection for batt mon pins 2019-12-09 12:57:44 +11:00
Andrew Tridgell 5fe0cd16ab HAL_ChibiOS: enable MatekF765 LED pin
- use tonealarm for buzzer
 - add more baro options
2019-12-09 12:56:40 +11:00
yaapu 4bf6f4c297 Ap_Frsky_Telem: replaced the passthrough scheduler with a WFQ one.
This replaces the default scheduler with a WFQ one
2019-12-09 12:56:13 +11:00
vierfuffzig 91c77e6df4 AP_BLHeli: fix eRPM conversion 2019-12-09 12:55:37 +11:00
Andy Piper 00406180c4 AP_HAL_ChibiOS: specify Durdanal IMUs so that ordering is correct 2019-12-09 12:54:14 +11:00
Henry Wurzburg 4d4b4d46a2 HWDEF: Speedybeef4 change I2C internal mask to 0 to allow probing ext baros 2019-12-09 12:54:06 +11:00
Andrew Tridgell 3a1b24c9bb HAL_ChibiOS: fixed handling of 16bit timer wrap
this fixes #12948
2019-12-09 12:45:20 +11:00
Andrew Tridgell 6f9abb8a4b HAL_ChibiOS: added assert for systime_t size 2019-12-09 12:45:09 +11:00
Andrew Tridgell 9a978c1eef AP_Airspeed: switched to recursive semaphore
this is needed by the SDP3X driver. It is the simplest fix for the
issue
2019-11-20 07:35:07 +11:00
Andrew Tridgell 99932a3319 AP_GPS: fixed cast for comparison with txspace 2019-11-19 07:49:55 +11:00
Andrew Tridgell c8f6697859 AP_TECS: removed TECS_LAND_PMIN
thanks to TunaLobster for pointing out that it is redundent
2019-11-19 07:47:33 +11:00
Andrew Tridgell 9035195fca AP_UAVCAN: support RTCMStream for RTCM injection 2019-11-17 11:58:52 +11:00
Andrew Tridgell 0080f3c011 AP_GPS: fixed sizes of config items 2019-11-17 11:57:51 +11:00
Michael du Breuil ea337209e6 AP_GPS: UBlox: Fix the assumption that all keys are 1 byte keys 2019-11-17 11:57:48 +11:00
Michael du Breuil 62f69cf92f AP_GPS: UBlox fix not listing the time mode as a configuration reason 2019-11-17 11:57:45 +11:00
Andrew Tridgell 3b75b4e5ad AP_GPS: fixed TMODE config issue on non-F9 GPS
thanks to Michel Pastor for reporting this
2019-11-17 11:57:39 +11:00
Andrew Tridgell 58b0f4acf6 AP_GPS: added automatic config of TMODE on F9
the Drotek F9 GPS ships with TMODE enabled, which means we don't get a
3D fix.

This also adds the VALGET/VALSET msgs we will need for automatic
moving baseline config
2019-11-17 11:56:53 +11:00
Andrew Tridgell 76f4420710 AP_GPS: support Fix2 message for UAVCAN
this allows for RTK fix levels
2019-11-17 11:56:11 +11:00
Andrew Tridgell 022dbb2e30 AP_GPS: support RTCMStream for RTCM injection on UAVCAN 2019-11-17 11:55:44 +11:00
Andrew Tridgell 6eb4ccd428 HAL_ChibiOS: retain OPENDRAIN if set on a pin
this allows OPENDRAIN when set on a pin to be retained when set with a
pinMode(). This fixes a partially lit B/E LED on the Pixhawk4
2019-11-17 11:45:55 +11:00
vierfuffzig 1821fc9594 AP_RTC: add local time support 2019-11-17 11:40:29 +11:00
Andrew Tridgell d3d4dff9ba AP_OSD: add clock panel 2019-11-17 11:36:07 +11:00
Andrew Tridgell c3bc1e3dd4 AP_Baro: added register checking and reset to DPS280 driver
this is to fix an issue found on a mRoControlZeroF7
2019-11-17 11:29:53 +11:00
Michael du Breuil a9fabdb278 AP_Logger: Fix logging of current on non primary instances 2019-11-17 11:29:38 +11:00
Andrew Tridgell 752c2872f9 RC_Channel: added RC option for new takeoff mode 2019-11-17 11:29:13 +11:00
Andrew Tridgell df5e154144 AP_RangeFinder: fixed failover between rangefinders
this fixes the case where we have one rangefinder that can handle
short range and another that is good for long range but no good for
short range (quite common, eg radar and lidar)

If possible we want to use the first rangefinder that is in range for
the right orientation. If none are in range then use the first for the
orientation
2019-11-17 11:27:13 +11:00
Andrew Tridgell b19ad689a6 AP_GPS: fixed GPS to UART mapping
this allows for first GPS as UAVCAN and 2nd as UART. That is not
possible currently unless you waste a uart
2019-11-17 11:26:44 +11:00
Andrew Tridgell a5e79f4231 AP_TECS: added TECS_LAND_PMIN for min pitch in flare
this is useful to narrow the range of available pitch after flare
2019-11-17 11:26:07 +11:00
Peter Barker fffed10692 GCS_MAVLink: check reply channel for space rather than current channel 2019-11-02 14:08:47 +11:00
Andrew Tridgell 65c3d4ff20 HAL_ChibiOS: enable advanced timers if we have any N PWM channels 2019-11-02 13:46:43 +11:00
Andrew Tridgell 88e78afb19 HAL_ChibiOS: fixed SPI timeout bug
thanks to CUAV for noticing
2019-11-01 21:54:43 +11:00
Andrew Tridgell 3c1a362d90 GCS_MAVLink: fixed uninitialised bytes in send_named_float()
this fixes an issue with mavproxy with python3
2019-10-17 11:52:53 +11:00
liang 194ea66912 AP_Airspeed: protect sample timestamp while get data 2019-10-15 21:12:15 +11:00
Andrew Tridgell 6ebb9ad84a AP_HAL: enabled SLCAN on fmuv2 and Pixhawk1-1M
this fits for now, and is needed for CAN GPS for now
2019-10-07 21:14:24 +11:00
Andrew Tridgell 42c4b41bf6 AP_UAVCAN: cleanup ifdefs for SLCAN enable 2019-10-07 21:14:24 +11:00
Andrew Tridgell 83bacfa89c AP_HAL: cleanup ifdefs for SLCAN enable 2019-10-07 21:14:24 +11:00
Andrew Tridgell 0eb9a58f17 AP_HAL_ChibiOS: cleanup ifdefs for SLCAN enable 2019-10-07 21:14:24 +11:00
Andrew Tridgell 53e03816c0 AP_BoardConfig: cleanup ifdefs for SLCAN enable 2019-10-07 21:14:24 +11:00
Andrew Tridgell a452f8e4ed switch optimisation to O2
on average makes for faster and smaller code than O3
2019-10-06 10:58:07 +11:00
Andrew Tridgell ee25d05f3c AP_Math: make fill_nanf() use a signalling NaN
we want use of these values to trigger a FPE
2019-10-06 10:58:07 +11:00
Andrew Tridgell 43df0022e1 use common variables for EKF 2019-10-06 10:58:07 +11:00
Andrew Tridgell 9ad9fe42bc AP_NavEKF2: use parent class for intermediate static variables
this makes the code faster as well as using less memory when both EK2
and EK3 are enabled
2019-10-06 10:58:07 +11:00
Andrew Tridgell 46628b4401 AP_NavEKF2: make it easy to do EK2 timing tests
for future benchmarking
2019-10-06 10:58:07 +11:00
Andrew Tridgell cd9c9e0809 AP_NavEKF: fixed build with vector index checking 2019-10-06 10:58:07 +11:00
Andrew Tridgell 156a64aca0 AP_NavEKF: added a common parent class for EKF2 and EKF3 core classes
this provides a common location for static intermediate variables in
EK2 and EK3. This has a few benefits:

 - the compiler can determine the address of the frequently accessed
   variables at compile time, making them faster

 - by sharing between EK2 and EK3 we save a lot of memory if both EK2
   and EK3 are enabled

 - we can fill all these with NaN in SITL on every loop, which allows
   us to catch cases where the variables are ever re-used between
   loops, which guarantees we aren't mixing data between EKF lanes or
   between EK2 and EK3
2019-10-06 10:58:07 +11:00
Michel Pastor eb24e12666 AP_Logger: fix logging on 256Mbit flash chips 2019-10-06 10:58:07 +11:00
Michel Pastor d7033dbf0d AP_Logger: fix AP_Logger_Block::get_num_logs() 2019-10-06 10:58:07 +11:00
Andrew Tridgell 0ec6210184 HAL_ChibiOS: removed wait on CAN peripheral in H7
these wait busy loops can take a very long time, and end up causing
interrupts to be lost elsewhere in the system, causing lost bytes on
UARTs

We should not have while loops waiting on peripharals like this. If we
do need to wait for a flag to clear then it needs to be done in a low
priority thread, or we need to check for completion in a timer

CAN still seems to work with this change, but needs flight testing
2019-10-06 10:58:07 +11:00
Andrew Tridgell d017a9a60d AP_Logger: fixed LOG_FILE_DSRMROT with delayed log stop
now that we persist logging for 15s after disarm we need to also delay
the log rotation if LOG_FILE_DSRMROT=1. Otherwise we will put the log
data into the next log, which defeats the purpose of the 15s
persistance
2019-10-06 10:58:07 +11:00
Andrew Tridgell 5a25d5c42d AP_Proximity: fixed incorrect use of fabs() 2019-10-06 10:58:07 +11:00
vierfuffzig 0b1cbc7bde AP_AHRS: fix custom orientation ToRad conversion 2019-10-06 10:58:07 +11:00
Andrew Tridgell df86990c96 GCS_MAVLink: use HAL_MEM_CLASS for status sizes 2019-10-06 10:58:07 +11:00
Andrew Tridgell 6cd6b37826 AP_Logger: use HAL_MEM_CLASS for logging buffer size 2019-10-06 10:58:07 +11:00
Andrew Tridgell 609a2d95f8 AP_Logger: try harder to use close to user buffer size
this stops us drastically reducing buffer size when low on memory
2019-10-06 10:58:07 +11:00
Andrew Tridgell 3105255080 AP_HAL: added HAL_MEM_CLASS for amount of memory 2019-10-06 10:58:07 +11:00
Andrew Tridgell b8a77890b6 HAL_ChibiOS: generate HAL_MEMORY_TOTAL_KB for each board 2019-10-06 10:58:07 +11:00
Andrew Tridgell bd95331068 HAL_ChibiOS: added Pixhawk1-1M
this is for 1M versions of the Pixhawk1. It is smaller than fmuv2 as
it only links the specific sensors needed for Pixhawk1
2019-10-06 10:58:07 +11:00
vierfuffzig afdb53daca AP_BLHeli: fix watchdog resets with telemetry active from non-multirotor motors 2019-10-06 10:58:07 +11:00
Andrew Tridgell a49cc87dae AP_NavEKF3: change optimisation from -O3 to -O2 2019-10-02 12:03:53 +10:00
Andrew Tridgell fb7ddd9b9d AP_NavEKF2: change optimisation from -O3 to -O2 2019-10-02 12:03:47 +10:00
Andrew Tridgell 2962211ea0 HAL_ChibiOS: changed optimisation of higher end boards to -O2
-O3 does not seem to be a win, and takes up a lot more flash
2019-10-01 08:33:13 +10:00
Andrew Tridgell 560a1bf9e0 HAL_ChibiOS: disable DMA for RCIN on Pixracer
this frees up DMA for USART1_RX, which gives DMA for input over the
SERIAL5 WiFi port, which is important for applications where a
pixracer is being fed vision data over WiFi
2019-10-01 08:32:56 +10:00
Mark Whitehorn eb620f0792 AP_IOMCU: fix IO fast channel mask 2019-10-01 08:32:03 +10:00
Mark Whitehorn 2034bde367 HAL_ChibiOS: fix FMU fast_channel_mask
fix IO fast channel mask
use IOMCU chmask to only set right channels
remove unused variable
2019-10-01 08:32:00 +10:00
Andrew Tridgell 4c22633c60 AP_GPS: fixed a bug in handling corrupt u-blox packets
when we have corrupt input due to loss of bytes on a UART we can end
up with a u-blox packet with zero payload bytes. When that happens we
need to bypass payload reading as otherwise we will end up keeping
reading bytes until the driver resets at 4 seconds, causing a GPS
outage.

This was causing GPS outages every few hours in copters running 3.6.7,
and was also reproduced in SITL using SIM_GPS_BYTELOSS.
2019-10-01 08:31:20 +10:00
Henry Wurzburg 6108c5b5ab AP_OSD: Add autoranging to current and speed displays 2019-09-22 21:11:06 +10:00
Randy Mackay 1433741cc9 AP_Proximity: fix rangefinder backends cm to m conversion 2019-09-22 21:09:38 +10:00
Peter Barker 784edac137 AP_NavEKF2: correct return of empty prearm string 2019-09-22 21:09:11 +10:00
Peter Barker 6693610c7a AP_NavEKF3: correct return of empty prearm string 2019-09-22 21:09:04 +10:00
Andrew Tridgell 2bebe8f916 SITL: added SIM_LOOP_DELAY parameter
this allows us to test high CPU load conditions by adding a delay to
each loop
2019-09-22 21:08:38 +10:00
Andrew Tridgell ae4bcf0f6f AP_Scheduler: cope with high CPU load by stretching loop times
this adds an extra budget of time per loop when we are not achieving
scheduled tasks at a rate of at least 1/8 of the desired rate. This
fixes an issue where a vehicle can become uncontrollable if the user
asks for a SCHED_LOOP_RATE which is not achievable. As these events
happen we add extra loop budget until we are able to run all tasks. We
drop the extra time when the CPU pressure eases.
2019-09-22 21:08:34 +10:00
Andrew Tridgell d916c31575 AP_Logger: added logging of extra loop time from the scheduler 2019-09-22 21:08:27 +10:00
Lucas De Marchi 1eb2dc2b2f AP_RangeFinder: add missing overrides 2019-09-22 21:08:14 +10:00
Lucas De Marchi 575200f8c7 AP_RangeFinder: fix build 2019-09-22 21:08:11 +10:00
Andrew Tridgell 62c3fec45c HAL_ChibiOS: fixes from LGTM errors 2019-09-22 21:07:54 +10:00
Andrew Tridgell f6b28f3013 HAL_ChibiOS: fixed delay for OneShot125 channels
we were delaying output for OneShot125 by 8x as much as we need to,
which reduced our max loop rate
2019-09-22 21:07:49 +10:00
Andrew Tridgell 372eca7dad AP_NavEKF3: fixed use of uninitialised variable in EKF3 mag fusion
not all elements of H_MAG are initialised, but they are used, as found
by valgrind
2019-09-22 21:07:38 +10:00
Andrew Tridgell eeb6fbe5ee HAL_ChibiOS: fixed undef for define lines
this fixes IMU heater enable for CubeBlack+
2019-09-16 12:55:44 +10:00
Andrew Tridgell dceee38d69 HAL_ChibiOS: fixed IMU order and board ID for CubeBlack+ 2019-09-16 12:55:36 +10:00
bugobliterator e540248695 HAL_ChibiOS: hwdef: add hwdef for CubeBlack+ 2019-09-16 12:55:34 +10:00
bugobliterator 8dca2b14db AP_BoardConfig: add support for CubeBlackPlus 2019-09-16 12:55:32 +10:00
Andrew Tridgell f86a7d347d Revert "AP_HAL_SITL: set initial PWM values to a flag value"
This reverts commit 1735563bb7.

This commit broke RC input on high channels with sim_vehicle.py, plane
getc RC failsafe immediately
2019-09-15 18:26:50 +10:00
Peter Barker 6193d6cf69 AP_Compass: fix example by instantiating Baro
Baro is required to get location, and Compass tries to get the declination based on current location
2019-09-13 08:54:21 +09:00
bnsgeyer e91402aeb6 AP_Motors: tradheli-make all RSC params part of library
AP_Motors: Tradheli-fix RSC mode change while armed

AP_Motors: tradheli - improve RSC param metadata

AP_Motors: tradheli-put all throttle param settings in percent
2019-09-13 08:53:54 +09:00
Peter Barker 1735563bb7 AP_HAL_SITL: set initial PWM values to a flag value
These should never be used.  Setting them to a flag value may give a
hint to someone trying to debug a problem in the future.
2019-09-13 08:58:43 +10:00
Peter Barker 8da978b913 GCS_MAVLink: use sending_mavlink1 method in send_rc_channels_raw 2019-09-12 16:10:23 +10:00
Peter Barker 5dad0e5410 AP_HAL: a few more simple tests for snprintf 2019-09-12 16:08:59 +10:00
Andrew Tridgell 28cca004f2 HAL_ChibiOS: added default params for skyviper-journey 2019-09-12 14:02:36 +10:00
Andrew Tridgell 1dca0a16f5 HAL_ChibiOS: rename skyviper-f412 to skyviper-journey 2019-09-12 14:02:36 +10:00
Andrew Tridgell dcbbc86f34 AP_Radio: added support for Skyviper 2018 model radios
fixes #12273
2019-09-12 14:02:36 +10:00
mhefny 375510ecc2 SITL: adding wind simulation in Webots 2019-09-12 13:22:26 +10:00
mhefny bfb7e3af3b SITL: sending wind data to Webots controller 2019-09-12 13:22:26 +10:00
Andrew Tridgell 8bb6a67b36 GCS_MAVLink: refuse set of read-only parameters 2019-09-12 10:50:30 +10:00
Andrew Tridgell 6573857a90 AP_Param: support @READONLY marker in param files
allows for read-only parameters embedded in firmware
2019-09-12 10:50:30 +10:00