Browse Source

Base channel max solely on channel count

QGC4.4
DonLakeFlyer 5 years ago
parent
commit
5f269009da
  1. 9
      src/QmlControls/RCChannelMonitorController.cc
  2. 5
      src/QmlControls/RCChannelMonitorController.h

9
src/QmlControls/RCChannelMonitorController.cc

@ -18,9 +18,7 @@ RCChannelMonitorController::RCChannelMonitorController(void)
void RCChannelMonitorController::_rcChannelsChanged(int channelCount, int pwmValues[Vehicle::cMaxRcChannels]) void RCChannelMonitorController::_rcChannelsChanged(int channelCount, int pwmValues[Vehicle::cMaxRcChannels])
{ {
int maxChannel = std::min(channelCount, _chanMax()); for (int channel=0; channel<channelCount; channel++) {
for (int channel=0; channel<maxChannel; channel++) {
int channelValue = pwmValues[channel]; int channelValue = pwmValues[channel];
if (_chanCount != channelCount) { if (_chanCount != channelCount) {
@ -33,8 +31,3 @@ void RCChannelMonitorController::_rcChannelsChanged(int channelCount, int pwmVal
} }
} }
} }
int RCChannelMonitorController::_chanMax(void) const
{
return _vehicle->firmwareType() == MAV_AUTOPILOT_PX4 ? _chanMaxPX4 : _chanMaxAPM;
}

5
src/QmlControls/RCChannelMonitorController.h

@ -37,12 +37,7 @@ private slots:
void _rcChannelsChanged(int channelCount, int pwmValues[Vehicle::cMaxRcChannels]); void _rcChannelsChanged(int channelCount, int pwmValues[Vehicle::cMaxRcChannels]);
private: private:
int _chanMax(void) const;
int _chanCount; int _chanCount;
static const int _chanMaxPX4 = 18; ///< Maximum number of supported rc channels, PX4 Firmware
static const int _chanMaxAPM = 14; ///< Maximum number of supported rc channels, APM firmware
}; };
#endif // RCChannelMonitorController_H #endif // RCChannelMonitorController_H

Loading…
Cancel
Save