Commit Graph

794 Commits

Author SHA1 Message Date
Nicolae Rosia 6ffffe3367 Remove invalid eigen reference
This is a left over from cleanup 0acf6db64f

Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-01-14 10:02:44 -08:00
Daniel Agar 8caf6c54fa Makefile cleanup and travis-ci s3 deploy (#6329)
- pulls more of the travis-ci s3 deploy into the repo so we can potentially migrate to another CI system
 - fixed the sizes output and added verbose compiler version to cmake (#6322)
 - fixed filenames for firmware uploaded to s3 (was broken by the changes yesterday)
 - fixed some broken git version display in cmake
 - Makefile organization
 - simplified .travis.yml
 - added a print to know which config the nuttx patch was being applied to
 - docker_run.sh now respects PX4_DOCKER_REPO for setting the docker image, but defaults to the good production nuttx image
2017-01-14 09:38:28 -05:00
James Goppert 434dddedea Changes to add px4fmu-v2_lpe config. 2017-01-13 01:11:14 -08:00
Beat Küng 78c0186ff8 fix posix_rpi_native.cmake: add __DF_RPI define
Needed for the DriverFramework. Fixes the error:
15050 SPIDevObj start failed
15142 DevObj start failed
15185 Unable to open the device path:
ERROR [df_lsm9ds1_wrapper] LSM9DS1 start fail: -1
ERROR [df_lsm9ds1_wrapper] DfLsm9ds1Wrapper start failed
Command 'df_lsm9ds1_wrapper' failed, returned -1
2017-01-13 00:17:10 -08:00
BharathR 8c7f810cc2 Fixed build error in eagle_legacy_default mode (px4muorb.h generation issue) 2017-01-11 17:12:27 -08:00
bharathr ee0b0f2a3e Fixed build error in Snapdragon Flight legacy driver mode (partially) 2017-01-11 17:12:27 -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 4e9c986806 remove optional_files dependency
This is a remainder of a rebase onto master
2017-01-04 09:29:52 +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 28971caaf3 partially restore mavlink_tests 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
Lorenz Meier 9178bb7371 Add new posix_sitl_shell build target which allows to run -make posix_sitl_shell none- in order to get an empty shell 2017-01-01 13:59:41 +01:00
Roman 06498ce01a build ulanding radar for Pixhawk version 2
Signed-off-by: Roman <bapstroman@gmail.com>
2016-12-27 15:35:55 +01:00
Daniel Agar e491817610 cmake nuttx create target for nuttx copy 2016-12-27 11:45:48 +01:00
José Roberto de Souza 53f2c1eb19 aerofc: Implement ADC
Measure the battery voltage of Aero RTF kit will be done by FPGA
and read by AeroFC using I2C bus.

The protocol is a little bit odd, it have different I2C slave
address for each "register", in future the FPGA RTL will
have a protocol more similar to other I2C sensors.

Also Aero RTF don't have a ADC line to measure current consumption.
2016-12-26 16:11:33 +01:00
Lorenz Meier 8165ef7d95 SITL: Move back to LPE as its more robust to host timing 2016-12-25 18:15:51 +01:00
Lorenz Meier f56bb95bdd Default SITL to the same estimator as the physical vehicle 2016-12-24 16:14:52 +01:00
Michael Schaeuble b9bd30d4e2 Build hardfault_log in px4fmu-v3 target 2016-12-22 21:58:16 +01:00
Beat Küng cf21d8f554 cmake: remove unneeded file build_git_version.h.in
Obsolete since 9ee478e1f7
2016-12-21 16:59:32 +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
Beat Küng 115301d43a cmake configs: add lib/version to remaining configurations 2016-12-21 11:35:10 +01:00
Beat Küng 66a6ce880c cmake stm32f4discovery: add lib/version 2016-12-21 11:35:10 +01:00
Beat Küng 41dc34204c version cleanup: move all version information into version.c and use a common API
The provided versioning information is the same, except for some additions,
like OS version (which still need to be implemented on NuttX).
2016-12-21 11:35:10 +01:00
Lorenz Meier becd9457ca Call airframes script with board arg 2016-12-21 08:37:45 +01:00
David Sidrane 4712ed1889 Complete px4fmu-v5 Led configuration 2016-12-21 08:34:22 +01:00
David Sidrane dc8c6ea5e5 White space fixes 2016-12-21 08:34:21 +01:00
David Sidrane b7cc04e0d2 Changes to tap_v1 for upstream Nuttx and hardfault logging 2016-12-21 08:34:21 +01:00
David Sidrane 402251819d Changes to mindpx-v2 for upstream Nuttx and hardfault logging 2016-12-21 08:34:21 +01:00
David Sidrane f149adac54 Changes to px4-stm32f4discovery for upstream Nuttx 2016-12-21 08:34:21 +01:00
David Sidrane 17633c0714 Changes to px4fmu-v4 for upstream Nuttx and hardfault logging 2016-12-21 08:34:21 +01:00
David Sidrane c89c47e57e Changes to px4fmu-v3 for upstream Nuttx 2016-12-21 08:34:21 +01:00
David Sidrane d9575964a4 Changes to px4fmu-v2 for upstream Nuttx and hardfault logging 2016-12-21 08:34:21 +01:00
David Sidrane 82cb9353d1 Changes to px4fmu-v1 for upstream Nuttx 2016-12-21 08:34:21 +01:00
David Sidrane 64c00e6c95 Changes to crazyflie for upstream Nuttx and hardfault logging 2016-12-21 08:34:21 +01:00
David Sidrane 3ddeb07b25 Changes to auav-x21 for upstream Nuttx and hardfault logging 2016-12-21 08:34:21 +01:00
David Sidrane a2adf94d13 Changes to aerofc-v1 for upstream Nuttx and hardfault logging 2016-12-21 08:34:21 +01:00
David Sidrane 1b17bc74b2 Adding zubaxgnss-v1 bootloader 2016-12-21 08:34:21 +01:00
David Sidrane 276bf47865 Adding s2740vc-v1 board and bootloader 2016-12-21 08:34:21 +01:00
David Sidrane 6ce7ade2c6 Adding px4nucleoF767ZI-v1 2016-12-21 08:34:21 +01:00
David Sidrane bca8767981 Adding px4fmu-v5 2016-12-21 08:34:21 +01:00
David Sidrane 925102464b Adding px4fmu-v4pro 2016-12-21 08:34:21 +01:00
David Sidrane f14a0ba107 Adding px4flow-v2 bootloader 2016-12-21 08:34:21 +01:00
David Sidrane 24e8c213ee Adding px4esc-v1 board and bootloader 2016-12-21 08:34:21 +01:00
David Sidrane bba8371b0f Adding px4cannode-v1 board and bootloader 2016-12-21 08:34:21 +01:00
David Sidrane cd8b759fed Adding esc35-v1 board and bootloader 2016-12-21 08:34:21 +01:00
David Sidrane c417a1be7b Adding USVCAN bootloader support 2016-12-21 08:34:20 +01:00
David Sidrane d6098c8226 Adding Nuttx Build infrastructure 2016-12-21 08:34:20 +01:00
Julian Oes d62520e26b Update DriverFramework and build lib/rc 2016-12-20 14:38:28 +01:00
Julian Oes de9cb46a56 spektrum_rc: move and clean up (untested) 2016-12-20 14:38:28 +01:00
Julian Oes c0fcffae76 spektrum_rc: make it compile 2016-12-20 14:38:28 +01:00
Dennis Mannhart e2ded396c8 Snapdragon pwm (#5940)
* px4 pwm driver for snapdragon

* added driver to cmake file

* applied review changes and adjusted format

* adjustement to review 2

* run formatting

* added timeout initialization
2016-12-16 18:41:45 +01:00
Daniel Agar bce7ecb0f6 Iridium driver and support
Mavlink module implement HIGH_LATENCY (Iridium)
2016-12-14 08:20:01 +01:00
Roman 4fab448000 build gps driver for bebop2
Signed-off-by: Roman <bapstroman@gmail.com>
2016-12-12 23:48:15 +01:00
Mark Whitehorn d8d9ab1bfb switch fmu-v2 config back to old logger: config now identical to master 2016-12-10 12:56:39 +01:00
Mark Whitehorn d4c707e698 remove INAV and switch to new logger for fmu-v2 builds
roughly 10K bytes below the 1MiB limit
2016-12-10 12:56:39 +01:00
Lorenz Meier 1bef1ae34a Make space in test config 2016-12-10 01:00:11 +01:00
Michael Schaeuble b0ee5256d5 Disable LPE in px4fmu-v2_default
With GCC 4.9 the binary is to large for the flash memory.
This is why we disabled LPE on that platform.
2016-12-09 18:59:42 +01:00
Daniel Agar 1941dfca87 add tests code coverage
-closes #5862
2016-12-07 20:17:00 +01:00
Lorenz Meier f15d1ce5e7 Sort and sync FMUv3 config 2016-12-05 15:27:11 +01:00
Dennis Shtatnov d71645b321 CF2 Update to EKF2 2016-12-03 17:02:16 +01:00
Julian Oes f092b31f54 Update cmake_hexagon and DriverFramework
This update is needed after changes in
https://github.com/ATLFlight/cross_toolchain/pull/10.
2016-12-02 21:18:18 +01:00
Lorenz Meier 654c7d2d16 Remove unused system command for FMUv2 config and re-enable MPU9250 driver 2016-12-02 20:58:38 +01:00
Mark Whitehorn a0796c6847 add tests to auavx21 config 2016-11-29 08:03:23 +01:00
José Roberto de Souza 621a0fe492 aerofc: Enable IST8310 2016-11-28 09:21:12 +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
James Goppert 893714dc6a aerofc: Fixes for init 2016-11-28 09:21:12 +01:00
José Roberto de Souza a1eec553dc aerofc: Remove unused modules 2016-11-28 09:21:12 +01:00
Lucas De Marchi 0cd7984b7f Rename asc board to aerofc 2016-11-28 09:21:12 +01:00
David Sidrane 100f977b0c Added listener removed unconfigured drivers 2016-11-28 09:18:45 +01:00
David Sidrane fb3e2665f3 Inital Commit AUAV X2.1 2016-11-28 09:18:45 +01:00
Julian Oes afd6fd3896 px4fmu-v2_default: save more flash
This disables the following modules to save flash:
- mpu9250 driver because the MPU9250 is rarely used on Pixhawks
- Snapdragon RC PWM passthrough which is rarely used and definitely a
  special/custom configuration. Also, it will soon be obsolete with the
  upcoming PWM support on Snapdragon.
2016-11-23 12:49:15 +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
Mark Whitehorn 40f2c4a8e4 add new board config for fmu-v3 2016-11-11 09:50:42 +01:00
Mark Charlebois 47c14395d3 Updated cmake_hexagon for Semaphore CI fix
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-11-10 07:56:28 +01:00
Julian Oes 6bdca1053c Next cmake_hexagon in Firmware and DriverFramework 2016-11-10 07:56:28 +01:00
Julian Oes 88e81aa58e cmake_hexagon: rpcmem and linking fix
This updates cmake_hexagon and cmake_hexagon inside DriverFramework
which fixes somethine about rpcmem.a and the double linking issue.
2016-11-10 07:56:28 +01:00
Beat Küng d32d250a50 px4fmu-v2_test.cmake: remove inav 2016-11-08 11:17:07 +01:00
Paul Riseborough d19a62a8f6 px4fmu-v1: Remove INAV to free required flash space 2016-11-08 11:17:07 +01:00
Paul Riseborough d75600b8a4 px4fmu-v2: Remove INAV to free required flash space 2016-11-08 11:17:07 +01:00
Henry Zhang b76c8cd80c MindPX: Use i2c rgbled. 2016-10-29 10:56:32 +02:00
Henry Zhang d8ac044414 MindPX: Support serial RC input. 2016-10-29 10:56:32 +02:00
Henry Zhang 5076ba0049 MindPX: Disable second CAN bus. 2016-10-29 10:56:32 +02:00
Henry Zhang 99ad8f464e MindPX: Update modules config. 2016-10-29 10:56:32 +02:00
Carlo Wood 5b52cd0fe6 Compile fixes for old/unused targets.
These are some changes that I needed to compile
most of the unsupported targets.

After this all (make list_config_targets) compile
for me except: posix_eagle_muorb, posix_sdflight_default
and qurt_eagle_legacy_driver_default.
2016-10-26 14:00:52 +02:00
Carlo Wood 6fc30c76a6 Clean up of app.h
app.h, generated from app.h_in, has unnecessary code duplication
and isn't a header file (it defines globals, static functions
and doesn't have a header guard, moreover, it has a 'using namespace
std;'). Because of this, a real headerfile that declares the stuff
defined in apps.h was missing leading to even more code duplication:
scattered forward declarations in .cpp files and an often repeated
type of std::map<std::string, px4_main_t>.

This patch moves cmake/qurt/apps.h_in to src/platforms/apps.cpp.in
(with some changes) and removes cmake/posix/apps.h_in.
Then src/platforms/apps.cpp.in is split into src/platforms/apps.cpp.in
and src/platforms/apps.h.in, splitting declarations from definitions.

A typedef is defined for the map (apps_map_type).

The main difference between cmake/posix/apps.h_in and
cmake/qurt/apps.h_in was that the first defined a global 'apps',
while qurt stores the apps in QShell. I opted to get rid of
the global variable (which are in general evil for various reasons)
and used the API of cmake/qurt/apps.h_in where a provided 'apps'
map is initialized with a call to init_app_map. Thus removing
the existing code duplication.
2016-10-22 08:31:14 +02:00
Lorenz Meier 5317d29ffd Disable blinkm for FMUv2 2016-10-19 09:25:55 +02: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
Michael Schaeuble 9bb230fa3d Remove obsolete linker flag for Bebop build
The pthread linker flags were changed in c6a2641 and it was questioned in #5504 if the
exception for the Bebop is necessary. It is not, so remove those lines from the cmake
file.
2016-10-18 20:47:19 +02:00
Lorenz Meier 5d9c91dece Convert fixed wing example to quaternions 2016-10-18 20:46:08 +02:00
Julian Oes e2c308c4e6 cmake: fixes for cmake_hexagon changes 2016-10-18 08:07:14 +02:00
Julian Oes 340b9002e2 sdflight_default: define QC_SOC_TARGET if not set 2016-10-18 08:07:14 +02:00
Julian Oes 75657dc2eb cmake: add __DF_ defines with comments 2016-10-18 08:07:14 +02:00
Julian Oes 0a4ca7c77f cmake/DriverFramework: update submodules again 2016-10-18 08:07:14 +02:00
Julian Oes f8a1631077 DriverFramework/cmake_hexagon: use defines with DF
This changes the following defines:

__QURT -> __DF_QURT
__RPI -> __DF_RPI
__EDISON -> __DF_EDISON
__BEBOP -> __DF_BEBOP
__LINUX -> __DF_LINUX
2016-10-18 08:07:14 +02:00
David Sidrane b1e94b98b3 Define tap as a Memory Constrained system 2016-10-18 00:23:58 +02:00
David Sidrane 979381fcfa Support passing defines from top level config makefile 2016-10-18 00:23:58 +02:00
James Goppert f30dd2b819 Removed lidarlite driver, not widely available. 2016-10-12 11:59:46 -05:00
James Goppert 027badc340 Remove bottle/rover apps from v1 to reduce flash space. 2016-10-12 11:59:46 -05:00
Andreas Antener f3b5c243e5 UT: added method to test float values
MC pos control tests: added tests to all configs that include them
2016-10-10 23:05:44 +02:00
Andreas Antener 9a219da9c2 Refactored cross sphere line tracking and added a unittest to verify correct operation 2016-10-10 23:05:44 +02:00
Lorenz Meier f543463349 Disable FrSky for FMUv2 2016-10-06 09:11:26 +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 bb61144efc cmake: add posix_sitl_inav target 2016-09-29 07:28:03 +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
Lorenz Meier 676e90cd98 Define realtime clock for systems not having one 2016-09-27 11:56:49 +02:00
Lorenz Meier 5b674ffe48 Update DF to include Travis CI fix for DF
DF Update: Use common CMake version so Darwin handling is correct in PX4

Update DF to use proper constants

Update DF
2016-09-27 11:56:49 +02:00
Lorenz Meier af8cbee6d5 Support 10.11 and 10.12 in parallel in PX4 2016-09-27 11:56:49 +02:00
Lorenz Meier cf671b5134 Fix tests and re-introduce tests into build
Code style fix
2016-09-27 11:56:49 +02:00
Lorenz Meier edf0057cee Modify build for XCode 8 2016-09-27 11:56:49 +02:00
Carlo Wood c6a2641507 Fix some pthread related linker stuff. (#5504)
The px4_os_add_flags defined in cmake/posix/px4_impl_posix.cmake did
add (threading) libraries to added_exe_linker_flags, which subsequently
end up in CMAKE_EXE_LINKER_FLAGS and then have no effect because those
flags are passed to the linker before any of the object files and static
libraries.

Those libraries are already added correctly in the corresponding
src/firmware/*/CMakeLists.txt files (for qurt, nuttx AND posix).

I left in the non-library linker flag '-pthread' for the bebop board,
although it seems very weird to me that this is needed (is it?).
If that is needed then it seems weird to link manually (that is,
src/firmware/*/CMakeLists.txt) with -lpthread.

For linux/g++ -pthread is added to the CXXFLAGS as it should be:
this causes the compiler to define _REENTRANT which is needed
for (the interface of) certain libraries to become thread-safe.
Offically one also can just pass -pthread to the linker, which then
causes the right libraries to be linked, but just linking with
-lpthread -lm -lrt works too.

I ran into this while adding support for libcwd, which explicitly
complains that _REENTRANT isn't defined when trying to link with
the thread-safe version of libcwd (-lcwd_r) and then tells you
to use -pthread.
2016-09-26 22:53:41 +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
Carlo Wood 77d356d275 Target specific optimization control.
This allows one to set a semi-colon separated list of regular
expressions in the environment variable PX4_NO_OPTIMIZATION
to control which (cmake generated) targets should be compiled
without optimization.

Suppressing optimization can be necessary for debugging in
a debugger, especially when trying to step through the code
or needing to print variables that otherwise are optimized out.

EXAMPLE

export PX4_NO_OPTIMIZATION="px4;^modules__uORB;^modules__systemlib$"

will result in the following messages during cmake configuration:

[...]
-- Disabling optimization for target 'platforms__posix__px4_layer'
because it matches the regexp 'px4' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'modules__systemlib' because it
matches the regexp '^modules__systemlib$' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'modules__uORB' because it matches
the regexp '^modules__uORB' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'examples__px4_simple_app' because
it matches the regexp 'px4' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'modules__uORB__uORB_tests' because
it matches the regexp '^modules__uORB' in env var PX4_NO_OPTIMIZATION
-- Disabling optimization for target 'px4' because it matches the regexp
'px4' in env var PX4_NO_OPTIMIZATION

Note that a list of all (currently used) target names can be printed
with the following command line from within the required build directory:

find . -wholename '*/CMakeFiles/*.dir/flags.make' | xargs dirname | xargs basename -a | sort -u | sed -e 's/.dir$//'
2016-09-13 16:31:08 +02:00
Carlo Wood 541c8a06ca Partly cleanup and simplify cmake/configs/posix_sitl_* config files.
While the config_sitl_rcS_dir is used more extensively (and actually
only depending on the base cmake target), the variables
config_sitl_viewer and config_sitl_debugger are just used to be
passed on for the run_config target; config_sitl_debugger is even
*always* 'disable'. Hence, they don't really need to be cached
(INTERNAL or not). Before this patch FILEPATH was used instead
of INTERNAL, but I doubt very much that that was intended. That
only makes sense when cmake-gui would be used and then would pop-up
a file browser to let the user pick a file (while really they
need to pick a directory, so it's wrong either way).

The ONLY reason caching would be used is when a developer edits
the build_posix_sitl_*/CMakeCache.txt files, changes these values
and then runs cmake in the build directory again, now overriding
the values intended here. Nevertheless, I left in the caching.

The main change in this commit (that theoretically has no real effect)
is that I removed the duplicated maintenance of
posix_sitl_broadcast.cmake. When that file was added, it was an
exact copy of posix_sitl_default.cmake and is since not always
maintained to remain the same. I don't think that difference is
in anyway relevant for the broadcasting part though.

Note that I think that something like that also holds for the
posix_sitl_replay.cmake; it would be a lot better - maintenance-wise
- when it was just derived from (or the same as) posix_sitl_default,
I think.
2016-09-13 16:31:08 +02:00
Carlo Wood 03d176d097 Bug fixes, typos, indentation.
Over time I made a few changes unrelated to what I'm really working on.
These changes are hereby committed first. The bug fixes are related to
what I'm doing in that I need them to be fixed for future commits.

Tools/sitl_run.sh: rename label to rcS_dir and fix usage help.
cmake/common/px4_base.cmake: Remove the check on OUT_UNPARSED_ARGUMENTS,
  and a few typos and indentation issues.
cmake/configs/posix_sitl_replay.cmake: Set the correct variable
  (config_sitl_rcS_dir) to the correct directory.
cmake/nuttx/px4_impl_nuttx.cmake: typos and indentation issues,
  and removal of a redundant FORCE (INTERNAL implies FORCE).
cmake/posix/px4_impl_posix.cmake: typos and indentation issues.
cmake/qurt/px4_impl_qurt.cmake: typos and indentation issues.
src/modules/mavlink/mavlink_ftp.cpp : possible strict-aliasing breakage.

NOTES

The second argument passed to sitl_run.sh is the value of
config_sitl_rcS_dir. This fact is missing from the usage help.
I renamed 'label' to 'rcS_dir' to better reflect this.
Also, for the 'replay' config the wrong variable was set causing
the call to sitl_run.sh to skip an argument and fail (ie the
debugger was passed as rcS_dir and so on).

The check on OUT_UNPARSED_ARGUMENTS in px4_parse_function_args
basically causes every passed IN variable to be REQUIRED and is
therefore a bug. The test for the presence of the REQUIRED arguments
follows directly after and is sufficient for this job. This bug went
unnoticed because currently every argument to OPTIONS, ONE_VALUE,
and MULTI_VALUE is actually passed to the function(s) calling
px4_parse_function_args (them being REQUIRED or not).

The changes in mavlink_ftp.cpp are to avoid a possible aliasing bug
and (mostly) to avoid the compiler warning/error: dereferencing type-
punned pointer will break strict-aliasing rules [-Werror=strict-aliasing].
2016-09-13 16:31:08 +02:00
Lorenz Meier f34a56999f Remove SRF02 driver to make flash space 2016-09-07 13:29:41 +02:00
Michael Schaeuble 5d3e9df731 Add DF wrapper for BebopBus driver 2016-09-07 08:24:08 +02:00
Beat Küng ccde51304a cmake px4fmu-v2: disable vmount for now, due to flash overflow 2016-09-06 11:33:18 +02:00
Beat Küng 8757b9a9a5 cmake posix sitl: add vmount driver 2016-09-06 11:33:18 +02:00
Leon faebdeedcf vmount: add mount and ROI implementation
MavLink spec implementation

implemented vehicle_roi topic

rename old gimbal to rc_gimbal

little changes

corrected RC Gimbal group

Starting ROI implementation in commander

implementation done, needs to be tested

uhm..

add todo

Change to float32 for x,y and z

remove mission topic again, not needed

change roi coordinates to lat, lon and alt

adjust to float64

starting mount implementation

correcting small mistakes, compiles now

add todos

further progress

implementing parameters

adjust default parameters

started implementation of mavlink

fix typo

change to lat, lon and alt

fix typo :D

change to double (to represent float64)

add global_position_

add mount topic

commander mount implementation done

cleanup

almost finished

little fix

codestyle fixes

leave pitch at 0 degrees

added pitch calculation

codestyle changes

Undo vehicle_mount, react to updated parameters, parsing of CMD_DO_MOUNT_* in mount.cpp

start implementing mode override

forgot a semikolon.

add debug

Finish implementation of mount override and manual control.

fix codestyle

correct cleanup

rename to vmount

works now

fix rebase error

fix polling

refactoring and custom airframe for gimbal

couple changes

remove warnx

almost done

finally

What is going on?

change back to actuator_controls_2

working

bump parameter version number and some clarification

fix submodules
2016-09-06 11:33:18 +02:00
Lorenz Meier 3aa66da20f Build serdis / sercon with size optimization 2016-09-04 21:44:30 +02:00
Lorenz Meier 07966de432 Build serdis / sercon with size optimization 2016-09-04 21:43:44 +02:00
Dennis Shtatnov c842b0457f Syslink for battery, RSSI, and initial radio control 2016-09-04 19:12:08 +02:00
Dennis Shtatnov e6b98b2ab8 Tweak configs for CF2
Fix build error

Capitalization mistake for headers

Non-Mac compiler issue

Baudrate for crazyflie nrf and fix code style

Save space

Cleanup mpu9250 driver
2016-09-04 19:12:08 +02:00
Dennis Shtatnov 5100785f51 MPU9250 I2C mode
Fixes for other boards

Functioning sensors
2016-09-04 19:12:08 +02:00
Dennis Shtatnov 9c8e56401b Working motors and mtd for CF2 2016-09-04 19:12:08 +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 25182108f9 Ensure NuttX build depends on defconfig 2016-08-27 12:56:31 +02:00
mazahner 73014acf97 Only Compile and create dependencies for the Messages specified in msg/CMakeLists.txt
this lets a user select what msgs should be compiled for his project
Care must be taken though, to compile all orb_topcis that are required by the Rest of the Code.
Otherwise many compile errors will occur.

This commits adds by default the ./msg include path to reference to other msgs.
if an exisiting msg is used in another msg.
2016-08-25 22:30:13 +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
James Goppert 818840b576 Path cleanup, low impact changes (#5340)
* Low impact changes from path_cleanup branch.

This is a step towards minimizing the diff with path_cleanup branch.

* Update ecl.

* Revert matrix update.

* Revert ecl and matrix.

* Update sitl gazebo.

* Revert sitl_gazebo and matrix changes.
2016-08-18 15:37:23 -04:00
Hidenori 211c2b9ca6 Rename clang toolchain file 2016-08-18 16:11:05 +02:00
Hidenori a8d3b15d73 RPi: add clang & clang-check support 2016-08-18 16:11:05 +02:00
Lorenz Meier 9f9c51eab3 Fix MPU6500 devtype define 2016-08-16 23:32:44 +02:00
Lorenz Meier 90b5fcc1ec Strip tone alarm 2016-08-15 10:49:43 +02:00
Lorenz Meier 5678b4cc83 Enable RC lib 2016-08-12 13:55:16 +02:00
David Sidrane e8ae0fe13c Made the MPU6000 driver a highbread using both hrt for SPI or workqueue for I2C 2016-08-07 11:15:48 +02:00
Lorenz Meier 58135d892b Sync estimator CMake configs for all boards 2016-08-07 10:40:17 +02:00
Lorenz Meier a73d5037f2 Fix FMUv4 build 2016-08-07 10:40:17 +02:00
Lorenz Meier 148b6e6135 Update CMake config paths 2016-08-07 10:40:17 +02:00
Hidenori 3049b9af01 Navio2: add support for GPIO and RGBLED 2016-08-06 20:47:55 +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
Michael Schaeuble 8566cabd76 Make some code-style fixes 2016-08-05 10:15:11 +02:00
Michael Schaeuble e600e29ea4 Add DF wrapper for AK8963 2016-08-05 10:15:11 +02:00
Vasily Evseenko 49844f52d5 Fix SF10a driver. Add support for SF11c and rename to SF1xx 2016-08-04 15:09:33 +02:00
Beat Küng ad2a13dcc8 cmake TAP config: add topic_listener 2016-07-29 14:50:03 +02:00
Lorenz Meier fa421a91e2 Add missing teest targets for MindPX 2016-07-29 14:10:44 +02:00
Lorenz Meier 6ab9dc0acf Testing cleanup from Daniel Agar 2016-07-29 13:49:14 +02:00
James Goppert b6a9ff756c Rename mainapp to px4. 2016-07-29 11:05:01 +02:00
Julian Oes 83feb83fe2 cmake: don't build load_mon for POSIX/QURT 2016-07-26 09:58:12 +02:00
Henry Zhang 2b93f16118 mindpx-v2: build topic_listener, sd_bench, tests, motor_ramp. 2016-07-22 11:16:18 +02:00
Michael Schaeuble 1fc8e38157 Fix incorrect indentation 2016-07-22 09:21:55 +02:00
Michael Schaeuble d94bdb0829 Add missing defines for Bebop sensor drivers 2016-07-22 09:21:55 +02:00
Beat Küng 03b3bfa98d tap: add the motor_test command to the build config 2016-07-20 14:04:15 +02: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
Julian Oes f241518d0e RPi2: bring default and release cmake in sync
The two cmake files for default and release where out of
sync. This change bases them on a common cmake file.
2016-07-16 15:51:00 +01:00
David Sidrane 33e4f38d82 Add GPS and Compass (#5066) 2016-07-14 08:26:40 -10:00
David Sidrane e2a6ae676f More complete IO init (#5065) 2016-07-14 07:32:11 -10:00
Daniel Agar ebce725720 px4fmu-v2 disable motor_ramp 2016-07-12 23:36:05 +02:00
Beat Küng f8382a2713 upload scripts: add TAP for the uploader script 2016-07-12 16:00:33 +02:00
Beat Küng db13ac4c53 posix_sitl_default.cmake: add -DORB_USE_PUBLISHER_RULES if it's a replay build 2016-07-11 09:25:16 +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
Beat Küng 28ad6066aa replay: add replay module, build for sitl_default, but do not load on startup
This adds a new module that does:
- read an parse an ULog file, given via ENV variable 'replay'
- apply all parameters from the log file
- read and apply user-defined override parameters from a file
- publish all messages in 'real-time' from the log file and add a constant
  offset to the timestamp to match the system time.
- apply changed parameters in the log (which are not overridden)
2016-07-07 12:51:42 +02:00
Lorenz Meier 332f669d9b Add tap-v1 config 2016-07-06 13:34:35 +02:00
Hidenori ee58188162 Split Navio2 specific parts from general RPI2 files
For Navio2, make posix_navio2_release and use navio2.config.
2016-07-01 23:08:17 +02:00
Hidenori 506d1855ff rename files and add navio target 2016-07-01 23:08:17 +02:00
Hidenori 76ee17e532 RC input and PWM output for Navio2 2016-07-01 23:08:17 +02:00
Lorenz Meier a0fdfb0c21 Strip ESC calib commandline tool 2016-07-01 18:23:08 +02:00
Lorenz Meier 8162300522 Switch fixed wing to EKF2. Does not link yet. 2016-07-01 18:09:20 +02:00
Beat Küng 8a12dee125 cmake: remove all module.mk files & cmake conversion script (#4918)
It seems these files are leftovers.
2016-06-28 09:26:36 +02:00
Daniel Agar 050eedc4f8 mavlink publish WIND_COV (#4913)
* mavlink publish WIND_COV

-closes #4678

* px4fmu-v2_default disable logger and sync configs
2016-06-27 16:16:24 +02:00
Julian Oes 8b8766e840 RPi2: put drivers back in 2016-06-25 12:00:49 +02:00
Hidenori ef729ab2d8 MS5611 driver wrapper for RPi 2016-06-25 12:00:49 +02:00
Lorenz Meier d49598b8b3 Build SF10A on FMUv4 2016-06-24 10:31:28 +02:00
Lorenz Meier de1c865881 Move TAP ESC to FMUv4 to save flash on FMUv2 2016-06-24 00:08:24 +02:00
Lorenz Meier 1f8b75c9f3 Enable it in build 2016-06-24 00:08:24 +02:00
Daniel Agar 3f3a44fec5 cmake status message if MEMORY_DEBUG enabled 2016-06-22 13:51:39 +02:00
Andreas Antener 0581f1af52 added motor_ramp to fmu v4 2016-06-20 20:24:46 +02:00
Andreas Antener fabb37975d added motor_ramp to v2 config 2016-06-20 20:24:45 +02:00
Andreas Antener 1aeb139157 added motor ramp app, draft impl 2016-06-20 20:24:45 +02:00
Michael Schaeuble f95f37cb7b Update to DF commit with the MS5607 driver 2016-06-20 12:55:01 +02:00
Michael Schaeuble cc0d28e59b Update DF to include the MS5607 driver 2016-06-20 12:55:01 +02:00
Michael Schaeuble 847562f5d7 Don't build px4_simple_app anymore 2016-06-20 12:55:01 +02:00
Michael Schaeuble 52d8723d55 Add df_ms5607_wrapper (a renamed copy from BMP280) 2016-06-20 12:55:01 +02:00
Michael Schaeuble 696a378120 Add modules and commands to bebop build 2016-06-20 12:55:01 +02:00
Michael Schaeuble 9933494d53 Add parrot bebop build structure 2016-06-20 12:55:01 +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
Julian Oes 224b20b3e4 cmake_hexagon: updated submodule (#4756)
This contains the latest fixes for the SDK 3.0.
2016-06-07 11:19:44 +02:00
Julian Oes eea102f63d cmake: POSIX/RPi build don't need patch/genromfs (#4733) 2016-06-05 12:02:13 +02:00
Kartik Mohta 5e00155e03 Update cmake/cmake_hexagon
New updates required to use the Hexagon SDK v3.0 from Qualcomm
2016-06-05 09:05:09 +02:00
Mark Charlebois ec620ecc14 Updated cmake_hexagon for SDK 2.0 support
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Mark Charlebois cc15785091 Updated cmake_hexagon
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Mark Charlebois bea416e117 Updated cmake_hexagon for support of required posix build headers
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Mark Charlebois 30a3311fe6 Fixed qurt_eagle_travis build
Added missing stub function and added SDK 2 and 3 support.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Mark Charlebois 02e3f28d87 Added back support for SDK 2.0 as well as 3.0
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
Mark Charlebois 6ac0eabb5a Changes required to support Hexagon SDK 3.0
The inc and lib directories were renamed to incs and libs.

This requires an updated cmake_hexagon and come changes to qurt paths in
PX4.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-06-01 23:50:28 +02:00
jwilson c6250657eb Added mag support to the DriverFramework mpu9250 driver. Shortened parameter names for legacy drivers. Added temporary ifdef's in the calibration code for Snapdragon Flight builds.
Signed-off-by: jwilson <jwilson@qti.qualcomm.com>
2016-05-31 16:43:12 +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
Julian Oes 95a7057768 cmake: fix merge mistake 2016-05-30 15:26:02 +01:00
Lorenz Meier 4a0d7808a5 Remove LPE config 2016-05-29 16:34:23 +02:00
Lorenz Meier aa961c8d28 FMUv2: Allow LPE config 2016-05-29 16:28:15 +02:00
Mark Charlebois af1e20a1d0 Added fc_addon uart_esc support
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-05-28 14:06:14 +02:00
Mark Charlebois 0b3cd3d008 Restored cmake/configs/qurt_sdflight_default.cmake
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-05-28 14:05:45 +02:00
Mark Charlebois b8c22718af Added build of rc_receiver to qurt_eagle_legacy_driver_default
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-05-28 14:05:45 +02:00
Mark Charlebois 6f8f8279b7 Added support for fc_addon drivers
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2016-05-28 14:05:45 +02:00
Lorenz Meier b412980f90 Enable top in SITL 2016-05-28 12:10:19 +02:00
Julian Oes 9d489b9b0f Snapdragon: rename uart_esc to pwm_out_rc_in
The name uart_esc was initially taken by Qualcomm's UART ESC driver but
then got changed into the current mavlink ESC/RC helper. Since the
uart_esc is still around, we should prevent the names clashing.
2016-05-28 11:42:12 +02:00
Lorenz Meier ff5a481c34 Remove unneeded EKF2 configs 2016-05-28 11:34:08 +02:00
Lorenz Meier 1d3669714b EKF2 config: Do not build other estimators 2016-05-22 14:28:07 +02:00
Daniel Agar 5be1f3a856 ASan use normal optimization (MEMORY_DEBUG=1)
- see #4530
2016-05-22 10:27:29 +02:00
Henry Zhang 4495eafbf4 MindPXFMUv2 add lpe/ekf2/load_mon. 2016-05-21 11:00:21 +02:00
Daniel Agar 7badf645b3 fix missing stack check instrument_flags (#4593) 2016-05-20 21:17:54 -04:00
Daniel Agar 5da9e7e653 cmake nuttx copy with rsync 2016-05-19 21:49:34 +02:00
Daniel Agar 0afcfd9fab px4fmu-v4 add lpe 2016-05-19 21:49:34 +02:00
Daniel Agar 206d5a7afc sync px4fmu-v2_default and px4fmu-v2_test 2016-05-19 21:49:34 +02:00
Daniel Agar b0b2cfaa65 cmake nuttx stackcheck fix for current master 2016-05-19 21:49:34 +02:00
Daniel Agar 7cf8b3ea1b sync posix_sitl_default and posix_sitl_test 2016-05-19 21:49:34 +02:00
Daniel Agar 2487dbfc92 remove Wpacked and cleanup unused warning flags 2016-05-19 21:49:34 +02:00
David Sidrane 4e26c7fcd4 Use the value of nuttx CONFIG_ARMV7M_STACKCHECK to configure PX4 build for HW stack checking 2016-05-19 21:49:34 +02:00
Lorenz Meier be92040fe9 FMUv2: Do not build BMI160 2016-05-19 21:10:27 +02:00
Lorenz Meier 1775435ee5 v2 test config: Disable a couple unnecessary parts 2016-05-19 20:13:32 +02:00
Kabir Mohammed e185352f56 Add RPI2 definitions for DF 2016-05-19 15:41:50 +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
Daniel Agar c57bc26d5b fully restore px4fmu-v2_lpe 2016-05-14 11:27:07 +02:00
Beat Küng 408f299dbb cmake px4fmu-v2_test: disable sdlog2 (avoids flash overflow) 2016-05-14 11:27:07 +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 69c1ce1714 WIP logger serialization 2016-05-14 11:27:07 +02:00
Daniel Agar 4e0129275d new logger 2016-05-14 11:27:07 +02:00
Daniel Agar 76387b1693 uorb autogeneration 2016-05-14 11:27:07 +02:00
Julian Oes 920d2ef1e8 posix sdflight: add navigator to Linux side 2016-05-14 11:21:44 +02:00
Daniel Agar a4c7fe50a7 travis-ci proper git version 2016-05-13 22:10:35 +02:00
Lorenz Meier 7c7d94e3dc Build LPE in all configs 2016-05-13 22:04:28 +02:00
Lorenz Meier 29d6c95ec4 FMUv4: Build all Bosch drivers so they get built at least for one target 2016-05-13 15:02:58 +02:00
Daniel Agar adfe946f72 sync test with default equivalents 2016-05-13 13:01:42 +02:00
Daniel Agar 97fd951d4a cleanup after rebase 2016-05-13 13:01:42 +02:00
Daniel Agar 701d177e23 px4fmu-v2_test don't build frsky_telemetry, gimbal, and snapdragon_rc_pwm 2016-05-13 13:01:42 +02:00