Replay: tear down threads before exitting
NKQ is a generated name - don't copy it across to output
Stop whinging about presence of NKF6 and friends; we know these generated names are not going to be present in modern logs
memcpy rather than strncpy within log_FMT
Correct strings vs optionally-terminated structure entries in sanity checks
Call AP_Param::load_all() to start the parameter saving thread. AP_Compass' init() method now saves parameters (compass reordering), and because we're disarmed we will block until the parameter is pushed onto the to-save queue; if there's no thread popping off that list we block indefinitely.
Remove duplicate definitions of various singleton objects.
Replay: write out GPS message to output log
Useful for diagnosis, but also because we struggle to find a time base
without this and the pymavlink tools take forever to work
Replay: set COMPASS_DEV_ID and COMPASS_PRIO1_ID so EKF gets mag data
Replay: avoid use of system clock; use stopped-clock only
Replay: constraint to emitting output for single core only
Tools: Replay: ignore setting of LOG_DISARMED
Otherwise log files that come in with LOG_DISARMED false don't get any
significant output
Tools: Replay: apply user parameters after any PARM message
Tools: Replay: emit timestamp when EKF is force-started
Tools: Replay: use stderr for what it's good for
Tools: Replay: force log disarmed
This commit changes the way libraries headers are included in source files:
- If the header is in the same directory the source belongs to, so the
notation '#include ""' is used with the path relative to the directory
containing the source.
- If the header is outside the directory containing the source, then we use
the notation '#include <>' with the path relative to libraries folder.
Some of the advantages of such approach:
- Only one search path for libraries headers.
- OSs like Windows may have a better lookup time.