Commit Graph

50 Commits

Author SHA1 Message Date
Nicolas de Palezieux 281ee5e5af vmount: increase stack size 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux b8d389ca4e vmount: properly unadvertise uorb topics when stopping or re-configuring vmount. Othwerise subsequent advertise calls may fail (only ever witnessed for _mount_orientation_pub) 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux cbe3627b8c vmount: set more sensible default parameters for the mount system and component IDs 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux 89aeea7e8e vmount: publish mount angle commands in proper order and units 2017-08-11 14:37:48 +02:00
Beat Küng 4eb0ffc554 vmount: update control_data if already_active is true
control_data needs to be able to be set to nullptr in case if the input
is already active. Otherwise the output will think there's always new
requests and reset it's state.
2017-08-11 14:37:48 +02:00
Beat Küng 73d23742ea vmount: rate-limit the update of the outputs
This avoids a busy-loop if the input is listening for vehicle commands and
the output publishes vehicle commands.
2017-08-11 14:37:48 +02:00
Beat Küng 923cdbcbfb vmount mavlink input: process commands only if the target matches our sys & comp id 2017-08-11 14:37:48 +02:00
Beat Küng fd05c09447 vmount: fix param types, use int32_t 2017-08-11 14:37:48 +02:00
José Roberto de Souza 925efe990d Initialize all outgoing vehicle_command_ack_s and vehicle_command_s
This will initialize those structs with zero in all fields not set
and all fields set will only be change once to the final value not
wasting CPU time zeroing it.

This will guarantee that no non-unitialized structs will have
a trash value on from_external causing it to be sent to the
MAVLink channel without need it.
2017-08-08 21:46:30 +02:00
Lorenz Meier ef233d29f0 VMount: use correct doube interface 2017-08-01 12:46:59 +02:00
Beat Küng 47073e9c32 vmount: add module documentation 2017-07-14 11:57:11 +02:00
Julian Oes 9854fc0d84 Set timestamp with vehicle commands
The vehicle_command uORB messages had the timestamp unset at 0.
2017-07-08 11:52:23 +02:00
Julien Lecoeur 7929287f73 Fix -Werror=format-truncation on GCC 7
Fix formatting

Check snprintf return for error AND overflow
2017-06-26 15:50:44 +02:00
Julien Lecoeur 06c6a0cdec Fix -Werror=implicit-fallthrough errors on GCC7 2017-06-26 15:50:44 +02:00
Beat Küng f42a626527 vmount: fix null-pointer access if invalid output mode was selected
In case of an invalid output mode, thread_data.output_obj was null.
2017-04-24 16:49:26 +02:00
Lorenz Meier f7469581b9 VMount: Fix interface spec with respect to MAVLink / vehicle command interface 2017-04-23 15:19:41 +02:00
Julian Oes 349a468f81 vmount: add to startup script, disable by default
vmount is now added to the startup script, however, it will only start
if the param MNT_MODE_IN is set to anything but -1.
2017-04-19 16:59:48 +02:00
Beat Küng ed577f705d vmount: set output to Neutral for VEHICLE_ROI_NONE 2017-04-19 16:59:48 +02:00
Beat Küng c20ff1737c vmount: poll only on active input
To reduce latency of the output update when mode is set to auto.
2017-04-19 16:59:48 +02:00
Beat Küng 9ed21afd59 vmount: simplify initialization 2017-04-19 16:59:48 +02:00
Beat Küng 021b808f6c vmount: fix null-pointer access by iterating only over the used objects 2017-04-19 16:59:48 +02:00
Julian Oes 7c0c97ce03 vmount: added commented output printf 2017-04-19 16:59:48 +02:00
Julian Oes f4b1623550 vmount: wrong pointer was passed to update 2017-04-19 16:59:48 +02:00
Julian Oes 87d5b41b84 vmount: fixed wrong index 2017-04-19 16:59:48 +02:00
Julian Oes ec36bdcd10 vmount: always initialize
MNT_MODE_IN 0 now means to automatically check all inputs.
2017-04-19 16:59:48 +02:00
Julian Oes e3d1b7fab4 vmount: _first_time flag wasn't ever reset 2017-04-19 16:59:48 +02:00
Julian Oes 07de797e8d vmount: correctly set control_data output arg
The control_data pointer wasn't correctly set for the cases where there
actually was a change/command.
2017-04-19 16:59:48 +02:00
Julian Oes e1246063e9 vmount: another try to get abs and types right 2017-04-19 16:59:48 +02:00
Julian Oes 702922e677 vmount: _get_aux_value needs to be re-used 2017-04-19 16:59:48 +02:00
Julian Oes c33e46167c vmount: type-promotion fix clang-tidy 2017-04-19 16:59:48 +02:00
Julian Oes a9523155cf vmount: small formatting change 2017-04-19 16:59:48 +02:00
Julian Oes caf69b290a vmount: refactor to auto-select between all inputs
It is not convenient having to change a parameter to change a gimbal
from RC input to mavlink input mode or back. This refactor changes the
behaviour to use whatever is available, RC or mavlink commands.

Once a mavlink command is followed, control can be taken back using RC,
however, this requires a clear stick change.
2017-04-19 16:59:48 +02:00
Daniel Agar 6631e72d6f clang-tidy modernize-redundant-void-arg 2017-02-01 22:15:50 -05:00
Daniel Agar e927f3e040 clang-tidy modernize-use-nullptr 2017-02-01 22:15:50 -05:00
Daniel Agar f0cde91220 astyle src/drivers/vmount 2017-01-29 01:18:32 +01:00
Lorenz Meier 1857a16e90 vmount: Header cleanup, do not build param file 2016-12-27 21:00:51 +01:00
Julian Oes 0109f6f549 update mavlink to master, rename MOUNT_STATUS
The mavlink message MOUNT_STATUS has been renamed to MOUNT_ORIENTATION.

This changes the Firmware code accordingly.
2016-11-28 21:01:22 +01:00
Julian Oes 18d69698a0 vmount: publish mount_status
We need feedback in mavlink about the attitude of the gimbal. Therefore
the gimbal output angles are published in vmount.
2016-11-09 10:23:34 +01:00
Beat Küng a2c493efc7 fix vmount: initialize manual control for mavlink inputs 2016-10-26 08:40:23 +02:00
Lorenz Meier ffe4c77dc9 vmount: Params do not need to be built 2016-10-18 20:50:09 +02:00
Roman 3faaeb06d1 attitude setpoint topic: cleanup of matrix class usage
Signed-off-by: Roman <bapstroman@gmail.com>
2016-10-18 20:46:08 +02:00
Lorenz Meier 873ed17b14 VMount: Do not rely on euler angles 2016-10-18 20:46:08 +02:00
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
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
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 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