Commit Graph

2768 Commits

Author SHA1 Message Date
Gustavo Jose de Sousa 31965689cb waf: persist implicit dependency information across clean
Implicit dependency scanning takes significant time and, since it doesn't
produce files, it's okay to keep the resulting information across clean
commands as long as the scanner is triggered again if there's need to. This
commit accomplishes that.

The advantage of this approach can be observed by the following timings when
building the group "bin":

 Method                                                         Time
 ------------------------------------------------------------------------
 Fully clean build                                              5m18.633s
 Clean build with scanning result persisted                     4m23.346s
 Clean build with ccache but non-persistent scan results        1m40.125s
 Clean build with scanning results persisted and with ccache      14.843s

While at it, move management of information persisted across clean commands to
a separate module.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa 6abcf6150c waf: ap_library: use ap_persistent_task_sigs for header checking tasks
In order to make clean builds faster.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa ef4fd0e2d3 waf: add --clean-all-sigs option
Explanation on the option help string.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa 0b7a98d40c waf: allow persisting tasks signatures across clean commands
That allows some time consuming tasks that don't really produce anything on the
file system to keep their signature after a clean command is issued.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa a98c42fef9 waf: define ap_groups in ardupilotwaf tool
That makes more sense, since that module is supposed to have basic Ardupilot
specific features. The root wscript should be a mere user of those features.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa a6ec802d28 ap_library: always check included headers when necessary
This approach is better then the previous one mainly because the latter
required creating the task generator for the checks in a separate group and
posting that target implied in posting the whole previous build groups.

Some notes:
 - This is implemented so that headers aren't checked more than once, so there
   might be some checking tasks that won't do anything because the headers are
   checked on another task. Even so, those headers are added to the result of
   scan() in order to provide a consistent output to the user.
 - It is safe manipulating the shared variable dispatched_headers because the
   scan() is called before the task is added to the execution queue.
 - Although we force ap_library_check_headers.scan() to always be called,
   that's OK, because we use the scanning result of the compilation task, which
   returns a cached value if there's no need to rescan.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa 51bef96811 waf: px4: accommodate use of ap_library
- Use AP_LIBRARIES_OBJECTS_KW instead of AP_STLIB_FEATURES.
 - Change the feature name to one that makes more sense.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa b8e518a533 waf: use ap_library tool
That way we avoid recompiling source files that don't depend on vehicles.
Change notes:
- UTILITY_SOURCE_EXTS: moved to ap_library
- Task generators indexes: ap_library handles that now and in a better way
- Use of AP_STLIB_FEATURES: it doesn't make sense anymore, since the stlib
  taskgen has empty source list
