Commit Graph
409 Commits
Author SHA1 Message Date
Peter Barker c0fb40e006 AP_GPS: replace AP_GPS::Status and AP_DAL_GPS::Status with AP_GPS_FixType 2026-03-27 12:01:41 +11:00
Ryan Friedman bbc788e9e4 AP_GPS: allow GPS PPP and static type 2026-03-19 09:57:16 +11:00
bugobliterator 6680d4f882 AP_GPS: deduplicate code between when CFGv2 is enabled and disabled 2026-03-03 16:15:54 +11:00
bugobliterator d569f9d2b6 AP_GPS: restructure ublox driver to binary match when CFGV2 is disabled 2026-02-27 10:29:31 +11:00
bugobliterator f2d84be497 AP_GPS: use ARRAY_SIZE(drivers) for bounds check in is_configured 2026-02-27 10:29:31 +11:00
bugobliterator b00c0ad087 AP_GPS: add separate CFG-VALGET/VALSET based configuration support 2026-02-27 10:29:31 +11:00
bugobliterator f9f68d17b8 AP_GPS: expand GNSS_MODE parameter to 16-bit 2026-02-27 10:29:31 +11:00
Peter Hall 2462e70118 AP_GPS: only send GPS raw if GPS is enabled 2025-10-14 10:37:15 +11:00
Henry Wurzburg f095df3a7c AP_GPS:make 115K drvr option clear that it is for Ublox only 2025-07-19 11:40:39 +10:00
Peter Barker c4a6b0a83b AP_GPS: tidy remaining AP_SIM_ defines 2025-07-02 17:27:59 +10:00
Peter Barker d7dad692ff AP_GPS: document the RTCM log message 2025-05-19 22:28:26 +10:00
Peter Barker d1d4f95718 AP_GPS: rename HAL_EXTERNAL_AHRS_ENABLED to AP_EXTERNAL_AHRS_ENABLED
in preparation for making this an optional feature; a lot of people will want to go and put this in their hwdef files as soon as we do this!
2025-05-13 09:06:44 +09:00
Thomas Watson 9cfa8a1121 AP_GPS: log altitude above ellipsoid instead of undulation
ArduPilot's internal definition of undulation is reversed in sign
compared to the accepted convention and this creates confusion:
https://github.com/ArduPilot/ardupilot/issues/29199 .

Instead of the internal definition, log the altitude above ellipsoid,
which ArduPilot already consistently and correctly calculates and
broadcasts over e.g. DroneCAN and MAVLink. Switching the quantity logged
allows users to accommodate the problem in old logs (i.e. always flip
GPA.Und sign to match the accepted convention) and reduces opportunity
for future confusion.

Future work will clean up or replace the internal representation, but
this should be a complete fix for the issue from a user perspective.
2025-04-29 20:38:50 +09:00
Peter BarkerandRyan Friedman 1c1ee32665 AP_GPS: correct _port array-overread in EAHRS case
Co-authored-by: Ryan Friedman <25047695+Ryanf55@users.noreply.github.com>
2025-04-15 10:01:20 +10:00
Eric Katzfey 93ba994eb1 AP_GPS: Cast enum to int to fix compiler warning when max enum value is less than the constant being compared to. 2024-12-15 15:16:21 +11:00
Peter Barker 199074ce34 AP_GPS: add specific defines for sending of GPS mavlink messages 2024-11-13 19:40:19 +11:00
Henry Wurzburg 9f8acbab39 AP_GPS: add legacy label to gps and ice params 2024-09-06 14:46:50 +10:00
Peter Barker 0e33a0f8f7 AP_GPS: mark GPS_TYPE as @Legacy 2024-09-06 11:52:58 +10:00
Henry Wurzburg 4a72373624 AP_GPS:fix metadata typo 2024-08-28 15:31:08 +10:00
Henry Wurzburg 1631e85fe8 AP_GPS:add note to old param names to avoid confusion 2024-08-27 12:00:14 +10:00
Peter Barker 39b4b80a5f AP_GPS: create real AP_GPS_Blended backend 2024-08-27 09:26:06 +10:00
Andrew Tridgell 669cb6563b AP_GPS: allow for EAHRS_SENSORS to not include GPS
this allows external AHRS GPS to not be presented to AP_GPS as a
possible driver
2024-08-20 10:27:01 +10:00
Peter Barker ebfbcacfe3 AP_GPS: tidy pre_arm_checks 2024-07-02 09:56:40 +10:00
Andrew Tridgell 1e075aeb80 AP_GPS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Andrew Tridgell fe42171268 AP_GPS: make get_RelPosHeading boolean 2024-04-23 10:32:43 +10:00
Peter Barker b03b8309ef AP_GPS: copy GPS metadata in for pre-per-instance-parameters
allows to not break older firmware in terms of available metadata
2024-04-10 16:37:35 +09:00
Peter Barker a0b2753766 AP_GPS: remove blended GPS from small boards
those boards which are not including all backends will lose blended after this
2024-03-26 10:57:35 +11:00
Peter Barker f487a25e09 AP_GPS: move blended-GPS functions into AP_GPS_Blended
collects all of these together in preparation for making a backend
2024-03-20 18:27:28 +11:00
Peter Barker 2a010623b2 AP_GPS: allow forwards/backwards for DroneCAN type autoconfig
ArduPilot configures a connected DroneCAN GPS based on its GPS Type.

