fix(AFHDS3): Incorrect channel scaling (#3449)

* Fixed IRM301/FRM303 channels scaling problem.

* Add back the remarks for calculation.
This commit is contained in:
richardclli
2023-04-08 20:17:40 +10:00
committed by GitHub
parent 2ce94e3e4b
commit f01b0f2772
+9 -1
View File
@@ -811,7 +811,15 @@ void ProtoState::applyConfigFromModel()
inline int16_t ProtoState::convert(int channelValue)
{
return ::limit<int16_t>(AFHDS3_FAILSAFE_MIN, channelValue * 14.65, AFHDS3_FAILSAFE_MAX);
//pulseValue = limit<uint16_t>(0, 988 + ((channelValue + 1024) / 2), 0xfff);
//988 - 750 = 238
//238 * 20 = 4760
//2250 - 2012 = 238
//238 * 20 = 4760
// 988 ---- 2012
//-10240 ---- 10240
//-1024 ---- 1024
return ::limit<int16_t>(AFHDS3_FAILSAFE_MIN, channelValue * 10, AFHDS3_FAILSAFE_MAX);
}
uint8_t ProtoState::setFailSafe(int16_t* target, uint8_t rfchannelsCount )