Commit Graph

136 Commits

Author SHA1 Message Date
Daniel Agar fb5cb87e9b enable -Wlogical-op and fix bmi160 2017-09-16 21:29:52 +01:00
Daniel Agar 35e15ed540 cmake add -Wmissing-field-initializers and a few others 2017-09-16 21:29:52 +01:00
Daniel Agar 35d908b453 cmake stop ignoring sign-compare 2017-09-07 10:27:36 +02:00
Lorenz Meier 529def11e8 CMake / Clang: Increase warning level 2017-08-01 12:46:59 +02:00
Lorenz Meier 792b03628f CMake: more clear instructions for python dependencies 2017-07-02 17:15:12 +02:00
Daniel Agar f82e85f8ff cmake remove -fno-math-errno and -fmerge-all-constants (#7462) 2017-06-23 11:38:31 -04:00
Daniel Agar 58ca307c9d move -fno-math-errno to nuttx only 2017-06-23 07:56:24 +02:00
Daniel Agar 75a91f79ae compiler optimizations add -fmerge-all-constants 2017-06-21 20:07:36 -04:00
Daniel Agar aeb1fe5a55 compiler optimizations add -fno-math-errno 2017-06-21 20:07:36 -04:00
Daniel Agar 61da642cc8 cmake fix airframes.xml dependency 2017-06-19 20:24:09 +02:00
Daniel Agar 6a443765a5 cmake only include mavlink where used 2017-06-19 20:24:09 +02:00
Daniel Agar f26cd01d16 param gen reorganize and fix DISABLE_PARAMS_MODULE_SCOPING 2017-06-12 12:18:53 -04:00
Daniel Agar beaa758605 lcov ignore src/examples (#7341) 2017-06-02 23:22:50 -04:00
Daniel Agar 24b26e53b9 cmake organize code coverage handling and base 2017-06-02 19:35:18 -04:00
Daniel Agar ac4a706da0 build system fixes and improvements
- deploy px4 metadata using target
 - clang scan-build upload output to s3
 - clang-tidy properly check headers
 - add cppcheck helper
 - force gcc color
2017-06-02 19:35:18 -04:00
Andrew C. Smith d21b6655d2 Add the Gumstix AeroCore2 to the build system. 2017-04-20 12:24:27 -10:00
Daniel Agar 3721fb9d52 cmake cleanup nuttx dependency handling (#7007)
- closes #6501
 - closes #6820
 - closes #6881
2017-04-17 20:57:35 -04:00
Daniel Agar 827725fbe0 cmake remove -Weffc++ (#7044)
- closes #7040
2017-04-13 13:30:22 -04:00
James Goppert 10ebac2026 Fix build when px4 is a submodule (#7006)
* Fix build when px4 is a submodule

* Check if submodule directory exists.

* Fix submodule directory reading
2017-04-08 23:47:38 -04:00
Beat Küng d7703173b2 Critical: Fixes Snapdragon Flight parameter synchronization problem (#6910)
* cmake: Fixes problem caused when the generated parameters.xml differs for the ARM and DSP builds.

* fix px4_getopt.h: add accidentally removed file
2017-03-28 16:10:17 +02:00
Beat Küng 941d17d74c cmake: make sure params defined in external modules are found 2017-03-23 08:37:48 +01:00
Beat Küng a4fc7ae95e simplify px_process_params: remove --modules, use a list for --src-path instead 2017-03-23 08:37:48 +01:00
James Goppert 85f62f5da0 Fix param scoping to use cmake for parsing. 2017-02-17 11:26:46 +01:00
David Sidrane c976a26156 Use wild card *_PX4_* for upload
Compliments the Bootloader change To simplify the ripple effect on the tools, we will be using  /dev/serial/by-id/*_PX4_* to locate PX4 devices. Therefore  moving forward all Bootloaders must contain the prefix "PX4 BL "  in the USBDEVICESTRING
2017-02-02 08:50:09 +01:00
Daniel Agar dcddcdd28e cmake git ver depend on index and HEAD 2017-01-30 08:57:53 +01:00
Daniel Agar 6961a513c7 clang-tidy readability-braces-around-statements 2017-01-14 18:31:09 -05:00
mazahner 06d28b2635 Rework Includes during the uorb message generation
each CMakeFile that generates parameters should add its path to the msg_include_path
which will then be handled in the px_generate_uorb_topic_files.py
2017-01-14 10:07:12 -08:00
James Goppert 434dddedea Changes to add px4fmu-v2_lpe config. 2017-01-13 01:11:14 -08:00
Daniel Agar dc787830b5 circleci run tests under code coverage (#6273)
* use regular optimization levels for the code coverage build.
 * the mixer test fails intermittently when built without optimization
2017-01-09 16:08:40 -05:00
Daniel Agar 48e7c784e7 remove px4_model targets from all 2017-01-06 11:56:27 +01:00
Stephan Brown 67a484ac34 Make parameter generation also depend on the scripts that run. Address some review comments. 2017-01-06 09:58:58 +01:00
mazahner 6fe9b8e543 use CmakeLists scope to generate te XML file
- the only difference really is, that scope (the configuration.cmake) is already passed
  to px_process_params via the argument --scope. The Paths in --scope are evaluated w.r.t
  the path to src provided via the -s /--src-path argument.
- if no --scope is proveided. the Old scheme by simply walking the full --src-path directory
  is applied
2017-01-04 09:29:52 +01:00
Daniel Agar a0837b88a5 cmake add clang santiziers
- PX4_ASAN=1 enable address sanitizer (was MEMORY_DEBUG)
 - PX4_TSAN=1 enable thread santiizer
 - PX4_UBSAN=1 enable undefined behaviour santizier (some options off)
2017-01-02 10:14:41 +01:00
Daniel Agar 1ceb0bebb5 sitl tests don't manually stop mavlink and dataman 2017-01-02 10:14:41 +01:00
Daniel Agar 34b2fb55e6 Makefile add clang-check and clang-tidy helpers 2017-01-02 10:14:41 +01:00
Daniel Agar dc9a71b674 WIP startup_shutdown test with ASAN on 2017-01-02 10:14:41 +01:00
Daniel Agar c9192e23e1 quiet git header output 2017-01-02 10:14:41 +01:00
Beat Küng ffe4688d0b px4_base.cmake: make sure px_update_git_header.py is executed in the source directory
otherwise the 'git describe' command can fail.
2016-12-21 14:09:41 +01:00
Lucas De Marchi 9ee478e1f7 cmake: fix update of git hashes
Since the git hashes were being generate by cmake it would only be
generated if the header file was not present. Simple test:

    $ make aerofc-v1_default
    $ touch a
    $ git add a
    $ git commit -m tmp
    $ make aerofc-v1_default

The file build_aerofc-v1_default/build_git_version.h should have the new
hashes and the correspondent .c/c.pp files should be rebuilt, but they
aren't.  The end result is that checking the version with "ver git" in
the nsh console will point to the wrong commit.

This moves the generation of the header to a separate tool and enforces
the command to be executed every time.
2016-12-21 14:09:41 +01:00
David Sidrane d6098c8226 Adding Nuttx Build infrastructure 2016-12-21 08:34:20 +01:00
Daniel Agar 1941dfca87 add tests code coverage
-closes #5862
2016-12-07 20:17:00 +01:00
José Roberto de Souza c49c3f469e aerofc: add upload command
AeroFC is updated by Aero board using the UART between AeroFC
and Aero board.

This script will copy firmware and px_uploader.py to Aero board and run
px_uploader.py with the correct paremeters. User only needs to have a
network connection (Ethernet over USB or WiFi) with Aero board to update
AeroFC firmware. The IP/hostname can be given by AERO_HOSTNAME
environment variable.
2016-11-28 09:21:12 +01:00
Julian Oes 109558cf1f cmake: fix git binary hash
The generated binary hash was off by one.
2016-11-23 12:42:06 +01:00
Michael Schaeuble ffaed18e67 Reduce the binary size Bebop
The firmware binary is to large to fit into the onboard memory of the Parrot
Bebop. It could be uploaded to the emmc, but for ease of use it would be nice
to have it in /usr/bin. To strip the binary seems to be the best option right now.
2016-10-18 23:56:56 +02:00
David Sidrane 979381fcfa Support passing defines from top level config makefile 2016-10-18 00:23:58 +02:00
nephen 0027333e6d add pci-Bitcraze to px4_base.cmake 2016-09-30 23:06:57 +02:00
Julian Oes b1708f3871 cmake: only optimize for size on NuttX
With this change only builds for NuttX which are very much flash size
constraint are optimized for size. All other builds (e.g. SITL,
Snapdragon, etc.) are left at the default for debugging or -O2 for the
usual use.
2016-09-30 08:11:51 +02:00
Beat Küng 670c93e726 cmake: add support for out-of-tree modules via EXTERNAL_MODULES_LOCATION variable 2016-09-27 15:10:23 +02:00
Dennis Shtatnov b9c5d117dd CF2: Linux USB uploading fix 2016-09-21 17:20:08 -04: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