Given parameter name changes, ArduPilot must be able to configure both new and old AP_Periphs, and new AP_Periphs have to cope with being configured by old ArduPilots.
2024-03-19 19:50:12 +11:00
Peter Barker 9726e55d1c AP_GPS: rename GPS_ to GPS1_ 2024-03-19 19:50:12 +11:00
Peter Barker 50c36de6a4 AP_GPS: add GPS parameter conversion functions 2024-03-19 19:50:12 +11:00
Peter Barker 21fc013016 AP_GPS: use subgroup to hold GPS instance parameters 2024-03-19 19:50:12 +11:00
Peter Barker 8bd05941a1 AP_GPS: stop passing serial manager to GPS init
it can get this via the singleton
2024-03-19 07:28:55 +11:00
Peter Barker 4811a10e1a AP_GPS: exclude more code based on HAL_LOGGING_ENABLED 2024-03-19 07:28:23 +11:00
Peter Barker 8ab3b0db37 AP_GPS: correct update_primary check
takes an instance, not a type
2024-03-12 20:50:18 +11:00
Peter Barker 466b4b6c2e AP_GPS: create convenience methods is_rtk_base and is_rtk_rover 2024-03-12 08:51:11 +11:00
Peter Barker b4f5d49adb AP_GPS: remove redundant check
get_type has this sanity check
2024-03-12 08:51:11 +11:00
Peter Barker 093709cbe3 AP_GPS: avoid use of _type
some of these methods are taking the instance in externally.  Protect by using get_type
2024-03-12 08:51:11 +11:00
Andrew Tridgell 0f6f738a33 AP_GPS: added option to decode RTCM injected data
this allows for redundent RTCM links (eg. WiFi and SiK links for light
show drones) without causing corruption into the GPS.

If the GPS_DRV_OPTION bit is set then we instantiate a separate RTCM3
decoder per mavlink channel, and only inject when we get a full packet
that passes the RTCM 24 bit CRC
2024-03-06 19:38:06 +11:00
Andrew Tridgell d894f7ac5d AP_GPS: do initial probe at default baudrate
this makes for much faster probe for most users
2024-02-29 11:00:40 +11:00
Andrew Piper 6d6c790e37 AP_GPS: fragments_received is a bitmask not a count 2024-02-26 09:23:08 +11:00
Peter Barker 21a01c5587 AP_GPS: remove dead GPS_MINDGPS variable 2024-02-22 14:41:29 +11:00
Andrew Tridgell 4fca2ee852 AP_GPS: prevent announcing DroneCAN at 5Hz 2024-02-22 13:27:54 +11:00
Peter Barker 494d72503a AP_GPS: use probing when probing for GPS, add detected message 2024-02-20 19:35:01 +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 78b0ddcf45 AP_GPS: add support for setting L5 override 2024-01-21 12:23:12 +11:00
Peter Barker fa8f3b5715 AP_GPS: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
772dbfb04f AP_GPS: SBF supports yaw from dual antennas
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
Co-authored-by: Randy Mackay <rmackay9@yahoo.com>
2023-11-28 11:17:51 +11:00
Ryan Friedman 201c66e417 AP_GPS: Fix GSOF autobaud detection msg
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-14 10:26:01 +11:00
Ryan Friedman 08d88ce7c6 AP_GPS: Use GPS_COM_PORT param in GSOF driver
* Instead of hard coding to COM2, allow users to set it
* The enum is confusing, so this needs a wiki entry
* Use the same port in requestBAUD
* If the user configures an invalid param, send an error
* Add values for the GSOF COM ports
* Fix bug in RS232 being port 3 instead of port 0
* Use set_default for the typical user value when the GSOF driver is run

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-10 13:38:48 +11:00