Commit Graph

166 Commits

Author SHA1 Message Date
Daniel Agar
f2b4480e6b GPS driver update to uORB::Subscription 2019-06-05 08:18:02 +02:00
Julian Oes
b20feacdb5 drivers: fix -Wstringop-truncation
GCC 9 complained about stringop-truncation which is a cautionary message
to prevent using strncpy with non-null terminated strings.

We can fix this by copying one byte less than the destination size and
then manually adding the null termination, as we already do.
2019-05-16 13:06:25 +02:00
Matej Frančeškin
9782aecc73 Added GPS reset command 2019-02-19 16:30:42 +01:00
bastien
1990338a3f gps: Support for Emlid Reach
Support Emlid Reach in ERB format,
including autodetect

Reported-by: Bastien Auneau <bastien.auneau@while-true.fr>
2019-02-04 09:10:11 -05:00
Daniel Agar
95eff33263 GPS increase task stack 1530 -> 1600 bytes 2019-01-18 12:07:28 -05:00
Julian Oes
5b9dea5604 Replacing usleep with px4_usleep
This is a step towards isolating time from the system.
2018-12-22 10:32:18 +01:00
Daniel Agar
76a6cd10b1 delete unnecessary drv_gps.h 2018-11-06 07:43:43 +08:00
Beat Küng
52fc56a61f gps: explicitly set SPI bus speed to 1MHz
Required on RPi, the default seems to be too high.
2018-10-30 20:36:25 -04:00
Paul Riseborough
e39afb148d drivers: publish GPS antenna heading offset 2018-10-17 09:48:38 -04:00
Beat Küng
fb04a611c5 gps: reduce stack size
A buffer size of the gps drivers got reduced by 100 bytes.
2018-10-02 14:14:10 +02:00
Beat Küng
cef6cf96f8 gps: reduce delay by reducing the sleep time
This uses now the same sleep time logic as mavlink, depending on the
baudrate.

CPU usage on a Pixracer for different sleep times:

#num reads/sec    sleep time         CPU usage
17-18             2.8ms              0.233-0.31% (this PR)
12                5ms                0.155-0.3%
9-10              10ms               0.155-0.233%
6                 20ms               0.155-0.233% (previous)
2018-10-02 14:14:10 +02:00
Beat Küng
b5e552924a serial drivers/modules: add yaml config files 2018-09-25 07:53:29 +02:00
Beat Küng
546886259f boards: remove GPS_DEFAULT_UART_PORT
Not required anymore.
2018-09-25 07:53:29 +02:00
Paul Riseborough
ad1c2b31d1 drivers: Always set GPS heading to NAN if not updated 2018-08-28 14:10:36 +02:00
Paul Riseborough
b2c7b44935 drivers: Prevent duplicate reporting of GPS heading 2018-08-28 14:10:36 +02:00
Beat Küng
81f0b64ad3 gps: add SER_GPS1_BAUD param to configure the baudrate
The default is auto-detect, but some GPS devices might not like that, such
as the Trimble MB-Two.
2018-08-07 02:07:49 +02:00
Beat Küng
e1f2360560 gps: remove unused field _baudrate_changed & _mode_changed 2018-07-16 12:18:37 +02:00
Beat Küng
4d71686ac6 gps: add GPS_YAW_OFFSET param & properly initialize _baudrate 2018-07-16 12:18:37 +02:00
Beat Küng
a947ad2506 gps: remove unused code & fix _mode_auto initialization 2018-07-16 12:18:37 +02:00
Beat Küng
43c2970fb9 vehicle_gps_position: add heading field 2018-07-16 12:18:37 +02:00
Daniel Agar
effeae93cc GPS initialize all class members in definition 2018-07-15 20:34:31 +02:00
Daniel Agar
94dd6abd9f GPS organize status print 2018-07-15 20:34:31 +02:00
Lorenz Meier
5dd981a7be GPS driver: Initialize baud rate and improve output 2018-07-15 20:34:31 +02:00
Daniel Agar
21cc34befb GPS driver increase stack 2018-07-12 08:12:05 +02:00
David Sidrane
ae389ed0e3 Revert "gps: reopen the gps port on failed auto-detection"
This reverts commit a62a71f48f.
   The root cause was the camera trigger passing invalid pin
   configuration setting overwriting the UART4 TX pin setting
