#include "AP_Mount_Params.h" #include // 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, 8:Siyi, 9:Scripting, 10:Xacti, 11:Viewpro // @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,5:SysID Target,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), // @Param: _SYSID_DFLT // @DisplayName: Mount Target sysID // @Description: Default Target sysID for the mount to point to // @RebootRequired: True // @User: Standard AP_GROUPINFO("_SYSID_DFLT", 14, AP_Mount_Params, sysid_default, 0), // @Param: _DEVID // @DisplayName: Mount Device ID // @Description: Mount device ID, taking into account its type, bus and instance // @User: Advanced AP_GROUPINFO_FLAGS("_DEVID", 15, AP_Mount_Params, dev_id, 0, AP_PARAM_FLAG_INTERNAL_USE_ONLY), // @Param: _OPTIONS // @DisplayName: Mount options // @Description: Mount options bitmask // @Bitmask: 0:RC lock state from previous mode // @User: Standard AP_GROUPINFO("_OPTIONS", 16, AP_Mount_Params, options, 0), AP_GROUPEND }; AP_Mount_Params::AP_Mount_Params(void) { AP_Param::setup_object_defaults(this, var_info); }