|
|
|
@ -484,6 +484,12 @@ void Copter::allocate_motors(void)
@@ -484,6 +484,12 @@ void Copter::allocate_motors(void)
|
|
|
|
|
motors = new AP_MotorsTailsitter(copter.scheduler.get_loop_rate_hz()); |
|
|
|
|
motors_var_info = AP_MotorsTailsitter::var_info; |
|
|
|
|
break; |
|
|
|
|
case AP_Motors::MOTOR_FRAME_6DOF_SCRIPTING: |
|
|
|
|
#ifdef ENABLE_SCRIPTING |
|
|
|
|
motors = new AP_MotorsMatrix_6DoF_Scripting(copter.scheduler.get_loop_rate_hz()); |
|
|
|
|
motors_var_info = AP_MotorsMatrix_6DoF_Scripting::var_info; |
|
|
|
|
#endif // ENABLE_SCRIPTING
|
|
|
|
|
break; |
|
|
|
|
#else // FRAME_CONFIG == HELI_FRAME
|
|
|
|
|
case AP_Motors::MOTOR_FRAME_HELI_DUAL: |
|
|
|
|
motors = new AP_MotorsHeli_Dual(copter.scheduler.get_loop_rate_hz()); |
|
|
|
@ -518,8 +524,15 @@ void Copter::allocate_motors(void)
@@ -518,8 +524,15 @@ void Copter::allocate_motors(void)
|
|
|
|
|
const struct AP_Param::GroupInfo *ac_var_info; |
|
|
|
|
|
|
|
|
|
#if FRAME_CONFIG != HELI_FRAME |
|
|
|
|
attitude_control = new AC_AttitudeControl_Multi(*ahrs_view, aparm, *motors, scheduler.get_loop_period_s()); |
|
|
|
|
ac_var_info = AC_AttitudeControl_Multi::var_info; |
|
|
|
|
if ((AP_Motors::motor_frame_class)g2.frame_class.get() == AP_Motors::MOTOR_FRAME_6DOF_SCRIPTING) { |
|
|
|
|
#ifdef ENABLE_SCRIPTING |
|
|
|
|
attitude_control = new AC_AttitudeControl_Multi_6DoF(*ahrs_view, aparm, *motors, scheduler.get_loop_period_s()); |
|
|
|
|
ac_var_info = AC_AttitudeControl_Multi_6DoF::var_info; |
|
|
|
|
#endif // ENABLE_SCRIPTING
|
|
|
|
|
} else { |
|
|
|
|
attitude_control = new AC_AttitudeControl_Multi(*ahrs_view, aparm, *motors, scheduler.get_loop_period_s()); |
|
|
|
|
ac_var_info = AC_AttitudeControl_Multi::var_info; |
|
|
|
|
} |
|
|
|
|
#else |
|
|
|
|
attitude_control = new AC_AttitudeControl_Heli(*ahrs_view, aparm, *motors, scheduler.get_loop_period_s()); |
|
|
|
|
ac_var_info = AC_AttitudeControl_Heli::var_info; |
|
|
|
|