Peter Barker
4811a10e1a
AP_GPS: exclude more code based on HAL_LOGGING_ENABLED
2024-03-19 07:28:23 +11:00
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
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
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
a7c5c6b728
AP_GPS: allow for disabling of NMEA Unicore support
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
Iampete1
71b00e0f75
AP_GPS: use config.h pattern and only include log structures if enabled
2022-07-13 18:14:12 +10:00
Peter Barker
60b8277e1b
AP_GPS: create and use AP_GPS_BACKEND_DEFAULT_ENABLED
...
Allows for all backends to be set to off by default.
2022-02-01 11:22:02 +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
27cec48b82
AP_GPS: support KSXT message for Unicore NMEA
...
this gives both yaw and 3D velocity
2022-01-11 10:34:11 +11:00
Peter Barker
068f91169c
AP_GPS: remove mtk GPSs
...
These are ancient and of very poor quality.
2021-09-29 17:28:59 +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
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
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
Peter Barker
fd888727b8
AP_GPS: add override keyword where required
2018-11-08 11:30:12 +11:00
chobitsfan
02cfe9128d
AP_GPS: parse RTK status in NMEA GGA message
2017-09-15 22:33:47 +01:00
Peter Barker
2354a0ec5a
AP_GPS: ability to log GPS detection state to dataflash
2017-04-23 21:03:23 +01: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
Lucas De Marchi
994b2fc966
AP_GPS: add unit test for _parse_decimal_100()
2016-05-20 10:06:44 -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
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
Lucas De Marchi
ff10d1136c
AP_GPS: reorganize includes
...
Due to the way the headers are organized a single change in a
AP_GPS backend would trigger a rebuild for most of the files in the
project. Time could be saved by using ccache (since most of the things
didn't change) but we can do better, i.e. re-organize
the headers so we don't have to re-build everything.
This makes internal headers internal and then other libraries only
depend on the AP_GPS.h header.
2016-04-14 21:01:51 -03:00
Lucas De Marchi
cd266fbf4f
AP_GPS: replace header guard with pragma once
2016-03-16 18:40:40 +11:00
Lucas De Marchi
1b07dabeb7
Replace prog_char and prog_char_t with char
...
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.
AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Gustavo Jose de Sousa
67db430583
AP_GPS: standardize inclusion of libaries headers
...
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.
2015-08-11 16:28:43 +10:00
Andrew Tridgell
21c895f6f3
AP_GPS: prevent extra NMEA messages causing rapid fix rates
...
unexpected messages could cause the GPS driver to report a very high
fix rate, which can confuse the EKF
2015-07-03 22:08:05 +10:00
Andrew Tridgell
e40a048009
AP_GPS: handle multiple GPS in GPS setHIL()
2014-04-02 07:55:28 +11:00
Andrew Tridgell
0191355488
AP_GPS: fixed init strings to all be in progmem
...
and sent async ...
2014-04-01 06:38:25 +11:00
Andrew Tridgell
368daf89f1
AP_GPS: new GPS API
...
This is a complete rewrite of the GPS driver structure, with a static
main driver and separate backend drivers. This will allow proper
support for multiple GPSes, and will allow parameters to be set on the
GPS object
2014-04-01 06:38:23 +11:00
Andrew Tridgell
2dd92832dc
AP_GPS: support multiple AP_GPS_Auto drivers
...
move all static variables into a dynamically allocated structure in
the AUTO driver which gets freed when we have found a GPS type
2014-04-01 06:38:23 +11:00
Andrew Tridgell
7ff293ca38
AP_GPS: added DataFlash to GPS init to allow for detailed logging
...
this will allow GPS drivers to log much more detailed device specific
information
2014-03-24 12:01:13 +11:00
Andrew Tridgell
9cf1fd46c8
AP_GPS: removed nav_setting default
...
not needed, and apparently caused issue with xcode 5.1
2014-03-14 07:49:56 +11:00
Andrew Tridgell
de96ad9445
AP_GPS: fixed date handling in NMEA driver
2013-10-24 14:22:48 +11:00
Andrew Tridgell
97b7130bb9
libraries: update license header to GPLv3
...
we switched to GPLv3 a long time ago, but neglected to update the
per-file license headers
2013-08-30 13:01:39 +10:00
Andrew Tridgell
edfebc1f29
AP_GPS: fixed indent-tabs-mode
2013-05-30 09:52:21 +10:00
Andrew Tridgell
f67480fa50
AP_GPS: ensure constructors zero all key variables
...
this prevents a crash on PX4 if a GPS is attached after startup
2013-02-20 11:33:39 +11:00
Andrew Tridgell
18db7b2efd
GPS: move _port setting to init()
...
this is needed to avoid constructor ordering dependencies
2012-12-20 14:52:32 +11:00
Andrew Tridgell
18fb9c67f6
AP_GPS: use AP_Progmem
2012-12-20 14:51:39 +11:00
Pat Hickey
9ed023aeb4
AP_GPS: Builds under AP_HAL. Not tested.
2012-12-20 14:51:25 +11:00
Andrew Tridgell
59b44816ec
GPS: replaced the GPS auto-detect mechanism
...
the old mechanism wasted most of the input bytes, and chewed a lot of
CPU, making it impractical to do GPS detection for a GPS attached
after startup
The new code is async, and detects a GPS by looking for a fully formed
packet with the right checksum for each GPS type
2012-09-17 14:45:47 +10:00