- Flags and defines: passed down to ap_library through AP_LIBRARIES_OBJECTS_KW
- Set use='mavlink' in AP_LIBRARIES_OBJECTS_KW instead of calls to
  bld.ap_stlib().
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa 9a6fcafade waf: ap_library: add tool
That's a tool for creating task generators for libraries object files. One of
the key objectives of this patch is to provide a way to avoid recompiling
sources that are independent of vehicles.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa b191269cc8 waf: px4: run firmware task after link task
This fix a bug introduced by 06a5156 ("waf: px4: reconfigure PX4Firmware for
each program"), with the removal of the call fw_task.set_run_after(cp_lib).
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa 8fb6ccc8b7 waf: px4: use copy of "use" in px4_import_objects_from_use()
Utils.to_list() returns the argument if it is a list, which means that
px4_import_objects_from_use() cleared that attribute when processing the queue.
2016-08-24 10:46:23 -03:00
Gustavo Jose de Sousa 424f6490fc waf: px4: add missing import Errors 2016-08-24 10:46:23 -03:00
Craig Elder 68dfe42443 Autotest: Update logo.png 2016-08-22 19:50:03 -06:00
Craig Elder 30e1ee2c8f Autotest: Delete Logo 2016-08-22 19:49:16 -06:00
Peter Barker 569a7a4abd Tools: sim_vehicle.py - correct process termination
Closes #4699
2016-08-22 15:38:50 +10:00
Craig Elder 211175efac Autotest: Update Logo 2016-08-21 23:31:12 -06:00
Craig Elder 121c7f1136 Update Logo 2016-08-21 23:26:14 -06:00
Craig Elder ac8b17c177 Autotest: Updated website names 2016-08-21 19:07:23 -06:00
Eduardo Cáceres de la Calle 0395141450 Tools: Add name to GIT_Success.txt 2016-08-18 20:17:16 +09:00
MitsuhiroKomiya dc9c101594 Tools: Git_Success.txt added my name 2016-08-18 19:34:39 +09:00
ropizo 2d89c631ea Tools: Git test.
This is for the preliminary check of github PR.
2016-08-18 18:47:55 +09:00
SuzukiYasuyuki 9722e921d5 Update GIT_Success.txt
added Yasuyuki Suzuki
2016-08-18 18:42:58 +09:00
yoshinuma 0c2d01b60c add my name 2016-08-18 00:03:22 -07:00
muro008 7f0a4e3874 added name to GIT_Success.txt 2016-08-17 23:58:06 -07:00
Saegusa5 c2f23b88ed Add GIT_Success.txt 2016-08-17 23:56:58 -07:00
YukiMiyama aaebfc9239 added my name to GIT_Success.txt 2016-08-17 23:50:47 -07:00
Peter Barker 25136ea15a Tools: correct tracker build 2016-08-17 08:33:53 +10:00
Peter Barker 08ef3271c1 Tools: bump Vagrant Ubuntu to Wily
This allows the Vagrant VM to build PX4 using waf.

The initvagrant script has been changed to run as much as possible
as the Vagrant user.

jsbsim is now compiled by the vagrant user, and run from the source directory.
2016-08-16 10:23:48 -03:00
Takanobu Minoshima 00eb5ed355 Git: added name to GIT_Success.txt
Testing whether I cann add changes to git success via the Windows Client
2016-08-16 10:55:59 +09:00
ysk73 8f1f9481eb Tools: added name to GIT_Success.txt
by Yuki Yoshioka
2016-08-16 09:58:58 +09:00
Kouichi Nakajima 6e643d64b7 Tools: add Kouichi Nakajim to Git_Success.txt 2016-08-16 09:47:41 +09:00
Lucas De Marchi 46be2cf026 Tools: build_binaries: fix generation of firmware-version.txt
For waf builds we build from root directory.
2016-08-13 17:44:38 -03:00
Lucas De Marchi cd333cb43a Tools: build_binaries: fix check for wrong file
We get the version from version.h not APM_Config.h.
2016-08-13 17:44:38 -03:00
Lucas De Marchi a511f97971 Tools: build_binaries: fix inverted condition 2016-08-11 09:01:43 -03:00
Lucas De Marchi 80b04ecb41 scripts: update command with sim_vehicle.py 2016-08-10 17:00:09 -03:00
Lucas De Marchi 8a3974f08f vagrant: update commands to sim_vehicle.py 2016-08-10 16:59:39 -03:00
Peter Barker 06b0dec15e Tools: remove sim_vehicle.sh in favour of sim_vehicle.py 2016-08-10 16:56:04 -03:00
Lucas De Marchi 53968e5d78 Tools: build_binaries: add bebop to arducopter-quad 2016-08-10 11:12:54 +09:00
Lucas De Marchi 6553e428c0 Tools: build_binaries: add navio/navio2 to antennatracker 2016-08-10 11:12:52 +09:00
Lucas De Marchi 6e9686a16b Tools: build_binaries: use waf for Linux boards 2016-08-10 11:12:50 +09:00
IndustrialWasteWeaponOfUltimate 431f7da5b3 Tools: add Shinya Oda to GIT_Success.txt 2016-08-09 16:21:31 +09:00
Randy Mackay 65ee71075c Tools: set GND_EFFECT_COMP for Bebop2 params 2016-08-09 16:19:53 +09:00
Lucas De Marchi f0590581e4 autotest: standardize name of param files
Try to make the various param files to follow similar namings:

    - Lowercase the few ones using uppercase
    - Use dash to separate name components
    - Start with "copter", "plane", "rover", etc instead of the mix we
      had
    - Remove "params" from the filename since it's redundant with the
      extension
2016-08-08 10:12:14 -03:00
Tom Pittenger 127e86562a AP_Relay: remove FixedWing dependency on airspeed 2016-08-08 00:25:20 -07:00
Tom Pittenger aa65fda01c Revert "Replay: Convert references to AP_Airspeed."
This reverts commit 96b287735f.
2016-08-07 17:54:24 -07:00
KenjiKoseki d8367ecbef Tools:add Kenji Koseki to Git_Success.txt 2016-08-08 09:53:46 +09:00
Tatsuya Yamaguchi be398864b7 Git: add Tatsuya Yamaguchi to Git_Success.txt 2016-08-08 09:51:33 +09:00
yHoriuchi 5b1d22f35d GIT_Test: add Yasuhide Horiuchi to GIT_Success.txt 2016-08-06 09:11:38 +09:00
Kunihiro.Yoshida ab8a6da397 Tools: add name to Git_Success.txt 2016-08-05 21:12:43 +09:00
Randy Mackay 650d6756bf Tools: update EnRoute EX700 parameter defaults 2016-08-05 16:26:36 +09:00
Kazutaka Ozawa 0582cd254e assignment 2016-08-05 10:40:30 +09:00
AndersonRayner 96b287735f Replay: Convert references to AP_Airspeed. 2016-08-04 10:09:04 -07:00
EijiAoki 699d5bf99c Homework at Dronecode seminar 2016-08-04 09:38:50 -07:00
ikgmats 0b492288e7 Git: add Ikegami Atsushi to GIT_Success.txt 2016-08-04 22:07:11 +09:00
Randy Mackay 3b86ef71ca Tools: update EnRoute EX700 parameters 2016-08-04 16:56:46 +09:00
Yu Kuwahara f5b4a482b0 Git: add Yu Kuwahara to Git_Success.txt 2016-08-04 14:42:57 +09:00
okapy 0141fa972f Git: added Hiroshi Kitaoka to GIT_Success.txt 2016-08-04 14:37:20 +09:00
Randy Mackay de24d2ca3b Tools: add EnRoute EX700 frame parameters 2016-08-04 14:37:14 +09:00
Pierre Kancir 19d94737a0 autotest: move all default params to default_params directory 2016-08-03 17:44:37 -03:00
murata ec59a83219 Git: add Murata Katsutoshi to Git_Success.txt 2016-08-03 15:16:23 +09:00
ShingoMatsuura bf5a035024 Git: add Shingo Matsuura to Git_Success.txt 2016-08-03 13:28:24 +09:00
Gustavo Jose de Sousa 2e1ac0de8d waf: make get_legacy_defines() "public"
That function will be used by an upcoming separate tool.
2016-08-01 22:04:16 -03:00
Gustavo Jose de Sousa f2dec971e7 waf: add "ap_" prefix to keywords "libraries" and "vehicle"
As an effort to keep things specific to ardupilot API in the build system
consistent and easy way to identify.
2016-08-01 22:04:16 -03:00
Pierre Kancir 07eb170b39 Autotest: correct mavproxy unloaded map error 2016-08-01 10:37:15 -03:00
Gustavo Jose de Sousa d1c5691501 waf: build_summary: let the user register the post build callback
That allows more control from the user's point of view.
2016-07-28 17:50:19 -03:00
Pierre Kancir ff8c772776 sim_vehicle.py: correct url 2016-07-28 16:44:18 -03:00
Pierre Kancir 40a594e137 sim_vehicle.py : style correction 2016-07-28 16:44:18 -03:00
Staroselskii Georgii 61e066513d FlightGear: remove the application
It seems like nobody uses this app because it can't even get compiled.
That's why I think it should go away.
2016-07-27 21:30:19 +10:00
Staroselskii Georgii bd8c61542d Replay: make use of sigaction instead of signal API
It's a more proper and portable way to set up signal handlers.
2016-07-27 21:30:19 +10:00
Staroselskii Georgii 9576be3a21 Replay: encapsulated signal handling 2016-07-27 21:30:18 +10:00
Andrew Tridgell 70c4038751 Replay: changed Makefile to use waf 2016-07-27 21:28:30 +10:00
Gustavo Jose de Sousa 4bd17ab90c waf: git_submodule: allow warning about skipped submodules updates
Provide a function to register a post build routine to do the warnings. Do that
way so that the user can chose when to add the callback to the build (i.e.
allow the user to assert a desired order for the post build callbacks to be
called).
2016-07-25 16:45:57 -03:00
Gustavo Jose de Sousa 4cd70842d9 waf: git_submodule: don't update submodule if non-fastforward
Don't cause trouble to developers working on submodules.
2016-07-25 16:45:57 -03:00
Andrew Tridgell db8bf48747 build: added AP_ICEngine to build 2016-07-25 10:06:03 +10:00
Andrew Tridgell 3489f7b576 autotest: use builtin plane sim for autotest
and simplify startup using defaults file
2016-07-22 16:42:46 +10:00
Andrew Tridgell 241b6edfcf Build: added AP_Button to build 2016-07-22 15:01:20 +10:00
Andrew Tridgell fd286498af PX4: added otp to the build 2016-07-21 18:05:00 +10:00
Lucas De Marchi 2b1b23cabf build: fix static linking through --static option 2016-07-20 18:03:20 -03:00
Andrew Tridgell 9ea4a9233d autotest: updated OBC2016 mission
added butterfly search
2016-07-20 19:44:14 +10:00
Andrew Tridgell 3769e0fc64 waf: build support for Disco 2016-07-20 13:28:28 +10:00
priseborough 18c4327a2a autotest: reduce copter test run time
Signed-off-by: priseborough <p_riseborough@live.com.au>
2016-07-19 12:16:50 +10:00
priseborough cc0d3b89d3 Replay: use separated EKF horiz/vert position interfaces 2016-07-19 12:16:49 +10:00
priseborough e0d87bf529 autotest: Increase startup wait time to allow EKF and GPS checks to pass 2016-07-19 12:16:48 +10:00
Gustavo Jose de Sousa 9a9b59a97f waf: boards: fix funny CXXFLAGS typo 2016-07-18 15:26:07 -03:00
Julien Beraud fdb43fdc6a Frame_Params: fix param name for bebop
Change-Id: Id1c16e11e68f0004019afc885acf0e0f119b78b7
2016-07-15 12:25:17 -03:00
Gustavo Jose de Sousa 849a83315a waf: git_submodule: fix for Waf 1.9
Tasks cwd must be Node objects in Waf 1.9
2016-07-14 14:00:07 -03:00
Andrew Tridgell d25db426a3 waf: added AP_Module to the build 2016-07-14 13:39:47 +10:00
Andrew Tridgell 59e4e8def6 autotest: make bat files work with multiple versions of flightgear 2016-07-14 12:50:27 +10:00
Lucas De Marchi b375b33189 waf: allow to disable tests
This allows to completely disable the tests. Even the gtest submodule is
not checked out allowing integration on build servers without needing to
download one more submodule.

This is different from the --notests flag. The latter only disables
executing the tests, but always use the submodule.
2016-07-13 15:38:50 -03:00
Lucas De Marchi 8967220652 waf: pass uselib_store in check_package()
This guarantees waf will always add the flags with our known prefix.
2016-07-13 15:24:42 -03:00
Andrew Tridgell 1b12371e25 waf: use define_name in libdl check 2016-07-13 15:24:42 -03:00
Andrew Tridgell a5adae5fb4 waf: make linux check for libdl
needed for libiio
2016-07-13 15:24:42 -03:00
Andrew Tridgell 3322d7c321 waf: don't build bebop static
need dynamic for libiio
2016-07-13 15:24:42 -03:00
Andrew Tridgell 2980d47e23 waf: added check_package() function for pkg-config checks
this converts existing pkg-config checks to use check_package, which
sets up all the needed variables after a check.

This also disables libdl and libiio for static builds, where they make
no sense
2016-07-13 15:24:41 -03:00
Lucas De Marchi ee62b61fc7 waf: use STDC format macros 2016-07-13 14:18:27 +10:00
Lucas De Marchi 8a27680fbb build: check for endian.h and byteswap.h 2016-07-08 19:49:32 -03:00
Andrew Tridgell 1a3b292aa3 autotest: fixed run_in_terminal_window() on Linux
try to retain MacOS functionality too
2016-07-08 08:20:20 +10:00
Lucas De Marchi e2498a1090 autotest: add function to kill tasks on MacOS
Like done on other cases, add an explicit function for that, which turns
the comment redundant.
2016-07-07 11:35:18 -03:00
Siddharth Bharat Purohit 4f0dad19ea autotest: support mac osx terminal launch 2016-07-07 11:35:17 -03:00
Siddharth Bharat Purohit 71c2f69a63 waf: add support for sitl build on mac 2016-07-07 11:35:17 -03:00
snl1101 e15b1a8f2e SITL: add Sterling to locations.txt 2016-07-01 11:21:56 +09: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
Andrew Tridgell d477905fbd autotest: fixed XPlane with sim_vehicle.py 2016-06-30 20:26:14 +10:00
Andrew Tridgell b1de768756 autotest: added quadplane-tilttri parameters 2016-06-30 17:00:56 +10:00
Andrew Tridgell 0f7b4a0cd1 autotest: fixed tricopter quadplane for sim_vehicle.py 2016-06-30 14:16:52 +10:00
Gustavo Jose de Sousa a748c52f06 waf: bump to version 1.9.0
Some things worth mentioning:

- That version contains commits we had cherry picked on our submodule.
- There's a patch on top with a fix for the new process spawning used on
  version 1.9.0. That has already been applied to upstream's master, but not
  released yet.
- This patch also does necessary changes on our build system in order to
  accommodate the upgrade. Basically:
  - Use full task class names when calling create_task().
  - Use always_run class attribute instead of the decorator, which is
    deprecated.
2016-06-29 11:18:22 -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 b23f983459 autotest: add --gdb option to autotest.py 2016-06-27 18:14:55 -03:00
Lucas De Marchi 3a5bc141bb build: use format macros in all linux boards
This doesn't work for px4 since it manually defines __STDC_FORMAT_MACROS
in some px4 modules, which needs to be updated.
2016-06-25 12:51:55 -03:00
Andrew Tridgell a8e5255b90 autotest: look in parent directories for vehicle type in sim_vehicle.py
this allows eeprom.bin per vehicle type without using -v
2016-06-24 11:28:18 +10:00
Lucas De Marchi a9919420c6 waf: allow to disable libiio at configuration
We default to autodetection for libiio so if the libraries are available
we enable it. However this may not always be desired.
2016-06-23 19:08:13 -03:00
Lucas De Marchi 348678888b waf: allow to disable lttng at configuration
We default to autodetection for LTTNG so if the libraries are available
we enable it. However this may not always be desired.
2016-06-23 19:07:26 -03:00
Peter Barker febba9112f sim_vehicle.py: simply ignore any failure to kill tasks 2016-06-23 18:39:09 -03:00
Peter Barker 2266223665 sim_vehicle.py: shell out to pkill if psutil is not available 2016-06-23 18:39:09 -03:00
Peter Barker d9ad962b33 sim_vehicle.py: allow starting mavproxy without --sitl option 2016-06-22 21:25:11 +10:00
Peter Barker 51020387c8 sim_vehicle.py: allow model to be overridden on command line 2016-06-22 21:25:11 +10:00
Randy Mackay a7422153cb SITL: disable avoidance so we can trigger fence failsafe 2016-06-22 11:38:15 +09:00
David B. Bitton f58ce71a77 Update initvagrant.sh
Made jsbsim origin URL more firewall friendly.
2016-06-21 13:03:35 -03:00
Peter Barker 6530c3bd91 autotest.py: exit with error if requested step not found 2016-06-20 11:48:07 +10:00
Andrew Tridgell d9d53c82d0 autotest: added xplane as vehicle type 2016-06-19 13:59:15 +10:00
Randy Mackay 036349cd2f SITL: set copter MOT_THST_HOVER default 2016-06-18 11:55:49 +09:00
Randy Mackay ed90d00fff SITL: throttle to 50 percent now that hover throttle automatically updates 2016-06-18 11:55:49 +09:00
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
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
Glody Guo cda21a3d78 Fix argument 'valgrind' issue about fly.CopterAVC test
Commit 8774f15 causes fly.CopterAVC test failure.
Here is the failure info below:
>>>> FAILED STEP: fly.CopterAVC at Tue May 17 13:21:56 2016 (fly_CopterAVC() got an unexpected keyword argument 'valgrind')
Traceback (most recent call last):
  File "./Tools/autotest/autotest.py", line 406, in run_tests
    if not run_step(step):
  File "./Tools/autotest/autotest.py", line 232, in run_step
    return arducopter.fly_CopterAVC(viewerip=opts.viewerip, map=opts.map, valgrind=opts.valgrind)
TypeError: fly_CopterAVC() got an unexpected keyword argument 'valgrind'
('check step: ', 'fly.CopterAVC')
FAILED 1 tests: ['fly.CopterAVC']

Here is the commit info below:
commit 8774f15b9a
Author: Peter Barker <pbarker@barker.dropbear.id.au>
Date:   Mon Apr 11 18:05:39 2016 +1000

    Tools: add valgrind option to autotest.py

:040000 040000 a111bc5b18 609503f3b1 M      Tools
2016-05-17 21:36:57 +10:00
Peter Barker 27e7c870ed Tools: remove absolute paths in run_in_terminal_window
Also add quotes to avoid ambiguous redirect issue
2016-05-16 19:39:37 +10:00
Andrew Tridgell 4116f80901 Replay: added --no-params option 2016-05-16 17:22:11 +10:00
Peter Barker 18e0131680 sim_vehicle.py: avoid requesting process name on zombie process
This method does on OSX - in a non-catchable way prior to Py3
2016-05-16 17:18:32 +10:00
Peter Barker 38010cf3f3 sim_vehicle.py: wrap jsbsim version fetch in a try 2016-05-16 11:58:53 +10:00
Ricardo de Almeida Gonzaga 1062aed91e Tools: Fix typos 2016-05-13 19:20:07 -03:00
Francisco Ferreira 1ae85be918 autotest: fix copter_mission
Conditional command was left when change_alt command was removed and is now useless. Also fix jump to do what it did before
2016-05-13 19:06:03 +09:00
Francisco Ferreira ae5fdc2fde autotest: if auto mission fails, land the copter 2016-05-13 19:06:00 +09:00
Francisco Ferreira c873524966 autotest: change wait_waypoint mode check
If we change mode while waiting for waypoints then we are no longer running the mission and should fail
2016-05-13 19:05:57 +09:00
khancyr 14e2fa5642 sim_vehicle.py : load Rover default params
related to https://github.com/ArduPilot/ardupilot/issues/4090
2016-05-13 08:53:53 +10:00
Peter Barker f33cdaa212 sim_vehicle.py: add --strace option 2016-05-13 08:43:08 +10:00
Gustavo Jose de Sousa 4529028c8a waf: ardupilotwaf: ap_get_all_libraries: ignore non-directory files
Each library in ardupilot is a folder with the source in. That avoids build
failures when there are files in libraries/. That fixes #4099 ("waf doesn't
seem to like TAGS files") and #4093 ("sim_vehicle.py /w waf /w eclipse project
broken on Cygwin").

That problem can be reproduced by just creating a file in libraries/ and trying
to build with waf.

There should be a better way to confirm a path is an ardupilot library. That
can be done later.
2016-05-12 13:47:44 -03:00
Lucas De Marchi b012d5bb7b sim_vehicle.py: fix error to find binary
When trying to execute sim_vehicle.py this is the current output:

Warning: Could not find '../Tools/autotest/../../ArduCopter/../build/sitl/bin/arducopter-quad',
	starting '/bin/bash' instead.  Please check your profile settings.

Fix the path to the binary and use absolute paths to ease the debug.
2016-05-12 00:34:02 -03:00
Lucas De Marchi ad8cedc452 sim_vehicle.py: remove unused AUTOTEST variable 2016-05-12 00:31:37 -03:00
Lucas De Marchi e772c70536 sim_vehicle.py: use helper function to execute blocking command 2016-05-12 00:31:07 -03:00
Lucas De Marchi 1ef9eb637f sim_vehicle.py: configure project only once 2016-05-11 23:44:24 -03:00
Lucas De Marchi 7a548e45f9 sim_vehicle.py: default to -j1 if running in compat mode 2016-05-11 23:34:49 -03:00
Pierre Kancir 03e565ee47 sim_vehicle.py : change default number of jobs
By default waf use the max num of proc available. So let it set jobs by
itself. On contrary, with make only use one job by default.
2016-05-11 22:55:30 -03:00
Francisco Ferreira efc3f5058b ci: simplify build script 2016-05-11 22:48:03 -03:00
khancyr bb648280ae sim_vehicle.py: correct APMrover2 typo 2016-05-11 09:43:06 +02:00
Peter Barker b7d1e047aa sim_vehicle.py: correct binary to use for --debug 2016-05-11 16:37:34 +10:00
Andrew Tridgell 45609bb568 autotest: don't use --sitl if using flightaxis
we want rc override if using flightaxis
2016-05-11 05:55:25 +10:00
Andrew Tridgell 401b8d4fa6 autotest: use channel 13 for firefly tilt 2016-05-11 05:55:25 +10:00
Andrew Tridgell cafc3f131e autotest: improved firefly default parameters 2016-05-11 05:55:24 +10:00
Andrew Tridgell 5b3e4fc47a autotest: adjust tricopter parms for default yaw servo 2016-05-11 05:55:24 +10:00
Andrew Tridgell 12e5b7881f autotest: use more default parms for quadplanes 2016-05-11 05:55:24 +10:00
Andrew Tridgell b3cb83731c autotest: added quadplane-tilttri model 2016-05-11 05:55:24 +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
Lucas De Marchi f04b954a1c build_binaries.sh: fix typo on rebase 2016-05-10 14:34:30 -03:00
Lucas De Marchi 06f5a3ac39 build_binaries.sh: replace tabs with spaces 2016-05-10 14:32:47 -03:00
abilbaotm 9814955eef Update build_binaries.sh 2016-05-10 14:31:36 -03:00
LanderU df84cde3e6 Added erlebrain2 in build_binaries.sh 2016-05-10 14:28:22 -03:00
dgrat 76362caee0 AP_Math: Replace wrap_* functions with template versions 2016-05-10 11:41:26 -03:00
Gustavo Jose de Sousa a136e42d39 Tools: sitl_calibration: fix mavlink_packet() for magcal
That controller shouldn't actuate when inactive.
2016-05-10 10:56:28 -03:00
Gustavo Jose de Sousa c77e763eca Tools: sitl_calibration: add sitl_magcal command 2016-05-10 16:16:38 +10:00
Gustavo Jose de Sousa fcc80de20a Tools: sitl_calibration: add sitl_accelcal command 2016-05-10 16:16:38 +10:00
Gustavo Jose de Sousa 363f241e9a Tools: sitl_calibration: add initial implementation
Add initial implementation to interface with SITL calibration model.
2016-05-10 16:16:38 +10:00
Andrew Tridgell 84d45cce40 Replay: fixed log rate detection 2016-05-10 15:40:48 +10:00
Andrew Tridgell fcd7611248 waf: ensure we don't build a library twice 2016-05-10 14:21:43 +10:00
Andrew Tridgell 2f656c187a waf: cope with -ve return from mavgen on segv 2016-05-10 13:41:48 +10:00
Andrew Tridgell 9653aae21f waf: fixed link of antennatracker on windows 2016-05-10 12:48:41 +10:00
Andrew Tridgell 5ef0c4d3fe waf: added AP_RPM to build 2016-05-10 12:20:44 +10:00
Andrew Tridgell 237b63284b waf: fixed typo 2016-05-10 12:17:44 +10:00
Lucas De Marchi e5a21cd459 waf: allow mavgen to segfault without failing
This is a hackish way to allow waf running on windows. In some
combinations of the tools the python interpreter seems to be crashing on
windows:

	Found 180 MAVLink message types in 2 XML files
	Generating C implementation in directory /tmp/ArduPlane.build/libraries/GCS_MAVLink/include/mavlink/v1.0/ardupilotmega
	Generating C implementation in directory /tmp/ArduPlane.build/libraries/GCS_MAVLink/include/mavlink/v1.0/common
	Copying fixed headers
	last line in mavgen.py
	Aborted (core dumped)

	michael@WIN-3NBOUTHN4TN /cygdrive/c/Users/michael/Desktop/DIYDrones/ardupilot/ArduPlane
	$ echo $?
	134

Here we check the return code to be greater than 128 since that means the
interpreter received a signal. In this case we clear the return code.
2016-05-10 12:17:10 +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
Peter Barker 5d24f0de23 sim_vehicle: use waf --debug option to create debug builds 2016-05-09 08:59:59 +10:00
Lucas De Marchi b07acea6b6 Tools: get version exclusively from version.h 2016-05-07 22:55:48 -03:00
Gustavo Jose de Sousa ff46384258 waf: add --debug configuration option
That sets a variant <board>-debug.
2016-05-07 22:55:03 -03:00
Peter Barker 50330e22d4 sim_vehicle.py: set default_waf_target, clearer help
sim_vehicle.py: choose default waf_target based on specified vehicle

sim_vehicle.py: add --no-rebuild-on-failure option

sim_vehicle.py: make help clearer by adding option groups
2016-05-08 09:57:11 +10:00
Peter Barker 39c29820c4 sim_vehicle.py: avoid exception when frame information not found 2016-05-08 00:31:23 +10:00
Andrew Tridgell d1a2749317 waf: fixed build for AP_Tuning 2016-05-07 18:34:11 +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
Charles Pippin a14bdf949a Adding Lee Field to locations.txt 2016-05-06 13:50:58 -04:00
Lucas De Marchi ddbce5b130 waf: change mavgen generation to blue
Like other generators in px4.
2016-05-06 13:11:28 -03:00
Lucas De Marchi 9e3ec3a16d waf: define git versions in a generated ap_version.h header 2016-05-06 13:11:28 -03:00
Peter Barker 75c965f512 sim_vehicle.py: interface improvements based on feedback; waf support
sim_vehicle.py: improve output of executed commands

Emit something that could be copy-and-pasted into a shell

sim_vehicle.py: allow specification of multiple gdb breakpoints

sim_vehicle.py: understand some specific mavproxy options

sim_vehicle.py: validate vehicle, throw warning if it looks suspect

sim_vehicle.py: avoid use of psutil (cygwin not supported)

sim_vehicle.py: rename build_target to make_target

sim_vehicle.py: pass vehicle binary to start_vehicle

sim_vehicle.py: waf build system support

sim_vehicle.py: use waf by default
2016-05-05 10:59:08 +10:00
Lucas De Marchi c82f28f35a Tools: CPUInfo: fix warnings on printf
../../Tools/CPUInfo/CPUInfo.cpp:21:54: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘long unsigned int’ [-Wformat=]
  hal.console->printf("char      : %d\n", sizeof(char));
                                                      ^
And so on.

Ideally for sizeof() which returns size_t we would use %zu, but that's not
implemented by our version of printf. So use %lu which should be ok in all of
our boards.
2016-05-04 08:58:37 -03:00
Lucas De Marchi 2c029ae1f9 waf: fix undef warnings in examples
Fix warnings like this:

<command-line>:0:21: warning: "APM_BUILD_DataFlash_test" is not defined [-Wundef]
/home/lucas/p/dronecode/ardupilot/libraries/AP_Vehicle/AP_Vehicle_Type.h:36:41: note: in expansion of macro ‘APM_BUILD_DIRECTORY’
 #define APM_BUILD_TYPE(type) ((type) == APM_BUILD_DIRECTORY)
                                         ^
These happen because we are trying to set APM_BUILD_DIRECTORY to undefined
values. We should rather default to the APM_BUILD_DIRECTORY ==
APM_BUILD_UNKNOWN
2016-05-04 08:58:37 -03:00
Julien Beraud 3897e03d39 Frame_params: fix Bebop param names
Broken by AP_Motors refactoring
2016-05-04 10:09:31 +09:00
Lucas De Marchi 5b88ae90fd waf: be compatible with git < 1.8.5
The -C option was added to git in version 1.8.5 which is not available
in Ubuntu 12.04.
2016-05-03 18:02:32 -03:00
Julien Beraud 5418f71aae waf: add libiio support for bebop
check for the presence of libiio to enable the compilation of
the bebop rangefinder that needs it.
If the build remains static, there needs to be a rootfs that contains
the libiio.a file because it is not included in the debian package.
A solution can be to compile libiio and copy libiio.a in /usr/lib[/arch]
2016-05-03 16:43:39 -03:00
Michael du Breuil ebe552bdc5 autotest: remove condition_change_alt
no vehicle supports the command anymore, so it should not be in the copter test mission
2016-04-30 13:54:21 +09:00
Randy Mackay 3f31a4a1ff SITL: add copter terrain missions 2016-04-30 10:33:01 +09:00
Staroselskii Georgii 2b77bc02bf build: add navio 2 target to build server 2016-04-29 16:48:36 -03:00
Staroselskii Georgii 1605e34f7d Tools: added Navio 2 build to CI
This way Navio 2 will be built on Travis.
2016-04-29 16:48:36 -03:00
Peter Barker 53940e11c4 sim_vehicle.sh: tracker needs to be armed 2016-04-29 13:41:08 -03:00
Peter Barker f4d8ddaf48 sim_vehicle.sh: remove unused variable sets 2016-04-29 13:41:08 -03:00
Peter Barker 47436b9680 sim_vehicle.sh: remove unused SIMIN variable 2016-04-29 13:41:08 -03:00
Peter Barker 4ee1e3d804 sim_vehicle.sh: remove useless variable set
Also correct initialisation of a variable
2016-04-29 13:41:08 -03:00
Peter Barker 47e037cada sim_vehicle.sh: set options properly for heli-dual and heli-compound 2016-04-29 13:41:08 -03:00
mirkix 106f26d204 Linux_HAL_Essentials: Add missing make command in README.md for aiopru 2016-04-29 11:59:21 -03:00
Peter Barker a9940a8ca5 sim_vehicle.py: create from sim_vehicle.sh 2016-04-29 10:29:43 +10:00
Andrew Tridgell e3f5d4552e autotest: added params for quadplane tricopter 2016-04-28 22:40:25 +10:00
Andrew Tridgell bec8bf8880 autotest: support multicopter frame variants 2016-04-28 10:05:18 +10:00
Peter Barker 08e5959923 autotest: correct path to mavtogpx 2016-04-27 08:20:51 +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
Luis Vale Gonçalves 69c6cfe5b9 Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:47 -07:00
Luis Vale Gonçalves a3698e7da7 Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:46 -07:00
Luis Vale Gonçalves f5466992e9 Revising ardupilot.com to .org
Revising ardupilot.com to .org
2016-04-23 22:49:44 -07:00
Andrew Tridgell 05e9f360b2 autotest: fixed quadplane test with new valgrind option 2016-04-22 10:50:51 +10:00
Andrew Tridgell da548e934a autotest: control tilt with chan7 in in firefly 2016-04-22 10:29:32 +10:00
Andrew Tridgell 199d4fd6c1 autotest: added parameters for elevon plane, vtail plane and fireflyy6 2016-04-22 10:28:16 +10:00
Peter Barker 8774f15b9a Tools: add valgrind option to autotest.py 2016-04-22 09:42:33 +10:00
Andrew Tridgell bcc4a653d7 autotest: added Y6 to sim_vehicle.sh 2016-04-21 21:11:56 +10:00
Andrew Tridgell dea1fec14d autotest: support -f tri for sim_vehicle.sh 2016-04-21 20:30:15 +10:00
Randy Mackay a5de231a21 SITL: ease gps_glitch_auto_test
shortened glitch duration
extended timeout in gps_glitch_auto_test
2016-04-21 14:52:31 +09:00
Lucas De Marchi e6907a607b waf: link with winmm on cygwin
Otherwise it fails to link:

[335/335] Linking build/sitl/bin/arducopter-quad.exe
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8AircraftC2EPKcS2_+0x230): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8Aircraft16setup_frame_timeEff+0x9f): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8Aircraft16setup_frame_timeEff+0x125): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8Aircraft15sync_frame_timeEv+0x21): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZN4SITL8Aircraft15sync_frame_timeEv+0x152): undefined reference to `_imp__timeGetTime@0'
ArduCopter/libArduCopter_libs.a(SIM_Aircraft.cpp.4.o):SIM_Aircraft.cpp:(.text$_ZNK4SITL8Aircraft16get_wall_time_usEv+0xe): more undefined references to `_imp__timeGetTime@0' follow
collect2: error: ld returned 1 exit status
2016-04-19 19:02:25 -03:00
Lucas De Marchi b8cb88092f Tools: install-prereqs-ubuntu: fix exporting PATH
Since we escape $PATH, we can't just try to export that way. Since PATH
is unset if we do this, we end up with things like :

