Commit Graph

21665 Commits

Author SHA1 Message Date
Andrew Tridgell
a9eb620b2e AP_RangeFinder: cope with beyond max range with LightwareI2C 2020-06-02 10:38:22 +10:00
Andrew Tridgell
50f84ef6fc AP_GPS: fixed issue with GPS selection for moving baseline
when you have a moving baseline pair of ublox GPS modules and the
rover GPS does not have full fixed RTK lock on the base GPS then we
should not use it as our primary GPS as it's position and velocity can
be badly affected by the attempts of the GPS to gain a fixed lock.

This was observed in a flight with two F9P GPS, where the GPS velocity
data from the rover GPS went way off when it lost full RTK lock. It's
status stayed at 4, so it was selected as the primary GPS
2020-05-27 11:00:10 +10:00
Andrew Tridgell
6bf83e347d AP_Compass: revert change to RM3100 scale factor and increase scale limit
This reverts the change from #13895 and instead resolves the issue by
increasing the scale factor limit to 1.4

There is an open question as to why some RM3100 compasses show a
different scale factor (by about 1.25 times) to other versions of the
same sensor. As we haven't resolved this properly it seems the correct
thing to do is follow the datasheet but allow for a wider range of
scale factors to cope with the variation between sensors
2020-05-23 14:40:49 +10:00
Andrew Tridgell
4aa00e6540 HAL_ChibiOS: disable ROMFS hwdef.dat for 4.0 release
will be in 4.1
2020-05-22 12:18:17 +10:00
bugobliterator
f7efd57055 HAL_ChibiOS: use FIFO mode instead of Queue mode in FDCAN driver 2020-05-22 12:18:14 +10:00
Andrew Tridgell
87ac0f42aa AP_IOMCU: force safety off on IOMCU reset
if safety was forced off previously and we get an IOMCU reset then
force it off when the reset happens so vehicle can keep flying
2020-05-15 09:07:21 +10:00
Andrew Tridgell
782c91474e SITL: fixed dup param index 2020-05-12 15:34:46 +10:00
Siddharth Purohit
e6caa5b3ac AP_Arming: add arming message for compass not detected but assigned 2020-05-11 19:47:29 +10:00
Siddharth Purohit
9d3d7dfaaa AP_Arming: Primary Compass is always at serial# 0 2020-05-11 19:47:27 +10:00
Andrew Tridgell
65e9159d0f AP_NavEKF3: fixes for new compass API 2020-05-11 19:47:23 +10:00
Andrew Tridgell
0e53dbab82 AP_NavEKF2: fixes for new compass API 2020-05-11 19:47:21 +10:00
Andrew Tridgell
dc8f6833e7 AP_Compass: merged in compass device ID changes from master 2020-05-11 19:47:18 +10:00
Andrew Tridgell
021b37f8e4 SITL: added new compass parameters 2020-05-11 19:47:16 +10:00
Andrew Tridgell
54deb4cb36 AP_Param: added find_top_level_key_by_pointer 2020-05-11 19:47:14 +10:00
Andrew Tridgell
b9e07c61f3 AP_Common: added TSIndex.h 2020-05-11 19:47:12 +10:00
Andrew Tridgell
f9a045d04d AP_Common: added IGNORE_RETURN 2020-05-11 18:15:42 +10:00
Andrew Tridgell
c776455214 AP_SerialManager: added Hott telem 2020-05-11 18:15:42 +10:00
Andrew Tridgell
c5acb559ca AP_Hott_Telem: sync with master 2020-05-11 18:15:42 +10:00
Andrew Tridgell
212473ccb0 HAL_ChibiOS: fixed CubeSolo hwdef.dat 2020-05-11 18:15:42 +10:00
Andrew Tridgell
27abff56ea AP_Notify: fixed recursion bug in tone player 2020-05-11 18:15:42 +10:00
Andrew Tridgell
56be3788ec AP_InertialSensor: resync for 4.0 2020-05-11 18:15:42 +10:00
Andrew Tridgell
4489653fbe AP_Baro: resync for 4.0 2020-05-11 18:15:42 +10:00
Andrew Tridgell
810a1cbc52 AP_FlashStorage: resync for 4.0 update 2020-05-11 18:15:42 +10:00
Andrew Tridgell
13e6e71c3b AP_BoardConfig: added BRD_ALT_CONFIG 2020-05-11 18:15:42 +10:00
Andrew Tridgell
07db366d5d AP_RAMTRON: resync for 4.0 2020-05-11 18:15:42 +10:00
Andrew Tridgell
a335c19d95 AP_Frsky_Telem: support FPort 2020-05-11 18:15:42 +10:00
Andrew Tridgell
b2882c2cbc RC_Channel: added fport pad option 2020-05-11 18:15:42 +10:00
Andrew Tridgell
422da90ed6 AP_RCProtocol: added fport prototol support 2020-05-11 18:15:42 +10:00
Andrew Tridgell
432d07e1c4 AP_InternalError: resync for 4.0 update 2020-05-11 18:15:42 +10:00
Andrew Tridgell
3abe309df0 AP_IOMCU: resync for 4.0 update 2020-05-11 18:15:42 +10:00
Andrew Tridgell
7de195e3f6 HAL_SITL: resync for 4.0 update 2020-05-11 18:15:42 +10:00
Andrew Tridgell
e6c8b61b38 HAL_Linux: resync for 4.0 update 2020-05-11 18:15:42 +10:00
Andrew Tridgell
c9d5b8056e HAL_ChibiOS: resync for 4.0 update 2020-05-11 18:15:42 +10:00
Andrew Tridgell
418098694d AP_HAL: re-sync APIs for 4.0 update 2020-05-11 18:15:42 +10:00
Andrew Tridgell
e2c2c60556 AP_GPS: sync with master for new yaw handling 2020-05-11 18:15:42 +10:00
Andrew Tridgell
e18e16041f GCS_MAVLink: fixed build with updated mavlink xml 2020-05-11 18:15:42 +10:00
Andrew Tridgell
b5ca36762d mavlink: update for GPS yaw 2020-05-11 18:15:42 +10:00
Andrew Tridgell
f1ae653159 HAL_ChibiOS: switch non-composite USB ID
use newly allocated 0x1209/0x5740
2020-05-11 18:15:42 +10:00
Andrew Tridgell
6968d67a05 HAL_ChibiOS: set CS pins high while in bootloader
this appears to be the root cause of the parameter resets on
CubeOrange. We need to ensure the CS pin is not floating or random
noise on the SPI bus for FRAM can cause the FRAM to become corrupt
2020-05-11 18:15:40 +10:00
Andrew Tridgell
c8b47cfd9b GCS_MAVLink: consider NO_CHANGE as success for bootloader flash
this prevents GCS users from seeing "update failed"
2020-05-11 18:15:40 +10:00
Andrew Tridgell
a905f27ee8 AP_InertialSensor: suppress expected errors from invensense IMUs 2020-05-11 18:15:40 +10:00
Andrew Tridgell
a607054d6f HAL_ChibiOS: improve error messages for flashing bootloader
send progress as statustext messages
2020-05-11 18:15:40 +10:00
Andrew Tridgell
6baebbef79 AP_HAL: use enum for flash_bootloader() result 2020-05-11 18:15:40 +10:00
Andrew Tridgell
31830d9e5a HAL_ChibiOS: suppress SPI timeout error for expected delay 2020-05-11 18:15:40 +10:00
Andrew Tridgell
ab9330f04f HAL_ChibiOS: implement in_expected_delay() 2020-05-11 18:15:40 +10:00
Andrew Tridgell
1f0465c7c8 AP_HAL: added in_expected_delay()
allows for error message suppression when delays are expected
2020-05-11 18:15:40 +10:00
Andrew Tridgell
92c7c32853 AP_GPS: don't accept a zero GNSS timestamp from UAVCAN GPS
this is needed for a bug in AP_Periph 1.0 which could briefly send a
zero timestamp on first fix marked as a UTC time
2020-05-11 18:15:40 +10:00
Andrew Tridgell
32d8769823 HAL_ChibiOS: fixed race condition in storage write
we could mark a line as clean when it should be dirty if we lose a
race condition between storage thread and writer
2020-05-11 18:15:40 +10:00
Randy Mackay
ab6b533612 AP_OADatabase: send_adsb uses vehicle's current altitude 2020-05-11 18:15:40 +10:00
Randy Mackay
fa6487e5b7 AP_OADatabase: available regardless of hal-minimize-features
In Copter with minimize feature set the entire AP_PathPlanning feature including the database are unavailable
Rover has enough space for the database even with minimise features set
2020-05-11 18:15:40 +10:00
Randy Mackay
a4e3da5c4b AP_OAPathPlanner: slow updates to 1hz, timeout to 3sec 2020-05-11 18:15:40 +10:00
Randy Mackay
ca5d11fdc7 AP_OABendyRuler: integrate oadb ekf-offset change 2020-05-11 18:15:40 +10:00
Randy Mackay
5837b253da AP_Math: add vector2f::offset_bearing 2020-05-11 18:15:40 +10:00
Randy Mackay
2ece0ac15c AP_Proximity: integrate oadb ekf-offset change 2020-05-11 18:15:40 +10:00
Randy Mackay
7b1efc4755 AP_OADatabase: replace Location with offset from origin 2020-05-11 18:15:40 +10:00
Randy Mackay
ce7ee81ede AP_Proximity: remove unused get_horizontal_distance 2020-05-11 18:15:40 +10:00
Randy Mackay
d60deafa07 AP_Proximity: sf40c combines seven readings for oadb 2020-05-11 18:15:40 +10:00
Randy Mackay
43cd419dcf AP_Proximity: always use 8 sectors and fix ignore areas 2020-05-11 18:15:40 +10:00
Randy Mackay
6523bae938 AP_OABendyRuler: integrate static object radius 2020-05-11 18:15:40 +10:00
Randy Mackay
2431dcf09b AP_OADatabase: calculate object radius based on distance and beam width
also all object database items are normal importance
2020-05-11 18:15:40 +10:00
Randy Mackay
74076f6bd9 AP_Proximity: integrate oadb::queue_push argument swap 2020-05-11 18:15:40 +10:00
Randy Mackay
b3bbcc6498 AP_Proximity: remove unnecessary const from database_push
also shorten current_vehicle_bearing argument to just current_heading
2020-05-11 18:15:40 +10:00
Randy Mackay
717cd707dc AP_OADatabase: remove unnecessary const on arguments
also swap order of angle and distance arguments to be consistent with proximity library
2020-05-11 18:15:40 +10:00
Kelly Schrock
5462aeae01 AP_BattMonitor: NeoDesign battery driver
Adds a driver for the NeoDesign BMS, with variable cell count.
2020-05-11 18:15:40 +10:00
Andrew Tridgell
f4abc918a0 AP_Battery: fixed bug in SUI driver
fixed bug in total voltage
2020-05-11 18:15:40 +10:00
Andrew Tridgell
7c94b314c9 AP_BattMonitor: added SUI SMBUS battery backend
originally by Kelly Schrock
2020-05-11 18:15:40 +10:00
Randy Mackay
e82e63e8f6 AP_BattMonitor: set default I2C bus for Solo and Maxell drivers 2020-05-11 18:15:40 +10:00
Randy Mackay
7154d448fd AP_BattMonitor: Maxell cell voltages timeout after 5sec 2020-05-11 18:15:40 +10:00
Randy Mackay
d65a202069 AP_Scripting: example to check battery cycle count 2020-05-11 18:15:40 +10:00
Randy Mackay
b8edc5702c AP_Scripting: add binding for BattMonitor's get_cycle_count method 2020-05-11 18:15:40 +10:00
murata
510688e085 AP_BattMonitor: Maxell battery on any I2C bus 2020-05-11 18:15:40 +10:00
Randy Mackay
275abc7874 AP_BattMonitor: add cycle count for smbus batteries 2020-05-11 18:15:40 +10:00
Andrew Tridgell
d2bd985cd5 HAL_ChibiOS: save 3k of flash on MatekF405-Wing
disable SMBUS and fuel battery monitors
2020-05-11 18:15:40 +10:00
Andrew Tridgell
e0116507e8 AP_BattMonitor: support selective enable of SMBUS and fuel battery monitors 2020-05-11 18:15:40 +10:00
Andrew Tridgell
0aa367d5ca AP_Terrain: added script for creating terrain *.dat files
useful for pre-populating a microSD card
2020-05-11 18:15:40 +10:00
Andrew Tridgell
dee9e85307 AP_Terrain: fixed bug in disk offset calculation
this fixes a problem where two different locations could both be
mapped to the same disk block in the terrain/*.DAT files. That meant
that pre-filled terrain on the microSD card would sometimes require a
download in flight. It also means that a RTL with loss of GCS could
sometimes fly through a region with no terrain data available

Other changes in this patch:

 - allow for a 2cm discrepancy in the lat/lon of the grid
   corners. This is needed to allow for slightly different floating
   point rounding in tools that pre-generate terrain data to load on
   the microSD

 - added TERRAIN_OPTIONS parameter to allow the user to disable
   attempts to download new terrain data. This is mostly useful for
   testing to validate a terrain generator
2020-05-11 18:15:40 +10:00
Paul Riseborough
c04b31d9c0 AP_NavEKF3: Don't use geomag data when user specifies declination 2020-05-11 18:15:40 +10:00
Paul Riseborough
211fdde755 AP_NavEKF2: Don't use geomag data when user specifies declination 2020-05-11 18:15:40 +10:00
Paul Riseborough
251c1e379f AP_Compass: Add accessor function for COMPASS_AUTODEC 2020-05-11 18:15:40 +10:00
Randy Mackay
0da8f39fd6 AP_NavEKF3: getLLH fix when no GPS available 2020-05-11 18:15:40 +10:00
Randy Mackay
59adb2adda AP_NavEKF2: getLLH fix when no GPS available 2020-05-11 18:15:40 +10:00
Andrew Tridgell
a41c846a8c AP_RCProtocol: fixed buffer overflow in st24 parser
found using random data injection in SITL
2020-05-11 18:15:40 +10:00
murata
ad35a88ea6 AP_Baro: Fix timestamp wrapping 2020-05-11 18:15:40 +10:00
Andrew Tridgell
d0d8bb3cbd AP_Compass: change RM3100 device ID
changed scale factor means users need to recalibrate
2020-05-11 18:15:40 +10:00
Andrew Tridgell
661d740354 AP_Compass: fixed scaling of RM3100
scale factor was off by 200/256, resulting in COMPASS_SCALE of about
1.28

thanks to Arace for noticing
2020-05-11 18:15:40 +10:00
Andrew Tridgell
4f7450dde9 AP_NavEKF3: make mag variance reporting consistent
logged scaled variance should match the value used in MAVLink
EKF_STATUS_REPORT
2020-05-11 18:15:40 +10:00
Andrew Tridgell
234ae5bc93 AP_NavEKF2: make mag variance reporting consistent
logged scaled variance should match the value used in MAVLink
EKF_STATUS_REPORT
2020-05-11 18:15:40 +10:00
bugobliterator
2d5b1eda7c AP_Scripting: remove unused user of realloc from lua 2020-05-11 18:15:40 +10:00
bugobliterator
cec3da0df1 HAL_ChibiOS: deprecate realloc for ChibiOS build, so as to return error when used 2020-05-11 18:15:40 +10:00
bugobliterator
decff33d6b AP_HAL: ensure libc realloc is available for all platforms except ChibiOS 2020-05-11 18:15:40 +10:00
bugobliterator
1c7d34ba5c AP_HAL_ChibiOS: implement standard realloc method 2020-05-11 18:15:40 +10:00
bugobliterator
faeb9c063f AP_HAL: implement standard realloc method 2020-05-11 18:15:40 +10:00
bugobliterator
2ce899c54f AP_Common: use standard realloc method from HAL 2020-05-11 18:15:39 +10:00
Andrew Tridgell
b1c80d7d74 GCS_MAVLink: send only old value for readonly param set
this prevents a condition where the GCS can display the wrong value if
the 2nd PARAM_VALUE is lost

Note that groundstations can tell the set failed due to readonly in
the following ways:

 1) look for the statustext: Param write denied (PARAMNAME)

 2) see that the value came back with the old value, with index of
   65535

 3) can repeat the send, looking for (1) and (2)

Michael has proposed we add a PARAM_VALUE mavlink2 flags
extension. That would be nice, but we should still make this change to
fix the issue with mavlink 1.0
2020-05-11 18:15:39 +10:00
Peter Hall
18cab7a414 AP_Motors: MotorsMulticopter fix floating boost output 2020-05-11 18:15:39 +10:00
Peter Barker
83ca008f4e GCS_MAVLink: divide time allowed to send messages fairly 2020-05-11 18:15:39 +10:00
Randy Mackay
9cce3945cb AP_LandingGear: add OPTIONS param to auto deploy and retract 2020-05-11 18:15:39 +10:00
Bill Geyer
96705dca69 AC_AttitudeControlHeli: update filter parameter desc mins 2020-05-11 18:15:39 +10:00
Randy Mackay
02758b851f AC_AttitudeControl: update param ranges 2020-05-11 18:15:39 +10:00
Randy Mackay
42103e555a AP_Mount: ignore rc trim when calculating desired mount angles 2020-05-11 18:15:39 +10:00