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
This commit is contained in:
Beat Küng
2016-07-06 09:32:37 +02:00
committed by Lorenz Meier
parent 7e883809e3
commit 09ecc84cc7
5 changed files with 71 additions and 118 deletions
+2 -4
View File
@@ -34,10 +34,8 @@
/**
* Dump GPS communication to a file.
*
* If this is set to 1, all GPS communication data will be written to a
* file. Two files will be created, for reading and writing. All
* communication from startup until device disarm will be dumped.
*
* If this is set to 1, all GPS communication data will be published via uORB,
* and written to the log file as gps_dump message.
* @min 0
* @max 1
* @value 0 Disable