Commit Graph

2346 Commits

Author SHA1 Message Date
Tom Pittenger ed7af8c717 scripts: Add libc6-i386 to px4 package install.
Fixes https://github.com/ArduPilot/ardupilot/issues/4316
2016-06-16 08:06:06 -07: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
Peter Barker 53df307c2d sim_vehicle.py: older python has no accessors for proc.status 2016-06-06 12:27:41 +10:00
Peter Barker 91e72de302 sim_vehicle.py: remove unused parameter 2016-06-06 12:27:29 +10:00
Peter Barker efef39732e autotest: pass any supplied -j through to waf make 2016-06-05 09:45:58 +10:00
Peter Barker eb0e3c993d Tools: build_examples.sh implemented in terms of build_examples.py 2016-06-04 12:33:15 -03:00
Peter Barker b6289af522 Tools: autotest uses waf directly for building examples 2016-06-04 12:33:14 -03:00
Peter Barker 8cf49d4e3e Tools: create build_examples.py, a replacement for build_examples.sh 2016-06-04 12:33:14 -03:00
Gustavo Jose de Sousa 6fa97c2289 waf: px4: require cmake version at least 3.2
That way we avoid build errors due to things not supported in earlier versions.
2016-06-03 09:55:17 -03:00
Gustavo Jose de Sousa 03728ac2f7 waf: cmake: enable minimum version checking
By using the environment variable CMAKE_MIN_VERSION.
2016-06-03 09:55:17 -03:00
Peter Barker 0924ae0d25 Tools: add cmake as a dep for PX4 in Vagrant 2016-06-02 13:05:25 +10:00
Francisco Ferreira 501284f65a ci: remove clang temporarily from APT packages 2016-05-31 19:25:51 +01:00
Andrew Tridgell 475579e8ff autotest: skip build of boards we don't support
this prevents us trying to build for boards like navio2 for
ArduCopter-stable which didn't support that board
2016-05-30 08:25:10 +10:00
Andrew Tridgell 168f4e52cf autotest: try to fix build of binaries 2016-05-28 07:29:23 +10:00
Andrew Tridgell 084a37d4fa autotest: enable LOG_REPLAY and LOG_DISARMED in autotest
this will give us the ability to analyse any EKF errors
2016-05-27 21:23:39 +10:00
Peter Barker 480e142cfb autotest.py: remove TARGET no longer required 2016-05-27 08:07:07 -03:00
Peter Barker 3548f90d3a autotest: create SIL object to hold valgrind logpath 2016-05-27 08:07:07 -03:00
Peter Barker ced07906ad Tools: correct valgrind run in autotest.py 2016-05-27 08:07:07 -03:00
Peter Barker 7b86a05722 Tools: convert autotest build.X and fly.X to use waf build system 2016-05-27 08:07:07 -03:00
Andrew Tridgell b76a993f7e autotest: support coaxcopter 2016-05-26 17:09:31 +10:00
Andrew Tridgell ba3703303a autotest: added SingleCopter 2016-05-26 16:37:58 +10:00
Francisco Ferreira ec0a80b6f4 ci: increase ccache size
make based builds require more space
insert exception for sitltest
2016-05-25 22:14:47 -03: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 8e9752c3d3 waf: px4: setup build summary
- Pass the correct nodes as the binaries for the programs task generators.
- Print extra information specific to PX4 build.
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa d65a7897e4 waf: px4: keep ELF files around
Including px4io. We need them for the build summary. Also, that makes it easier
to use gdb on them.
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa 4f3af94c57 waf: build_summary: add Waf tool 2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa afcabda21c waf: use better style for add_option() calls
Setting the "help" keyword argument may not fit in one line sometimes. This
patch adds the following convention to calls to add_option() in order to
address that issue in a better way:

    1) The "help" keyword must always be the last argument to be passed.

    2) If the help string is a literal string or a literal string with some
    operation (e.g. "%" operator) and setting the "help" keyword in the code
    doesn't fit a line (considering the limit of characters in a line), then
    the help string must be a triple-quoted string. That has the advantage of
    not having to have several "+" operations for long help strings. In that
    case, the help message must start on the next line and the closing
    triple-quotes must be on a separate line together with the closing
    parenthesis.

