Commit Graph
226 Commits
Author SHA1 Message Date
alexklimaj c3db4f57df Subscribe to all intances of gps_inject_data and mirror uavcan rtcm pub mirror gps driver 2023-06-09 14:51:28 +12:00
muramura 3c45b184d3 gps: Improve the FALSE setting of the ALREADY_COPIED variable 2023-05-08 07:04:11 +02:00
Julian Oes 1d4b66fcbc gps: use all injection data
When we fall back to another link, we are already doing a uORB copy when
checking the data. Therefore, we should further down use/send that data
instead of overwriting it immediately.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-03 07:47:51 +02:00
Julian Oes 2fd3de8f45 gps: retry switching RTCM injection more often
I don't think it makes sense to slow down switching RTCM injection to
once every 5 seconds. If we don't have corrections, we should check and
use whatever we get as soon as possible.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-03 07:47:51 +02:00
Julian Oes 6108b31e6a gps: reset RTCM instance
We need to reset the instance after looping through all instances.
Otherwise, we are left with the last instance if none is valid but have
not updated the _selected_rtcm_instance which is what is logged.

Therefore, this change fixes the logged RTCM instance.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-03 07:47:51 +02:00
Thomas Stastny cb66c48876 drivers/gps: increase stack to handle gps dump config for RTCM output (PPK) 2023-04-19 17:08:15 +02:00
Seppe GeuensandSeppe Geuens 7e0f929ad1 gps: add sbf with heading (#19374)
Co-authored-by: Seppe Geuens <seppe.geuens@tii.ae>
2023-04-13 07:44:35 +02:00
Thomas Stastny f4681f01b6 drivers/gps: increase stack 2023-04-04 07:16:21 +02:00
alexklimaj e2de62e38b GPS only warn if jamming state is critical 2023-03-17 21:38:28 -04:00
AlexKlimaj e375e02974 Add GPS spoofing state 2023-03-14 20:28:32 -04:00
Igor Misic df441ac202 drivers/gps: add param for enabling protocols at i2c interface 2022-12-19 08:52:36 +01:00
alexklimaj 64768f1cda Increase allowed rtk injections to 8 for moving base. Update GPS submodule. 2022-11-18 11:04:17 -05:00
Yang Hau 2dcde93d96 fix: Fix misuse of atoi() 2022-09-29 08:11:03 +02:00
Shriv 3dffa5e6df gps: add UART2 Baudrate Configurability and New UBX Mode. (#20133) 2022-09-12 14:13:17 +02:00
alexklimaj f9b8ca1326 Support two RTCM links with the same corrections
Add selected_rtcm_instance to sensor_gps message to track loss of rtcm links

Publish _rate_rtcm_injection
2022-07-15 08:20:27 +02:00
Thomas Debrunner 42c562b748 gps: Increase param name buffer to address warning in newer gccs (#19876) 2022-07-06 10:20:31 +02:00
Daniel Agar 84e796c385 drives/gps: add new sensor_gnsss_relative msg
- for ublox this corresponds to NAV_RELPOSNED
2022-03-29 07:59:41 +02:00
Daniel Agar ca97b9ba5f drivers/gps: add new GPS_SAT_INFO parameter to enable satelitte_info
- this replaces the command line argument -s
2022-02-17 08:30:25 +01:00
Daniel Agar fe23718e2c drivers/gps: require valid device to start 2021-12-06 08:44:50 +01:00
David Lechner a29820bdf8 gps: fix compiling on mac
This fixes the following compile error on Mac:

    src/drivers/gps/gps.cpp:562:23: fatal error: use of undeclared identifier 'B921600'
            case 921600: speed = B921600; break;
                                ^
2021-12-01 09:25:40 -05:00
alexklimaj bfd5a90a5d UAVCAN Moving Baseline Working
Set uavcan publisher priorities

Switch to ardupilot rtcm message and add heading accuracy
2021-11-30 15:59:08 -05:00
Beat Küng 8a2b310b83 topic_listener: avoid code generation, use existing metadata at runtime
This reduces flash size for v5 by ~110KB, the topic listener now only adds
about 1.2KB.
2021-10-20 08:10:05 +02:00
Jukka Laitinen 29248cb6b8 Increase gps stack for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Beat Küng 7b9d16d2f8 fix gps: remove Wno-cast-align & fix it 2021-08-18 12:24:17 -04:00
Beat Küng 4b49f9261e gps: add generic nmea driver 2021-08-18 12:24:17 -04:00
Beat Küng 22e2fc9465 gps: add missing case & arguments for femtomes driver 2021-08-18 12:24:17 -04:00
Beat Küng 0f6bf6bc0e refactor gps: use enum class for gps_driver_mode_t 2021-08-12 10:06:39 -04:00
Beat Küng 09a42e7af2 gps: extend GPS_DUMP_COMM param to enable RTCM output + logging 2021-08-12 10:06:39 -04:00
Daniel Agar 1ee3484827 drivers/gps: close port if configure fails
- open if necessary at beginning of each iteration
2021-07-06 22:01:24 -04:00
Igor Mišić d9e31d67aa gps: Updated timeout time for the rover with moving base
The MB rover will wait as long as possible to compute a navigation solution, possibly lowering the navigation rate all the way to 1 Hz while doing so.
2021-05-11 08:34:23 +02:00
Femtomes 783a780207 drivers/gps: add femtomes gps driver protocol 2021-05-02 13:46:39 -04:00
Daniel Agar 39c96a8884 gps add device_id 2021-04-08 08:27:07 +02:00
Igor Mišić 5f9a98e316 drivers/gps: update RTC only if time drift for 5s
Add interrupt pause comment to help future code archeologists
2021-02-26 08:36:41 +01:00
Daniel Agar 414f9f81d9 move fake GPS to standalone module 2021-02-20 14:13:36 -05:00
Daniel Agar dab90f86a4 drivers/gps: limit to ublox only flash constrained targets 2021-01-18 09:30:01 +01:00
Jannik Beyerstedt 3834690c4b Add parameter to select the set of used GNSS systems 2021-01-13 08:33:07 +01:00
Julian Oes 314b5e721f src: remove NuttX ifdefs around args
It doesn't look like they are required anymore.
2020-12-14 09:26:18 +01:00
Roman Dvořák bc1c8fb73a GPS_DUMP_COMM: dump all gps instances 2020-12-08 11:45:24 +01:00
Adam Blazczak 149ac16bb4 add support for secondary GPS interface
Useful for navio2 or px4_raspberrypi when attaching a secondary (UART) GPS through one of the USB ports; the default navio2 onboard GPS is running on spi.

Example usage:
gps start -d /dev/spidev0.0 -i spi -e /dev/ttyACM0 -j uart -p ubx
2020-11-05 08:59:11 +01:00
Beat Küng e6ad321ab2 gps: add GPS_{1,2}_PROTOCOL param to select protocol, default to u-blox
u-blox is the most widely used GPS, so module detection should be a bit
faster in general.
2020-11-04 10:26:49 -05:00
Beat Küng ab43a94224 gps: keep track of RX data rate 2020-11-04 10:26:49 -05:00
Beat Küng c5c521f5e0 gps: add support for u-blox heading with 2 F9P devices 2020-11-04 10:26:49 -05:00
FengShun eac9a6b68b Replace PublicationQueued with Publication to automatically configure ORB_QUEUE_LENGTH 2020-10-26 13:01:13 +01:00
mcsauder 047531b924 Add MavlinkStreamGPSStatus status class stream via GPS_STATUS.hpp and add PRN code to satellite_info.msg. 2020-10-14 08:26:42 +02:00
a24488328f Move GPS blending from ekf2 to sensors module
- new sensors work item that subscribes to N x sensor_gps and publishes vehicle_gps_position
 - blending is now configurable with SENS_GPS_MASK and SENS_GPS_TAU

Co-authored-by: Jacob Crabill <jacob@volans-i.com>
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2020-09-25 23:28:31 -04:00
Beat Küng 2b0396d5df gps: use px4::atomic instead of volatile 2020-09-13 18:31:37 -04:00
Beat Küng e906106ea2 gps: fix memory leak on module exit (delete _helper) 2020-09-13 18:31:37 -04:00
Daniel Agar da186877c9 gps: only use injected data if copy successful 2020-05-09 11:46:39 -04:00
Daniel Agar 466b5db36f uORB::Publication improvements and cleanup (#14784)
- create common uORB::PublicationBase
 - uORB::PublicationQueued types are now type aliases
 - ORB_PRIO use enum type everywhere to avoid accidental misuse
 - PX4Accelerometer/PX4Gyroscope/etc driver libs explicitly advertise on construction, unadvertise on destruction. This is a workaround for any potential issues that might appear when accel/gyro cdev and uORB indexing doesn't align.
2020-05-04 11:09:30 -04:00
hzsu f758a9f29d Update gps.cpp
'BeiDou' is a navigation satellite system from China, while 'Baidu' is a search engine.
So it is supposed to change it from 'Baidu' to 'BeiDou'.
2020-01-11 22:27:17 +05:30