ardupilot/Tools
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
..
APM2_2560_bootloader Tools: Fix typos 2016-05-13 19:20:07 -03:00
APM_radio_test Tools: fixup line endings 2014-04-15 15:55:15 +09:00
ArduPilotMega_demo Tools: fixup line endings 2014-04-15 15:55:15 +09:00
ArdupilotMegaPlanner Tools: update URLs 2016-03-25 20:47:27 +11:00
ardupilotwaf waf: px4: reconfigure PX4Firmware for each program 2016-05-25 11:51:40 -03:00
ArduPPM Tools: Fix typos 2016-05-13 19:20:07 -03:00
autotest sim_vehicle.py: correct rebase 2016-05-24 21:02:36 +10:00
CHDK-Scripts CHDK script changes 2014-12-26 16:04:35 +09:00
CodeStyle CodeStyle: xmlpretty.py considers nodes with only text children to be one-liners 2016-01-07 17:39:09 +11:00
CPUInfo CPUInfo: cast result of sizeof to unsigned long 2016-05-18 15:36:48 -03:00
Failsafe Tools: standardize inclusion of libaries headers 2015-08-11 16:28:41 +10:00
FlightGear Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Frame_params Frame_params: fix Bebop param names 2016-05-04 10:09:31 +09:00
GIT_Test Added name to GIT_Success.txt 2016-05-18 10:26:31 +09:00
gittools Tools: gittools: add git-subsystems-split 2015-09-09 10:50:35 +10:00
Hello waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
Linux_HAL_Essentials Tools: remove unused Linux scripts/sources 2016-05-18 11:51:45 -03:00
LogAnalyzer Tools: Fix typos 2016-05-13 19:20:07 -03:00
mavproxy_modules Tools: magcal_graph: add mavproxy module 2016-05-18 13:28:52 -03:00
PPM_decoding Tools: fixup line endings 2014-04-15 15:55:15 +09:00
Replay Replay: added --param-file option 2016-05-25 20:46:18 +10:00
scripts ci: only run make builds for PX4 or when it is a scheduled job 2016-05-25 11:39:07 -03:00
SerialProxy Tools: Fix typos 2016-05-13 19:20:07 -03:00
vagrant Revising ardupilot.com to .org 2016-04-23 22:49:47 -07:00
Xplane import Tools directory 2011-09-09 11:31:32 +10:00
PrintVersion.py Tools: update PrintVersion.py for new firmware version location 2016-05-21 09:03:31 +10:00