Commit Graph

132 Commits

Author SHA1 Message Date
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
Beat Küng f8382a2713 upload scripts: add TAP for the uploader script 2016-07-12 16:00:33 +02:00
Lucas De Marchi 18330f7ab7 Move __STDC_FORMAT_MACROS to build system
__STDC_FORMAT_MACROS changes the behavior of inttypes.h to allow
defining format macros for printf-like functions. It needs to be defined
before any include is done, otherwise due to include chains and header
guards it may not take effect.

Instead of having to define it everywhere it is used, move the define to the
build system. Also update ecl and DriverFramework submodules to deal with the
changed definitions.
2016-07-10 16:31:36 +02:00
Daniel Agar 3f3a44fec5 cmake status message if MEMORY_DEBUG enabled 2016-06-22 13:51:39 +02:00
Julian Oes b24eded7a0 cmake: use module name if no main is available 2016-06-07 22:10:56 +02:00
Julian Oes cdd45a7b2d cmake: add define for module name 2016-06-07 22:10:56 +02: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
Daniel Agar 5be1f3a856 ASan use normal optimization (MEMORY_DEBUG=1)
- see #4530
2016-05-22 10:27:29 +02:00
Daniel Agar 2487dbfc92 remove Wpacked and cleanup unused warning flags 2016-05-19 21:49:34 +02:00
Kabir Mohammed 529460d573 Fix RPi2 build system 2016-05-19 15:41:50 +02:00
Beat Küng 7f65e01d07 cmake: avoid GLOB for *.msg files and use an explicit .msg file enumeration
This makes sure that adding & removing of .msg files is handled properly
by the build system.
2016-05-17 09:08:13 +02:00
Beat Küng 6e7c605279 Tools/px_generate_uorb_topic*: combine the src & header generators into one script 2016-05-14 11:27:07 +02:00
Daniel Agar 76387b1693 uorb autogeneration 2016-05-14 11:27:07 +02:00
Daniel Agar a4c7fe50a7 travis-ci proper git version 2016-05-13 22:10:35 +02:00
Lorenz Meier e016f6ca38 Clang: Do not use new pointer option 2016-05-11 12:59:41 +02:00
Julian Oes 097840ef83 eagle: fix DSP build
The hexagon-clang is clang-3.5 and does not support -fcheck-new.
2016-05-11 09:32:05 +02:00
Beat Küng 7d733c5ccd cmake: add -fcheck-new to cxx_compile_flags
GCC assumes that operator new never returns null, but throws an exception
instead. This is defined by the C++ standard, and thus ok. But we disable
exceptions with -fno-exceptions, so we break this assumption. GCC then goes
ahead and removes some of our nullptr checks. This flag removes the
assumption.

This adds ~1.4kB to the binary size of the px4fmu-v4 target.
2016-05-10 21:23:53 +02:00
Lorenz Meier 1e7f19335d Build: Less verbose 2016-05-05 13:37:02 +02:00
Daniel Agar 7aa6e85563 enable Wshadow 2016-05-05 13:32:42 +02:00
David Sidrane a08cce27d7 Allow paramter culling to be tunred off 2016-05-05 08:00:26 +02:00
Lorenz Meier ff3e17df0d Systemlib: Add FW and OS versioning 2016-05-03 11:39:39 +02:00
Lorenz Meier 0c7a4fd66e Make parameter source file generation properly depend on board config 2016-05-01 13:47:41 +02:00
David Sidrane 64d43ad381 Scope parameter included in build by cmake/configs
Conflicts:
	Tools/px_generate_params.py
	src/lib/ecl