./Tools/scripts/install-prereqs-ubuntu.sh: line 101: apt-cache: command
not found
2016-04-19 00:14:09 -03:00
Lucas De Marchi 0fae368635 Tools: install-prereqs-ubuntu: allow to run from repository
If we are running the script, we are likely inside the repository, in
which case the script would fail while searching for a directory named
ardupilot. Derive the root directory from the script location.
2016-04-19 00:14:09 -03:00
Lucas De Marchi 757f48ff83 Tools: install-prereqs-ubuntu: fix return code checking
We are running the script with -e so we can't check the return code like
that.
2016-04-19 00:14:09 -03:00
Lucas De Marchi 4c6dac2d5d Tools: install-prereqs-ubuntu: install python-setuptools 2016-04-19 00:14:09 -03:00
Lucas De Marchi 03f5362538 Tools: install-prereqs-ubuntu: remove 32-bit variants
These are not necessary and cause trouble in Ubuntu 16.04.
2016-04-19 00:14:09 -03:00
Lucas De Marchi 1a24a3174f Tools: install-prereqs-ubuntu: fix string concatenation
ubuntu@ubuntu-xenial:~/ardupilot$ ./Tools/scripts/install-prereqs-ubuntu.sh
./Tools/scripts/install-prereqs-ubuntu.sh: line 19:  python-wxgtk3.0: command not found

