Commit Graph

76 Commits

Author SHA1 Message Date
Peter Barker e2f15e5fdb Tools: create a GCS_Replay class
Avoids a segfault as we assume gcs() returns an object
Provides some usefult debug as to what we're sending to the GCS as
 debug
2017-02-23 23:03:54 -08:00
Peter Barker f5c89117f6 Replay: remove unused variables
Also avoids segmentation fault on exit
2017-02-23 17:18:47 +11:00
Andrew Tridgell bebc7e4519 Replay: removed EKF_ENABLE parameter 2016-12-19 08:07:13 +11:00
Andrew Tridgell 35bed59bd4 Tools: Add EKF3 and remove EK1 2016-12-19 08:07:10 +11:00
Randy Mackay d1f944d0c9 Replay: remove call to EKF1 logging 2016-11-30 17:57:09 +09:00
Lucas De Marchi 6c9f46bafb Replay: fix shadowed declaration
../../Tools/Replay/Replay.cpp: In member function ‘FILE* Replay::xfopen(const char*, const char*)’:
../../Tools/Replay/Replay.cpp:485:60: warning: declaration of ‘filename’ shadows a member of ‘Replay’ [-Wshadow]
 FILE *Replay::xfopen(const char *filename, const char *mode)
                                  ^
2016-11-16 22:28:11 -02:00
Peter Barker 78d7a144b1 Replay: add close-on-exec to fopen flags 2016-11-16 22:20:33 -02:00
Peter Barker 4543f1c548 Replay: check return value from fopen() of output files 2016-11-16 22:20:10 -02:00
Lucas De Marchi 3620529c22 Replay: remove infinite loop from loop() method
Remove the while() loop inside Replay::loop() so the new signal handlers
correctly notify the mainloop to exit.

This makes SIGTERM/SIGINT work again.
2016-11-02 16:28:20 -02:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Staroselskii Georgii bd8c61542d Replay: make use of sigaction instead of signal API
It's a more proper and portable way to set up signal handlers.
2016-07-27 21:30:19 +10:00
Staroselskii Georgii 9576be3a21 Replay: encapsulated signal handling 2016-07-27 21:30:18 +10:00
priseborough cc0d3b89d3 Replay: use separated EKF horiz/vert position interfaces 2016-07-19 12:16:49 +10:00
Paul Riseborough 094dd9d769 Replay: Fix bug preventing use of IMT data during replay 2016-06-28 14:20:13 +10:00
Peter Barker eefdc32f51 Replay: print message when gap perceived in log 2016-06-07 14:00:14 +10:00
Peter Barker f6c7a73170 Replay: command line option to disable FP exceptions 2016-06-07 12:45:38 +10:00
Andrew Tridgell 1e44251d35 Replay: include a minimal set of FMT messages at start of log 2016-05-26 10:10:27 +10:00
Andrew Tridgell 366d95f45e Replay: fixed FMT messages in replay output 2016-05-26 09:40:21 +10:00
Andrew Tridgell 736c162d21 Replay: added --param-file option 2016-05-25 20:46:18 +10:00
Andrew Tridgell 600c23f3bf Replay: use SCHED_LOOP_RATE for loop rate if available 2016-05-25 10:45:46 +10:00
Paul Riseborough b1e9207c0f Replay: extend ekf fault status reporting coverage 2016-05-21 15:13:51 +10:00
Andrew Tridgell 4116f80901 Replay: added --no-params option 2016-05-16 17:22:11 +10:00
dgrat 76362caee0 AP_Math: Replace wrap_* functions with template versions 2016-05-10 11:41:26 -03:00
Andrew Tridgell 84d45cce40 Replay: fixed log rate detection 2016-05-10 15:40:48 +10:00
Andrew Tridgell 276f5dd3f1 Replay: use a larger LOG_FILE_BUFSIZE for Replay 2016-05-09 13:58:37 +10:00
Andrew Tridgell 248ce2e0e6 Replay: enable LOG_REPLAY in replay 2016-05-09 12:48:30 +10:00
Andrew Tridgell 7abaa75653 Replay: added --logmatch option
match logging rate to input log
2016-05-07 18:27:22 +10:00
Andrew Tridgell 772acf056b Replay: fixed overriding of parameters
bug was later PARM messages in log
2016-05-07 18:27:19 +10:00
Andrew Tridgell 315d3854db Replay: improved log rate detection 2016-05-07 18:27:19 +10:00
Andrew Tridgell b31e896ef3 Replay: closer to goal of bit-accurate replay 2016-05-07 18:27:18 +10:00
Andrew Tridgell 640a04a1ee Replay: fixed to handle IMT copter logs 2016-05-07 18:27:17 +10:00
bugobliterator 065c67af57 Replay: fix replay build 2015-12-29 10:46:35 -08:00
Andrew Tridgell 26ced77ebc Replay: fixes for AP_Scheduler change 2015-12-27 14:57:28 +09:00
Jonathan Challinger 07d87d8877 Replay: reflect renamed function in AP_AHRS 2015-12-18 18:08:37 +11:00
Lucas De Marchi 8f9fa568b4 Tools: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:45 +11:00
Peter Barker 45d80080c3 Replay: use IMT in preference to IMU 2015-12-03 13:23:19 +11:00
Lucas De Marchi 2591261af6 Global: rename min and max macros to uppercase
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.

Changes generated with:

	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
	git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Caio Marcelo de Oliveira Filho 071d8e541e Replay: use millis/micros/panic functions 2015-11-20 12:26:55 +09:00
Lucas De Marchi 5244559010 Minimize AP_Progmem.h includes
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.

In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
2015-10-30 14:35:32 +09:00
Lucas De Marchi 831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Lucas De Marchi 2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Peter Barker 5da7d6eac2 Replay: set INS_GYRO_CAL to never to avoid losing samples 2015-10-23 12:37:44 +11:00
Caio Marcelo de Oliveira Filho f27f8f2f5d Tools: include SITL only for SITL board
Include board-specific files only when the board is used. Since these
should be exceptional cases, let the includer handle the ifdef instead
of putting ifdefs in every platform-specific header.

In the future we should evaluate whether the HAL for the board should
instantiate this.
2015-10-22 13:36:14 -02:00
Caio Marcelo de Oliveira Filho 49a42dc985 SITL: use a SITL namespace 2015-10-22 11:04:42 -02:00
Peter Barker e502f353c1 Replay: handle df format changes - IMT vs IMU 2015-10-22 16:28:11 +11:00
Caio Marcelo de Oliveira Filho ef615a5da1 Replay: implement HAL::Callbacks
Also removes includes for each board since they are not necessary
anymore.
2015-10-21 09:16:09 +11:00
Caio Marcelo de Oliveira Filho 2e464a53c2 AP_HAL: make code not depend on concrete HAL implementations
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.

A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.

The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.

Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.

The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11:00
Andrew Tridgell 643178fbe3 Replay: handle EKF2 replay 2015-09-23 18:56:15 +10:00
Andrew Tridgell b71678b901 Replay: fixed build with NavEKF2 2015-09-23 11:57:18 +10:00
Randy Mackay 803ca92f73 Replay: remove INS start style 2015-09-21 17:06:53 +09:00