Commit Graph

348 Commits

Author SHA1 Message Date
Peter Barker 6ee9f01ffb AP_GPS: avoid use of mavlink constructs when GCS not compiled in 2023-08-08 11:33:54 +10:00
Peter Barker bf005731a9 AP_GPS: tidy is_healthy calculations
this removes some duplicate code and simplifies the flow of control
2023-08-08 11:31:18 +10:00
Peter Barker 407cfc22ca AP_GPS: remove code if blended instance is not available 2023-08-01 10:03:19 +10:00
Peter Barker 5664c0a142 AP_GPS: check delay_ok in one place 2023-07-04 08:15:31 +10:00
Andrew Tridgell 848e1bfdf8 AP_GPS: ensure uart buffer sizes are OK for RTK
rover needs higher tx size, base needs higher rx size
2023-06-27 10:32:43 +10:00
Peter Barker a16c9cf64e AP_GPS: log fragments used/fragments discarded for RTCM injection data 2023-05-17 18:37:43 +10:00
Ryan Friedman 1e9403dca6 AP_GPS: Add covariance output to AP_GPS matching ROS NavSatFix
* Zero every iteration in case GPS quality degrades or fix is lost
* Use float precision for now

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-04-14 12:06:42 +10:00
Andrew Tridgell 645fd82507 AP_GPS: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 5952eb1249 AP_GPS: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell 8829f54d89 AP_GPS: rename AP_UAVCAN to AP_DroneCAN 2023-04-08 07:11:23 +10:00
Peter Barker 3c3f383601 AP_GPS: decouple status enumeration from MAVLink fix types
This moves us towards being able to compile the GPS library without having the MAVLink headers available.  We shouldn't need those headers when building for Periph.

If the headers are available then we ensure our values match mavlink so we can do a simple cast from one to the other
2023-03-22 14:23:41 +11:00
Peter Barker 5423dd0210 AP_GPS: avoid using struct Location
clang reports this could be a problem when compiling under some EABIs.  Remove it from most places as it is just noise, replace with class where we want to avoid including Location.h
2023-02-04 22:51:54 +11:00
Andrew Tridgell 7a741a0a2d AP_GPS: fixed use of undulation for GPS2_RAW
GPS2_RAW needs to use undulation of 2nd receiver
2023-01-08 13:30:11 +11:00
Andrew Tridgell 898187950e AP_GPS: give yaw information for AP_Periph from Unicore GPS
this allows for CAN GPS yaw with length and height checks with unicore
GPS
2022-12-20 10:23:58 +11:00
Andrew Tridgell d7a3c643a6 AP_GPS: improved unicore setup
log version information and improve auto-bauding
2022-12-20 10:23:58 +11:00
Andrew Tridgell a7c5c6b728 AP_GPS: allow for disabling of NMEA Unicore support 2022-12-20 10:23:58 +11:00
Andrew Tridgell ad9dfe2d51 AP_GPS: added support for Unicore NMEA GPS
this includes dual-antenna moving baseline support, 3D velocity and accuracies
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
Peter Barker 6a64b56b0d AP_GPS: fix SIRF defines
this allows SIRF to be included even on minimised boards if it is requested
2022-11-09 18:44:40 +11:00
Peter Barker f225592f48 AP_GPS: use default case for sending blob
This structure avoids a compiler warning that a statement isn't reachable when all backends are compiled out.
2022-09-29 20:00:53 +10:00
Peter Barker 288089a158 AP_GPS: no init blobs for SBF/GSOF/NOVA/SITL 2022-09-29 20:00:53 +10:00
Peter Barker 3a3f9bdb84 AP_GPS: cycle through baud rates for SBF/GSOF/NOVA/SITL 2022-09-29 20:00:53 +10:00
Henry Wurzburg d31f6c2f57 AP_GPS: remove incorrect build option on GPS_DRV_OPTIONS param 2022-09-05 12:48:51 +10:00
Joshua Henderson 378dff5568 AP_GPS: added get_undulation support 2022-08-09 14:37:08 +10:00
Iampete1 51540359e6 AP_GPS: params always use set method 2022-08-03 13:43:48 +01:00
Peter Barker b4bee6a510 AP_GPS: correct compilation when all serial backends compiled out 2022-07-26 10:30:43 +10:00
Peter Barker 96b4945eb9 AP_GPS: move explanation of ublox rates into ublox header 2022-07-26 10:30:43 +10:00
Tamas Nepusz 6ca593a61d AP_GPS: Do not drop reassembly buffer for injected packets when a dupllicate fragment is received 2022-07-22 20:40:21 +10:00
Peter Barker 00329ae443 AP_GPS: stop reading arbitrary amounts of data in GPS init
We don't like doing this in other places as the vehicle can go out to
lunch for arbitrary periods of time
2022-07-13 17:56:38 +10:00
Peter Barker b88f414320 AP_GPS: allow UBLOX driver to be compiled out 2022-07-13 17:56:38 +10:00
Peter Barker e858a0fab7 AP_GPS: factor out a _detect_instance method
This means we don't need the goto to handle the case of a detected GPS,
and it also allows for restructure remove the "else" statements, which
will allow compilinmg out the uBlox driver
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
Peter Barker ccca0e8e0f AP_GPS: stop using HAL_BUILD_AP_PERIPH to gate GPS backends 2022-04-13 18:23:51 +10:00
Peter Barker e0a96eaa83 AP_GPS: remove more code based on GPS_MOVING_BASELINE 2022-04-12 11:20:01 +10:00
Peter Barker aa72559d00 AP_GPS: tidy initialisation of sending blobs 2022-04-12 11:20:01 +10:00
Peter Barker 4b6590734a AP_GPS: move gps blob initialisation out to method 2022-04-12 11:20:01 +10:00
Peter Barker c2112565b5 AP_GPS: remove redundant _blend_mask check
filling in of these values is already gated by checking the mask
2022-04-06 17:31:42 +10:00
Peter Barker 4332ed8f36 AP_GPS: use sq function for squaring numbers 2022-04-06 17:31:42 +10:00
Peter Barker 88feb74762 AP_GPS: improve parameter documentation in UAVCAN GPS 2022-03-27 06:21:20 -07:00
Andrew Tridgell feb9e78f00 AP_GPS: prevent switching to a dead GPS
when we switch away from the blended GPS instance we need to ensure we
don't switch to a GPS that is timing out, and may be the instance that
is triggering the disable of blending
2022-03-22 10:10:07 +11:00
Peter Barker a9aa5c2d60 AP_GPS: add a new AP_GPS_SITL object 2022-03-17 14:39:55 +11:00
Peter Barker 8d6e442997 AP_GPS: include cleanups 2022-03-01 11:21:33 +11:00
bugobliterator 3598724378 AP_GPS: change time_epoch_convert to istate_time_to_epoch_ms 2022-02-03 06:45:35 +11:00
bugobliterator 244b8ed358 AP_GPS: change _last_itow to _last_itow_ms 2022-02-03 06:45:35 +11:00
bugobliterator e77bb74f9b AP_GPS: remove unnecessary multiply with 1000ULL in time_epoch_usec 2022-02-03 06:45:35 +11:00
Peter Barker c463036706 AP_GPS: write config blob out as chunk rather than iterating 2022-01-30 13:24:45 +11:00
bugobliterator 49bf4fa27b AP_GPS: move to using last_corrected_gps_time_us instead of uart_timestamp_us 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 c5f21664db AP_GPS: correct compilation when SIRF disabled 2022-01-14 11:49:01 +11:00