Michael du Breuil
0fe9763e19
AP_Param: Fix failing to invalidate the cached parameter count
...
This would cause a GCS to download fewer then the requested number of
parameters
2020-01-15 14:03:36 +11:00
Andrew Tridgell
e9f60ede1b
AP_SerialManager: ensure users can't break SERIAL0_PROTOCOL
...
this prevents users from setting SERIAL0_PROTOCOL to something that
prevents them accessing the board. This can happen when users are
trying to setup SLCAN
2020-01-10 19:12:10 +11:00
Andrew Tridgell
7d91460e85
AP_Declination: re-generate mag tables
...
max interpolate error between -60 and 60 latitude is 13.86 mGauss
2020-01-10 19:12:10 +11:00
Andrew Tridgell
3584f1b779
AP_Declination: update generate script
...
added ability to display max error
2020-01-10 19:12:10 +11:00
Andrew Tridgell
9261b32430
AP_GPS: fixed build
2020-01-10 19:12:10 +11:00
Andrew Tridgell
0ed02b1d88
AP_Compass: added mag_cal_fixed_yaw()
...
this is a fast compass calibration that uses a yaw value provided by
the user.
2020-01-10 18:48:52 +11:00
Andrew Tridgell
aea2238936
GCS_MAVLink: support MAV_CMD_FIXED_MAG_CAL_YAW
2020-01-10 18:48:49 +11:00
Andrew Tridgell
b95a31ccfc
AP_RCProtocol: fixed support for 22ms multi-frame DSM
2020-01-10 18:48:42 +11:00
Andrew Tridgell
0dc22331d0
AP_Frsky_Telem: fixed a race condition with statustext handling
...
this fixes an issue that can cause a hardfault. See this bug report:
https://discuss.ardupilot.org/t/hexa-crash-after-watchdog-reset/50917
ObjectArray is not thread safe
2020-01-10 18:48:17 +11:00
Andrew Tridgell
b834796f3b
HAL_ChibiOS: fixed clock src for I2C4 on H7
2020-01-08 06:02:46 +11:00
Andrew Tridgell
17118977dc
HAL_ChibiOS: automatically set AP_FEATURE_RTSCTS
2020-01-02 07:50:35 +11:00
Andrew Tridgell
5c4802ce25
AP_Compass: limit rotations we try to ROTATION_MAX_AUTO_ROTATION
2020-01-01 09:08:31 +11:00
Andrew Tridgell
686b9322cd
AP_Math: define ROTATION_MAX_AUTO_ROTATION
...
we don't want to use ROTATION_PITCH_7 in our auto rotation mix, as it
is too close to level
2020-01-01 09:08:19 +11:00
Andrew Tridgell
8311a5be63
HAL_ChibiOS: fixed H7 I2C timing
...
we were running the clock at too low speed. This affected the SSD1306 display
# Conflicts:
# libraries/AP_HAL_ChibiOS/I2CDevice.cpp
2019-12-30 14:35:57 +11:00
Peter Barker
abe1a09c7a
AP_HAL: stop emitting extra CR before a LF as part of our printf
2019-12-25 12:00:37 +11:00
Pierre Kancir
ecdd07e793
AP_Compass: add register to checked ones and remove single-use goto
...
Also fix comment on TMRC register setting
2019-12-23 20:20:12 +11:00
Pierre Kancir
d9edd3c8b5
AP_Compass: probe for RM3100
2019-12-23 20:20:01 +11:00
Andrew Tridgell
318c0a958d
HAL_ChibiOS: removed PB1 and PB0 TIM1 complementary channels for F76x
...
these do not work, possibly a datasheet bug
2019-12-23 19:42:04 +11:00
Andrew Tridgell
24e48b5e81
HAL_ChibiOS: switch MatekF765 to timer 12
...
fixes PWM 5 and 6
2019-12-23 19:42:02 +11:00
Andrew Tridgell
af04f1eb93
HAL_ChibiOS: ensure bootloader flash is multiple of 32 bytes
2019-12-23 17:36:28 +11:00
Andrew Tridgell
9c2caf5b12
AP_InertialSensor: default fast sampling on
...
if we have a first IMU capable of fast sampling then we want it
enabled by default
2019-12-23 09:56:26 +11:00
Andrew Tridgell
f733e963df
HAL_ChibiOS: scale uart rx buffer size with baudrate
...
this ensures we have enough buffer space for a RTK GPS, as well as for
high speed comms with a companion computer
2019-12-23 09:56:26 +11:00
Peter Barker
48a04d21ce
AP_NMEA_Output: NavEKF constructors no longer take rangefinder
2019-12-23 09:56:26 +11:00
Randy Mackay
e206134fa6
AP_NMEA_Output: 10hz rate limiting uses uint32_t
2019-12-23 09:56:26 +11:00
Peter Barker
46c384b412
AP_NMEA_Output: correct 10Hz rate limiting
...
integer promotion issue
2019-12-23 09:56:26 +11:00
Peter Barker
9fd53b0dbc
AP_NMEA_Output: add example
2019-12-23 09:56:26 +11:00
Peter Barker
e90b6bafca
AP_NMEA_Output: skip sending sentences if no space on UART
...
AP_NMEA_Output: clean scope by removing unneeded temps
AP_NMEA_Output: redo last_sent to last_run
AP_NMA_Output: early-exit if no data
2019-12-23 09:56:26 +11:00
Andrew Tridgell
12e51965c9
HAL_ChibiOS: change CUAVv5Nano volt scale to 18.000
2019-12-23 09:56:26 +11:00
Andrew Tridgell
96bccba638
HAL_ChibiOS: fixed build of SPI clock test
2019-12-12 20:43:40 +11:00
Andrew Tridgell
87f2839f3e
GCS_MAVLink: fixed critical error on prefight cal ops
2019-12-12 20:43:35 +11:00
Andrew Tridgell
595a49eec4
GCS_MAVLink: send temperature for IMUs
2019-12-09 13:25:18 +11:00
Andrew Tridgell
04827d229c
AP_NavEKF2: don't use WMM tables unless we have a compass scale factor set
2019-12-09 13:18:01 +11:00
Andrew Tridgell
c36687a79f
SITL: added SIM_MAG_SCALING for testing scale factor errors
...
# Conflicts:
# libraries/SITL/SITL.cpp
2019-12-09 13:18:01 +11:00
Andrew Tridgell
bc7f811ff0
AP_GPS: cope with UAVCAN GPS that don't provide Aux message
...
thanks to @VadimZ for the suggestion
2019-12-09 13:18:01 +11:00
Randy Mackay
0cd737856d
AP_RangeFinder: remove param conversion for 3rd and 4th
...
3rd and 4th instances were not available to users unless they used their own builds which is rare
this reduces the firmware's flash size a small amount
2019-12-09 13:18:01 +11:00
Randy Mackay
4cb470e4df
AP_RangeFinder: param conversion fix
...
This resolves an issue with the parameter conversion when moving from Copter-3.6.x to 4.0 (and similar moves for other vehicle types)
2019-12-09 13:18:01 +11:00
Peter Barker
8fac70149d
AP_Compass: tidy constructor
2019-12-09 13:18:01 +11:00
Peter Barker
03064f8eea
AP_Compass: make compass_cal_status_t enum class Status within CompassCalibrator
2019-12-09 13:18:01 +11:00
Andrew Tridgell
342dd67dc0
AP_Compass: narrow range of allowed scale factor
2019-12-09 13:18:01 +11:00
Andrew Tridgell
536222859d
AP_Compass: added COMPASS_OPTIONS
...
this allows user to set that calibration requires GPS lock
2019-12-09 13:18:01 +11:00
Andrew Tridgell
920007f3c4
AP_Compass: added estimation of compass scale factor
...
this adds new COMPASS_SCALE, COMPASS_SCALE2 and COMPASS_SCALE3
parameters, which give the sensor scaling factor. It is used to
compensate for an incorrect scaling in a compass.
The 3D compass calibration process will set the correct value
automatically, otherwise users can set the value to a known value for
an existing compass
2019-12-09 13:18:01 +11:00
Randy Mackay
ae234635e8
AP_Compass: minor comment fix
...
Co-Authored-By: Peter Barker <pb-gh@barker.dropbear.id.au>
2019-12-09 13:18:01 +11:00
lukezhqin
f59d22aa41
AP_Compass: fix thin_samples to avoid comparing sample to itself
2019-12-09 13:18:01 +11:00
Randy Mackay
b87f42bc07
AP_Compass: fix calibrator update when step one fails
2019-12-09 13:18:01 +11:00
Randy Mackay
d9fde84ccb
AP_Compass: rename CompassCalibrator::clear to stop
2019-12-09 13:18:01 +11:00
Randy Mackay
6c8ee8fa67
AP_Compass: remove unused calc_mean_squared_residuals
2019-12-09 13:18:01 +11:00
Randy Mackay
a5e0af6868
AP_Compass: add comments to calibrator
2019-12-09 13:18:01 +11:00
Randy Mackay
243cf3b22d
AP_Compass: formatting fixes
...
this should be a non-functional change
2019-12-09 13:18:01 +11:00
Randy Mackay
69a7a52e5f
AP_Compass: constify get_completion_mask and remove use of auto
2019-12-09 13:18:01 +11:00
Randy Mackay
cf34abba87
AP_Compass: constify get_orientation
2019-12-09 13:18:01 +11:00
Andrew Tridgell
47fe57bd8d
AP_Compass: remove expected error
...
this happens with AK09916 probing on invensense sensor
2019-12-09 13:18:01 +11:00
Andrew Tridgell
3b244bbc7f
AP_Compass: disable HIL for AP_Periph
...
this saves several k of flash
2019-12-09 13:18:01 +11:00
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
Andrew Tridgell
4a6fdc00c9
AP_AdvancedFailsafe: added AFS_MAX_RANGE option
...
this allows a maximum range since first arm to be set in
AFS_MAX_RANGE. This value (in km) will trigger the configured
termination type if the GPS location shows that it has been breached.
This feature, in combination with the @READONLY apj parameter feature,
is intended to be used to meet regulatory restrictions on a vehicles
maximum range
2019-09-12 09:59:17 +10:00
Andrew Tridgell
6af9d55e70
AP_OSD: fixed vsnprintf return assumption
2019-09-12 08:43:31 +10:00
Andrew Tridgell
98c2606c0a
GCS_MAVLink: fixed assumption on return of snprintf
2019-09-12 08:43:31 +10:00
Peter Barker
412bf24b9a
AP_HAL: add gtests for snprintf
2019-09-12 07:42:40 +10:00
Andrew Tridgell
54b9524c0b
AP_RangeFinder: make LightWare I2C native work with more hw versions
...
this allows the native i2c lightware driver to work with a wide range
of lidars from LightWare, removing the specific version check, and the
version specific config commands
2019-09-12 07:40:32 +10:00
Andy Piper
8e385d7453
AP_InertialSensor: correct formatting
2019-09-11 18:41:05 +10:00
Leonard Hall
6f3be90147
Filter: Alter Notch filter formula to remove /0 and allow perfect notch.
...
This formulation of the notch equations lets the user specify the depth of the Notch. The presence of a diveide by A prevents the gain going to zero and therefore achieving a perfect notch. It also provides the risk that a user may attempt to do this and cause a divide by zero error. This change adds the ability to achive a perfect notch and removes the possibility of a divide by zero.
Add Notch Filter parameter checking
2019-09-11 18:41:05 +10:00
Andy Piper
9b9fb0d593
Filter: sanity check the harmonic notch sample rate on initialization. do not allow harmonics to go above the nyquist frequency
2019-09-11 18:41:05 +10:00
Andy Piper
5b7f9f6bea
AP_InertialSensor: while sensors are converging update the filters sample rates. if gyro filtering produces invalid output, keep the previous value
2019-09-11 18:41:05 +10:00
Andy Piper
bc5916ebc9
Filter: comment on reserved config. cope with notch allocation failure.
2019-09-11 18:41:05 +10:00
Andy Piper
a9a7fe3ea5
AP_InertialSensor: ensure harmonic notch gets appropriate defaults
2019-09-11 18:41:05 +10:00
Andy Piper
3261677e01
AP_InertialSensor: remove _ prefix from methods. use changed filter methods.
2019-09-11 18:41:05 +10:00
Andy Piper
334ebadd5a
Filter: add comments and address review comments for harmonic notch
2019-09-11 18:41:05 +10:00
Andy Piper
50f7e50634
AP_InertialSensor: add harmonic notch filter to gyro filter chain
...
Allow dynamic updates to the calculated frequency. Convert bandwidth and frequency to floats.
backend variables do not need to be indexed per-backed
2019-09-11 18:41:05 +10:00
Andy Piper
366bc06089
Filter: New HarmonicNotchFilter
...
This delegates updates to a bank of NotchFilters located at an rpm frequency and harmonics. Center frequency can be updated dynamically. Notch parameters are configurable, including the number of harmonics to filter on. Updates to the filter parameters are optimized across the notch bank. Convert notch bandwidth and frequency to floats.
allow all filter harmonics to be controlled.
add destructor to harmonic notch.
don't allocate sub-filters for harmonic notch if no harmonics set.
2019-09-11 18:41:05 +10:00
Andrew Tridgell
fae2e44eac
AP_NavEKF3: reset inhibitMagStates on in-flight yaw reset
...
this is needed to prevent the next ConstrainVariances() from zeroing
the variances, which leads to very slow learning of mag states
2019-09-11 14:22:18 +10:00
Andrew Tridgell
71ad90819e
AP_Compass: don't reset SITL compass offsets if set by user
...
makes for easier EKF compass bias learning testing
2019-09-11 14:22:18 +10:00
Peter Barker
10675ab5c4
AP_HAL: correct include ordering in srxl.h
...
The header needs stdint.h which it was only getting because it was
included after stdint.h in the cpp file.
Stop including standard headers before other ArduPilot headers
2019-09-11 14:19:14 +10:00
Andrew Tridgell
4197fdeb2a
AP_HAL: fixed bug in vsnprintf()
...
we need to return the number of bytes that would have been printed if
the buffer was big enough to support use cases such as vasprintf()
which needs to know how many bytes to allocate
2019-09-11 13:41:03 +10:00
Peter Hall
102a231c3f
AP_WindVane: rename abs to true wind
2019-09-11 11:22:12 +09:00
Rajat Singhal
5147b607c0
SITL: Correct Airsim params
2019-09-11 08:28:28 +10:00
Randy Mackay
246bfcf4a1
AP_Common: expanding array checks memory before allocating
2019-09-11 06:56:35 +10:00
Peter Barker
15308af230
AP_HAL_SITL: avoid lockstep scheduling issue with semaphores
...
If there is another thread holding a lock that the main thread wants to
take while pretending to be the IO thread, we will wait forever as we do
not move SITL time forward while pretending to be the IO thread.
This patch simply allows time to move forward if we've failed to take a
semaphore immediately and need to wait.
2019-09-10 21:01:37 +10:00
Andy Piper
dde6dec145
AP_InertialSensor: correct reboot documentation for batch logger and filters
2019-09-10 20:29:56 +10:00
Randy Mackay
0e1a2efb7c
EKF3: RNG_USE_HGT param only used when ALT_SOURCE = rangefinder
2019-09-10 18:44:52 +10:00
Randy Mackay
94a52b3525
EKF2: RNG_USE_HGT param only used when ALT_SOURCE = rangefinder
2019-09-10 18:44:52 +10:00
Andrew Tridgell
b33afde884
HAL_ChibiOS: allow safety button on CUAV_GPS to be used for "stay in bootloader"
...
allows for recovery of bad CAN firmware
2019-09-10 16:22:33 +10:00
Andrew Tridgell
c6a9f067e2
HAL_ChibiOS: enable LEDs on CUAV_GPS
2019-09-10 16:22:33 +10:00
Andrew Tridgell
3dfe15443d
HAL_ChibiOS: fixed orientation of CUAV_GPS compass
2019-09-10 16:22:33 +10:00
Andrew Tridgell
21cce1385a
AP_UAVCAN: support safety buttons on UAVCAN
...
the button works in parallel with any button attached by IOMCU or by a
pin, and obeys all the same BRD_SAFETY* options
2019-09-10 16:22:33 +10:00
Andrew Tridgell
03c1a8bfd9
HAL_ChibiOS: use safety button logic from AP_BoardConfig
2019-09-10 16:22:33 +10:00
Andrew Tridgell
5a96e374ba
AP_BoardConfig: moved logic for safety button press to AP_BoardConfig
...
this allows for common code between CAN and pin safety switches, as
well as making the code neater as most of the logic is related to
AP_BoardConfig options
2019-09-10 16:22:33 +10:00
Andrew Tridgell
82a98ef95d
AP_Notify: added NTZ_BUZZ_VOLUME parameter
...
it is fairly non-linear, but does work
2019-09-10 16:22:33 +10:00
Andrew Tridgell
39f4f7c208
AP_UAVCAN: added safety LED and button messages
2019-09-10 16:22:33 +10:00
Andrew Tridgell
0ea67943b9
HAL_ChibiOS: enable safety button on CUAV_GPS
2019-09-10 16:22:33 +10:00
Andrew Tridgell
c6c1c4bc31
AP_UAVCAN: support safety LEDs on UAVCAN
2019-09-10 16:22:33 +10:00
Andrew Tridgell
186eedf838
HAL_ChibiOS: enable safety LED
2019-09-10 16:22:33 +10:00
Andrew Tridgell
75696997cc
HAL_ChibiOS: added buzzer support to CUAV_GPS
2019-09-10 16:22:33 +10:00
Andrew Tridgell
7c57546eb1
AP_Notify: support UAVCAN buzzers
2019-09-10 16:22:33 +10:00
Andrew Tridgell
d55f76c88e
AP_UAVCAN: added buzzer support
2019-09-10 16:22:33 +10:00
Peter Barker
8fc55b9678
GCS_MAVLink: remove comm_get_available
...
available returns an unsigned integer, so this was just weird
2019-09-10 15:45:27 +10:00
Andrew Tridgell
cbe0af2463
HAL_ChibiOS: setup for LEDs on KakuteF4
...
this makes Kopis1 display LEDs properly
2019-09-10 13:03:28 +10:00
Andrew Tridgell
a4924e1c0b
AP_Notify: allow setting of LED count in hwdef.dat
2019-09-10 13:03:28 +10:00
Andrew Tridgell
28b5f2b021
AP_Notify: simplify NeoPixel driver
...
use new API to avoid complexities
2019-09-10 13:03:28 +10:00
Andrew Tridgell
f441223b55
HAL_ChibiOS: implement updated NeoPixel API
...
allow for N leds per chain, and setting separate colours per led in
each chain
2019-09-10 13:03:28 +10:00
Andrew Tridgell
1cb608a9f4
AP_HAL: allow neopixel LEDs to be set more flexibly
...
allow for N leds per chain, with RGB control of each
2019-09-10 13:03:28 +10:00
Tom Pittenger
aa602b5e1b
AP_Notify: add NeoPixel driver
2019-09-10 13:03:28 +10:00
Tom Pittenger
e3416b66dc
AP_HAL_ChibiOS: add Neopixel output type, similar to dshot
2019-09-10 13:03:28 +10:00
Tom Pittenger
52be3903c0
SRV_Channel: add neopixel as an output type
2019-09-10 13:03:28 +10:00
Randy Mackay
aba4a1fdc8
AC_Avoidance: remove OADatabase check that can never be true
2019-09-10 09:15:56 +10:00
Randy Mackay
0dd8525c99
AP_HAL_SITL: resolve compiler warning in sitl_airspeed by using fabsf
2019-09-10 09:15:56 +10:00
Randy Mackay
2d128e0079
AP_Proximity: remove unused var from AriSimSITL
2019-09-10 09:15:56 +10:00
Randy Mackay
d4b047fc1f
SITL: Gripper_EPM compiler warning resolved by using float and fabsf
2019-09-10 09:15:56 +10:00
Randy Mackay
1fd7618238
SITL: remove unused time_diff member
2019-09-10 09:15:56 +10:00
Michael du Breuil
9a7d64e8fc
AP_NavEKF3: Allow the GPS to be responsible for logging
2019-09-10 09:09:17 +10:00
Michael du Breuil
a4d10b2e86
AP_NavEKF2: Allow the GPS to be responsible for logging
2019-09-10 09:09:17 +10:00
Michael du Breuil
f857eb4640
AP_GPS: Take responsibility for logging the GPS if the EKF wants logging
2019-09-10 09:09:17 +10:00
Willian Galvani
b92473111c
AP_LeakDetector: Mark Leak pins RebootRequired
2019-09-09 09:53:28 -07:00
Andy Piper
6f3334b460
AP_Filesystem: build fixes for SITL on macOS
2019-09-09 20:18:00 +10:00
Andrew Tridgell
91e8752c17
HAL_ChibiOS: wrap more libc functions
...
this saves a few k of flash as it avoids linking libc versions of some
functions
2019-09-09 13:31:30 +10:00
Andrew Tridgell
3166f84954
HAL_ChibiOS: added vsnprintf wrapper
...
this allows us to use a common snprintf implementation
2019-09-09 13:31:30 +10:00
Michael du Breuil
ba3cfbfb54
AP_RTC: Don't allow RTC times before 2019
2019-09-09 04:43:29 +10:00
Andrew Tridgell
aa20be4270
AP_RCProtocol: fixed SUMD with 16 channels
...
with 16 channels it is more than 3ms per frame
2019-09-07 10:02:26 +10:00
Andrew Tridgell
df387dc396
AP_Compass: allow rotation of BMM150 compass
2019-09-07 09:53:21 +10:00
Andrew Tridgell
1cb775e2c2
AP_Compass: probe more addresses for IST8310
...
IST8310 can be on 4 possible i2c addresses
2019-09-07 07:35:54 +10:00
Andrew Tridgell
5e5c30efe8
HAL_SITL: allow SITL to use SERIALn_PROTOCOL=23
...
this allows for testing of RC input protocol parsing in SITL
2019-09-06 08:51:45 +10:00
Andrew Tridgell
c8de2ec9c7
AP_RCProtocol: added update() method for use by SITL
2019-09-06 08:51:45 +10:00
Andrew Tridgell
4b48e80c26
AP_SerialManager: fixed AP_Periph build
2019-09-06 08:51:45 +10:00
Andrew Tridgell
83872c23e5
HAL_ChibiOS: fixed AP_Periph build
2019-09-06 08:51:45 +10:00
Andrew Tridgell
fd80220d3e
HAL_ChibiOS: setup PH4-mini RCIN port by default
2019-09-06 08:51:45 +10:00
Andrew Tridgell
54649a0e4f
HAL_ChibiOS: fixed KakuteF4 define for SERIAL2
2019-09-06 08:51:45 +10:00
Andrew Tridgell
06b272705e
HAL_ChibiOS: run RCIN thread at 1kHz
...
this gives fast enough response for SBUS parsing on a UART
2019-09-06 08:51:45 +10:00
Andrew Tridgell
6983186210
AP_HAL: added get_options() method on UARTs
2019-09-06 08:51:45 +10:00
Andrew Tridgell
c841b39ea2
HAL_ChibiOS: switch to AP::RC() for AP_RCProtocol
2019-09-06 08:51:45 +10:00
Andrew Tridgell
bf2cf7834d
HAL_ChibiOS: fixed a bug in parity/stop-bit setting on STM32F7 and H7
...
and add get_options() method
2019-09-06 08:51:45 +10:00
Andrew Tridgell
312018898f
HAL_Linux: use AP::RC()
2019-09-06 08:51:45 +10:00
Andrew Tridgell
672d09c965
AP_IOMCU: use AP::RC() for AP_RCProtocol
2019-09-06 08:51:45 +10:00
Andrew Tridgell
cbdb23afb5
AP_SerialManager: support SERIALn_PROTOCOL=23 for RC input
...
sets up an extra RC input port
2019-09-06 08:51:45 +10:00
Andrew Tridgell
2b856abdd1
AP_RCProtocol: support an additional uart on RC input
...
this will allow for any UART to be configured as an additional RC
input source
2019-09-06 08:51:45 +10:00
Andrew Tridgell
ad2890dc5a
HAL_ChibiOS: added connector pinouts for PH4-mini
2019-09-06 08:51:45 +10:00
Andrew Tridgell
b72dcf6478
AP_Filesystem: use a recursive semaphore
...
this is needed to cope with the mkdir("/APM") in sdcard_retry()
2019-09-06 08:51:04 +10:00
Andrew Tridgell
7afd51d03e
AP_Frsky_Telem: move FrSky handling to it's own thread
...
we are getting timing issues sharing with the other users of the IO
thread. The FrSky protocols are quite timing sensitive, so this should
help
2019-09-05 10:50:17 +10:00
Randy Mackay
fb38db6640
AP_AHRS: resolve compile warning in AP_AHRS_DCM::use_compass
2019-09-05 08:39:10 +10:00
Andrew Tridgell
b344946300
HAL_ChibiOS: prevent duplicate sensors in hwdef.dat
...
throw an error on configure if there is a duplicate
2019-09-05 06:37:35 +10:00
Andrew Tridgell
2c5c8106a5
HAL_ChibiOS: removed duplicate barometer from fmuv5
2019-09-04 21:24:01 +10:00
Peter Barker
df5921a87c
GCS_MAVLink: gate AP_DEVO_Telem behind !HAL_MINIMIZE_FEATURES
2019-09-04 17:47:33 +10:00
Andrew Tridgell
708ee47c03
HAL_ChibiOS: fixed f103 rm3100
2019-09-04 16:27:47 +10:00
Andrew Tridgell
c2c8702329
HAL_ChibiOS: convert remaining boards to use COMPASS specifier
2019-09-04 16:27:47 +10:00
Andrew Tridgell
3aa01448ff
HAL_ChibiOS: use COMPASS specifier for f103-periph
2019-09-04 16:27:47 +10:00
Andrew Tridgell
f18a18c0ee
AP_Baro: use GET_I2C_DEVICE() for i2c probes
...
for consistency with compass and INS
2019-09-04 16:27:47 +10:00
Andrew Tridgell
2bc7db4cca
AP_HAL: removed old HAL_COMPASS_ defines (no longer used)
2019-09-04 16:27:47 +10:00
Andrew Tridgell
bd0760f9d4
AP_Compass: removed unusued compass probes
...
now only use probe lists
2019-09-04 16:27:47 +10:00
Andrew Tridgell
43e011c7a8
AP_HAL: convert Linux compass specification to new probe list
...
this avoids the special handling in AP_Compass library
2019-09-04 16:27:47 +10:00
Andrew Tridgell
3bc8522b54
AP_Compass: added ROTATION_NONE to probes
...
we no longer use defaults in the headers
2019-09-04 16:27:47 +10:00
Andrew Tridgell
f877def909
AP_Compass: removed default rotations for compass probe
...
this prevents bugs where the force_external and rotation are mixed up
in hwdef.dat causing incorrect rotations
2019-09-04 16:27:47 +10:00
Andrew Tridgell
2a48241ebb
AP_Compass: fixed naming of QMC5883L driver
...
needed for probe using COMPASS macro in hwdef.dat
2019-09-04 16:27:47 +10:00
Andrew Tridgell
316e7cf7e6
HAL_ChibiOS: fixed mini-pix compass and baro probing
...
removed dup baro and fixed compass probe
2019-09-04 16:27:47 +10:00
Andrew Tridgell
2509b50852
AP_Baro: define GET_I2C_DEVICE()
2019-09-04 16:27:47 +10:00