Commit Graph

19511 Commits

Author SHA1 Message Date
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 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 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
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
Andreas Antener 6c7e5651ce Geofence: moved rtl_on reset up so it always happens when falling out of RTL 2016-09-13 14:32:01 +02:00
Andreas Antener 5a7046027c added rattitude to geofence exit condition 2016-09-13 14:32:00 +02:00
Andreas Antener a59038e3cb Geofence: fix reset after violation and also if RTL/Loiter switches are not assigned 2016-09-13 14:32:00 +02:00
Roman ab4731a99f fw_pos_control_l1: for tailsitters we need to rotate the body acceleration
vector as it has it's reference in the mc frame

Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-13 14:32:00 +02:00
Andreas Antener e1e410783a tailsitter: correctly use roll/pitch inputs when optimal recovery is enabled 2016-09-13 14:32:00 +02:00
Andreas Antener 8c9f4e8ab8 added which transition the vtol is in to vehicle status 2016-09-13 14:32:00 +02:00
Andreas Antener 46105f735e finish back transition when a mode change from manual to auto happens during the back transition 2016-09-13 14:32:00 +02:00
Andreas Antener c6e4926d4e prevent instant transition to fixed-wing while already in back transition, prevents unsafe flying state 2016-09-13 14:32:00 +02:00
Beat Küng 670697b0ac fw_att_control_main: fix implicit float to double conversion issue
GCC 6.1.1 output:
../src/modules/fw_att_control/fw_att_control_main.cpp:884:41: error:
implicit conversion from ‘float’ to ‘double’ to match other operand of
binary expression [-Werror=double-promotion]
2016-09-13 11:43:22 +02:00
Daniel Agar 31ddf6bdd9 sitl_run.sh use full path to jmavsim_run.sh 2016-09-13 11:30:38 +02:00
Beat Küng e7afecb544 Tools: add separate jmavsim_run.sh script
It is useful to run jmavsim separately, for example when debugging mainapp
separately, or running some other external tool on mainapp (like heap
analysis)
2016-09-13 11:30:38 +02:00
Lorenz Meier 7d7e40f594 UAVCAN: Adjust stack size to platform 2016-09-11 20:07:30 +02:00
Lorenz Meier 29d33a12dc Simulator: Adjust way too small task stack 2016-09-11 20:07:30 +02:00
Lorenz Meier f815d9fa74 sdlog2: Adjust writer stack size 2016-09-11 20:07:30 +02:00
Lorenz Meier 1c2b932cf8 MAVLink receiver: Adjust stack size 2016-09-11 20:07:30 +02:00
Lorenz Meier bb48787811 Logger: Adjust pthread stack size 2016-09-11 20:07:30 +02:00
Lorenz Meier 9a8e6de7fe EKF2: Remove QuRT hackery 2016-09-11 20:07:30 +02:00
Lorenz Meier c52c692c4f Commander: Adjust pthread stack size for platform 2016-09-11 20:07:30 +02:00
Lorenz Meier 5b69e58925 Provide macros and extensions to the task spawn command to set the stack sizes right 2016-09-11 20:07:30 +02:00
Simon Wilks efd64e2cd2 Update the title metadata and gains after some tuning flights. (#5480) 2016-09-11 18:46:00 +02:00
Dennis Shtatnov 52fdbf4acc Syslink Bridge to Mavlink (#5479) 2016-09-11 11:23:15 +02:00
Daniel Agar 446f8e3a36 make quick_check even quicker 2016-09-09 18:50:51 -04:00
James Goppert d5c96ec66a LPE rate and stddev changes for mocap/vision. (#5467) 2016-09-07 23:56:10 +00:00
James Goppert 76c2d92b7e Fix for lpe accel bias saturation. (#5466)
* Fix for lpe accel bias saturation.

* Formatting.
2016-09-07 23:53:50 +00:00
Andreas Antener 3163cf90c9 FW: simplified flap/flaperon logic and always move them at the same rate (don't jump) 2016-09-07 19:29:32 +02:00
Beat Küng be4db3c5df vehicle_command topic: use uorb queuing with length 3
Just to make sure we don't lose any messages.
2016-09-07 18:47:12 +02:00
James Goppert c1b73a068e qavr tuning 2016-09-07 10:26:12 -04:00
Lorenz Meier f34a56999f Remove SRF02 driver to make flash space 2016-09-07 13:29:41 +02:00
Bart Slinger 79d8d580b1 Append AUX mixer for HITL simulation (#5457) 2016-09-07 12:09:22 +02: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
Michael Schaeuble 93201835d3 Fix code style 2016-09-07 08:24:08 +02:00
Michael Schaeuble 57fee8b9de Update DF submodule 2016-09-07 08:24:08 +02:00
Michael Schaeuble 1fac4c4874 Improve code documentation and code cleanup 2016-09-07 08:24:08 +02:00
Michael Schaeuble 40bf8f75d6 Add Bebop mixer and controller gains 2016-09-07 08:24:08 +02:00
Michael Schaeuble ad8f51f662 Update PX4 config to new functionality 2016-09-07 08:24:08 +02:00
Michael Schaeuble d84a325010 Integrate DF BebopBus into the wrapper 2016-09-07 08:24:08 +02:00
Michael Schaeuble 5d3e9df731 Add DF wrapper for BebopBus driver 2016-09-07 08:24:08 +02:00
Miguel Arroyo 8dfbb43e00 Adds Navio Kill Switch Logic (#5461) 2016-09-07 08:17:41 +02:00
Andreas Antener 06bfecd829 Geofence: use correct types for float params 2016-09-07 08:05:28 +02:00
Andreas Daniel Antener 9ea4c33ede Battery: directly evaluate critical battery state if set, wait longer for USB detection to happen (#5460) 2016-09-07 07:26:06 +02:00
Lorenz Meier e011a528eb Enable a workaround for #5438 (#5450)
* Enable a workaround for #5438

* Disable Travis Slack integration

* Fix formatting
2016-09-06 23:34:02 +02:00
Beat Küng 78df9de4c4 update jmavsim submodule 2016-09-06 16:25:13 +02:00
Beat Küng 9c0380c31d update jmavsim submodule 2016-09-06 15:58:48 +02:00
Beat Küng 44520522ac vmount: make sure the test command works, even if MNT_MODE_IN is 0 2016-09-06 11:39:22 +02:00
Lorenz Meier 3f07b03911 SITL: Tune standard VTOL to have better position control performance & update gazebo 2016-09-06 11:35:52 +02:00