float RC_Channel::get_pwm_out(){ if (_type == RC_CHANNEL_TYPE_ANGLE) { return angle_to_pwm(); } return (float) radio_min._value; }
// returns just the PWM without the offset from radio_min void RC_Channel::calc_pwm(void) { if(_type == RC_CHANNEL_TYPE_RANGE) { pwm_out = range_to_pwm(); radio_out = (_reverse >= 0) ? (radio_min + pwm_out) : (radio_max - pwm_out); }else if(_type == RC_CHANNEL_TYPE_ANGLE_RAW) { pwm_out = (float)servo_out * 0.1f; radio_out = (pwm_out * _reverse) + radio_trim; }else{ // RC_CHANNEL_TYPE_ANGLE pwm_out = angle_to_pwm(); radio_out = pwm_out + radio_trim; } radio_out = constrain_int16(radio_out, radio_min.get(), radio_max.get()); }