Commit Graph

476 Commits

Author SHA1 Message Date
Carlo Wood a03441b818 Fix the multi- target targets (#5489) (#5491)
On second thought, using % just isn't correct. When a make
target looks like:

foo% bar%:
	...

Then that implies that it will build BOTH foo% and bar% whenever
that rule is triggered (by either) for any value of the pattern %.

Clearly that is not what we want / intend.

So, this commit goes back to using config targets without a % in it
by generating a full list of them.

It also turns sitl_deprecation into a Hidden Target.

Finally, now that we have those target lists anyway, I added
a 'help' and 'list_config_targets' targets that print the
available targets.

Note that the '%' catch-all target only works when all other targets
either have a recipe or are marked as .PHONY, otherwise such targets
are only interpretted as dependencies and still executre the '%'
target afterwards, which is not what we want.
2016-09-18 01:44:45 +02:00
Carlo Wood d2626d725d Makefile cleanup - fix merge conflict change 2016-09-13 16:31:08 +02:00
Carlo Wood e93324785b list_vmd_make_targets and list_cmake_targets
* This allows one to run 'make posix list_vmd_make_targets' and get output like

>make posix list_vmd_make_targets
[...]
-- Build files have been written to:
/usr/src/debian/px4/Firmware/Firmware.git/build_posix_sitl_default
PX4 CONFIG: /usr/src/debian/px4/Firmware/Firmware.git/build_posix_sitl_default
Scanning dependencies of target list_vmd_make_targets
[100%] List of acceptable 'posix_sitl_default' <viewer_model_debugger> targets:
none
none_iris
none_iris_opt_flow
none_tailsitter
[...]
replay_solo_valgrind
replay_typhoon_h480_valgrind
[100%] Built target list_vmd_make_targets

Or, run 'make list_vmd_make_targets' from the build_posix_* directory.

* This adds the list_cmake_targets make target to print all
cmake targets that one can match with PX4_NO_OPTIMIZATION.
PX4_NO_OPTIMIZATION is ignored (do optimization as normal)
when the CONFIG isn't posix_sitl_*.

* Add comment in Makefile on how/where to find all targets.
2016-09-13 16:31:08 +02:00
Carlo Wood 6f94f7031b More Makefile cleanup.
Use $(MAKE) -C build_dir ..., not (cd build_dir; make ...)
(ie, see https://blog.flameeyes.eu/2010/10/tell-tale-signs-that-your-makefile-is-broken)

Also talk about 'make targets' where appropriate, instead of 'cmake targets' %-).
2016-09-13 16:31:08 +02:00
Carlo Wood 900026818b Makefile cleanup.
Doesn't really do anything, but while working on understanding
things I did this cleanup, making the Makefile a lot shorter
and more flexible for future changes ;).
2016-09-13 16:31:08 +02:00
Daniel Agar 446f8e3a36 make quick_check even quicker 2016-09-09 18:50:51 -04:00
Andreas Antener cbbf5e2e7c filtering files for code check seperately to enable fast use of git pre-commit hook to check code style
ask user to install pre-commit hook when code style is checked
2016-09-07 11:25:51 +02:00
Tim Dyer b65ff53b00 Initial build for Crazyflie 2.0
Working crazyflie firmware build

* Console on USART3
* Could not disable building PX4IO firmware, currently commented out

Don't build PX4IO firmware if the board doesn't ask for it

Added crazyflie motor driver

Fixed wrong register

CLK_SEL is in PWR_MGMT_1

Initial I2C/SPI MPU9250 device

* Tested with I2C
* Need to add error checking
* Intermittent crash on stop call

Working ak8963 mag driver

Functional lps25h driver. Work in progress.

Works well enough to probe and allow sensors task to start.

Added serial port test module

HACK! Get sensors module working

Set crazyflie PWM range

Extend baudrate for Crazyflie's NRF radio

Added dummy tone alarm to allow for init

