// Constructor AP_MotorsMulticopter::AP_MotorsMulticopter(uint16_t loop_rate, uint16_t speed_hz) : AP_Motors(loop_rate, speed_hz), _spool_mode(SHUT_DOWN), _spin_up_ratio(0.0f), _batt_voltage_resting(0.0f), _batt_current_resting(0.0f), _batt_resistance(0.0f), _batt_timer(0), _lift_max(1.0f), _throttle_limit(1.0f), _throttle_thrust_max(0.0f), _disarm_safety_timer(0) { AP_Param::setup_object_defaults(this, var_info); // disable all motors by default memset(motor_enabled, false, sizeof(motor_enabled)); // setup battery voltage filtering _batt_voltage_filt.set_cutoff_frequency(AP_MOTORS_BATT_VOLT_FILT_HZ); _batt_voltage_filt.reset(1.0f); // default throttle ranges (i.e. _throttle_radio_min, _throttle_radio_max) set_throttle_range(1100, 1900); };
// Constructor AP_MotorsMulticopter::AP_MotorsMulticopter(uint16_t loop_rate, uint16_t speed_hz) : AP_Motors(loop_rate, speed_hz), _throttle_rpy_mix_desired(AP_MOTORS_THR_LOW_CMP_DEFAULT), _throttle_rpy_mix(AP_MOTORS_THR_LOW_CMP_DEFAULT), _hover_out(AP_MOTORS_DEFAULT_MID_THROTTLE), _batt_voltage_resting(0.0f), _batt_current_resting(0.0f), _batt_resistance(0.0f), _batt_timer(0), _lift_max(1.0f), _throttle_limit(1.0f) { AP_Param::setup_object_defaults(this, var_info); // disable all motors by default memset(motor_enabled, false, sizeof(motor_enabled)); // setup battery voltage filtering _batt_voltage_filt.set_cutoff_frequency(AP_MOTORS_BATT_VOLT_FILT_HZ); _batt_voltage_filt.reset(1.0f); // default throttle ranges (i.e. _min_throttle, _throttle_radio_min, _throttle_radio_max) set_throttle_range(130, 1100, 1900); };