Commit Graph

1164 Commits

Author SHA1 Message Date
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
Thomas Watson 360e54f871 AP_GPS: optimize DroneCAN subscription process
* remove unnecessary nullptr check, these are always called from an
  initialized AP_DroneCAN so if it's nullptr something has gone
  horrifically wrong

* pass in driver index instead of repeatedly calling function to get it

* simplify error handling; knowing exactly which allocation failed is not
  super helpful and one failing likely means subsequent ones will too,
  as it can only fail due to being out of memory
2024-11-18 10:30:29 +11:00
Eric Katzfey 4d75b44775 AP_GPS: Remove unused private member to get rid of compiler warning in Qurt build 2024-11-16 19:20:11 +11:00
Peter Barker f38668bd6a AP_GPS: remove handling of HIL_GPS
... per deprecation/removal schedule
2024-11-13 19:41:00 +11:00
Peter Barker 20fa2b0741 AP_GPS: don't compile support for sending rtk messages if no backend supports it 2024-11-13 19:40:19 +11:00
Peter Barker 199074ce34 AP_GPS: add specific defines for sending of GPS mavlink messages 2024-11-13 19:40:19 +11:00
Peter Barker 8dec79d136 AP_GPS: use AP_GPS_FixType for ExternalAHRS fix type 2024-10-01 10:32:11 +10:00
Peter Barker 1d91962b96 AP_GPS: move initialisation of some members into header 2024-09-24 09:30:05 +10: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
Peter Barker 864a7a2a4b AP_GPS: define GPS_BLENDED_INSTANCE any time AP_GPS_BLENDED_ENABLED
otherwise someone can explicity ebable it but not have a blended instance ID
2024-09-02 11:53:12 +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
Peter Barker 2e1364e3b0 autotest: include SBF when testing GPS backends work 2024-08-21 06:31:41 +10:00
Peter Barker 3bde446538 AP_GPS: SBF: avoid FPE when undulation is DNF 2024-08-21 06:31:41 +10:00
Peter Barker 8ee7bf2dcb AP_GPS: change GPS_TYPE value 10 from SBF to Septentrio 2024-08-20 20:45:45 +10:00
Ryan Friedman 724e61fa70 Tools: factor out common library for GSOF
* Add tests too

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-20 14:50:05 +10:00
Ryan Friedman f8295cb52b AP_GPS: factor out common library for GSOF
* Add tests too

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2024-08-20 14:50:05 +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
Andrew Tridgell d225683d69 AP_GPS: fixed unconfigured uBlox pre-arm
when GPS_GNSS_MODE is zero (the default) we could get stuck trying to
configure the GNSS for F9P
2024-08-13 10:49:09 +10:00
chiara-septentrio fc8147ead0 AP_GPS:Septentrio constellation choice 2024-07-23 10:32:32 +10:00
Willian Galvani ef9763fdd7 AP_GPS: hdop and vdop are unitless 2024-07-14 17:23:15 +10:00
Peter Barker 71332dd039 AP_GPS: example: do not instantiate AP_BoardLED unless the board supports it 2024-07-11 09:34:00 +10:00
Peter Barker b2a7fcda5c AP_GPS: resolve compilation problem with timeval
./../libraries/AP_GPS/AP_GPS_SITL.cpp:37:27: error: aggregate 'timeval first_tv' has incomplete type and cannot be defined
    37 |     static struct timeval first_tv;
       |                           ^~~~~~~~
 compilation terminated due to -Wfatal-errors.

 Waf: Leaving directory `/ardupilot/src/build/sitl'
 Build failed
  -> task in 'objs/AP_GPS' failed (exit status 1):
  {task 135805090486368: cxx AP_GPS_SITL.cpp -> AP_GPS_SITL.cpp.0.o}
2024-07-11 09:22:12 +10:00
Andrew Tridgell 681e2d7993 AP_GPS: don't consider uBlox PVT time correct unless we have 2D fix
the time may be set by an offline assistance client and may not be
accurate
2024-07-02 10:25:03 +10:00
Peter Barker 42805aa892 AP_GPS: confine inter-instance DroneCAN state checks to DroneCAN GPSs
stop these looking at parameters/state for all GPSs, focus on DroneCAN GPSs
2024-07-02 09:56:40 +10:00
Peter Barker ebfbcacfe3 AP_GPS: tidy pre_arm_checks 2024-07-02 09:56:40 +10:00
bugobliterator 178cf7c2da AP_GPS: use 64 bit time in the pps interrupt callback in ublox driver 2024-06-26 17:51:31 +10:00
Simon Hancock d6f0d9b57c AP_GPS: Update description of VDop and HDop log params 2024-06-19 09:38:59 +10:00
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
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