The requirement (1) makes it easier to make the style exception in (2)
acceptable.
2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa 64b8ec61c7 waf: set lib as output dir for static libraries 2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa 236a62f4b9 waf: create program_dir directory
There's an upcoming patch that moves all static libraries to
`build/<board>/lib/`. That way, the program directory won't be created
automatically by the build system and that will cause problems for PX4 builds,
since it builds ardupilot programs as static libraries and copies stuff to the
program directory.
2016-05-25 17:47:00 -03: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
Gustavo Jose de Sousa 80f03b618b waf: toolchain: add find_toolchain_program() 2016-05-25 17:47:00 -03:00
Gustavo Jose de Sousa 06a515645e waf: px4: reconfigure PX4Firmware for each program
A (possible) bug in CMake makes it not to relink firmware_nuttx sometimes when
the following sequence of events happen with very short period of time in
between them:
    1) cmake target build_firmware_px4fmu-v2 just finishes
    2) px4-extra-files/libap_program.a is replaced with the next library
    3) cmake target build_firmware_px4fmu-v2 is run

It's unfortunate to have to reconfigure PX4Firmware with a different path
because of the overhead added.

That problem was found with CMake 3.5.2 and is reproducible with the following
bash script (with git HEAD at ae3cb05 'HAL_PX4: disable "Overtime in task"
msg'):

```
modules/waf/waf-light configure --board px4-v2
modules/waf/waf-light build --targets bin/arduplane,bin/arducopter-quad

fails=0
total=0
while true; do
    cp build/px4-v2/bin/libarducopter-quad.a \
       build/px4-v2/px4-extra-files/libap_program.a
    cmake --build build/px4-v2/modules/PX4Firmware \
          --target build_firmware_px4fmu-v2 &> /dev/null
    h1=$(sha256sum build/px4-v2/modules/PX4Firmware/src/firmware/nuttx/firmware_nuttx \
                   | cut -d" " -f1)

    cp build/px4-v2/bin/libarduplane.a build/px4-v2/px4-extra-files/libap_program.a
    cmake --build build/px4-v2/modules/PX4Firmware \
          --target build_firmware_px4fmu-v2 &> /dev/null
    h2=$(sha256sum build/px4-v2/modules/PX4Firmware/src/firmware/nuttx/firmware_nuttx \
                   | cut -d" " -f1)

    [[ $h1 == $h2 ]] && ((fails++))
    ((total++))
    printf "\r%d/%d" $fails $total
done
```
2016-05-25 11:51:40 -03:00
Gustavo Jose de Sousa fee5053493 waf: cmake: reconfigure when configuration data change
Create a new configuration task a configuration in the CMakeConfig object
changes. That allows building targets for different configurations in one waf
build run.
2016-05-25 11:51:40 -03:00
Gustavo Jose de Sousa ce0ae66b19 waf: cmake: add CMAKE_VARS to task uid()
To allow the correct multiple instantiations of the cmake_configuration tasks
for different states CMake variables.
2016-05-25 11:51:40 -03:00
Gustavo Jose de Sousa b6a5052a97 waf: cmake: use CMakeConfig class instead of taskgen
That will make it easier to allow reconfiguration of cmake builds on a single
waf build run.
2016-05-25 11:51:40 -03:00
Francisco Ferreira fe0c49ec54 ci: only run make builds for PX4 or when it is a scheduled job
Let waf figure out how many jobs to run
2016-05-25 11:39:07 -03:00
Francisco Ferreira 292251e2aa ci: add time to complete make builds 2016-05-25 11:38:59 -03:00
Francisco Ferreira a74a7e5dfe ci: update ccache and improve its support
Update ccache to 3.2.5
Set ccache size
Display ccache statistics for each build
Disable ccache for configure phase
Export ccache bin path
travis: remove ccache stats before saving cache
2016-05-25 11:38:51 -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
Peter Barker 0c70f0fc35 sim_vehicle.py: correct rebase 2016-05-24 21:02:36 +10:00
khancyr c9e877b3a5 sim_vehicle.py : reorder frame by type 2016-05-24 19:54:12 +10:00
khancyr 25066be990 sim_vehicle.py : add hexacopter 2016-05-24 19:53:36 +10:00
Grant Morphett 2f7a386b30 Rover: Added the new skid steering parameters file for SITL. 2016-05-24 12:24:53 +10:00
Grant Morphett d993c25cb1 Rover: Added skid steering rover as frame type for SITL. 2016-05-24 12:24:53 +10:00
Grant Morphett 6d675dfcb7 Rover: Just fixing a type in the default params.
Should of been RC1, not RC2.  I also added a couple of other default
parameters for completeness.
2016-05-24 12:24:53 +10:00
Lucas De Marchi 92411402b6 Tools: remove support for flymaple 2016-05-23 21:49:45 -03:00
Lucas De Marchi 563614e84b waf: check for libiio for all linux boards 2016-05-23 12:06:42 -03:00