Added autostart script for Crazyflie
2016-09-04 19:12:08 +02:00
Lorenz Meier f511d49cc2 Improvements to SITL to make paths more flexible. (#5181) (#5255)
* Path cleanup for SITL.

* Restructured sitl scripts dir.

* Set integration tests to use ekf2 for vtol.

* Fix sitl paths for mac.
2016-08-25 21:47:45 +02:00
Lorenz Meier 5d0f57d61e Update Makefile to build for QGC 2016-08-12 13:55:16 +02:00
Daniel Agar 968a3d499b add make format (check_code_style_all.sh --fix) 2016-08-07 10:40:17 +02:00
Lorenz Meier 61d5d8ce2a Makefile: Remove remaining EKF2 config bits 2016-08-07 10:39:51 +02:00
Daniel Agar 2a15578f8d FW implement MAV_CMD_DO_GO_AROUND 2016-08-06 20:56:53 +02:00
Lorenz Meier 40ba3f5131 Initial config for ASC module 2016-08-06 20:45:11 +02:00
Lorenz Meier 102f5b54d7 Revert "Improvements to SITL to make paths more flexible. (#5181)"
This reverts commit 699b6a2cb3.
2016-08-05 21:29:49 +02:00
James Goppert 699b6a2cb3 Improvements to SITL to make paths more flexible. (#5181) 2016-08-05 06:23:59 -04:00
Lorenz Meier 5b06b40ed9 Set SITL as default target now that Pixhawk is not necessarily the default HW 2016-08-03 23:04:35 +02:00
Daniel Agar 390a7165dd make tests (#5163)
* make tests use px4 instead of mainapp

* commander_tests ALTCTL - not rotary requires altitude
2016-07-29 11:46:47 -04:00
Lorenz Meier 6ab9dc0acf Testing cleanup from Daniel Agar 2016-07-29 13:49:14 +02:00
James Goppert 05315abc89 Optical flow simulator and install cleanup. (#5132)
sitl CI is having some issue cloning, but I have verified it locally for various configs
2016-07-24 13:07:14 -04:00
Julian Oes fa614a3cc1 RPi: just use RPI instead of RPI2.
The reason for this change is that RPi2 and RPi3 are compatible, and
hopefully all differences coming up can be resolved without ifdefs but
at runtime.
2016-07-16 15:51:00 +01:00
Julian Oes 2bf40efe8b RPi2: fuse mainapp/common and navio2
We currently only support Navio2, so let's fuse the two configurations.
2016-07-16 15:51:00 +01:00
Julian Oes 1939b88a33 RPi2: use cross/native instead of release/default 2016-07-16 15:51:00 +01:00
Beat Küng e9726af54c Makefile: check for 'replay' env variable and change build dir accordingly
For replay with the new logger, we want a separate build dir so that the
parameters file and orb rules don't get mixed up.
2016-07-11 09:25:07 +02:00
Lorenz Meier 332f669d9b Add tap-v1 config 2016-07-06 13:34:35 +02:00
Hidenori 506d1855ff rename files and add navio target 2016-07-01 23:08:17 +02:00
Eike 04e8b40a5c Posix LPE target (#4911) 2016-06-27 08:43:39 +02:00
Daniel Agar 422acc0b69 travis-ci add check_format to qgc_firmware 2016-06-26 17:42:00 -04:00
Daniel Agar b247dac120 travis-ci optimizations (#4870)
* move gcc 4.9 build to circleci

* travis-ci update to xcode 7.3

* travis-ci limit git fetching for OSX

* Makefile split firmware targets for CI

* OSX ccache
2016-06-22 17:42:49 -04:00
Lorenz Meier dff50072e9 Add new airframe meta files 2016-06-17 22:44:42 +02:00
Eric Ye c446304751 Update makefile to ask for cmake 3.4.3 (#4831) 2016-06-17 10:47:06 -04:00
Daniel Agar 2f5357be7a travis-ci use px4io docker images (#4696) 2016-06-14 01:06:43 -04:00
Lorenz Meier 7a6ff4742d Add Solo sim model (#4761) 2016-06-07 21:25:35 +02:00
Daniel Agar 7524474c7b make distclean ignore eclipse project files 2016-06-03 16:58:35 -04:00
Daniel Agar de5bf60b07 make submodulesclean sync recursively 2016-06-03 16:58:23 -04:00
Michael Schäuble d9422e0296 Add Parrot Bebop as build target (#4698)
* Add parrot bebop build structure

* Add upload functionality to bebop build

* Add modules and commands to bebop build
2016-05-31 13:04:22 +02:00
Lorenz Meier 4a0d7808a5 Remove LPE config 2016-05-29 16:34:23 +02:00
Lorenz Meier ff5a481c34 Remove unneeded EKF2 configs 2016-05-28 11:34:08 +02:00
David Sidrane acdcb14d79 In support of merging Spread the checks multiline lists (#4626)
* Insupport merging Spread the checks multiline lists

* Removed long line of checks
2016-05-25 22:24:01 +02:00
jwilson 64c3b330ee Partial fix for Snapdragon HITL mode 2016-05-23 17:58:59 +02:00
Daniel Agar c57bc26d5b fully restore px4fmu-v2_lpe 2016-05-14 11:27:07 +02:00
Daniel Agar 76387b1693 uorb autogeneration 2016-05-14 11:27:07 +02:00
Daniel Agar 97fd951d4a cleanup after rebase 2016-05-13 13:01:42 +02:00
Daniel Agar 51298c1eb1 remove unused 2016-05-13 13:01:42 +02:00
Daniel Agar d804f5727e run tests in posix sitl with gazebo 2016-05-13 13:01:42 +02:00
Daniel Agar 008354f935 testing cleanup 2016-05-13 13:01:41 +02:00
Daniel Agar 39d388051a WIP posix_sitl_test 2016-05-13 13:01:41 +02:00
Daniel Agar 2bc74fd5d9 restore px4fmu-v2_test 2016-05-13 13:01:41 +02:00
Daniel Agar 875dbb92e5 check code style parallel 2016-05-13 13:01:41 +02:00
Daniel Agar 770c6b3bd1 travis-ci build px4fmu-v2 ekf2 and lpe 2016-05-13 13:01:41 +02:00
Daniel Agar be391b4fe5 unittests stop building in tree 2016-05-13 13:01:41 +02:00
Mark Charlebois e2c3ea064e Remove release configs (#4454)
* Removed release configs for eagle

These configs are only built for internal testing

Signed-off-by: Mark Charlebois <charlebm@gmail.com>

* Removed release build for eagle from Makefile

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-05-06 07:18:57 +02:00
Lorenz Meier 29550a4cee Strip LPE config, as it has become part of the default config 2016-05-05 18:23:33 +02:00
Julian Oes 01ad1b642b Makefile: whitespace only 2016-05-05 09:11:29 +02:00
jwilson c87a8bedb6 Adding config changes to allow PX4 to be built for the Excelsior board. 2016-05-05 08:34:31 +02:00
Daniel Agar 553818b646 make submodulesclean proper order
-can't sync after deinit
2016-05-04 23:21:17 -04:00
jwilson fb97edd8af Adding new CMake config files which will be used to generate a build which uses the legacy sensor drivers. This is only temporary until integration with the corresponding PX4 DriverFramework drivers is complete. 2016-04-21 07:57:30 +02:00
jwilson 5211da9f5b Adding new CMake config files which will be used to generate a build which uses the legacy sensor drivers. This is only temporary until integration with the corresponding PX4 DriverFramework drivers is complete. 2016-04-18 23:36:35 +02:00
Daniel Agar 8290f59247 travis-ci use make check 2016-04-17 20:41:48 -04:00
Daniel Agar 19c78f583a make check_format check version
-run Tools/fix_code_style.sh with no argument to check astyle version
2016-04-17 16:20:51 -04:00
Daniel Agar 0b54bb99f9 NuttX quiet build
cmake combine NuttX copy and export

-NuttX wasn't recopying if it fails to compile
2016-04-17 16:02:28 -04:00
Lorenz Meier e8cd89eb01 Add make broadcast jmavsim SITL build 2016-04-17 21:54:37 +02:00
Daniel Agar c80918acef add mindpx-v2_default to make check 2016-04-17 19:03:09 +02:00
Julian Oes 994947ea84 Makefile/cmake/Tools: add easy Snapdragon upload
This adds a a target `make eagle_default` to build both the POSIX and
the QURT side in one command. Also, it adds an upload target for both to
push the files over adb to the device. This doesn't just push the
executables and lib files, but also the startup config files.
2016-04-01 11:36:27 +02:00
Felix Hu bd580e09bf supports MindPXv2 borad which is a product from AirMind. 2016-03-30 19:45:39 +02:00
Daniel Agar 319fb6b9f9 make submodulesclean deinit 2016-03-19 19:12:16 +04:00
Daniel Agar fc54d2c305 Makefile submodulesclean force clean 2016-03-14 09:15:02 +01:00
Daniel Agar dcd44ea4bb unit tests use ninja and ctest 2016-03-14 09:15:02 +01:00
Daniel Agar a67546d232 Makefile add package_firmware 2016-03-14 09:15:02 +01:00
Daniel Agar c82e7d6ae9 make check build everything and run tests 2016-03-14 09:15:02 +01:00
Daniel Agar e029ad41ef Makefile add travis-ci vectorcontrol build 2016-03-14 09:15:02 +01:00
Daniel Agar c37236ecb5 Makefile add distclean and submodulesclean 2016-03-14 09:15:02 +01:00
Daniel Agar 1e2be407dd unit tests cleanup
-launch using top level make tests
-ignore generated files
2016-03-14 09:15:02 +01:00
Lorenz Meier de14678452 Makefile: Add gazebo plane config 2016-03-11 16:42:17 +01:00
Lorenz Meier 1401629ab8 Update header in Makefile 2016-03-11 12:30:41 +01:00
Lorenz Meier cf89e82e95 Makefile: Be less verbose on build 2016-03-11 12:07:39 +01:00
Lorenz Meier b937618e59 Improved CMAKE return value checking and ensured that fresh checkouts initialize the GIT submodules correctly 2016-03-11 11:59:49 +01:00
Julian Oes dcf022f480 Submodules: use submodule sync --recursive
This should make changes where the submodule repository changes trouble
free for users.
2016-03-03 14:22:37 +01:00
Lorenz Meier fcb70d1e21 Enable replay target 2016-02-27 11:48:31 +01:00
Julian Oes 23171b97fb Makefile: don't do any git submodule magic
Let's do all the submodule stuff in check_submodules.sh
2016-02-23 17:03:30 +01:00
Mark Charlebois 16a7597a16 Removed duplicate target in Makefile
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois 1d59e2c6fb Whitespace fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois 4c9492e10f Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois 957e67ed85 Removed duplicate target in Makefile
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:44 +01:00
Mark Charlebois 50d0771dc0 Whitespace fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois 014f15d8b0 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +01:00
Mark Charlebois da8519b44d Removed duplicate target in Makefile
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:42 +01:00
Mark Charlebois 20f7d3d49f Whitespace fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:42 +01:00
Mark Charlebois 65d89b5b97 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois 7d9a14dab5 Removed duplicate target in Makefile
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois 8ca3e8e057 Whitespace fixes
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Mark Charlebois 9f3bf8e9f4 Rebase changes on upstream master
This brings in many of the changes from the PX4 fork on ATLFLight.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:41 +01:00
Lorenz Meier d2041b0ef3 Fix initial build error for new users 2016-02-14 17:37:28 +01:00
Lorenz Meier c5b1e791bd Update git check script. Fixes #3733 2016-02-13 00:50:06 +01:00
Lorenz Meier b4b385cc13 Add Iris optical flow SITL config 2016-02-10 09:24:39 +01:00
Lorenz Meier 9169a585bf Deprecate ROS target 2016-01-24 15:21:17 +01:00
Mohammed Kabir 37ffb61afd changes to rpi2 configs 2016-01-18 22:42:35 +01:00
Mohammed Kabir 4351eb147c Add native RPi2 build config 2016-01-18 22:42:29 +01:00
tumbili 0d1872f223 support building standard vtol plane in SITL gazebo 2016-01-14 16:07:01 +01:00
Lorenz Meier e9dd2aec48 Further git submodule improvements 2016-01-12 10:18:05 +01:00
Lorenz Meier 365ef883e3 Check submodules during each build 2016-01-12 10:14:15 +01:00
Lorenz Meier f99d052582 Fix submodule force. Fixes #3490. 2016-01-11 09:27:48 +01:00
Lorenz Meier ba90ba14b0 NuttX configs: added px4fmu-v2_ekf2 target for EKF2 development on Pixhawk 2016-01-02 17:17:47 +01:00
Lorenz Meier 735c823b57 Remove unmaintained NuttX config 2016-01-02 03:13:49 -08:00
Lorenz Meier 2d72c95eda Add new posix_eagle_default and qurt_eagle_default targets 2016-01-02 09:30:51 +01:00
lchish 6e1f54e2ff Add missing stm32f4discovery make targets 2015-12-29 11:57:29 +01:00
Lorenz Meier ed8645a83b Add EKF2 config and startup option for jMAVSim 2015-12-23 06:23:16 +01:00
Lorenz Meier f0a4979da6 Merged master into driver_framework 2015-12-01 12:34:02 +01:00
David Sidrane a67097731a Renamed pax4fmu-v3 to pax4fmu-v4 2015-11-28 09:13:15 +01:00
David Sidrane f3b7585a89 Wip FMUV3 2015-11-28 09:13:15 +01:00
Lorenz Meier 6b5ba23db8 Makefile: Extend make clean with submodule sync which will save some developers 2015-11-23 12:41:44 +01:00
Lorenz Meier dcb8705059 Adjust to new CMAKE targets 2015-11-22 14:00:01 +01:00
tumbili 2f0b24feab cmake: replace vtol model with tailsitter model 2015-11-18 16:11:10 +01:00
Lorenz Meier a394dd5b0d Add gazebo, gazebo_iris and gazebo_vtol targets 2015-10-29 10:35:35 +01:00
Mark Charlebois 461f72dcee Updated instructions for installing cmake to newer version
The available version of cmake for Ubuntu 12.04 is too old.
The PPA listed does not currently work so the official
cmake webisite is a more reliable source to get cmake.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-28 21:58:34 +01:00
Lorenz Meier 8524a50703 Fixed deprecation warning in Makefile 2015-10-27 22:15:19 +01:00
Lorenz Meier a99390503a QuRT travis target: Make accessible via makefile 2015-10-27 09:30:22 +01:00
Lorenz Meier 529d9b4d3a Check and enforce CMake version 2015-10-26 10:19:30 +01:00
Daniel Agar fb3465c117 Makefile fix /bin/shs ninja check 2015-10-25 18:33:39 +01:00
jgoppert 318144ee8b Changed sitl targets to be easier to call from make. 2015-10-25 17:45:30 +01:00
Lorenz Meier aff78e0f5e CMake / Ninja: Use console flag so upload targets can print their normal output and receive input. 2015-10-25 11:22:05 +01:00
jgoppert 0106be3e89 Added local position estimator. 2015-10-24 20:34:33 +02:00
tumbili 06f5e242d1 support launching gazebo automatically for SITL 2015-10-23 09:33:55 +02:00
Mark Charlebois 4b1e4e63f0 eagle: Added posix_eagle_release to Makefile
Enable build of posix_eagle_release.
Added path to ARM cross compiler in qrlsdk install.
Fixed warnings in Toolchain-arm-linux-gnueabihf.cmake

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-23 09:06:18 +02:00
Lorenz Meier 9288b8fa70 Add posix_sitl_default target for consistency 2015-10-19 21:48:33 +02:00
Lorenz Meier b61e95adfd Automate SITL run 2015-10-17 17:41:57 +02:00
tumbili c9a3b7b9b0 added config file SITL iris with gazebo 2015-10-17 13:30:44 +02:00
Daniel Agar adc59b9e71 cmake improve submodule handling 2015-10-14 12:13:33 -04:00
Lorenz Meier 51707245bb Makefile: Use blunt force to ensure uavcan submodule is up to date 2015-10-14 12:13:20 +02:00
Daniel Agar 5865dc6434 cmake add libuavcan as subdirectory
-move uavcan submodule to src/modules/uavcan/libuavcan
-adding libuavcan as a subdirectory simplifies inheriting all compile
flags and include paths
2015-10-14 02:37:00 -04:00
Daniel Agar 1bfc919c83 cmake generate MSYS Makefiles on windows 2015-10-14 01:56:16 -04:00
Lorenz Meier 9b45142992 Abort compilation if some smart "developers" think downloading a ZIP file is a good idea. 2015-10-11 12:04:34 +02:00
Daniel Agar 2529f07d44 restore format check 2015-10-06 18:28:30 -04:00
Daniel Agar 74a61a3610 cmake allow Ninja generator 2015-10-06 18:28:30 -04:00
James Goppert 55f963be07 Added ddd support. 2015-10-06 12:18:32 -04:00
Lorenz Meier 90f2e8d61a Force CMake to generate UNIX makefiles on all platforms 2015-10-06 17:03:41 +02:00
James Goppert e1bb618371 Working on uavcan building. 2015-10-04 21:29:22 -04:00
Lorenz Meier d0ca0ff837 Added FMUv1 config 2015-10-03 17:25:49 +02:00
Lorenz Meier 21fadb9ea3 Add distclean target 2015-10-02 11:04:32 +02:00
James Goppert 3c6d101792 Added support for ros-sitl. 2015-09-25 08:29:35 -04:00
James Goppert e38eba0934 cmake: Fix for posix sitl. 2015-09-20 11:17:31 -04:00
Lorenz Meier 6db320741c Makefile: support GDB debugging 2015-09-20 16:40:53 +02:00
Lorenz Meier b9efd8f438 Add lldb make targets 2015-09-20 12:53:56 +02:00
James Goppert 4830c7c9c1 Added io debug target. 2015-09-19 10:39:54 -04:00
James Goppert 676a3d230c Work on px4io firmware building. 2015-09-13 23:20:00 -04:00
James Goppert 5b8905a4e0 Fix for target name. 2015-09-13 15:14:58 -04:00
James Goppert 3203f9ac9e Improvements to make support, added debug target. 2015-09-13 14:39:19 -04:00
Lorenz Meier 05c7a0683d Re-add missing ease-of-use make targets 2015-09-12 15:44:05 +02:00
James Goppert 54f8dd2f4d Support parallel building through -j flag in makefile. 2015-09-12 01:33:36 -04:00
Lorenz Meier 6eb4d015fd Bring back user-friendly Makefile for non-Ubuntu users 2015-09-12 01:39:57 +02:00
Mark Charlebois e4b9212e96 cmake: Updated makefie to show the available build configs
Also fixed param support for nuttx and qurt

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-11 16:15:48 -07:00
James Goppert 298fbf0080 Added more targets to phony. 2015-09-11 13:52:14 -04:00
James Goppert 8bc81d985f Fixed typo in version, exposed some more useful cmake targets. 2015-09-11 00:24:30 -04:00
James Goppert 0e8cc821a9 More config cleanup. 2015-09-11 00:15:33 -04:00
James Goppert 07851b79c2 Work on config only for cmake arguments. 2015-09-10 23:43:59 -04:00
James Goppert a2615d793e Put warning on spacing in makefile. 2015-09-10 21:20:49 -04:00
James Goppert 2c33f4921c Add makefile magic to simplify maintenance. 2015-09-10 21:15:55 -04:00
Mark Charlebois a456b6a1c6 Added missing Makefile update
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-10 16:25:30 -07:00
James Goppert b073edc684 Set makefile default target explicity. 2015-09-10 14:08:03 -04:00
James Goppert 34eeee9fa9 Added defautl config for nuttx, nuttx now works over usb. 2015-09-10 13:57:54 -04:00
James Goppert cadc7280b7 Fixed makefile upload link. 2015-09-10 03:05:17 -04:00
James Goppert 323ae36d9f Added nuttx sim config. 2015-09-09 23:07:30 -04:00
James Goppert bf18c84652 Cleanup of module building. 2015-09-09 23:00:58 -04:00
Mark Charlebois 9c376119d0 cmake: changes required for qurt build
Fixed CMakeLists.txt to be consistent with module.mk
Converted PX4_TICKS_PER_SEC to define for QURT to get around relocation error
Added stubs for QURT so building a full executable can be tested. This will
enable CI testing without the full Hexagon SDK.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-09 13:24:29 -07:00
James Goppert b6b25f2ad1 Nuttx sim support. 2015-09-09 08:18:41 -04:00
Mark Charlebois 7e1c984234 Hack to get posix build partially working
Created a dummy build_git_version.h so I did not have to figure out
how to generate it.

Commented out topic_listener.cpp from src/systemcmds/CMakeLists.txt
because it depends on a generated cpp file.

Link doesn't work mut many modules build

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-08 15:39:13 -07:00
James Goppert 1d6b31d196 Switch to cmake build system. 2015-09-07 20:37:45 -04:00
Daniel Agar 3b0390d432 cleanup 'make check_format and exclude directories not ready for formatting
-uORB, sdlog2, vtol_att_control, ekf_att_pos_estimator
2015-09-05 12:12:52 -04:00
Daniel Agar 5391e8a24f unittests trivial cleanup
-add -Qunused-arguments for clang
-update to a recent cmake
-comment unused variables
2015-08-29 20:43:00 -04:00
Mark Charlebois 3a47434749 Fixes for qurt HIL build
Workaround required Eigen downgrade to 3.2. Hexagon toolchain does
not support C++11 features of newest version of Eigen.

Running make qurt_fixup will downgrade and patch Eigen for qurt.
Running make restore will revert the patch and do a git submodule update
to restore the expected Eigen version.

Added a "restore" target to undo qurt_fixup

Before doing a qurt build run:

    make qurt_fixup

That will downgrade Eigen to 3.2 and apply the require patch.
To build another target after downgrading:

    make restore

Them make the desired target (other than qurt).

Fixed type used in orb_priority to be consistent with the code
(int* was used in declaration but int32_t* used in code)

Removed unused class member variable in sensors.cpp

Added cmake fix for unit tests. The location of px4_log.c changed.

Fixed the qurt drv_hrt.c implementation to use us instead of ms for time resolution

Added px4_led.c to nuttx platform layer
Use the posix version of px4_led.c for nuttx so we don't end up with
duplicate files. It was moved out of common because it is not used by qurt.

Changed PX4_DEBUG to PX4_WARN when checking for the error condition for store_poll_waiter in vdev.cpp

Updated the px4_log.h file to make calls to the qurt_log functions.
The qurt_log function is defined in the platforms/qurt layer.

Added an option to control starting the commander module in HIL mode.

Moved the flight specific drivers to the configuration file instead of adding them
to the common tool chain file because HIL mode does not need them.

Added the uorb Subscriber and Publisher classes

Call PX4_ISFINITE macro instead of isfinite().

Added px4_led.c to nuttx platform layer
Use the posix version of px4_led.c for nuttx so we don't end up with duplicate files.
It was moved out of common because it is not used by qurt.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-08-25 21:59:01 -07:00
devbharat 9a6f52736b Added launchfile to launch gazebo iris and mavros bridge. Added sitl_gazebo to makefile and new init rc file for gazebo iris apps and params 2015-07-23 15:45:59 +02:00
Lorenz Meier 7277d390c4 Merge branch 'beta' 2015-07-12 15:52:02 +02:00
Lorenz Meier cdc17f1fdd Keep temporary topic files to avoid constant re-generation, but delete them on clean 2015-07-12 15:51:43 +02:00
Lorenz Meier 48c356fb2b Fix parallel build for POSIX / QuRT 2015-07-05 12:06:45 +02:00
Lorenz Meier 52687cb8e1 Rename make sitlrun to make sitl_quad 2015-07-04 07:25:08 -07:00
Mark Charlebois 26d2589e97 makefile cleanup
Moved nuttx specific make rules to files in makefiles/nuttx.

All target specific makefiles are in their target sub directories.

To minimize file duplication, targets that share rules include a
common file. For example the posix and posix-arm targets both use
makefiles/posix/posix_elf.mk

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-16 09:58:48 -07:00
Mark Charlebois 729653ba71 SITL: changed posix_default to posix_sitl
The SITL build is now the default posix build.

The linker script for posix was moved to makefiles/posix.
The rc.S file was moved to posix-configs/SITL/init/
The POSIXTEST board definition is now SITL

To run the SITL test run:

make sitlrun

This replaces the make posixrun target.

The build directory is now Build/posix_sitl.build/

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-15 09:51:07 -07:00
David Sidrane 447b93c090 Add size Makefile target for elf 2015-06-13 06:07:57 -10:00
David Sidrane 428611119f Merged GIT version changes 2015-06-12 19:32:55 +02:00
David Sidrane 17fddb1556 Back Port of Git Versioning - without side effects Part 1 2015-06-12 06:49:15 -10:00
Mark Charlebois 58e263d534 Added posix-arm target and refactored toolchain_* files
The toolchain_* files are target OS specific so they were moved to
the target OS subdir.

The gcc_version.* files are only cleared once per make instantiation so
a build that creates multiple HW targets will try to link with an
incompatible .o file (i.e. x86 build linking ARM .o).  I created
posix-arm as a separate target to fix this problem.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-06-08 22:21:59 -07:00
Mark Charlebois 77cc3cdde1 Remove Build/git_version.* on each make
The Build/git_version.d and Build/git_version.o files need to be
removed on each make to prevent confusion from a previously
generated dependency file for a different target.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 19:50:39 -07:00
Mark Charlebois d4749551da git_version.* not removed on clean
The Build/git_version.* files need to be removed on make clean.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 19:30:05 -07:00
Lorenz Meier 92f67a923a Make sure the build directory exists 2015-05-27 19:54:46 +02:00
Lorenz Meier 8fd00f4d6d Merged release_v1.0.0 into master 2015-05-23 11:07:10 +02:00
Lorenz Meier ccac324f5b mavlink: Fix GIT string transmission 2015-05-23 11:04:19 +02:00
Lorenz Meier 0d134aac53 systemlib: Use build directory for git version 2015-05-23 10:18:20 +02:00
Lorenz Meier 6d7e063148 Added GIT version which recompiles on each build 2015-05-23 09:59:46 +02:00
Mark Charlebois 2d22e8325d Fix double build when using new make target syntax
When make is invoked as "make posix posix_default"
it will build the posix_default target twice. The Makefile was
fixed to correct this.

If "make posix" is run, the Makefile still calls "make PX4_TARGET_OS=posix".

If "make posix posix_default" is run, the posix target just exports
PX4_TARGET_OS=posix and then make evaluates the next goal (posix_default).

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-21 13:45:53 -07:00
Mark Charlebois 43345e29dc Makefile multi-target support
NuttX is still the default target and all NuttX configs can still
be built with:

make

Individual NuttX, POSIX, and QuRT configs can now be built more
easily by specifying the target and configs:

make posix posix_default
make qurt qurt_hello
make nuttx aerocore_default

Running make with just the target will make all the configs for
that target:

make nuttx
make qurt
make posix

The help is also target specific:
make nuttx help
make qurt help
make posix help

"make help" will still assume you want help for the NuttX target

Added a new QuRT config called qurt_hello as a sample config to
test buiding in different commands for separate configs.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-20 19:19:08 -07:00
Mark Charlebois 9f391b1867 NuttX: fixes for NuttX build
In the upstream tree ringbuffer.h includes the method implementations
in the header file which causes multiple definitions in the link for
other targets. Changed so ringbuffer.cpp is build separately for other
platforms and is included by ringbuffer.h on NuttX.

uORB changes do not link without uORBTest_UnitTest.cpp enabled for
the NuttX build.

px4_getopt was not exported and wasn't visible in NuttX build.

The makefiles were restored to be as close as possible to upstream
so the NuttX build builtin's work again. The code will have to be
refactored after the merge.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-15 12:56:18 -07:00
Mark Charlebois 6a439f7ddc QuRT: Hello world app for QuRT
DSPAL for QuRT is still missing the pthreads exports and there is no
exported sleep function. These functions are stubbed out for the time being.

This is based on the 6.4.05 version of the Hexagon tools.

The Hexagon tools and DSPAL are needed to build the qurt target.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-22 08:48:48 -07:00
Mark Charlebois 19162ba5be Posix: Changed PreflightCheck to read Vdev
PreflightCheck was failing because it was trying to read actual
devices instad of virtual devices.

ADCSIM had a LINUXTEST ifdef that was removed.

posix_run.sh was using the wrong path

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-21 17:14:52 -07:00
Mark Charlebois f3b5076d70 Linux to posix conversion
Changed "linux" target to "posix". Most of the changes are shared with
QuRT and with OSX. The Linux specific parts are in for i2c which uses
<linux/i2c.h> and <linux/i2c-dev.h>.

There is also a check for __PX4_LINUX in mavlink for a tty ioctl that is
not supported.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-21 09:53:09 -07:00
Mark Charlebois 6ce0b7b753 QuRT: added missing make pieces
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:37:51 -07:00
Mark Charlebois cf71db74d7 Support to specify build time OS target
Now run:

make PX4_TARGET_OS=nuttx

or

make PX4_TARGET_OS=linux

To test the linux build and make sure that the required directories
exist, run:

make linuxrun

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:16:26 -07:00
Mark Charlebois 2cd44a24ea Linux: Added linker script support for param and added mc_att_control
Added linker script to resolve __param_start and __param_end.

Added mc_att_control to list of supported builtins.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:16:26 -07:00
Mark Charlebois 51a71d54c6 checksubmodules target needed for Linux build
Moved checksubmodules target back to Makefile.
NuttX download still done for Linux as it would require
too much surgery to remove it.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:46:44 -07:00
Mark Charlebois 838e9fc769 Refactoring for multiplatform support
Moved the NuttX specific board files to makefiles/nuttx and added
a makfiles/linux directory with sample config and board files.

Created a makefiles/toolchain_native.mk file for building for Linux
with the native system compiler. GCC or clang can be used by setting
a flag in the file.

The Linux build creates an archive file and will build the tasks as
threads. Other code changes are required to support both task based
and thread based builds.

The NuttX source should not be required for the Linux build. The
target OS (NuttX or Linux) is selected by commenting out the desired
line in setup.mk

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:46:43 -07:00
Daniel Agar b1dcb10f25 add make check_format to check astyle code formatting 2015-03-02 12:48:19 -05:00
Lorenz Meier 100fb07142 Fix ordering of check submodule execution 2015-03-01 18:06:00 +01:00
Lorenz Meier 2b71bff858 Generate messages first, then check submodules 2015-03-01 11:38:53 +01:00
Andrew Tridgell 91aab00fa0 build: avoid wiping an existing PYTHONPATH variable 2015-02-16 22:54:32 +01:00
Lorenz Meier eeb192730f Revert "include default PYTHONPATH in call to uorb header generation script"
This reverts commit 7e6198b3dd.
2015-02-12 13:29:08 +01:00
Thomas Gubler 7e6198b3dd include default PYTHONPATH in call to uorb header generation script 2015-02-05 19:44:30 +01:00
Lorenz Meier 37ec1ec8de Improve submodule checking 2015-02-03 20:27:51 +01:00
Thomas Gubler 2728889f78 Merge remote-tracking branch 'upstream/master' into ros_messagelayer_merge_attctlposctl 2015-01-28 16:29:14 +01:00
James Goppert a3b2c99801 A huge developer time saver, J="" make archives
This gives warnings about -j1 being forced some places, but
it still successfully builds all archvies in parallel. The
resulting archives have been tested on the board. It is
disabled by default so no functional change unless someone
adds J="" or J=8 in front of the make archvies.
2015-01-28 10:20:20 +01:00
Thomas Gubler d7e57061c9 generate message wrapper headers on ros 2015-01-23 11:58:24 +01:00
Thomas Gubler 738f65a705 generate wrapper headers for uorb 2015-01-23 10:34:04 +01:00
Thomas Gubler 143ff444e4 fix merge error of tests target change 2015-01-07 17:28:56 +01:00
Thomas Gubler 154111d4c0 move checksubmodules and generateuorbtopicheaders dependency 2015-01-07 17:01:03 +01:00
Thomas Gubler fe279d340d Merge remote-tracking branch 'upstream/master' into dev_ros
Conflicts:
	Makefile
2015-01-07 16:00:59 +01:00
Thomas Gubler 213f08ee07 generate uorb topic headers for tests make target 2015-01-06 23:52:04 +01:00
Thomas Gubler ee561947e9 makefile: fix order 2015-01-06 19:14:57 +01:00
Daniel Agar bd130ec397 move sf0x_test to cmake and remove unittests/Makefile 2015-01-05 18:55:38 -05:00
Thomas Gubler f4e0dc2857 Merge remote-tracking branch 'upstream/master' into dev_ros
Conflicts:
	.gitmodules
2014-12-29 08:00:12 +01:00
Lorenz Meier d04f1fde50 Suppress nothing to do messages from make for clean targets 2014-12-26 17:37:36 +01:00
Thomas Gubler 25af4b266c Merge remote-tracking branch 'upstream/master' into dev_ros
Conflicts:
	.gitignore
	src/lib/uavcan
2014-12-25 09:48:15 +01:00
Lorenz Meier 032b25c81b Creating Firmware ZIP file and ignoring it in GIT 2014-12-21 12:09:16 +01:00
Lorenz Meier a4606dc270 Add make tests to Makefile 2014-12-20 18:50:51 +01:00
Thomas Gubler 9520983e08 lots' of header juggling and small changes to make mc att control compile for NuttX and ROS 2014-12-16 08:24:51 +01:00
Thomas Gubler 6f9cbd9751 add genmsg and gencpp python modules, ros not required anymore for message generation 2014-12-04 16:40:46 +01:00
Thomas Gubler 8e8f84bde0 uorb topic header generator: only create new files if the file content really changed 2014-12-04 10:39:24 +01:00
Thomas Gubler 8b5bc703a1 initial version of msg to uorb script
Standard and embedded types work, may need small refinements for some
types
2014-12-01 16:39:27 +01:00
Lorenz Meier 086fc7f758 Merge pull request #1128 from PX4/uavcan
Basic UAVCAN support
2014-07-22 06:48:49 +02:00
Pavel Kirienko 6814ddccff UAVCAN as a submodule 2014-07-08 20:19:17 +04:00
Andrew Tridgell ee92334512 build: fixed running build from external directory 2014-07-08 15:34:47 +02:00
Lorenz Meier 2eb018b273 bugfixes for checks and tools 2014-07-07 22:20:55 +02:00
Lorenz Meier cd9f4f33a5 Turn instructions into a makefile command, allowing Windows GUI kids to create a make target in Eclipse just for this 2014-07-07 17:51:30 +02:00
Lorenz Meier 72ccbe9c4e Fixed check tools 2014-07-07 17:35:47 +02:00
Lorenz Meier 4c2cc65ca6 Cleaning up sub modules 2014-07-07 17:18:54 +02:00
tstellanova 23a355644b grab the git hash and inject it into every log file header 2013-09-06 10:18:08 -07:00
px4dev 07f7fd1585 Fix the firmware build rules so that we always know how to build all the firmwares and thus we can have dependencies between FMU and IO firmware handled a little more sensibly. 2013-08-25 22:26:47 -07:00
px4dev 54711bbcfe In order to save people from themselves, force a given FMU version to depend on the corresponding _default IO version. This avoids the risk of building a new FMU ROMFS with an old IO firmware, at the cost of the sanity of anyone reading this. 2013-08-23 00:23:32 -07:00
px4dev f70a4b3b70 Add support for adding extra files to the ROMFS from the config.
If there is an IO firmware image already built when we build the corresponding FMU ROMFS, copy it into the ROMFS. Note - due to there being no fixed build ordering, to be certain that you have the most current IO firmware, you must build the IO firmware explicitly first.
2013-08-22 23:47:55 -07:00
px4dev 33863165b2 Merge commit 'de749a3602423f5ee6ca56f3cf2dfff04e31ec6d' (kconfig-cleanup) into fmuv2_bringup 2013-08-14 21:23:00 -07:00
px4dev b6676f6cb8 NuttX is confused when it doesn't know what board it's building for - since we don't tell it in the config anymore, we need to pass it a hint. 2013-08-12 23:54:35 -07:00
px4dev c4498ce9a3 Add a 'menuconfig' target that makes it possible to use the NuttX menuconfig tool on the PX4 config files. 2013-08-12 21:56:20 -07:00
px4dev f36a2ff45a Add a 'menuconfig' target that makes it possible to use the NuttX menuconfig tool on the PX4 config files. 2013-08-11 14:00:09 -07:00
px4dev f8951759f8 Add a top-level Makefile rule for building "everything" as a test. 2013-08-04 19:50:23 -07:00
px4dev 64e856276e Merge branch 'fmuv2_bringup' of https://github.com/cvg/Firmware_Private into fmuv2_bringup 2013-08-04 15:01:11 -07:00
px4dev c14a71c095 Move NuttX configurations out of the NuttX tree proper. This reduces the diffs we have to carry against the NuttX upstream repo to just our local patches to the NuttX code itself. 2013-08-03 10:06:10 -07:00
px4dev ecc7bc5bca Clean out unused trash from the NuttX configs. 2013-08-02 23:11:04 -07:00
px4dev 9d6ec6b365 Restructure things so that the PX4 configs move out of the NuttX tree, and most of the PX4-specific board configuration data moves out of the config and into the board driver.
Rename some directories that got left behind in the great board renaming.
2013-08-02 22:34:55 -07:00
Julian Oes a19e0f2f9c Small fix for make distclean, Linux find doesn't seem to know the -depth n argument 2013-07-18 09:45:27 +02:00
px4dev b4029dd824 Pull v2 pieces up to build with the merge 2013-07-07 17:53:55 -07:00
px4dev d178276438 All NuttX configs are called 'nsh' now, stop trying to guess based on the board name. 2013-06-12 23:58:22 -07:00
px4dev 504b6d1256 Hotfix: install the firmware .bin files as well as the .px4 bundles until we have a chance to fix the px4io uploader. 2013-05-17 01:55:02 -07:00
px4dev edb0e01dfd HOTFIX: simplify symbol names going into the ROMFS object, hopefully this avoids inconsistent symbol naming on Windows. 2013-05-12 14:04:57 -07:00