While at each, change to use lsb_release like the other scripts.
2016-04-19 00:14:09 -03:00
Andre Kjellstrup b6b593b6fb Tools: install-prereqs-ubuntu: update for Ubuntu 16.x
No older versions of Ubuntu is affected by this script.
2016-04-19 00:14:09 -03:00
Francisco Ferreira 0f69b49ff1 ci: add ccache to clang builds 2016-04-17 14:47:55 -03:00
Francisco Ferreira 95343255e1 ci: use updated version of ccache 2016-04-17 14:47:55 -03:00
Francisco Ferreira b5faf9c361 ci: allow build systems to use ccache more efficiently 2016-04-17 14:47:55 -03:00
Francisco Ferreira d3b20f9fd1 waf: px4: allow git version to be defined externally 2016-04-17 14:47:55 -03:00
Francisco Ferreira 25f9832717 ci: split configure script between installing APT packages and other configurations 2016-04-17 14:47:55 -03:00
Andrew Tridgell 8408428339 travis: disable px4 builds in waf for now
they are broken by the PX4Firmware merge
2016-04-14 08:05:06 +10:00
Andrew Tridgell 5bd0adf980 waf: mark build as ARDUPILOT_BUILD
this helps with small build differences in px4 tree
2016-04-14 08:05:05 +10:00
Peter Barker 27fadb2572 Tools: rstemit: render parameter information in h tables
Render ranges as "min - max"
2016-04-13 21:16:41 +10:00
Andrew Tridgell fa36d6cac1 Travis: added force-yes to try to fix build 2016-04-12 05:56:27 +10:00
Lucas De Marchi cc24f323d2 waf: add messages to the things we are checking for
Before:
Checking for code snippet                : yes
Checking for code snippet                : yes
Checking for code snippet                : yes
Checking for code snippet                : yes
Checking for code snippet                : no
Checking for code snippet                : no

