28 Commits

Author SHA1 Message Date
Beat Küng
71b4ad62a1 ekf2 replay: handle multi multiple GPS instances (#9433) 2018-05-09 10:00:59 +10: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
2a58c7a28c EKF2 and replay add all consumed messages to ekf2_timestamps and refactor 2018-04-11 23:26:58 -04:00
Daniel Agar
07edec282e replay update sensor_combined fields 2018-04-11 23:26:58 -04:00
Beat Küng
0038a5e755 uorb: fix constness for _uorb_topics_list
_uorb_topics_list was marked as 'const char *' array, which means the data
of the array was not actually const and thus landed in the data section
(so in RAM instead of FLASH).
The size of the array is 436 bytes.
2018-03-29 10:06:21 -04:00
Daniel Agar
545ce9ae24 modules remove extra semicolons 2017-09-16 21:29:52 +01:00
Daniel Agar
9b5fe8c476 ignore -Wsign-compare per module 2017-09-07 10:27:36 +02:00
Beat Küng
c59d7baad8 replay: add backward compatibility for updated sensor_combined topic 2017-07-16 14:08:37 +02:00
Beat Küng
cef3a29ac9 refactor replay: split timestamp offset into separate method 2017-07-16 14:08:37 +02:00
Beat Küng
682dabded1 replay: use module base class & add module documentation 2017-07-14 11:57:11 +02:00
Beat Küng
9141bf8386 replay: handle INFO_MULTIPLE & FLAG_BITS ULog messages 2017-07-07 17:06:48 +02:00
Beat Küng
f179049e95 replay: ignore the ULogMessageType::INFO message
This got introduced the the addition of the perf counter to the log.

Fixes the error:
unknown log message type 73
2017-04-06 11:48:35 +02:00
Beat Küng
358bcb6ae0 visibility.h: add #pragma GCC poison getenv setenv putenv
Just to make sure that it will never be used on NuttX. This is not an
architectural limitation, just a memory optimization, since we call
clearenv() on NuttX.
2017-03-29 23:02:09 +02:00
Beat Küng
ca05e64a9f replay: update & add some comments 2017-03-04 22:47:54 +08:00
Beat Küng
1d48d7e053 ekf2 replay: add statistics output when replay finished
The error counter is an indicator that the logger missed samples or dropped
due to a too small write buffer.
2017-03-04 22:47:54 +08:00
Beat Küng
2a11a2bc0b ekf2 replay: switch from ekf2_replay to ekf2_timestamps topic 2017-03-04 22:47:54 +08:00
Beat Küng
473192aa81 replay: some API refactoring & extensions
in preparation to the updated ekf2 replay
2017-03-04 22:47:54 +08:00
Beat Küng
ba89839f65 replay: make sure ReplayEkf2::handleTopicUpdate is protected, not private 2017-03-04 22:47:54 +08:00
Beat Küng
63203625bc replay: add ekf2 replay method (can be selected with 'export replay_mode=ekf2') 2017-03-04 22:47:54 +08:00
Beat Küng
e251c64c5f refactor replay: add some overrideable methods 2017-03-04 22:47:54 +08:00
Beat Küng
9d54f62d37 replay: check if topic timestamp is smaller than logging start
This could happen and then the sleep duration would wrap and be huge.
2017-03-04 22:47:54 +08:00
Beat Küng
1d5f51e6a4 replay: don't add subscription if formats don't match 2017-03-04 22:47:54 +08:00
Beat Küng
4eea89bb42 refactor replay: move topic publication into separate method 2017-03-04 22:47:54 +08:00
Daniel Agar
da90e1ce62 astyle src/modules/replay 2017-01-29 01:18:32 +01:00
Beat Küng
78f19fccce replay: remove unneeded include <logger/logger.h> 2016-10-19 13:13:47 +02:00
Beat Küng
168c744232 replay: fix string printf output: add .c_str() 2016-07-07 12:51:42 +02:00
Beat Küng
6e44760819 replay: add 'tryapplyparams' command
This only applies parameters from the log file and user-supplied overrides.
It is intended to be called as one of the first startup commands (after
param load), so that during startup, all applications find the parameters
from the replayed system.

Note that this is an optional command and 'replay start' will again load
and apply the parameters in any case.
2016-07-07 12:51:42 +02:00
Beat Küng
28ad6066aa replay: add replay module, build for sitl_default, but do not load on startup
This adds a new module that does:
- read an parse an ULog file, given via ENV variable 'replay'
- apply all parameters from the log file
- read and apply user-defined override parameters from a file
- publish all messages in 'real-time' from the log file and add a constant
  offset to the timestamp to match the system time.
- apply changed parameters in the log (which are not overridden)
2016-07-07 12:51:42 +02:00