Andrew Tridgell
70c4038751
Replay: changed Makefile to use waf
2016-07-27 21:28:30 +10:00
priseborough
cc0d3b89d3
Replay: use separated EKF horiz/vert position interfaces
2016-07-19 12:16:49 +10:00
Gustavo Jose de Sousa
f426e2c681
Replay: build: use separate library
...
There are checks for APM_BUILD_Replay in the source code, so Replay tools needs
a separate static library.
2016-06-30 12:55:18 -03: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
Gustavo Jose de Sousa
844222870c
waf: boards: bind get_board() to configure and build contexts
...
A convenience, since we don't expect the board to change for a given
configuration.
2016-05-25 17:47:00 -03: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
Lucas De Marchi
cb0ffc0e07
Replay: fix build error due to missing noreturn
...
Add noreturn attribute to field_not_found(). This function always call
abort() if the field was not found. The compiler may not know about it
and may think some variables are used uninitialized:
../../Tools/Replay/LR_MsgHandler.cpp: In member function ‘void LR_MsgHandler_GPA_Base::update_from_msg_gpa(uint8_t, uint8_t*)’:
../../Tools/Replay/LR_MsgHandler.cpp:212:24: error: ‘sacc’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
gps.setHIL_Accuracy(gps_offset, vdop*0.01f, hacc*0.01f, vacc*0.01f, sacc*0.01f, have_vertical_velocity, sample_ms);
^
Instead of just initializing the variable (which is pointless in this case),
teach the compiler that this function never returns so require_field() works
properly.
2016-05-10 16:15:41 -03: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
dbe9091d58
Replay: set last sample time for GPS
2016-05-07 18:27:23 +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
c2aeb058cd
Replay: mark GPA as generated
2016-05-07 18:27:22 +10:00
Andrew Tridgell
468f020b51
Replay: cope with GPS ground couse in degrees
2016-05-07 18:27:21 +10:00
Andrew Tridgell
2bcd3c48f0
Replay: use baro last update time if available
2016-05-07 18:27:21 +10:00
Andrew Tridgell
0571f86c17
Replay: handle float ground speed in GPS
2016-05-07 18:27:21 +10:00
Andrew Tridgell
d116071054
Replay: use new setHIL API for baro
2016-05-07 18:27:20 +10:00
Andrew Tridgell
827551c99f
Replay: added replay of GPS speed accuracy
2016-05-07 18:27:20 +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
295c65277d
Replay: restore exact timestamp in HIL
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
Andrew Tridgell
909a46a33b
Replay: pass delta angle time if available
2016-04-26 15:50:59 +10:00
Andrew Tridgell
f367180f47
Replay: support 2 IMU EKF2
2016-04-26 14:39:44 +10:00
Peter Barker
c869516a0b
Replay: abort if field type not known; understand double
2016-04-26 14:20:11 +10:00
Gustavo Jose de Sousa
b251d14778
waf: ardupilotwaf: allow multiple program groups for program
...
The program_dir defaults to the first group's name. That feature will be useful
for "copter" build command, which will build all frame types.
2016-03-26 15:43:08 -03:00
Lucas De Marchi
36336e17b3
Tools: replace header guard with pragma once
2016-03-16 18:40:45 +11:00
Gustavo Jose de Sousa
7ba3df8c80
Tools: waf: build Replay only for linux boards
...
Other boards (like PX4 ones) aren't supported yet.
2016-03-14 11:54:31 -03:00
Gustavo Jose de Sousa
5699bf04d0
waf: rename parameter blddestdir to program_group
...
It's a good idea to consolidate the idea that all programs belong to a group
that has it's own directory.
2016-02-01 14:08:32 -02:00
Gustavo Jose de Sousa
a2d2661765
waf: use methods from bld instead of ardupilotwaf for the remaining
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
a35c0d48b0
waf: ardupilotwaf: rename program to ap_program
...
Make the rename so that there is no name clashes when defining it as a taskgen
method.
2016-01-22 20:10:28 -02:00
Gustavo Jose de Sousa
ad0f2080c6
waf: reorganize destination of binaries in Tools
...
It makes more sense for Hello to be an example and for CPUInfo and Replay to be
placed inside a `build/<board>/tools/` directory.
2016-01-15 16:46:41 -02:00
bugobliterator
065c67af57
Replay: fix replay build
2015-12-29 10:46:35 -08:00
Lucas De Marchi
a096703b06
Global: don't link with AP_Progmem
...
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02: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
Caio Marcelo de Oliveira Filho
6e7b73610d
waf: add waf support
2015-12-03 07:54:30 +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
ec52df991c
build: compile only the HAL files needed by the board
...
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +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
Andrew Tridgell
da2ad49276
Replay: fix for changes to AP_RangeFinder API
2015-09-08 16:46:52 +10:00
Peter Barker
43adcd39ab
Replay: DataFlash needs a version string
2015-09-03 15:20:20 +10:00
Gustavo Jose de Sousa
84b5555a1a
Tools: standardize inclusion of libaries headers
...
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.
2015-08-11 16:28:41 +10:00
Peter Barker
dbbc5ed816
Replay: fix double-free in MsgHandler
2015-07-10 18:56:20 +10:00
Andrew Tridgell
f2106f39aa
Replay: save CHEK messages when not being generated
2015-07-09 10:20:45 +10:00
Andrew Tridgell
2eb204d0ca
Replay: added --downsample option
2015-07-07 15:55:41 +10:00
Andrew Tridgell
dd53f5a7a1
Replay: added --nottypes option
2015-07-07 15:14:05 +10:00
Lucas De Marchi
547dbb3906
Replay: use ARRAY_SIZE macro
2015-07-07 07:56:30 +10:00
Andrew Tridgell
dee1bf3da3
Replay: show smaller parameter changes
2015-07-07 07:56:17 +10:00
Andrew Tridgell
bdddfae57f
Replay: don't write out duplicate FMT messages
...
this makes replay output the same as input for when input is a replay
log
2015-07-04 22:43:54 +10:00
Andrew Tridgell
93800fb3a1
Replay: automatically find message types, and improve rate detection
2015-07-04 15:14:14 +10:00
Andrew Tridgell
b20318aaeb
Replay: remap msgids on pass-through to avoid conflicts
...
if msg IDs have changed since the log was produced they need to be
remapped
2015-07-03 09:32:05 +10:00
Andrew Tridgell
bd27fed241
Replay: fixed missing import
2015-07-02 17:14:42 +10:00
Andrew Tridgell
ef36d74a1c
Replay: added generation of -checked logs
2015-07-02 17:05:09 +10:00
Andrew Tridgell
c74d39558c
Replay: initial version of CheckLogs.py
2015-07-02 17:05:09 +10:00
Andrew Tridgell
4f9ccf727a
Replay: cope with bad NSats field from old logs
2015-07-02 17:05:09 +10:00
Andrew Tridgell
a5abb7c698
Replay: use tabs in replay_results.txt
2015-07-02 14:28:44 +10:00
Andrew Tridgell
f79ae4b749
Replay: add to replay_results.txt when run with --check
2015-07-02 14:28:44 +10:00
Andrew Tridgell
b93101b1bf
Replay: reduced verbosity
2015-07-01 21:11:46 +10:00
Andrew Tridgell
2c0d6c0406
Replay: fixed yaw error calculation
2015-07-01 20:44:08 +10:00
Andrew Tridgell
d07b93e661
Replay: fixed writing of CHEK messages
2015-07-01 20:44:08 +10:00
Peter Barker
8bbeedb158
Replay: flush dataflash log on floating point exception
2015-06-30 16:19:22 +10:00
Andrew Tridgell
2291a8994e
Replay: fixed build
2015-06-29 15:59:53 +10:00
Peter Barker
2266f118e9
Replay: DataFlash frontend/backend split
2015-06-26 16:02:50 +10:00
Andrew Tridgell
f2756ecb22
Replay: added checking of solution
2015-06-26 15:55:19 +10:00
Andrew Tridgell
9016a3d3db
Replay: added --chek-generate option
...
adds CHEK messages based on current estimates
2015-06-26 15:55:18 +10:00
Peter Barker
54efa3d727
Replay: split off a ReplayVehicle class
...
Like "Copter copter" and "Plane plane": "ReplayVehicle replayvehicle"
2015-06-23 09:49:13 +10:00
Andrew Tridgell
9e36e2c562
Replay: fixed handling of dual-GPS HDop field
2015-06-18 09:28:59 +10:00
Andrew Tridgell
47834759e5
Replay: fixed build warnings
2015-06-17 12:46:55 +10:00
Andrew Tridgell
31f7525a61
Replay: added --no-imt flag
2015-06-17 12:46:55 +10:00
Andrew Tridgell
c7cb980498
Replay: support IMT messages
2015-06-16 09:53:55 +10:00
Peter Barker
71bc48189e
Replay: remove dangling declarations from LogReader.h
...
These seem to have been left in after MsgHandler was factored out
2015-06-14 17:25:08 +10:00
Peter Barker
f996bf4307
Replay: move LR_MsgHandlers into their own files
2015-06-14 17:17:42 +10:00
Peter Barker
7eb588e9ff
Replay: use a subclasss of DataFlashFileReader to determine log rate
2015-06-14 16:47:52 +10:00
Peter Barker
d41b21cd19
Replay: split off a base class for reading dataflash logs
2015-06-14 16:47:52 +10:00
Peter Barker
0b5e645075
Replay: grab reference to timestamp rather than timestamp
...
PARM messages would not have been updating the clock correctly
Also, random stack corruption...
2015-06-14 16:34:01 +10:00
Peter Barker
125042e1db
Replay: use GetOptLong for command line parsing
2015-06-10 10:14:15 +10:00
Peter Barker
f4db241bf6
Replay: avoid dataflash buffer filling up on many pass-through messages
2015-06-09 21:52:46 +10:00
Peter Barker
5fb46b0e11
Replay: fix dataflash overflow on timestamp-poor (older) logfiles
2015-06-09 21:52:45 +10:00
Andrew Tridgell
b1002eae3b
Replay: fixed -A0 for "arm immediately"
2015-06-03 12:31:21 +10:00
Andrew Tridgell
26e55f078a
Replay: converted to .cpp files
2015-06-01 16:15:08 +10:00
Andrew Tridgell
b27d0a6525
Replay: handle replay on older logs
...
we now pass-thru all messages except those that are being generated by
replay. We also pass-thru the FMT headers for those messages
2015-05-28 13:30:38 +10:00
Andrew Tridgell
2007d2b6eb
Replay: cope with FRAM messages
...
use them to trigger ahrs updates
2015-05-28 13:30:37 +10:00
Peter Barker
8eafc209a9
Replay: understand and use 64-bit timestamps in Replay
2015-05-27 11:54:17 +10:00
Andrew Tridgell
dc1ff9a757
Replay: added in_list() method
...
neaten up code
2015-05-19 20:22:46 +10:00
Andrew Tridgell
34fe39f17d
Replay: force COMPASS_ORIENT to 0
...
we use compass.setHIL() in body frame, or must use an orientation of 0
to give the right value
2015-05-19 20:22:46 +10:00
Peter Barker
91b761cfb0
Replay: merge MessageHandler_* into MsgHandler.h/MsgHandler.cpp
...
These were trivial classes; having lots of these files around made
it painful to work with.
2015-05-19 20:22:45 +10:00
Andrew Tridgell
f08f0ca2f9
Replay: show time of AHRS health change
2015-05-19 15:21:22 +10:00
Andrew Tridgell
ba930f8cf1
Replay: removed the timestamp rounding code
...
this makes things worse for plane replay
2015-05-19 13:18:02 +10:00
Andrew Tridgell
52f6332fa9
Replay: pass through some message types to output log
...
this gives mode information in output log
2015-05-18 10:08:27 +10:00
Andrew Tridgell
7177d5df7e
Replay: removed attempt to interpolate IMU data
...
it seems to cause more harm than good
2015-05-18 09:51:14 +10:00
Andrew Tridgell
49146a2a88
Replay: call Log_Write_POS()
2015-05-15 14:28:15 +10:00
Andrew Tridgell
56f44266d8
Replay: fixed for new compass API
2015-05-15 14:25:44 +10:00
Andrew Tridgell
a356ad1c79
Replay: added MAG2 message
2015-05-15 14:25:44 +10:00
Andrew Tridgell
9f05e54d90
Replay: added support for EV message for copter arming
2015-05-15 14:25:44 +10:00
Andrew Tridgell
4e3d18bee4
Replay: added ARM message to logs, and auto ARM/DISARM
2015-05-15 14:25:43 +10:00
Andrew Tridgell
64a55c908f
Replay: fixed trailing nul and don't wait for EKF to init
2015-05-11 11:19:11 +10:00
Andrew Tridgell
460489e2dc
Replay: fixed cast of AP_AHRS_DCM
2015-05-11 09:41:43 +10:00
Peter Barker
32beaea48c
Replay: use column labels rather than IDs in Replay.pde
2015-05-10 08:33:32 +10:00
Peter Barker
f3d1242d60
Replay: update Attitude on ATT rather than AHRS2
2015-05-09 20:54:07 +10:00
Andrew Tridgell
9e02ce44ae
Tools: fix for HAL_SITL rename
2015-05-05 09:45:57 +10:00
Peter Barker
e1be814853
Replay: correct case for Airspeed when parsing airspeed messages
2015-05-01 09:18:49 +10:00
Peter Barker
67ba043b65
Replay: fix replay for CTUN (type=0) messages
2015-05-01 09:18:11 +10:00
Peter Barker
2b05f6e2b1
Replay: correct vehicle detection from MSG messages
2015-05-01 09:17:29 +10:00
Peter Barker
db833a6473
Replay: fix null-pointer dereference when fields not present
2015-04-30 20:01:49 +10:00
Peter Barker
56a8bf5460
Replay: use the message's name rather than number to determine which message handler to use for a message
2015-04-28 21:10:16 +10:00
Peter Barker
42351edfa6
Replay: use dataflash log format messages to extract message data instead of using structs
...
dataflash logs have been self-describing since 2013. Replay now uses the descriptions supplied in the dataflash log to understand the format of any particular message.
This change should allow fields to be added to messages with no impact on Replay.
2015-04-28 21:10:15 +10:00
Randy Mackay
211bdb0bb6
Replay: include AP_RangeFinder.h
2015-04-24 15:49:09 +09:00
Randy Mackay
1f58cb9980
Replay: pass range finder into ahrs constructor
2015-04-24 11:27:27 +09:00
Andrew Tridgell
8f09ee077c
Replay: try to cope better with millisecond timestamps in 400Hz copter logs
2015-04-20 15:12:51 +10:00
Andrew Tridgell
ea10877113
Replay: fix handling of old IMU messages
2015-03-28 10:52:37 -07:00
Andrew Tridgell
95a1ab0cab
Replay: fixed build with new AP_Compass API
2015-03-13 18:46:16 +11:00
Randy Mackay
774332ea02
Replay: fixup after inertial nav and baro glitch removal
2015-03-13 16:41:08 +09:00
Jonathan Challinger
c2d60ed7a8
Replay: use hal.util soft_armed state
2015-02-11 20:57:27 +11:00
Andrew Tridgell
734cc61838
Replay: fixed build
2015-02-03 09:49:15 +11:00
Randy Mackay
18af7c1437
Replay: fix compile error for Serial Manager
2015-01-29 14:05:16 +11:00
Andrew Tridgell
d239d8314a
Replay: fixed replay for re-organised dataflash messages
2015-01-21 14:38:37 +09:00
Andrew Tridgell
ad8480d5f7
Replay: keep airspeed msgs in log
2015-01-20 09:11:07 +11:00
Andrew Tridgell
231b44fc83
Replay: fixed baro.setHIL call
2015-01-09 11:50:57 +11:00
Andrew Tridgell
488714ccba
Replay: updates for new AP_Baro API
2015-01-09 11:50:55 +11:00
Andrew Tridgell
406f11423e
Replay: enable array bounds checking in Replay
2015-01-09 11:05:21 +11:00
Andrew Tridgell
0d8faab48f
Replay: fixed build with AHRS change
2015-01-03 14:16:34 +11:00
Andrew Tridgell
584fa9b4bf
Replay: fixed format string for EKF4
2015-01-03 14:07:25 +11:00
Andrew Tridgell
9b5a2ea1d0
Replay: fixed build
2015-01-01 09:37:17 +11:00
priseborough
9c8406998b
Replay: Don't log EKF optical flow data if not required
2014-12-31 13:16:10 +09:00
Andrew Tridgell
068b5a54c9
Replay: prevent float exception in log writing
2014-12-09 12:45:58 +11:00
Andrew Tridgell
fa95ea91fd
Replay: generate dataflash logs in Replay
...
this allows the calculated EKF flight path to be compared with
different parameters by using replay
2014-12-08 11:25:22 +11:00