Commit Graph

12205 Commits

Author SHA1 Message Date
Beat Küng
69865e4e04 vmount: fix mavlink input: angles are given in deg 2016-09-19 08:03:02 +02:00
Beat Küng
ead9b2111c vmount: fix calculation of GPS location to angles 2016-09-19 08:02:27 +02:00
Andreas Antener
5825b8c3e7 Geofence: renamed action on flag, reset only if none of the possible warning actions is set 2016-09-18 21:14:18 +02:00
Lorenz Meier
d98bbd9b82 Fix issue #5501. Link termination now requires param 2 = 10 2016-09-16 11:34:40 +02:00
Julian Oes
4453e4201b navigator/mavlink: fixes for mission item reached message (#5486)
* navigator/mavlink: always send last reached item

Since we can't rely on mavlink that every message arrives, it makes
sense to continuously send the last reached waypoint.

* navigator: don't report reached for takeoff

If a takeoff waypoint has been inserted, we should not report that we
reached a mavlink mission item because we actually have not.
2016-09-13 21:52:28 +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
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
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
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
Dennis Shtatnov
52fdbf4acc Syslink Bridge to Mavlink (#5479) 2016-09-11 11:23:15 +02: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
Bart Slinger
79d8d580b1 Append AUX mixer for HITL simulation (#5457) 2016-09-07 12:09:22 +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
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
44520522ac vmount: make sure the test command works, even if MNT_MODE_IN is 0 2016-09-06 11:39:22 +02:00
Beat Küng
90c7b06152 mavlink hil: add HIL_CONTROLS publication for compatibility (eg. with mavros) 2016-09-06 11:33:18 +02:00
Beat Küng
010c9e937b SITL: switch to HIL_ACTUATOR_CONTROLS mavlink message & add pwm_out_sim support for 16 outputs 2016-09-06 11:33:18 +02:00
Beat Küng
41913c4a80 vmount: fix print status output, adjust stack size, improve error handling 2016-09-06 11:33:18 +02:00
Beat Küng
0a95c447b0 vmount: add 'vmount test' command to set a specific angle 2016-09-06 11:33:18 +02:00
Beat Küng
94dbf358bd vmount: refactor architecture & use C++
This splits vmount into inputs and outputs modules with a small API in
between. It allows for greater flexibility, as any input method can be
combined with any output method. At the same time it is easy to add a new
input or output module.
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
Beat Küng
e6391189bc px4_simple_app: update printf to latest format version 2016-09-06 10:41:46 +02:00
Beat Küng
0da44b7166 posix main: make <data_directory> argument optional, default to CWD 2016-09-06 10:41:36 +02:00
Carlo Wood
4a5eae23a2 Increase stack space on posix 64bit architectures. (#5447)
When running a simulation with, for example,
make posix jmavsim
px4 crashed almost 100% reproducable near start up.

This turned out to be a stack overflow. On gitter
it was suggested that the main reason for this could
be stack sizes, as currently used, assume a 32bit pointer
size and that doubling the stack size for everything
but NuttX would be the Right Thing.

This is the solution that I came up with (it makes
my core dumps disappear).
2016-09-04 23:04:04 +02:00