Commit Graph

218 Commits

Author SHA1 Message Date
Andy Piper 2af6358c07 AP_GPS: dynamically allocate config_GNSS 2024-06-10 06:53:23 +10:00
Andy Piper a9dc7b440f AP_GPS: support GPSx_GNSS_MODE for F9P
support detecting F9P hardware variant
fix bug in extension buffer management
support NEO-F9P GNSS configuration
allow multiple configuration values to be set in one go
phase F9 configuration to account for GNSS reset
2024-06-10 06:53:23 +10:00
Andrew Tridgell 1e075aeb80 AP_GPS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Peter Barker 21fc013016 AP_GPS: use subgroup to hold GPS instance parameters 2024-03-19 19:50:12 +11:00
Peter Barker 4811a10e1a AP_GPS: exclude more code based on HAL_LOGGING_ENABLED 2024-03-19 07:28:23 +11:00
Andrew Tridgell 754d3df304 AP_GPS: support newer M10 versions with L1L5 2024-01-21 12:23:12 +11:00
Andrew Tridgell 6aaf6883ef AP_GPS: make L1/L5 check work on M10 modules too
tested on SierraAerospace L1L5 module
2024-01-21 12:23:12 +11:00
bugobliterator 55a922563b AP_GPS: set L5 config only on BBR and RAM 2024-01-21 12:23:12 +11:00
bugobliterator 78b0ddcf45 AP_GPS: add support for setting L5 override 2024-01-21 12:23:12 +11:00
Peter Barker 2d9346e85a AP_GPS: correct uBlox M10 configuration on minimised boards 2023-11-08 09:05:13 +11:00
Mykhailo Kuznietsov 3a7e939a6c AP_GPS: Fix some typos
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Peter Barker 53115c73f9 AP_GPS: have AP_GPS_UBLOX use boolean uart read 2023-10-06 16:34:50 +11:00
Andrew Tridgell 89bd6ab218 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-09-21 19:36:26 +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
Peter Barker e415b5fda0 AP_GPS: add clarifying comment on _configure_config_set method
it's a bit confusingly named, because it doesn't actually "set" anything - it gets messages from the GPS which are then parsed and responded to based on the received values.
2023-05-29 09:56:20 +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 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