2016-05-01 13:47:41 +02:00
Daniel Agar 93d261a558 cmake fix px4_base linker flags 2016-05-01 13:47:41 +02: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
James Goppert 967e4dd127 Modified cmake to use STACK_MAX and STACK_MAIN 2016-04-14 13:36:36 -04:00
Julian Oes 1afb7af2bb cmake: don't mess with git submodules everywhere
It's enough to have the check_submodules.sh script. The rest needs to
go.
2016-04-05 09:22:37 +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
Daniel Agar 5a167ea99d reorder compiler options to respect -Wno-sign-compare
-closes #3867
2016-03-01 09:15:16 +01:00
Mark Charlebois 419f4c49ce Added new config entry for DF driver entries
DF drivers can now be added in each config file by adding

set(config_df_driver_list
	bmp280
	...
	)

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:46 +01:00
Julian Oes 5cf3215e38 cmake: try to compile and link everything for MPU
Unfortunately this still gives linking errors.
2016-02-19 16:59:46 +01:00
Mark Charlebois 63620afead Added -fPIC flag for only qurt build
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-02-19 16:59:43 +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 df28f970fa CMake: Fix submodule init 2016-02-13 11:40:24 +01:00
Lorenz Meier 9583ff1b8b Add memory debugging switch support 2016-02-07 01:32:03 +01:00
Mark Charlebois f22c574b87 Integrated cmake_hexagon for qurt build
Still a WIP since the IDL file needs to be replace with the
muorb IDL file.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-01-10 20:54:26 +01:00
Lorenz Meier c97854999a Re-add content 2015-11-22 14:01:52 +01:00
Lorenz Meier 3a2473e309 Revert Address sanitizer changes 2015-11-22 14:01:52 +01:00
Lorenz Meier 8f8154cb1c Sanitize address 2015-11-22 13:59:24 +01:00
Mark Charlebois c4438bf50a Fix to move DriverFramework includes to common
Nuttx now gets to link phase. But there are two unresolved symbols:

arm-none-eabi/include/c++/4.7.4/bits/basic_string.h:1128: undefined reference to `std::string::assign(char const*, unsigned int)'
arm-none-eabi/include/c++/4.7.4/bits/stl_list.h:1534: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)'

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-11-19 09:35:18 -08:00
Lorenz Meier a9a1e69dd6 CMake: Enable param meta injection 2015-11-09 09:31:57 +01:00
jgoppert 27df787bff Separated matrix lib into own repo. 2015-11-05 20:27:48 -05:00
Lorenz Meier c912be70d1 Update approach to obtain the head git hash 2015-10-30 16:25:08 +01:00
Lorenz Meier f042c077b2 Fix compile fail for GIT version 2015-10-30 16:01:21 +01:00
Lorenz Meier b622080a65 Switch GIT command for revision hash 2015-10-30 15:40:41 +01:00
Lorenz Meier ba61f3f36c Re-add missing flags 2015-10-25 14:36:58 +01:00
Lorenz Meier 6c3c18b7c9 Robustify toolchain string matching 2015-10-25 14:35:46 +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
Mark Charlebois 0e967d0874 qurt: Change to Hexagon 7.2.10 compiler
Switched to 7.2.10 since the Linux version of this is available.

Added -DHAS_C9X flag to fix isses with undefined math functions
when using hexagon-clang++.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-22 10:07:22 -07:00
Daniel Agar a3f207f515 cmake fix windows upload 2015-10-14 13:56:24 -04:00
Daniel Agar adc59b9e71 cmake improve submodule handling 2015-10-14 12:13:33 -04:00
Daniel Agar 77f2295b62 cmake restore -Wbad-function-cast 2015-10-14 12:13:33 -04: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 3f0653e824 bin_to_obj.py don't use full path to visibility.h 2015-10-14 01:56:18 -04:00
Daniel Agar e8fd711a5c uorb generate interally set required paths 2015-10-14 01:56:15 -04:00
Mark Charlebois c28ae649a3 Fixes for parameters.xml dependencies
Moved definitions of parameters into *params.c in each module.
This is used by the cmake file as a pattern for dependencies when
generating the parameters.xml file.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-10-10 01:15:22 -07:00
Daniel Agar 231140ca8a cmake fix .git path 2015-10-08 14:19:07 -04:00
Daniel Agar 4151522902 only enforce frame size for nuttx 2015-10-06 23:37:33 -04:00
Daniel Agar e4a78124d8 posix add -Wno-varargs for OS X 2015-10-06 18:41:48 -04:00
Daniel Agar 6c10cf18e4 re-enable Werror 2015-10-06 18:28:30 -04:00
James Goppert 4dd59cd09a Fixed param dependencies. 2015-10-06 15:20:38 -04:00
Mark Charlebois c5e66e41f1 qurt: Must use latest version of Eigen
The latest version of Eigen is required to build with the Hexagon
7.4 toolchain. Only certain C++11 features are supported and the
latest version if Eigen provides these tests. A patch is required
to add support for the Hexagon compiler.

These changes force the sync and then update of eigen and allow it
to be patched for qurt.

The eigen-3.2 submodule was removed as it is no longer needed by the
qurt build with the updated toolchain.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-28 10:49:48 -07:00
Mark Charlebois 300932bde3 QuRT: fixes to unbreak cmake build for QuRT
Updated DSPAL version.
Fixed missing lib in config.
Fixed heafers for missing timespec definition.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-24 15:16:00 -07:00
Mark Charlebois 1abd61303f qurt: Added patch for Eigen to use latest version
Updated to 7.2 Hexagon toolchain

Fixed issuse with stack usage

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-24 15:16:00 -07:00
James Goppert cd98cfe555 cmake: ROMFS build overhaul. 2015-09-19 13:44:02 -04:00
James Goppert 7be3afe249 Fixed firmware name. 2015-09-19 12:13:17 -04:00
James Goppert 676a3d230c Work on px4io firmware building. 2015-09-13 23:20:00 -04:00
James Goppert 19c84126a4 Fixed parameter generation dependencies. 2015-09-13 18:30:32 -04:00
James Goppert 3203f9ac9e Improvements to make support, added debug target. 2015-09-13 14:39:19 -04:00
James Goppert d4a16a68ac Fixed confusing else clause, added to coding standard. 2015-09-12 15:47:23 -04:00
Mark Charlebois 3da0a2bf4f Remove policy that broke posix and fix gcc warning
A Clang only flag was set for all builds.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-12 11:22:13 -07:00
Lorenz Meier 4bc44841f6 CMAKE: Move flags to general location, disable sections for linker on Mac OS 2015-09-12 11:25:48 +02:00
James Goppert 5ee0f18148 Improved module definition handling. 2015-09-12 01:35:09 -04:00
James Goppert 68a78b0580 Some cleanup of cmake module build. 2015-09-12 00:49:10 -04:00
Mark Charlebois 8369e33245 cmake: Fixes for qurt and nuttx
Added px4_parameters.c to nuttx executable src list.
Minor syntax fix in Tools/px_generate_params.py for semicolon.
Added handling of PX4_MAIN which was not yet supoprted in the
cmake build.
Fixed include quotes in muorb_test_example.cpp

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-11 18:32:44 -07: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
Lorenz Meier 4178910509 Merge branch 'cmake-mc' of github.com:mcharleb/Firmware into cmake-2 2015-09-11 21:51:17 +02:00
Lorenz Meier 1b1adf3835 Add required flag for OS X 2015-09-11 21:47:50 +02:00
Mark Charlebois fc3acdb2c1 cmake: param refactoring
Use a struct to contain all the parameters so the ordering in
memory is not machine dependent.

Add number of parameters to the param struct. The struct actually
allows direct accessing by the member name if desired.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-11 12:41:00 -07:00
Mark Charlebois b9ef1ee6ed param: Build param without linker script
Changed to enable the posix_sitl_simple target to build and run

param show *

without using a linker script

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-09-11 02:33:42 -07:00
James Goppert bf18c84652 Cleanup of module building. 2015-09-09 23:00:58 -04:00