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
Andrew Tridgell
a3422325c7
Replay: cope with new airspeed log msg
2014-11-22 18:27:51 +11:00
Andrew Tridgell
c52578426e
Replay: cope with up to 3 IMUs
2014-11-16 12:31:05 +11:00
Andrew Tridgell
4e87056631
Replay: fixed build with AP_NavEKF API change
2014-10-31 10:47:57 +11:00
Jonathan Challinger
210f4397da
Replay: clean up unused variables deltaGyroBias and divergeRate
2014-10-30 18:17:37 +11:00
priseborough
296dfad600
Replay : Remove unused numerical divergence metric
2014-10-30 18:17:37 +11:00
Andrew Tridgell
485397c4cb
Replay: cope with old copter attitude and baro msgs
2014-10-25 11:20:26 +11:00
Andrew Tridgell
d809ce51a7
Replay: convert to new AP_InertialSensor API
2014-10-24 12:10:38 +11:00
Andrew Tridgell
baad65bafc
Replay: update for new copter ATTITUDE message
2014-10-19 20:12:12 +11:00
Andrew Tridgell
fce20b24c2
Replay: fixed printf format
2014-10-19 19:41:57 +11:00
Andrew Tridgell
6e0e56a6ef
Replay: fixed loading of users parameters and parameter override
...
use compass.set_offsets() to avoid trying to write to storage
2014-10-15 09:17:22 +11:00
Andrew Tridgell
ea889e2e00
Replay: fixed build
2014-08-13 18:46:44 +10:00
Andrew Tridgell
35b0692fd5
Replay: fixed build
2014-08-10 21:25:16 +10:00
Andrew Tridgell
b89988b2df
Replay: fixed build
2014-08-06 22:27:50 +10:00
Randy Mackay
61506c52dc
Replay: fix example sketch
2014-07-29 15:26:05 +09:00
Andrew Tridgell
2ddfaa60b9
Replay: fixed build
2014-07-25 17:15:29 +10:00
Andrew Tridgell
4fad9b0a89
Replay: fixed build of replay tool
...
changes to compass API
2014-07-12 11:08:04 +10:00
priseborough
deb16ac5bb
Replay: Add EKF fault status logging message to EKF4
2014-05-15 21:14:21 +10:00
Andrew Tridgell
47926dc6ea
Replay: fixed for changes to AP_Compass HIL API
2014-05-15 21:14:21 +10:00
Randy Mackay
c3d6ed1e3e
Replay: add constraint on EKF4 data packet values
2014-05-01 16:54:31 +09:00
Andrew Tridgell
2acddb9696
Replay: fixed ahrs.set_fly_forward() in Replay for copter
2014-04-27 15:37:02 +10:00
Andrew Tridgell
250deaa32f
Replay: added vehicle class detection
2014-04-21 18:13:13 +10:00
Andrew Tridgell
7ca08294e7
Replay: added floating point exception checking
...
allows NaN errors to be caught in gdb
2014-04-21 15:37:07 +10:00
Andrew Tridgell
2295632660
Replay: added -A option to set arming time
2014-04-21 13:00:59 +10:00
Andrew Tridgell
623cbc3316
Replay: cope with too many log format msgs
2014-04-20 21:45:31 +10:00
Andrew Tridgell
eaf746b7fd
Replay: fixed velocity vector
2014-04-02 19:08:45 +11:00
Andrew Tridgell
ec04eba61c
Replay: handle multiple GPS sensors
2014-04-02 07:55:28 +11:00
priseborough
4f2a390dfa
Replay : Incorporate EKF4 flash logging updates
2014-04-01 21:27:09 +11:00
Andrew Tridgell
60ad429d13
Replay: convert to new GPS API
2014-04-01 06:38:24 +11:00
Andrew Tridgell
2008f737cf
Replay: fixed build with AP_Mission
2014-03-19 21:02:39 +11:00
Andrew Tridgell
330728cd80
Replay: fixed compass readings on rover
2014-03-06 21:40:08 +11:00
Andrew Tridgell
5dfd9b074e
Replay: fixed for rover logs
2014-03-06 17:51:49 +11:00
Andrew Tridgell
f2c79ad639
Replay: fixed -g option
2014-03-02 08:09:13 +11:00
Andrew Tridgell
ecdcf70ef5
Replay: added accel and gyro mask options
2014-03-02 08:00:51 +11:00
Andrew Tridgell
3218ac8e7a
Replay: added parameter handling
...
use parameters from log, and allow override
2014-03-01 15:15:46 +11:00
Andrew Tridgell
853271dd37
Replay: moved replay tool into Tools/Replay
2014-03-01 14:30:55 +11:00