After:
Checking for HAVE_CMATH_ISFINITE         : yes
Checking for HAVE_CMATH_ISINF            : yes
Checking for HAVE_CMATH_ISNAN            : yes
Checking for NEED_CMATH_ISFINITE_STD_NAMESPACE : yes
Checking for NEED_CMATH_ISINF_STD_NAMESPACE    : no
Checking for NEED_CMATH_ISNAN_STD_NAMESPACE    : no
2016-04-05 21:06:25 -07:00
Lucas De Marchi 169c350e85 waf: rename AP_Config.h to ap_config.h
The usual name for this header is config.h, but that's already used by
vehicles. Using uppercase could give the impression this is a
file to be modified, but it's not. Use lowercase instead.
2016-04-05 21:06:25 -07:00
Ricardo de Almeida Gonzaga 5bd034a5a8 Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
Ricardo de Almeida Gonzaga 5e45c9dfb0 waf: add cxx_checks tool
In order to start generating AP_Config header and detect
parameter such as the existence of cmath functions.
2016-04-05 20:44:15 -07:00
Ricardo de Almeida Gonzaga 14dbc16d46 waf: start using 'AP_Common/missing' to all boards 2016-04-05 20:44:15 -07:00
Peter Barker 009bb7fa9c build_binaries: regenerate manifest after building binaries 2016-04-05 09:05:57 +10:00
Peter Barker d7977dfcc2 Tools/scripts/generate-manifest.py: json description of binaries directory 2016-04-05 09:05:57 +10:00
Andrew Tridgell a8ca41abf1 autotest: use 60% engine speed for stability test
can't handle 55% in SITL now in quad
2016-04-04 11:28:28 +10:00
Andrew Tridgell ae5b8849ec autotest: added CMAC VTOL mission 2016-04-02 16:44:50 +11:00
Andrew Tridgell 27934a893e autotest: raise timeout again
after trying lots of other things to speed up build_binaries.sh it
still isn't fast enough, so this just raises the timeout by 50%
2016-04-02 07:47:16 +11:00
Randy Mackay badfdcf54c Tools: autotest params renamed after copter moves PIDs to attitude controller 2016-04-01 11:59:30 +09:00
Randy Mackay 08a485eec4 AutoTest: reduce heli rate P values
Also remove explicit params to use EKF2 because it is used by default now
2016-04-01 11:59:30 +09:00
Randy Mackay 12d9ffee12 AutoTest: remove H_RSC_MIN and MAX from heli params
These parameters are not used and having them causes errors during testing if we remove the corresponding parameters from the tradheli code
2016-04-01 11:59:30 +09:00
Andrew Tridgell 72e4ed5665 autotest: no need to check other repos now
we don't need to check other repos now we use submodules for all code
2016-04-01 09:44:33 +11:00
Andrew Tridgell 36ef4d422c Revert "autotest: added a temporary web bug"
It has done its job, and we now know the IP of the old server
2016-04-01 08:10:02 +11:00
Andrew Tridgell 20cd06da09 autotest: added a temporary web bug
(we need to find IP of old autotest server)
2016-03-31 15:22:09 +11:00
Gustavo Jose de Sousa 051e8a6bda waf: px4: use explicit list for ROMFS static files
Files that are not really part of the ROMFS in the folder might cause problems.

