stabilize飞行模式下,飞控的油门控制直接来自于遥控器的油门通道。通过遥控器油门---->控制指令(0~1000)--->油门期望值(0~1)。
遥控器油门---->控制指令(0~1000)
int16_t
RC_Channel::pwm_to_range_dz(uint16_t _dead_zone) const
{
///radio_in 遥控器输入值
///radio_min 遥控器最小输入值
///radio_max 遥控器最大输入值
///如果是油门通道,high_in的值是1000
///假设radio_min是1000,radio_max是2000,_dead_zone(死区)是30,则radio_in的范围是(1000,2000),这个函数的返回值也就是控制指令的范围是(-30,1000),正常返回应该是(−30.927835052,1000),但这个函数的除数被除数都是整型,所以舍弃小数点。
int16_t r_in = constrain_int16(radio_in, radio_min.get(), radio_max.get());
if (reversed) {
r_in = radio_max.get() - (r_in - radio_min.get());
}
int16_t radio_trim_low = radio_min + _dead_zone;
if (r_in > radio_trim_low) {
return (((int32_t)(high_in) * (int32_t)(r_in - radio_trim_low)) / (