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
9c30e7a6a6
Tools: autobuild Pixhawk1-1M
2019-10-06 10:58:07 +11:00
Andrew Tridgell
9c640b7f8b
Tools: added bootloaders for Pixhawk1-1M
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
14aa2a0acb
HAL_ChibiOS: re-enable full features on KakuteF7 and OMNIBUSF7V2
...
we now have enough space with recent changes for these boards
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
cf348c7512
IO_Firmware: update binaries (gcc version 6.3.1 20170620... 6-2017-q2-update)
2019-10-01 08:32:11 +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
Andrew Tridgell
9473c7c0e5
Plane: prepare for 4.0.0beta2 release
2019-09-24 08:43:34 +10:00
Andrew Tridgell
a5bb67bf42
Plane: updated release notes for 4.0.0beta2
2019-09-24 08:39:24 +10:00
Henry Wurzburg
6108c5b5ab
AP_OSD: Add autoranging to current and speed displays
2019-09-22 21:11:06 +10:00
Andrew Tridgell
a9d441981b
Plane: fixed height_above_ground() for case when rangefinder is below min
...
this prevents a rangefinder that goes below min distance from causing
the calculations that depend on height above ground to fail
2019-09-22 21:10:32 +10:00
Andrew Tridgell
7bf78a8741
Plane: prevent fwd motor from spinning up on ground in quadplane landing
...
if the rangefinder starts to measure below it's min range then the fwd
motor can spin up.
Thanks to Josh for reporting this!
2019-09-22 21:10:29 +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
b07e95aab0
Tools: use --track-origins=yes in valgrind for sim_vehicle.py
...
this allows us to find the original cause of an uninitialised variable
2019-09-22 21:07:43 +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
3084a15221
Plane: prepare for 4.0.0beta1 release
2019-09-16 12:56:50 +10:00
Andrew Tridgell
6a17917cd5
Plane: updated release notes for 4.0.0beta1
2019-09-16 12:56:39 +10:00
Andrew Tridgell
3fdd6a3ba3
Tools: added --no-bl option to configure_all.py
2019-09-16 12:55:49 +10:00