Hidenori
96a5baa12b
Navio: fix style
2016-10-06 09:00:09 +02:00
Hidenori
56ef984529
Navio2: modify for SPI-connected GPS and fix bug in GPIO driver
2016-10-06 09:00:09 +02:00
Artem Sabadyr
74b2780874
GPS driver: use FIONREAD on NuttX only
2016-10-02 11:19:55 +02:00
Artem Sabadyr
4c04b7bb53
gps read optimization
2016-10-02 11:19:47 +02:00
huanglilong
6f7b78821a
fix fake gps bugs ( #5285 )
2016-08-09 21:24:11 +02:00
Lorenz Meier
aae3a37983
GPS: Do not use nonblocking access
2016-08-09 15:59:34 +02:00
Beat Küng
124e1c26d9
gps injection: use the orb queuing API instead of multiple instances
...
It uses a queue length of 6. There are 3 RTCM msgs/s, but due to
fragmentation and WiFi lags, there can be more than that. During several
tests, a length of 6 showed no queue overflows.
2016-08-06 20:41:38 +02:00
Eric Ye
9f5b081257
Wrap help line to fit through mini-dm. ( #5157 )
...
It currently gets cut off on mini-dm, split it into multiple lines
so all of it comes through.
2016-07-28 14:47:57 -07:00
Beat Küng
09ecc84cc7
gps file dump: re-implement with an uORB topic & write to the log file ( #4987 )
...
Drawbacks of the previous method: when writing to the SD card, there are
high delays in the write() call of several 100ms, every now and then. The
frequency and length of these events depend on:
- SD card
- used logger bandwidth
- bandwidth of gps data (RTCM)
Since the whole gps thread was blocked during this period, it lead to
gps timeouts and lost module.
What we do now is: publish an orb topic with queuing. This makes it async
and the logger takes care of buffering. This means it's best to:
- use high logger rate
- use large logger buffer
- reduce logger bandwith by disabling unused topics
2016-07-06 09:32:37 +02:00
Beat Küng
f8e9a19889
gps_position: convert uint64 timestamp_time -> int32 timestamp_time_relative
...
We need to make this timestamp relative to the main timestamp. Necessary
for replay, and saves some space.
2016-06-24 00:22:01 +02:00
Beat Küng
e2a7145379
vehicle_gps_position: remove timestamp_variance & timestamp_velocity (they're not used)
2016-06-24 00:22:01 +02:00
Beat Küng
89f5bd27e8
vehicle_gps_position: use timestamp field instead of timestamp_position
...
timestamp was unused. This allows to remove timestamp_position.
2016-06-24 00:22:01 +02:00
Beat Küng
b226f7d13d
gps: call fsync after injecting gps data
...
This is to minimize delay
2016-06-02 09:26:03 +02:00
Beat Küng
25cff52019
RTCM: use MAVLINK_MSG_ID_GPS_RTCM_DATA mavlink message (supports fragmentation)
2016-06-02 09:26:03 +02:00
Lorenz Meier
7398164fcc
Updated PX4 use / API of low level GPIO and other hardware-centric system facilities
2016-05-28 14:56:17 +02:00
Beat Küng
a94654e8d4
gps dump communication to file: include received RTCM messages
2016-05-22 12:19:47 +02:00
Beat Küng
6b8ab4611b
gps: workaround for missing stat() on QuRT
2016-05-22 12:19:47 +02:00
Beat Küng
aef78b8aeb
gps: add GPS_DUMP_COMM param: if 1, dump all gps communication to a file
2016-05-22 12:19:47 +02:00
Beat Küng
47ed8c1a3c
gps: fix thread initialization under posix
...
under NuttX the argc in task_main_trampoline contains two arguments,
but on linux only one.
2016-05-22 12:19:47 +02:00
Beat Küng
9d0c5469a0
gps: remove unneeded comment
2016-05-22 12:19:47 +02:00
Beat Küng
f600b7fb37
fix gps regression: publish satellite info
2016-05-22 12:19:47 +02:00
Beat Küng
c6f25591f7
dual gps: some cleanup, correctly use args argument of px4_task_spawn_cmd
2016-05-22 12:19:47 +02:00
Sebastian Verling
e7ed07cf3c
formatting
2016-05-22 12:19:47 +02:00
Sebastian Verling
62a152227a
removed debugging line
2016-05-22 12:19:47 +02:00
Sebastian Verling
49e1c99dee
make sure gps1 always publishes to gps1 topic
2016-05-22 12:19:47 +02:00
Sebastian Verling
7c5d10d57c
removed unnecessary pointer and comment
2016-05-22 12:19:47 +02:00
Sebastian Verling
07d1d78a43
driver starting correctly
2016-05-22 12:19:47 +02:00
Sebastian Verling
34150ba688
unadvertising gps_pub
2016-05-22 12:19:47 +02:00
Sebastian Verling
3a72e9b494
formatting
2016-05-22 12:19:47 +02:00
Sebastian Verling
c1cdef7e63
fixed multi subscribing and publishing
...
removed debugging message
changed to orb_publish_auto
2016-05-22 12:19:47 +02:00
Andreas Bircher
556851a511
applying dual gps patch
...
resolve transfer errors
reformatting
implementing multi-topics
2016-05-22 12:19:47 +02:00
Julian Oes
c975d01200
gps: fix Snapdragon build
2016-04-25 06:21:36 -07:00
Beat Küng
b855d76f28
fix gps: subscribe to topics in the gps thread instead of the shell thread
...
NuttX does not inherit file descriptors when creating new tasks.
2016-04-25 13:35:41 +02:00
Beat Küng
58a7db51c3
gps: add RTCM message rate to the 'gps status' command
2016-04-25 13:35:41 +02:00
Beat Küng
afefa4d2a0
gps: use a max poll timeout of 50ms to check for orb msgs more often
...
Before this, I measured a max time spent in poll of 197ms. By checking at
least every 50ms we make sure to not lose any orb messages.
2016-04-25 09:48:24 +02:00
Beat Küng
6029551c63
gps & mavlink receiver: use C arrays instead of std::array<>
2016-04-25 09:48:24 +02:00
Beat Küng
4cf08ba580
gps handleInjectDataTopic: repeatedly check for new orb messages
...
Without that there were still lost messages, now it's all fine (tested
under Linux)
2016-04-25 09:48:24 +02:00
Beat Küng
1085f33f88
gps: remove the old driver files
2016-04-25 09:48:24 +02:00
Beat Küng
1013ae7d49
gps: major restructuring & extension of ubx driver: use a submodule for gps drivers
...
The gps drivers are now in a platform-independent submodule because they
are used in QGroundControl as well
2016-04-25 09:48:24 +02:00
Nicolae Rosia
fff535857d
drivers/gps: fix segfault when parsing arguments
...
running gps command without parameters results in segfault
due to illegal access to unallocated memory
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com >
2016-04-20 21:50:10 +02:00
Julian Oes
441d7aacbb
gps: fix build, unused var ERROR
2016-04-11 13:51:04 +02:00
Beat Küng
8c64e2b801
gps driver: fix 'gps stop' error
2016-04-11 11:23:01 +02:00
Beat Küng
215aa78f30
fix coding style for gps drivers
2016-04-11 11:23:01 +02:00
Beat Küng
21f403e12b
gps: make sure the gps module compiles for POSIX & add it to the posix_sitl_default cmake
...
- Note that the simulator still uses gpssim by default
- now the gps module can be used in the SITL. this makes it possible to test
the real gps HW under POSIX
additional steps needed to use it:
- in the rcS_jmavsim_iris, make sure to start the gps instead of gpssim:
gps start -d /dev/ttyACM0 -s
- disable the mavlink serial connection in simulator_mavlink.cpp,
openUart(PIXHAWK_DEVICE, 115200);
- this also fixes a memory leak in the gps module
2016-04-11 11:23:01 +02:00
Lorenz Meier
b71123f4fe
GPS: Use shorter perf names
2016-03-28 13:02:29 +02:00
Lorenz Meier
b114575139
GPS: Fix comment
2016-03-13 15:40:39 +01:00
Lorenz Meier
f7640f02ad
GPS driver: Removed debugging noise
2016-03-12 17:17:47 +01:00
Julian Oes
1cebfde840
gps: make the driver compile and run on QURT
2016-03-06 18:02:50 +01:00
Lorenz Meier
8fcf24f23f
GPS driver UBX: Support hdop and vdop
2016-02-25 13:45:34 +01:00
Lorenz Meier
9cccc0ec76
GPS: Do initial zero value publication to avoid corner cases
2016-01-25 09:30:45 +01:00