Commit Graph

206 Commits

Author SHA1 Message Date
Peter Barker 806813ee8d AP_GPS: correct uBlox M10 configuration on minimised boards 2023-11-14 11:11:24 +09:00
Andrew Tridgell 84e740f359 AP_GPS: implement the GPS_DRV_OPTION for ellisoid height in mode drivers
this allows a lot more drivers to use the GPS_DRV_OPTION but to use
ellisoid height. Particularly useful for DroneCAN GPS modules

using ellisoid height instead of AMSL is useful in some specialised
application
2023-11-07 17:36:12 +09:00
Andrew Tridgell cce16c9ada AP_GPS: fixed ublox M10S auto-config
this copes with the M10S rejecting multiple-key VALGET calls. We fall
back to fetching one at a time
2023-07-04 12:16:30 +09:00
Andrew Tridgell fd0bf49ca5 AP_GPS: don't try and configure M10 options on non-M10 GPS
this fixes a pre-arm failure "GPS 1 failing configuration checks" on
non-M10 GPS modules, including AP_Periph

it also adds the ublox unconfigured msgs to the DroneCAN GNSS.Status
errors field for easier diagnosis of this type of issue in the future
2023-02-18 15:33:13 +11:00
Andrew Tridgell 2fd575aca2 AP_GPS: allow for DroneCAN GPS other than u-blox rover with yaw
single module, dual antenna GPS can give yaw information
2022-12-20 10:23:58 +11:00
Andrew Tridgell 9cebe3b880 AP_GPS: added a common velocity_to_speed_course()
this saves flash using common code
2022-12-20 10:23:58 +11:00
Andrew Tridgell b12cd48843 AP_GPS: improve support for uBlox-M10
this sets up the M10 to use the BaiDou B1C signal instead of B1, and
disables glonass. This is needed to get a consistent 5Hz lock
2022-11-22 19:51:01 +11:00
Joshua Henderson 378dff5568 AP_GPS: added get_undulation support 2022-08-09 14:37:08 +10:00
Peter Barker b88f414320 AP_GPS: allow UBLOX driver to be compiled out 2022-07-13 17:56:38 +10:00
Andrew Tridgell 06a9a1521c AP_GPS: added GPS_DRV_OPTIONS bit for ellipsoid height 2022-06-15 17:30:28 +10:00
Iampete1 2589fa1b3b AP_GPS: UBlox: add TIM-TM2 logging 2022-04-06 17:22:30 +10:00
Peter Barker cafad05b38 AP_GPS: rearrange send-text for consistency 2022-03-27 06:21:20 -07:00
bugobliterator 46294c0fba AP_GPS: sync pps rate with message rate 2022-01-20 17:26:35 +11:00
bugobliterator 9834304525 AP_GPS: make more precise calculation of gps message
use PPS signal if available as well
2022-01-20 17:26:35 +11:00
Peter Barker 8d17b8dbe7 AP_GPS: use const structure for saving GPS config 2022-01-12 18:29:01 +11:00
Peter Barker 1943de9016 AP_GPS: tidy configuration of UBLOX rates 2022-01-12 18:29:01 +11:00
Andrew Tridgell 9d21c0b6c1 AP_GPS: added GPS data logging system
for debugging GPS protocols
2022-01-11 10:34:11 +11:00
Peter Barker 065cb2decb AP_GPS_UBLOX: tidy reading of uart data
Neither of the return types used for data and numc were actually correct for the values being returned from the uartdriver functions.
2021-11-09 10:31:25 +11:00
Josh Henderson 06251335da AP_GPS: use vector.xy().length() instead of norm(x,y) 2021-09-14 10:43:46 +10:00
bugobliterator 85d8becb8c AP_GPS: add support for auto config Moving Baseline for AP_Periph GPS 2021-08-19 14:20:58 +10:00
bugobliterator 9fc57e40b4 AP_GPS: add support for dual GPS heading using Periph GPSes 2021-08-19 14:20:58 +10:00
Siddharth Purohit c18652f35a AP_GPS: add option to enable configuring PPS pin in UBLOX driver 2021-07-02 08:50:16 +10:00
Peter Barker a61b6ebda8 AP_GPS: move from HAL_NO_LOGGING to HAL_LOGGING_ENABLED 2021-05-19 17:38:47 +10:00
Michael du Breuil 1288f4c81b AP_GPS: Support GPS_SBAS_MODE on SBF GPS units
Also swaps to using an AP_Enum for the SBAS type, and fixes up the fact
that the prearm/failure reasons should be using the config step, rather
then the init blob index
2021-05-18 09:52:07 +10:00
Andrew Tridgell 7cc11e6856 AP_GPS: fixed handling of loss of GPS yaw
when the GPS yaw data doesn't pass the internal tests of validity for
400ms we need to stop telling the EKF that we have valid yaw
2021-05-04 10:37:15 +10:00
giacomo892 a245100ae6 AP_GPS_UBLOX: Fix GALILEO auto configuration 2021-04-29 13:01:09 +10:00
Patrick José Pereira 6bdc1704f4 AP_GPS: Remove pointer check before delete
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2021-02-04 09:01:19 +11:00
Peter Barker 428c9ef0e1 AP_GPS: correct logging in dual-ublox setups 2020-11-10 17:39:51 +11:00
Michael du Breuil 4161e2eb28 AP_GPS: Factor out moving base offset helper 2020-11-03 11:12:20 +11:00
Andrew Tridgell 8e08d93026 AP_GPS: fixed pre-arm check on ublox M9 GPS
this prevents a failure from config of SOL and TMODE messages
2020-10-06 10:22:52 +11:00
Andrew Tridgell 4f591a338f AP_GPS: use GCS_SEND_TEXT() 2020-04-29 07:36:55 +10:00
Andrew Tridgell 6347d0adb0 AP_GPS: leave uart2 config enabled when using uart2 MB setup 2020-04-21 15:30:54 +10:00
Andrew Tridgell 3397ed766d AP_GPS: enable ublox moving baseline compilation option
disable for HAL_MINIMIZE_FEATURES and if max receivers 1. This fixes
the f103-GPS AP_Periph build
2020-04-21 15:30:54 +10:00
Andrew Tridgell ae2132d861 AP_GPS: added check for Z error in moving baseline ublox
this ensures we don't get bad yaw from having the right distance but
incorrect Z offset for the currently expected roll/pitch
2020-04-21 15:30:54 +10:00
Andrew Tridgell 7027eecd34 AP_GPS: added GPS_DRV_OPTIONS
this allows for configuration of moving baseline with either uart1 or
uart2 for the RTCM data. Using uart2 requires an extra cable between
the two modules, but requires less uart bandwidth which is good when
DMA channels are low. Using uart2 also avoids the rtcmv3 parser, which
saves memory
2020-04-21 15:30:54 +10:00
Andrew Tridgell 9a6de209ab AP_GPS: ensure that PVT and RELPOSNED msgs time align
this ensures we wait until we have a matching PVT and RELPOSNED
message before we report new data. If we stop receiving RELPOSNED
messages then disable yaw support
2020-04-21 15:30:54 +10:00
Andrew Tridgell 3fbeae613b AP_GPS: fixed moving baseline yaw calculation
this reverts #13955 and instead applies the correct fix, which is to
subtract the angle instead of adding.
2020-04-21 15:30:54 +10:00
Andrew Tridgell 4456732911 AP_GPS: fixed rotation of moving baseline GPS
we were off by 180 degrees. Thanks to Jaime for noticing this!
2020-04-01 17:08:19 +11:00
Andrew Tridgell e59f32074d AP_GPS: fixed yaw error when one GPS has zero position
the M_PI correction was only valid for one zero side. Much simpler to
always calculate difference
2020-01-24 11:46:40 +11:00
Andrew Tridgell db777c56b9 AP_GPS: provide yaw feedback in GPS_RAW_INT and GPS2_RAW
allow GPS to display status of GPS yaw for moving baseline and NMEA
2020-01-07 12:37:35 +11:00
Andrew Tridgell e40c570615 AP_GPS: faster config of moving baseline
thanks to MdB for suggestion
2020-01-07 12:37:35 +11:00
Andrew Tridgell e660532f67 AP_GPS: fixes from PR review 2020-01-07 12:37:35 +11:00
Andrew Tridgell 41289fe945 AP_GPS: adjust lag for MB RTK ublox
rover will lag by about 40ms
2020-01-07 12:37:35 +11:00
Andrew Tridgell 93aaf98672 AP_GPS: added automatic u-blox moving baseline configuration
this uses GPS_TYPE and GPS_TYPE2 to setup two u-blox F9 receivers in a
RTK moving baseline configuration
2020-01-07 12:37:35 +11:00
Andrew Tridgell 379e3d60a1 AP_GPS: fixed sizes of config items 2019-11-16 15:28:52 +11:00
Michael du Breuil 63a6a1084c AP_GPS: UBlox: Fix the assumption that all keys are 1 byte keys 2019-11-16 15:28:52 +11:00
Michael du Breuil 150a4edcf2 AP_GPS: UBlox fix not listing the time mode as a configuration reason 2019-11-16 15:28:52 +11:00
Andrew Tridgell 7bec9d87b4 AP_GPS: fixed TMODE config issue on non-F9 GPS
thanks to Michel Pastor for reporting this
2019-11-16 15:28:52 +11:00
Andrew Tridgell 8aa781206d AP_GPS: fixed signed/unsigned comparisons 2019-11-09 17:11:32 +11:00
Andrew Tridgell 6c31fb1bb6 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-09 17:11:32 +11:00