Commit Graph

87 Commits

Author SHA1 Message Date
Daniel Agar b1d3bb0403 stop ignoring Wmissing-field-initializers and fix (#9912) 2018-07-22 12:45:52 -04:00
Daniel Agar 9ce83f2208 fix all sign-compare warnings 2018-07-01 09:36:55 +00:00
Daniel Agar cf74166801 double promotion warning fix or ignore per module 2018-07-01 09:36:55 +00:00
Daniel Agar 222a91c6be mathlib delete Matrix, Quaternion, Vector 2018-05-23 17:27:09 -04:00
Daniel Agar 2e92484325 ecl update to latest master with separate libraries (#9406) 2018-05-03 23:48:09 -04:00
Martina Rivizzigno 41b0db2860 vmount: input_mavlink point gimbal towards current triplet instead of next (#9405) 2018-05-03 12:26:04 -04:00
Daniel Agar ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Daniel Agar 29b3950747 move geo and geo_lookup to PX4/ecl 2018-03-26 23:16:55 -04:00
Beat Küng a0372c6183 vmount: implement VEHICLE_CMD_DO_SET_ROI_WPNEXT_OFFSET 2018-03-19 09:42:41 +01:00
Beat Küng cc777a80ff vehicle_roi.msg: remove unsupported fields 2018-03-19 09:42:41 +01:00
Nicolas de Palezieux 0fd043af01 vmount: compute gimbal yaw setpoint relative to vehicle yaw 2018-01-22 15:56:42 +01:00
Lorenz Meier d8164377a8 Navigator: Move mission param into mission params
This is important for the compile scope.
2018-01-22 15:56:42 +01:00
Nicolas de Palezieux 7ae3884944 heading towards ROI: do not require setting the MIS_YAWMODE param to enable multicopters yawing towards ROIs
ROI yaw control: configure yawing capability of mount in vmount parameters.
If configured that mount has no yaw control, vehicle will yaw towards ROI, irrespective of MIS_YAWMODE.
Vehicle will behave according to MIS_YAWMODE when there is no ROI.
2018-01-22 15:56:42 +01:00
Beat Küng 99c9e09624 vmount mavlink input: continue to poll for vehicle_command until reaching the timeout
or receiving a command that we need to handle. This makes sure that we
don't drop commands, when the output mode is set to mavlink (in that case
the input topic is rate-limited, and each input change results in a
vehicle_command publication, which results in queueing up orb items if we
get vehicle_commands from other sources too).
2018-01-21 15:41:30 +01:00
Beat Küng 5a189f3c4a vmount mavlink input: rate-limit vehicle_command topic 2018-01-21 15:41:30 +01:00
Beat Küng 48edaa7ef6 vmount: remove output rate-limiting
It causes missed input changes.
This reverts 73d23742ea.
2018-01-21 15:41:30 +01:00
Beat Küng 5e826eaa27 Revert "vmount: fix new input getting lost in throttling"
This reverts commit b7404ad6c1.
2018-01-21 15:41:30 +01:00
Julian Oes b7404ad6c1 vmount: fix new input getting lost in throttling
This fixes the case where a new gimbal input gets lost in the output
throttling.

This is required because an input is potentially set only once and
then not computed again. In the failure case, control_data is set
to nullptr in subsequent calls and therefore not used for the output
calculation ever.
2018-01-18 11:09:17 +01:00
Julian Oes b468551b6c vmount: remove mavlink dependency
Let's just hardcode 0 because we don't want to include the mavlink
headers just for this.
2018-01-18 11:09:17 +01:00
Julian Oes 3adb389b7c vmount: don't ignore commands to all component ids
This resolves the case where a gimbal command assembled by
QGroundControl is rejected because the component id is set to 0 (for
all) and the component id of the vehicle is e.g. 1.
2018-01-18 11:09:17 +01:00
Daniel Agar 14fefca85e vmount delete InputTest on error
- fixes CID 139488
2017-10-31 08:12:12 +01:00
Daniel Agar 0931efb3f0 vmount initialize params
- fixes CID 199479
2017-10-31 08:12:12 +01:00
Matthew Dailey bcb8852c99 Use fabsf instead of fabs for floats 2017-10-29 12:57:10 +01:00
Matthew Dailey e95410882b Fix type of MNT_OB_LOCK_MODE and MNT_OB_NORM_MODE parameters
Fixes issue #8178
2017-10-29 12:57:10 +01:00
Matthew Edwards 335c319b2e vmount: Use MNT_DO_STAB parameter for defaults in InputMavlinkCmdMount as well. 2017-10-25 11:30:31 +02:00
Matthew Edwards fdf4eb0bd6 vmount: Store offset in radians and calculated scale factor in OutputConfig instead of raw parameters. 2017-10-25 11:30:31 +02:00
Matthew Edwards 2f40bc3a78 vmount: Add parameters for servo range and offset and whether to stabilize (#8120).
Adds MNT_DO_STAB for whether to stabilize by default.
Adds MNT_RANGE_{PITCH,ROLL,YAW} for the output range of each output channel in AUX mode (instead of hardcoded 360 degrees).
Adds MNT_OFF_{PITCH,ROLL,YAW} for adjusting the zero point of each output channel.
2017-10-25 11:30:31 +02:00
Daniel Agar 3c18be387c ROI - move handling to navigator (#7939) 2017-09-26 12:25:02 -04:00
Julian Oes 98de8c85a4 vmount: accept mavlink input from [0..360] degrees
This enables mavlink user input not only in the range of [-180..180]
degrees but also [0..360] degrees.
2017-09-15 14:41:07 +02:00
Daniel Agar e15afcca7a vehicle_command commands are uint16, not uint32 2017-09-08 09:06:30 +02:00
Daniel Agar 9b5fe8c476 ignore -Wsign-compare per module 2017-09-07 10:27:36 +02:00
Daniel Agar f282f50cff vmount run at default priority 2017-08-23 08:06:20 +02:00
José Roberto de Souza 4462869432 Add support to new fields in command_ack 2017-08-19 09:04:52 +02:00
Beat Küng 236021cc01 vmount mavlink input: fix polling for position_setpoint_triplet
The code was violating the rule 'every successfull poll must be followed
by an orb_copy'.
The result was a busy loop.
2017-08-17 07:47:48 +02:00
Nicolas de Palezieux 55a2930cdb vmount: reduce stack size to 1900 as recommended by @bkueng (maximum used memory observed: 1552) 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux b702daf40e vmount: virtual destructor 2017-08-11 14:37:48 +02:00
Nicolas de Palezieux c3faf587cc vmount: make the parameter descriptions a little nicer 2017-08-11 14:37:48 +02:00
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