One problem that motivated this patch was caused because the make-based build
system copies the bootloader to the ROMFS in the source tree (mk/PX4/ROMFS)
instead of the build tree. That potentially could cause race condition between
the tasks created by 'px4_romfs_static_files' and 'px4_romfs_bootloader'.

Also, now we have only one task generator for static files.
2016-03-30 18:49:11 -03:00
Gustavo Jose de Sousa 218dc3fdf2 waf: px4: fix log output for px4_copy task
It was displaying the source path as the destination!
2016-03-30 18:49:11 -03:00
Francisco Ferreira d54a22baaa waf: boards: change no-unknown-pragmas to all compilers instead of only Clang 2016-03-30 01:32:45 -03:00
Andrew Tridgell e90edd0abc autotest: build in a constant directory
this gives a much higher hit rate in ccache
2016-03-30 09:01:24 +11:00
Andrew Tridgell e0a465f8f4 autotest: added some parallelism to px4 build in build_binaries 2016-03-30 07:45:11 +11:00
Francisco Ferreira 0eaf6f17c8 waf: toolchain: fix Clang toolchain detection 2016-03-29 15:02:33 -03:00
Andrew Tridgell af68fa94c0 autotest: fixed build_binaries.sh script bug 2016-03-29 15:39:08 +11:00
Andrew Tridgell 2806171839 autotest: use recursive forced update in build_binaries.sh 2016-03-28 15:01:01 +11: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
Gustavo Jose de Sousa 22b0b7e833 waf: ardupilotwaf: add program_dir option to ap_program()
That way we don't force other programs to be built on a directory of their
program group name. The directory name defaults to the program group.

