Andrew Tridgell
17c25780c7
AP_GPS: support UNIHEADINGA message for Unicore NMEA
...
this allows for good yaw even without a RTK fix, which makes yaw with
dual-antenna Unicore GPS modules much more useful
2023-01-08 13:30:11 +11:00
Andrew Tridgell
fc5ae600ef
AP_GPS: fixed handling of empty HDT/THS sentences
...
fixes #22432
2022-12-20 10:23:58 +11:00
Andrew Tridgell
b0c006deca
AP_GPS: suppress string truncation warnings
2022-12-20 10:23:58 +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
3c1a54c3df
AP_GPS: added measured lag for Unicore GPS
...
measured as 0.14s from flight log
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
29f1c31854
AP_GPS: added GPYW logging for GPS yaw
...
this makes it much easier to debug GPS yaw issues, by logging the raw
data even if the yaw is rejected
2022-12-20 10:23:58 +11:00
Andrew Tridgell
c453ff1ce2
AP_GPS: fixed vertical velocity with AGRICA support
...
and add health check for unicore GPS
2022-12-20 10:23:58 +11:00
Andrew Tridgell
55683c51f5
AP_GPS: review changes
2022-12-20 10:23:58 +11:00
Andrew Tridgell
d2d6dc8ce4
AP_GPS: only give time if we have a 3D fix
...
and ensure we configure rate for GGA and RMC for Unicore
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
2837471ddf
AP_GPS: fixed build without GPS_MOVING_BASELINE
2022-12-20 10:23:58 +11:00
Andrew Tridgell
02d6931c4d
AP_GPS: fixed re-probing of NMEA GPS
...
when we lost fix on a NMEA GPS we should retain the driver as long as
it is still sending us NMEA messages that pass the CRC check. This
fixes a bug where we would re-probe the GPS (searching baudrates) when
we lost position
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
6f805cb537
AP_GPS: fixed resolution of KSXT parsing for NMEA
...
needs to be double precision for lat/lon
2022-10-15 17:20:42 +11:00
Andrew Tridgell
4812b67ad6
AP_GPS: added logging to more serial GPS backends
2022-10-15 17:20:42 +11:00
Hwurzburg
3d4f6cc2c4
AP_GPS: add build options for GPS backends
2022-01-12 16:17:21 +11:00
Andrew Tridgell
135c88d474
AP_GPS: use KSXT for position and alt when available
...
this gets velocity and position from the same message for more
consistency
2022-01-11 10:34:11 +11:00
Andrew Tridgell
9d21c0b6c1
AP_GPS: added GPS data logging system
...
for debugging GPS protocols
2022-01-11 10:34:11 +11:00
Andrew Tridgell
27cec48b82
AP_GPS: support KSXT message for Unicore NMEA
...
this gives both yaw and 3D velocity
2022-01-11 10:34:11 +11:00
Jaaaky
6433547592
AP_GPS: Fix multi #include's
2021-12-21 10:38:46 +11:00
Andrew Tridgell
f8e40eef00
AP_GPS: fixed printf format errors
2021-08-05 09:43:35 +10:00
Andrew Tridgell
e5d878eebd
AP_GPS: change handling of moving baseline yaw
...
this changes yaw handling in a few ways:
- GPS yaw now has a timestamp associated with the yaw separate from
the timestamp associated with the GPS fix
- we no longer force the primary to change to the UBLOX MB rover when
it has a GPS yaw. This means we don't change GPS primary due to GPS
loss, which keeps the GPS more stable. It also increases accuracy
as the rover is always less accurate in position and velocity than
the base
- now we force the primary to be the MB base if the other GPS is a
rover and the base has GPS lock
2021-07-21 17:59:49 +10:00
Philippe Hamelin
738d000f86
AP_GPS: Add NMEA THS message.
2021-04-14 17:20:28 +10:00
Andrew Tridgell
3650c02745
AP_GPS: use common nmea_printf()
2021-04-13 09:36:52 +10:00
Andrew Tridgell
862ae59e28
AP_GPS: support $PHD message for AllyStay NMEA GPS
...
this adds vertical velocity support
2020-12-01 09:04:43 +11:00
Iampete1
997ffcf30d
AP_GPS: NMEA: only decode each measage once
2020-08-09 11:37:16 +10:00
Andrew Tridgell
db777c56b9
AP_GPS: provide yaw feedback in GPS_RAW_INT and GPS2_RAW
...
allow GPS to display status of GPS yaw for moving baseline and NMEA
2020-01-07 12:37:35 +11:00
murata
e4455491aa
AP_GPS: Use common hexadecimal character to number conversion method
2019-08-06 10:14:12 +10:00
Grant Morphett
64ed76326b
AP_GPS: Adding support for the NMEA GPHDT sentence
...
The NMEA GPHDT sentence can be used to determine the vehicles bearing
instead of a compass even when the vehicle is stationary. This type
of GPS is normally very expensive and does the bearing using some sort
of phase ambituity algorithm.
2019-07-13 11:05:57 +10:00
Peter Barker
2aa0de49bb
AP_GPS: remove pointless initialisers
2019-02-26 09:53:28 +11:00
Arjun Vinod
978cea97cf
AP_GPS: whitespace and typo fixes
2019-01-05 08:45:24 +09:00
Andrew Tridgell
4af857da44
AP_GPS: adjust NMEA sentence length calculation
...
review feedback
2018-12-04 11:37:38 +11:00
Andrew Tridgell
3fe4b9c0f8
AP_GPS: make GPS packet timestamps more accurate
...
this reduces the effect of processing time and uart transmit time
2018-12-04 11:37:38 +11:00
Michael du Breuil
53c66106d6
AP_GPS: Remove unneeded intilizers
...
saves 160 bytes on make px4-v2
2018-05-16 20:34:00 +10:00
chobitsfan
02cfe9128d
AP_GPS: parse RTK status in NMEA GGA message
2017-09-15 22:33:47 +01:00
Michael du Breuil
2f8f2ffd2d
AP_GPS: Remove NMEA init blobs for binary drivers
...
All of the init strings that were sent in the NMEA driver are for GPS protocols
which have binary drivers, which provide far more features and are more robust.
It also appears that due to driver changes the config strings for SIRF/UBLOX
were no longer correct anyways).
2017-09-15 14:30:48 -07:00
Lucas De Marchi
8389158d76
AP_GPS: use FALLTHROUGH define
...
When falling through on a case switch, allow to add an empty statement
with the correct attribute to tell the compiler this behavior is
intended.
2017-08-22 23:59:13 -07:00
murata
c808ee2f49
Global: To nullptr from NULL.
...
RC_Channel: To nullptr from NULL.
AC_Fence: To nullptr from NULL.
AC_Avoidance: To nullptr from NULL.
AC_PrecLand: To nullptr from NULL.
DataFlash: To nullptr from NULL.
SITL: To nullptr from NULL.
GCS_MAVLink: To nullptr from NULL.
DataFlash: To nullptr from NULL.
AP_Compass: To nullptr from NULL.
Global: To nullptr from NULL.
Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Andrew Tridgell
2239fd6a6e
AP_GPS: fixed hexdigit in NMEA detector
...
thanks to adorus for spotting this! See issue#4255
2016-06-06 07:36:31 +10:00
Lucas De Marchi
035937ea7e
AP_GPS: add some safety checks to _parse_decimal_100()
2016-05-20 10:06:45 -03:00
Lucas De Marchi
fc6dd97e61
AP_GPS: make _parse_decimal_100() a static function
...
This allows to easily write tests for it as opposed to having to
construct the entire object.
2016-05-20 10:06:44 -03:00
Bert Regelink
7379d120e1
AP_GPS: fix _parse_decimal_100() with negative numbers
...
_parse_decimal_100() did not parse the fractional part for negative
numbers. Furthermore, use the third decimal (when present) for proper
rounding.
2016-05-20 10:06:44 -03:00
Andrew Tridgell
b424c49bc7
AP_GPS: change ground course to be in degrees
...
more accuracy for replay
2016-05-07 18:27:21 +10:00
Andrew Tridgell
2a214f1e46
AP_GPS: support a wider variety of NMEA receivers
...
some reeivers use a different talker ID. This allows us to accept
them.
2016-04-18 15:30:17 +10:00
Andrew Tridgell
a7079b730a
AP_GPS: GPVTG can give new velocity
2016-02-11 18:46:01 +11:00
Andrew Tridgell
4beb1748c5
AP_GPS: better handle corrupted NMEA sentences
...
when a NMEA sentence is corrupted we should discard it
completely. This change prevents us considering a set of sentences
that includes corrupted sentences from being seen as new data
2016-02-11 18:46:01 +11:00
Caio Marcelo de Oliveira Filho
c33b86a783
AP_GPS: use millis/micros/panic functions
2015-11-20 12:30:48 +09:00