Commit Graph

2319 Commits

Author SHA1 Message Date
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
Lucas De Marchi
04fc1e22da waf: check for lttng-ust for all linux boards 2016-05-23 12:06:42 -03:00
Lucas De Marchi
9ac6c399e9 waf: accept env variable to append library
Change check_librt() to do everything it needs to check for librt.
2016-05-23 12:06:42 -03:00
Andrew Tridgell
a1c52415e9 waf: pass mavlink include path into cmake build 2016-05-21 15:25:18 +10:00
Andrew Tridgell
7e7c21d114 waf: update for MAVLink2 build 2016-05-21 15:25:17 +10:00
Andrew Tridgell
d521852f84 autotest: make -P2 only control mavproxy mavlink protocol version 2016-05-21 15:25:15 +10:00
Andrew Tridgell
511ca6d764 autotest: support -P2 option for SITL with MAVLink2 2016-05-21 15:25:11 +10:00
Paul Riseborough
b1e9207c0f Replay: extend ekf fault status reporting coverage 2016-05-21 15:13:51 +10:00
Randy Mackay
00445ce7bd SITL: parameter file to enable rangefinder in copter 2016-05-21 10:36:53 +09:00
Peter Barker
a5db4194bd Tools: update PrintVersion.py for new firmware version location 2016-05-21 09:03:31 +10:00
Gustavo Jose de Sousa
bc62164ac9 waf: mavgen: scan for implicit dependencies
Process the input file to catch dependencies. Otherwise, changes in included
files wouldn't trigger the code regeneration.
2016-05-19 18:47:07 -03:00
Gustavo Jose de Sousa
0f60c8ed4f waf: boards: check for librt when necessary 2016-05-19 18:15:06 -03:00
Gustavo Jose de Sousa
f10c150e70 waf: cxx_checks: add check_librt()
That function verifies for the necessity of linking against librt. If so, then
it checks if it is possible to do so.
2016-05-19 18:15:06 -03:00
Gustavo Jose de Sousa
e630c2b33f waf: cxx_checks: define ap_common_checks() instead of configure()
That allow loading the cxx_checks tool before the calls to configure_env().
That way, we can add check functions to be used across boards.
2016-05-19 18:15:06 -03:00
Gustavo Jose de Sousa
83244dfe10 waf: cxx_checks: add copyright notice 2016-05-19 18:15:06 -03:00
Gustavo Jose de Sousa
468e8284f0 waf: cxx_checks: use check() instead of check_cxx()
check_cxx() is deprecated.
2016-05-19 18:15:06 -03:00
Francisco Ferreira
f7f90546d1 ci: build PX4 with waf again 2016-05-18 15:36:48 -03:00
Francisco Ferreira
057124bd90 waf: px4: use lib/rc for v4
Some functions from that module are necessary for px4-v4.
2016-05-18 15:36:48 -03:00
Gustavo Jose de Sousa
8578d7c16f waf: px4: don't add libarm_cortexM4lf_math.a to extra libs
This is following d02abf2 ("Removed CMSIS.") from PX4Firmware.
2016-05-18 15:36:48 -03:00
Gustavo Jose de Sousa
de96ca95a6 CPUInfo: cast result of sizeof to unsigned long
That fix works when size_t is 32 or 64 bits.
2016-05-18 15:36:48 -03:00
Gustavo Jose de Sousa
f29d8bd42c waf: px4: set ARDUPILOT_BUILD cmake variable
That allow changing PX4Firmware build system to accommodate ardupilot's build.
2016-05-18 15:36:48 -03:00
Gustavo Jose de Sousa
5b91a6e065 Tools: magcal_graph: add mavproxy module
That is added as a reference implementation on how to interpret the field
`completion_mask` from the `MAG_CAL_PROGRESS` mavlink message.
2016-05-18 13:28:52 -03:00
Gustavo Jose de Sousa
2b57c146fe Tools: sitl_calibration: add note on using calibration model
This can avoid users having problems as reported at issue #4088 ("Calibration
not working in sitl").
2016-05-18 13:28:52 -03:00
Gustavo Jose de Sousa
91e7f02d9d Tools: sim_vehicle: add calibration frame
The module `sitl_calibration` is loaded for convenience.
2016-05-18 13:28:52 -03:00
Gustavo Jose de Sousa
41f5602fea Tools: sim_vehicle: add local mavproxy modules path to PYTHONPATH
That's helpful for users that don't have that in their PYTHONPATH environment
variable and want to load a local module.
2016-05-18 13:28:52 -03:00
Gustavo Jose de Sousa
ede0360ee1 Tools: sim_vehicle: allow passing keywords to run_cmd_blocking
That is redirected to subprocess.Popen().
2016-05-18 13:28:52 -03:00
Lucas De Marchi
524b0870ff Tools: remove unused Linux scripts/sources 2016-05-18 11:51:45 -03:00
mblsktxy
bc5fb10ddc Added name to GIT_Success.txt 2016-05-18 10:26:31 +09:00