We are separating those two concepts because of the upcoming support for
multiple groups for a program.
2016-03-26 15:43:08 -03:00
Andrew Tridgell df765f0d43 autotest: raise lock timeout 2016-03-26 19:28:04 +11:00
Peter Barker 39ab0e5b7d autotest: buildand retain version files 2016-03-25 21:02:40 +11:00
Peter Barker e135659165 Tools: PrintVersion.py; print version of vehicle code 2016-03-25 21:02:40 +11:00
Andrew Tridgell fa15057792 Tools: update URLs 2016-03-25 20:47:27 +11:00
Andrew Tridgell dea708b368 Tools: switch to ardupilot.org for firmware and autotest 2016-03-25 16:46:11 +11:00
Gustavo Jose de Sousa 6e658452ec waf: toolchain: filter supported compilers for cross-compilation
We currently only support GNU and clang compilers.
2016-03-23 17:11:02 -03:00
Gustavo Jose de Sousa 1b6a87d8b4 waf: toolchain: clang: use waf to find toolchain path
The find_realexec_path function was used for finding the toolchain path mostly
because of two reasons:

 1) We couldn't really use CXX or CC variables because the user could set those
 from the OS's environment and Waf wouldn't look for the executable file in
 that case.

 2) Our CI configuration sets up symlinks for ccache and find_realexec_path
 works around that issue.

The bad side about using find_realexec_path() is that, besides working aroung
symlinks, it does the same thing that is done by Waf. This patch removes the
dependency for such a function by addressing each of the reasons above stated:

 1) We create a local copy of os.environ and, if there's a variable with the
 same name we are using, we remove it from the local copy.

 2) As done before, we are looking for the cross ar program instead of gcc
 program, since that is not used for ccache symlinks.
2016-03-23 17:11:02 -03:00