Commit Graph

1132 Commits

Author SHA1 Message Date
Andrew Tridgell 1e075aeb80 AP_GPS: use NEW_NOTHROW for new(std::nothrow) 2024-06-04 09:20:21 +10:00
Bron2002 165b0e929f AP_GPS: add checking of instance number before update with incoming data 2024-06-03 12:18:11 +10:00
Peter Barker 05b8c28ea9 AP_GPS: allow handling of AP_MAVLINK_MSG_HIL_GPS_ENABLED to be compiled out 2024-05-23 09:16:32 +10:00
Randy Mackay 31720d2c83 AP_GPS: TYPE param value renamed to MAVLink 2024-05-21 08:38:59 +10:00
Ryan Friedman 3b1ba19640 AP_GPS: fix GPS headings
* If you don't wrap the heading, you can get a flyaway

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-05-12 21:06:52 +10:00
Andrew Tridgell fe42171268 AP_GPS: make get_RelPosHeading boolean 2024-04-23 10:32:43 +10:00
Peter Barker cd9aa0e3ed AP_GPS: remove dedundant crc32 routine from Nova 2024-04-16 10:02:47 +10:00
Thomas Frans d52f49ec36 AP_GPS: SBF report correct satellite count on NrSV DNU value
When the NrSV field of the SBF PVTGeodetic message contains the
Do-Not-Use value of 255, set the satellite count to 0 instead of
ignoring the change.
2024-04-11 18:35:16 +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 b0351cd339 AP_GPS: protect detection structures with GPS backend defines
Save some memory when backends are compiled out
2024-04-09 10:25:42 +10:00
Peter Barker b3b4b8905f AP_GPS: add prearm check for blending-enabled-but-not-available 2024-03-26 10:57:35 +11: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
Peter Barker e6a6db9ba0 AP_GPS: correct check of reported antenna distance vs stated offset 2024-02-27 10:52:10 +11:00
Peter Barker cb2f764700 AP_GPS: improve reporting of offset vs reported-distance inaccuracy 2024-02-27 10:44:56 +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
bugobliterator 4bcac076f6 AP_GPS: broaden the acceptance criteria for GPS Yaw measurement 2024-02-08 00:59:15 -08:00
Simon Hancock 867f656033 AP_GPS: Updates to log message units and help text
Link GPS.Status to AP_GPS::GPS_Status enum
Remove units on fields set to Bytes which are not
Set the unit of GPS.GMS and GRAW.WkMS to ms (no unit specified before).
Change the unit of GPS.HDop and GPA.VDop from m to no-unit.
2024-01-21 14:26:54 +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 fa8f3b5715 AP_GPS: allow compilation with HAL_LOGGING_ENABLED false 2024-01-17 18:25:55 +11:00
Peter Barker 2e41cf810c Revert "AP_GPS: GSOF robust config parsing"
This reverts commit bf9881579c.
2023-11-28 16:09:46 +11:00
Peter Barker 8b7652d1db Revert "AP_GPS: Move init logic from constructor to class"
This reverts commit 5f84cd8f2b.
2023-11-28 16:09:46 +11:00
Ryan Friedman d7b5cd3203 AP_GPS: Fix missing GSOF param for SITL
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:50:02 +11:00
Ryan Friedman 5f84cd8f2b AP_GPS: Move init logic from constructor to class
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:44:37 +11:00
Ryan Friedman bf9881579c AP_GPS: GSOF robust config parsing
* Refactor checksum to unique function
* Clear uart before reading data
* Add ack/nack check
* Implement output disable before requesting GSOF data
* Improve debug message to have line number
* Use debug in more code
* Stop delaying in configuration

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-28 15:44:37 +11:00
Michael du Breuil 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
Peter Barker 2d9346e85a AP_GPS: correct uBlox M10 configuration on minimised boards 2023-11-08 09:05:13 +11:00
Ryan Friedman 9445cb2672 AP_GPS: Expose COM port and Output Rate in header
* This removes magic numbers of hard coding the hardware port and output
  rate
* This also fixes configuring the incorrect hardware port
* Now, COM2 (TTL) is configured for GSOF output
* The data rate remains the same as before

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-11-07 10:42:14 +11:00
Peter Barker e47a5c1ea9 AP_GPS: make AP_GPS_FixType enum class
Don't want "NONE" in the global namespace
2023-11-07 10:30:04 +11:00
Gone4Dirt 3edaea9be9 AP_GPS: Remove GPS_TC_BLEND 2023-11-02 15:51:52 +11:00