mirror of https://github.com/ArduPilot/ardupilot
161 lines
5.4 KiB
C++
161 lines
5.4 KiB
C++
#include "AP_Mount_Params.h"
|
|
#include <GCS_MAVLink/GCS_MAVLink.h>
|
|
|
|
// table of user settable parameters
|
|
const AP_Param::GroupInfo AP_Mount_Params::var_info[] = {
|
|
|
|
// 0 should not be used
|
|
|
|
// @Param: _TYPE
|
|
// @DisplayName: Mount Type
|
|
// @Description: Mount Type
|
|
// @Values: 0:None, 1:Servo, 2:3DR Solo, 3:Alexmos Serial, 4:SToRM32 MAVLink, 5:SToRM32 Serial, 6:Gremsy, 7:BrushlessPWM
|
|
// @RebootRequired: True
|
|
// @User: Standard
|
|
AP_GROUPINFO_FLAGS("_TYPE", 1, AP_Mount_Params, type, 0, AP_PARAM_FLAG_ENABLE),
|
|
|
|
// @Param: _DEFLT_MODE
|
|
// @DisplayName: Mount default operating mode
|
|
// @Description: Mount default operating mode on startup and after control is returned from autopilot
|
|
// @Values: 0:Retracted,1:Neutral,2:MavLink Targeting,3:RC Targeting,4:GPS Point,6:Home Location
|
|
// @User: Standard
|
|
AP_GROUPINFO("_DEFLT_MODE", 2, AP_Mount_Params, default_mode, MAV_MOUNT_MODE_RC_TARGETING),
|
|
|
|
// @Param: _RC_RATE
|
|
// @DisplayName: Mount RC Rate
|
|
// @Description: Pilot rate control's maximum rate. Set to zero to use angle control
|
|
// @Units: deg/s
|
|
// @Range: 0 90
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
AP_GROUPINFO("_RC_RATE", 3, AP_Mount_Params, rc_rate_max, 0),
|
|
|
|
// @Param: _ROLL_MIN
|
|
// @DisplayName: Mount Roll angle minimum
|
|
// @Description: Mount Roll angle minimum
|
|
// @Units: deg
|
|
// @Range: -180 180
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
AP_GROUPINFO("_ROLL_MIN", 4, AP_Mount_Params, roll_angle_min, -30),
|
|
|
|
// @Param: _ROLL_MAX
|
|
// @DisplayName: Mount Roll angle maximum
|
|
// @Description: Mount Roll angle maximum
|
|
// @Units: deg
|
|
// @Range: -180 180
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
AP_GROUPINFO("_ROLL_MAX", 5, AP_Mount_Params, roll_angle_max, 30),
|
|
|
|
// @Param: _PITCH_MIN
|
|
// @DisplayName: Mount Pitch angle minimum
|
|
// @Description: Mount Pitch angle minimum
|
|
// @Units: deg
|
|
// @Range: -90 90
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
AP_GROUPINFO("_PITCH_MIN", 6, AP_Mount_Params, pitch_angle_min, -90),
|
|
|
|
// @Param: _PITCH_MAX
|
|
// @DisplayName: Mount Pitch angle maximum
|
|
// @Description: Mount Pitch angle maximum
|
|
// @Units: deg
|
|
// @Range: -90 90
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
AP_GROUPINFO("_PITCH_MAX", 7, AP_Mount_Params, pitch_angle_max, 20),
|
|
|
|
// @Param: _YAW_MIN
|
|
// @DisplayName: Mount Yaw angle minimum
|
|
// @Description: Mount Yaw angle minimum
|
|
// @Units: deg
|
|
// @Range: -180 180
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
AP_GROUPINFO("_YAW_MIN", 8, AP_Mount_Params, yaw_angle_min, -180),
|
|
|
|
// @Param: _YAW_MAX
|
|
// @DisplayName: Mount Yaw angle maximum
|
|
// @Description: Mount Yaw angle maximum
|
|
// @Units: deg
|
|
// @Range: -180 180
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
AP_GROUPINFO("_YAW_MAX", 9, AP_Mount_Params, yaw_angle_max, 180),
|
|
|
|
// @Param: _RETRACT_X
|
|
// @DisplayName: Mount roll angle when in retracted position
|
|
// @Description: Mount roll angle when in retracted position
|
|
// @Units: deg
|
|
// @Range: -180.0 180.0
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
|
|
// @Param: _RETRACT_Y
|
|
// @DisplayName: Mount pitch angle when in retracted position
|
|
// @Description: Mount pitch angle when in retracted position
|
|
// @Units: deg
|
|
// @Range: -180.0 180.0
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
|
|
// @Param: _RETRACT_Z
|
|
// @DisplayName: Mount yaw angle when in retracted position
|
|
// @Description: Mount yaw angle when in retracted position
|
|
// @Units: deg
|
|
// @Range: -180.0 180.0
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
AP_GROUPINFO("_RETRACT", 10, AP_Mount_Params, retract_angles, 0),
|
|
|
|
// @Param: _NEUTRAL_X
|
|
// @DisplayName: Mount roll angle when in neutral position
|
|
// @Description: Mount roll angle when in neutral position
|
|
// @Units: deg
|
|
// @Range: -180.0 180.0
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
|
|
// @Param: _NEUTRAL_Y
|
|
// @DisplayName: Mount pitch angle when in neutral position
|
|
// @Description: Mount pitch angle when in neutral position
|
|
// @Units: deg
|
|
// @Range: -180.0 180.0
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
|
|
// @Param: _NEUTRAL_Z
|
|
// @DisplayName: Mount yaw angle when in neutral position
|
|
// @Description: Mount yaw angle when in neutral position
|
|
// @Units: deg
|
|
// @Range: -180.0 180.0
|
|
// @Increment: 1
|
|
// @User: Standard
|
|
AP_GROUPINFO("_NEUTRAL", 11, AP_Mount_Params, neutral_angles, 0),
|
|
|
|
// @Param: _LEAD_RLL
|
|
// @DisplayName: Mount Roll stabilization lead time
|
|
// @Description: Servo mount roll angle output leads the vehicle angle by this amount of time based on current roll rate. Increase until the servo is responsive but does not overshoot
|
|
// @Units: s
|
|
// @Range: 0.0 0.2
|
|
// @Increment: .005
|
|
// @User: Standard
|
|
AP_GROUPINFO("_LEAD_RLL", 12, AP_Mount_Params, roll_stb_lead, 0.0f),
|
|
|
|
// @Param: _LEAD_PTCH
|
|
// @DisplayName: Mount Pitch stabilization lead time
|
|
// @Description: Servo mount pitch angle output leads the vehicle angle by this amount of time based on current pitch rate. Increase until the servo is responsive but does not overshoot
|
|
// @Units: s
|
|
// @Range: 0.0 0.2
|
|
// @Increment: .005
|
|
// @User: Standard
|
|
AP_GROUPINFO("_LEAD_PTCH", 13, AP_Mount_Params, pitch_stb_lead, 0.0f),
|
|
|
|
AP_GROUPEND
|
|
};
|
|
|
|
AP_Mount_Params::AP_Mount_Params(void) {
|
|
AP_Param::setup_object_defaults(this, var_info);
|
|
}
|