SolenoidBase functions are now static (#530)

Instance methods were kept around for backwards compat in Java. In C++,
the instance methods were changed to match Java. Also some cleanup to
the JNI layer to match updated variable types we missed.

Closes #416
This commit is contained in:
Thad House
2017-05-08 21:55:11 -07:00
committed by Peter Johnson
parent f32e696fef
commit e1fc60b8dd
5 changed files with 167 additions and 47 deletions

View File

@@ -20,20 +20,23 @@ namespace frc {
class SolenoidBase : public SensorBase {
public:
virtual ~SolenoidBase() = default;
int GetAll(int module = 0) const;
static int GetAll(int module);
int GetAll() const;
int GetPCMSolenoidBlackList(int module) const;
bool GetPCMSolenoidVoltageStickyFault(int module) const;
bool GetPCMSolenoidVoltageFault(int module) const;
void ClearAllPCMStickyFaults(int module);
static int GetPCMSolenoidBlackList(int module);
int GetPCMSolenoidBlackList() const;
static bool GetPCMSolenoidVoltageStickyFault(int module);
bool GetPCMSolenoidVoltageStickyFault() const;
static bool GetPCMSolenoidVoltageFault(int module);
bool GetPCMSolenoidVoltageFault() const;
static void ClearAllPCMStickyFaults(int module);
void ClearAllPCMStickyFaults();
protected:
explicit SolenoidBase(int pcmID);
static const int m_maxModules = 63;
static const int m_maxPorts = 8;
// static void* m_ports[m_maxModules][m_maxPorts];
int m_moduleNumber; ///< Slot number where the module is plugged into
/// the chassis.
int m_moduleNumber; // PCM module number
};
} // namespace frc