// Constructor AP_Motors::AP_Motors( RC_Channel* rc_roll, RC_Channel* rc_pitch, RC_Channel* rc_throttle, RC_Channel* rc_yaw, uint16_t speed_hz ) : _rc_roll(rc_roll), _rc_pitch(rc_pitch), _rc_throttle(rc_throttle), _rc_yaw(rc_yaw), _speed_hz(speed_hz), _armed(false), _frame_orientation(0), _min_throttle(AP_MOTORS_DEFAULT_MIN_THROTTLE), _max_throttle(AP_MOTORS_DEFAULT_MAX_THROTTLE), _hover_out(AP_MOTORS_DEFAULT_MID_THROTTLE) { uint8_t i; AP_Param::setup_object_defaults(this, var_info); // initialise motor map #if CONFIG_HAL_BOARD == HAL_BOARD_APM1 set_motor_to_channel_map(APM1_MOTOR_TO_CHANNEL_MAP); #else set_motor_to_channel_map(APM2_MOTOR_TO_CHANNEL_MAP); #endif // clear output arrays for(i=0; i<AP_MOTORS_MAX_NUM_MOTORS; i++) { motor_out[i] = 0; } };
// Constructor AP_Motors::AP_Motors( uint8_t APM_version, APM_RC_Class* rc_out, RC_Channel* rc_roll, RC_Channel* rc_pitch, RC_Channel* rc_throttle, RC_Channel* rc_yaw, uint16_t speed_hz ) : _rc(rc_out), _rc_roll(rc_roll), _rc_pitch(rc_pitch), _rc_throttle(rc_throttle), _rc_yaw(rc_yaw), _speed_hz(speed_hz), _armed(false), _auto_armed(false), _frame_orientation(0), _min_throttle(AP_MOTORS_DEFAULT_MIN_THROTTLE), _max_throttle(AP_MOTORS_DEFAULT_MAX_THROTTLE) { uint8_t i; top_bottom_ratio = AP_MOTORS_TOP_BOTTOM_RATIO; // initialise motor map if( APM_version == AP_MOTORS_APM1 ) { set_motor_to_channel_map(APM1_MOTOR_TO_CHANNEL_MAP); } else { set_motor_to_channel_map(APM2_MOTOR_TO_CHANNEL_MAP); } // clear output arrays for(i=0; i<AP_MOTORS_MAX_NUM_MOTORS; i++) { motor_out[i] = 0; } };