2018-06-14 15:03:39 -04:00
Daniel Agar
d73d20bcce systemlib delete unused systemlib.h 2018-06-12 09:06:30 +02:00
Beat Küng
a62a71f48f gps: reopen the gps port on failed auto-detection
work-around for https://github.com/PX4/Firmware/issues/9461
2018-06-07 22:20:47 +02:00
Beat Küng
13ab5ed0d0 px4_main_t: fix method declaration throughout the code base
px4_main_t is defined as:
typedef int (*px4_main_t)(int argc, char *argv[]);
which matches with the definition in NuttX, given to task_create
2018-05-09 07:59:46 +02:00
Daniel Agar
ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Daniel Agar
5fba1f38b2 drivers start using uORB message print instead of custom 2018-03-28 09:15:41 -04:00
Beat Küng
03b8cd78b3 gps: explicitly disable flow control
If the GPS driver was used on another port (e.g. TELEM2), it would get
stuck in a `write` call and not return anymore. Disabling flow control
fixes that.

CPU usage is unchanged.
2018-03-05 16:43:14 +01:00
Lorenz Meier
eb2c9fbef1 GPS: Remove unnecessary warning message
This warning message would often be printed during normal configuration and does not represent a good indicator for true GPS lost states. Instead the system flags should be used, which are available through the normal logging system.
2017-10-07 15:01:14 +02:00
Daniel Agar
4070abc132 gps fix sign-compare 2017-09-07 10:27:36 +02:00
Lorenz Meier
b07dde78e3 Move scheduling priorities into px4_tasks to simplify header usage 2017-08-02 21:18:35 +02:00
Beat Küng
36c9400de4 gps: use ModuleBase class & add documentation
Note: it changes the interface slightly: instead uf -dualgps, use -e now.

This also fixes 2 bugs:
- nullptr access when doing 'gps status' with fake gps running
- close(fd) was called on an uninitialized fd when gps fake was running
2017-07-14 11:57:11 +02:00
Daniel Agar
f45b9048aa GPS driver increase stack (244 bytes left) 2017-07-09 13:09:22 +02:00
Daniel Agar
af5256c454 GPS ublox add dynamic model parameter 2017-06-30 08:02:25 +02:00
Julien Lecoeur
7929287f73 Fix -Werror=format-truncation on GCC 7
Fix formatting

Check snprintf return for error AND overflow
2017-06-26 15:50:44 +02:00
Julien Lecoeur
06c6a0cdec Fix -Werror=implicit-fallthrough errors on GCC7 2017-06-26 15:50:44 +02:00
Lorenz Meier
55697e08e2 GPS driver: Add more stack to suit data definition increases 2017-05-13 11:44:49 +02:00
Lorenz Meier
875a35fcd5 GPS: FIncrease stack by 100 bytes
The app reached the check limit and needed a bit more headroom.
2017-04-30 12:03:14 +02:00
Julian Oes
bb168287da gps: just use termios on QURT
QURT has added support for termios calls a while back that we can now
use.
2017-04-14 09:56:42 +02:00
Beat Küng
b5bb5cffc8 gps: check for allocation failure & avoid busy loop 2017-04-06 11:49:03 +02:00
Lorenz Meier
bbc5186e2a GPS driver: Improve GPS "fake" mode init and code style 2017-02-17 22:28:55 +01:00
Daniel Agar
96e51f7c59 clang-tidy remove redundant 2017-02-01 22:15:50 -05:00
Daniel Agar
6631e72d6f clang-tidy modernize-redundant-void-arg 2017-02-01 22:15:50 -05:00
Daniel Agar
e927f3e040 clang-tidy modernize-use-nullptr 2017-02-01 22:15:50 -05:00
Daniel Agar
30587e5669 astyle src/drivers/gps 2017-01-29 01:18:32 +01:00
Dennis Mannhart
8cd913c148 gps.cpp: add gps baudrate 230400 to qurt 2017-01-10 11:49:05 +01:00
Lorenz Meier
5759fd5726 GPS app: Increase stack to ensure 300 bytes headroom 2016-12-19 20:34:52 +01:00