Commit Graph

135 Commits

Author SHA1 Message Date
Peter Barker 0824eca776 AP_GPS: use AP_GPS_ENABLED to exclude more code when GPS not compiled in 2023-09-27 16:38:15 +10:00
Andrew Tridgell 0d4018107b 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-06-13 11:00:47 +10: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 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
Peter Barker 96b4945eb9 AP_GPS: move explanation of ublox rates into ublox header 2022-07-26 10:30:43 +10:00
Peter Barker 01751fba60 AP_GPS: move defaulting of AP_GPS_UBLOX_ENABLED to AP_GPS_config
Addition of this define crossed with another PR which created the config.h file
2022-07-19 10:14:18 +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
Andrew Tridgell 509f03f946 AP_GPS: cleanup driver option access
use option_set() to make code clearer
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
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
Michael du Breuil a3ddf5264d AP_GPS: Support uavcan ardupilot.gnss.Status
Also makes the drive by change to make GPS_Backend::is_configured const
2021-03-12 09:39:55 +11:00
Ari Krupnik 1d288316cc AP_GPS: standard spelling of variant 2020-12-25 00:01:50 +11:00
Peter Barker 428c9ef0e1 AP_GPS: correct logging in dual-ublox setups 2020-11-10 17:39:51 +11:00
Michael du Breuil b30c55b3f3 AP_GPS: Support yaw from moving base station on SBF drivers 2020-11-03 11:12:20 +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
Donione ff80be19c1 AP_GPS: fix type and update reserved bytes in ublox PVT 2020-09-28 16:31:14 -07:00
Andrew Tridgell 78858bbcdd AP_GPS: switch ublox over to 230400 baud
this ensures we have sufficient bandwidth for raw data
2020-06-01 17:18:17 -07: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 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 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 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
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 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
Andrew Tridgell 37fb028532 AP_GPS: improved checking for valid yaw for moving baseline
and fixed check for carrSolnFixed
2019-10-15 11:06:11 +11:00
Michael du Breuil 2587b13ae7 AP_GPS: UBLOX: Parse RELPOSNED messages
This does not yet:
  - validate the receiver configuration
  - manage timing out stale GPS heading info
  - relPosNormalized usage isn't clear, which may defeat the STRICT_LENGTH_CHECK
2019-10-15 11:06:11 +11:00
Andrew Tridgell 5bfb6ced84 AP_GPS: fixed u-blox F9 auto configuration 2019-07-05 13:31:40 +10:00
Michael Oborne 6031f5b6a9 AP_GPS_UBLOX: add support for TIMEGPS message. used to get gps week 2019-05-29 09:48:17 +10:00
Michael du Breuil 833bc8f12a AP_GPS: Ensure that all ublox configuration failure reasons have a description 2019-04-02 08:15:59 +11:00
Peter Barker b47733142f GLOBAL: rename DataFlash_Class to AP_Logger 2019-01-18 18:08:20 +11:00
Andrew Tridgell d761b24b92 AP_GPS: optionally configure a hardware PPS pin for uBlox
useful for testing time lag estimation
2018-12-04 11:37:38 +11:00
Andrew Tridgell df68d6413c AP_GPS: moved iTow handling to GPS_Backend 2018-12-04 11:37:38 +11:00
Andrew Tridgell 3fe4b9c0f8 AP_GPS: make GPS packet timestamps more accurate
this reduces the effect of processing time and uart transmit time
2018-12-04 11:37:38 +11:00
Peter Barker fd888727b8 AP_GPS: add override keyword where required 2018-11-08 11:30:12 +11:00
Michael du Breuil 5f8633e322 AP_GPS: Allow backends to report their lag confidences 2017-06-21 11:44:45 +01:00
Peter Barker 1ba59b446c AP_GPS: log ublox sw and hw versions on dataflash log start
This burns 41 bytes of RAM for each u-Blox GPS.
2017-04-23 21:04:17 +01:00
Peter Barker 2354a0ec5a AP_GPS: ability to log GPS detection state to dataflash 2017-04-23 21:03:23 +01:00
Peter Barker 4334a92ac9 AP_GPS: remove unimplemented method declarations 2017-04-23 09:08:30 +10:00
Michael du Breuil 6f297deaf7 AP_GPS: Unify inject_data interface for all classes 2017-04-19 02:05:51 +01:00
Randy Mackay e764f0d5d0 AP_GPS: sanity check update rate
Also minor spelling and parameter documentation fix
2017-03-13 11:31:51 +11:00
Michael du Breuil 398ff823c0 AP_GPS: Always consider ublox as configured in sitl 2017-03-07 12:43:30 +11:00
Michael du Breuil 7b483a1460 AP_GPS: Ublox, always quickly set the rates until we have fetched the version 2017-02-23 07:33:58 +11:00
Andrew Tridgell 5d18f3a453 AP_GPS: added backend specific get_lag() function
the ublox7 and 8 seem to produce lower lag, around 120ms. Separately
we should also look at running these at 10Hz and see if that helps.
2017-01-27 16:57:42 +09:00