/*----------------------------------------------------------------------------*/ /* Copyright (c) FIRST 2008-2016. All Rights Reserved. */ /* Open Source Software - may be modified and shared by FRC teams. The code */ /* must be accompanied by the FIRST BSD license file in the root directory of */ /* the project. */ /*----------------------------------------------------------------------------*/ #include "SensorBase.h" #include "WPIErrors.h" const int SensorBase::kDigitalChannels; const int SensorBase::kAnalogInputs; const int SensorBase::kSolenoidChannels; const int SensorBase::kSolenoidModules; const int SensorBase::kPwmChannels; const int SensorBase::kRelayChannels; const int SensorBase::kPDPChannels; /** * Check that the solenoid module number is valid. * * @return Solenoid module number is valid */ bool SensorBase::CheckSolenoidModule(int moduleNumber) { return moduleNumber >= 0 && moduleNumber < kSolenoidModules; } /** * Check that the digital channel number is valid. * * Verify that the channel number is one of the legal channel numbers. Channel * numbers are 0-based. * * @return Digital channel is valid */ bool SensorBase::CheckDigitalChannel(int channel) { if (channel >= 0 && channel < kDigitalChannels) return true; return false; } /** * Check that the digital channel number is valid. * * Verify that the channel number is one of the legal channel numbers. Channel * numbers are 0-based. * * @return Relay channel is valid */ bool SensorBase::CheckRelayChannel(int channel) { if (channel >= 0 && channel < kRelayChannels) return true; return false; } /** * Check that the digital channel number is valid. * * Verify that the channel number is one of the legal channel numbers. Channel * numbers are 0-based. * * @return PWM channel is valid */ bool SensorBase::CheckPWMChannel(int channel) { if (channel >= 0 && channel < kPwmChannels) return true; return false; } /** * Check that the analog input number is valid. * * Verify that the analog input number is one of the legal channel numbers. * Channel numbers are 0-based. * * @return Analog channel is valid */ bool SensorBase::CheckAnalogInput(int channel) { if (channel >= 0 && channel < kAnalogInputs) return true; return false; } /** * Check that the analog output number is valid. * * Verify that the analog output number is one of the legal channel numbers. * Channel numbers are 0-based. * * @return Analog channel is valid */ bool SensorBase::CheckAnalogOutput(int channel) { if (channel >= 0 && channel < kAnalogOutputs) return true; return false; } /** * Verify that the solenoid channel number is within limits. * * @return Solenoid channel is valid */ bool SensorBase::CheckSolenoidChannel(int channel) { if (channel >= 0 && channel < kSolenoidChannels) return true; return false; } /** * Verify that the power distribution channel number is within limits. * * @return PDP channel is valid */ bool SensorBase::CheckPDPChannel(int channel) { if (channel >= 0 && channel < kPDPChannels) return true; return false; }