// read input from APM_RC - create a control_in value void RC_Channel::set_pwm(int16_t pwm) { radio_in = pwm; if (_type == RC_CHANNEL_TYPE_RANGE) { control_in = pwm_to_range(); } else { //RC_CHANNEL_TYPE_ANGLE, RC_CHANNEL_TYPE_ANGLE_RAW control_in = pwm_to_angle(); } }
// read input from hal.rcin or overrides bool RC_Channel::update(void) { if (has_override() && !(*RC_Channels::options & RC_IGNORE_OVERRIDES)) { radio_in = override_value; } else if (!(*RC_Channels::options & RC_IGNORE_RECEIVER)) { radio_in = hal.rcin->read(ch_in); } else { return false; } if (type_in == RC_CHANNEL_TYPE_RANGE) { control_in = pwm_to_range(); } else { //RC_CHANNEL_TYPE_ANGLE control_in = pwm_to_angle(); } return true; }