Browse Source

RC_Channel: replace long with int32_t

master
Jonathan Challinger 10 years ago committed by Randy Mackay
parent
commit
4d7988b302
  1. 12
      libraries/RC_Channel/RC_Channel.cpp

12
libraries/RC_Channel/RC_Channel.cpp

@ -276,9 +276,9 @@ RC_Channel::pwm_to_angle_dz(uint16_t dead_zone)
return 0; return 0;
if(radio_in > radio_trim_high) { if(radio_in > radio_trim_high) {
return _reverse * ((long)_high * (long)(radio_in - radio_trim_high)) / (long)(radio_max - radio_trim_high); return _reverse * ((int32_t)_high * (int32_t)(radio_in - radio_trim_high)) / (int32_t)(radio_max - radio_trim_high);
}else if(radio_in < radio_trim_low) { }else if(radio_in < radio_trim_low) {
return _reverse * ((long)_high * (long)(radio_in - radio_trim_low)) / (long)(radio_trim_low - radio_min); return _reverse * ((int32_t)_high * (int32_t)(radio_in - radio_trim_low)) / (int32_t)(radio_trim_low - radio_min);
}else }else
return 0; return 0;
} }
@ -298,9 +298,9 @@ int16_t
RC_Channel::angle_to_pwm() RC_Channel::angle_to_pwm()
{ {
if((servo_out * _reverse) > 0) if((servo_out * _reverse) > 0)
return _reverse * ((long)servo_out * (long)(radio_max - radio_trim)) / (long)_high; return _reverse * ((int32_t)servo_out * (int32_t)(radio_max - radio_trim)) / (int32_t)_high;
else else
return _reverse * ((long)servo_out * (long)(radio_trim - radio_min)) / (long)_high; return _reverse * ((int32_t)servo_out * (int32_t)(radio_trim - radio_min)) / (int32_t)_high;
} }
/* /*
@ -319,7 +319,7 @@ RC_Channel::pwm_to_range_dz(uint16_t dead_zone)
int16_t radio_trim_low = radio_min + dead_zone; int16_t radio_trim_low = radio_min + dead_zone;
if (r_in > radio_trim_low) if (r_in > radio_trim_low)
return (_low + ((long)(_high - _low) * (long)(r_in - radio_trim_low)) / (long)(radio_max - radio_trim_low)); return (_low + ((int32_t)(_high - _low) * (int32_t)(r_in - radio_trim_low)) / (int32_t)(radio_max - radio_trim_low));
else if (dead_zone > 0) else if (dead_zone > 0)
return 0; return 0;
else else
@ -343,7 +343,7 @@ RC_Channel::range_to_pwm()
if (_high_out == _low_out) { if (_high_out == _low_out) {
return radio_trim; return radio_trim;
} }
return ((long)(servo_out - _low_out) * (long)(radio_max - radio_min)) / (long)(_high_out - _low_out); return ((int32_t)(servo_out - _low_out) * (int32_t)(radio_max - radio_min)) / (int32_t)(_high_out - _low_out);
} }
// ------------------------------------------ // ------------------------------------------

Loading…
Cancel
Save