AP_Motors_Class.cpp 代码详解:
- 构造函数关键部分
AP_Motors::AP_Motors(uint16_t speed_hz) :
_speed_hz(speed_hz),
_throttle_filter(),
_throttle_slew(),
_throttle_slew_filter(),
_spool_desired(DesiredSpoolState::SHUT_DOWN),
_spool_state(SpoolState::SHUT_DOWN)
{
_singleton = this;
_throttle_filter.set_cutoff_frequency(0.0f);
_throttle_slew_filter.set_cutoff_frequency(AP_MOTORS_SLEW_FILTER_CUTOFF);
}
- 初始化电机控制频率和滤波器
- 采用单例模式确保全局唯一实例
- 默认状态为关闭(SHUT_DOWN)
- PWM输出核心方法
void AP_Motors::rc_write(uint8_t chan, uint16_t pwm) {
SRV_Channel::Function function = SRV_Channels::get_motor_function(