7 #ifndef DOUBLE_SOLENOID_H_
8 #define DOUBLE_SOLENOID_H_
10 #include "SolenoidBase.h"
11 #include "LiveWindow/LiveWindowSendable.h"
12 #include "tables/ITableListener.h"
24 typedef enum {kOff, kForward, kReverse} Value;
26 explicit DoubleSolenoid(uint32_t forwardChannel, uint32_t reverseChannel);
27 DoubleSolenoid(uint8_t moduleNumber, uint32_t forwardChannel, uint32_t reverseChannel);
29 virtual void Set(Value value);
32 void ValueChanged(ITable* source,
const std::string& key, EntryValue value,
bool isNew);
34 void StartLiveWindowMode();
35 void StopLiveWindowMode();
36 std::string GetSmartDashboardType();
37 void InitTable(ITable *subTable);
41 virtual void InitSolenoid();
43 uint32_t m_forwardChannel;
44 uint32_t m_reverseChannel;
45 uint8_t m_forwardMask;
46 uint8_t m_reverseMask;
Definition: DoubleSolenoid.h:22
virtual void Set(Value value)
Definition: DoubleSolenoid.cpp:106
virtual Value Get()
Definition: DoubleSolenoid.cpp:132
DoubleSolenoid(uint32_t forwardChannel, uint32_t reverseChannel)
Definition: DoubleSolenoid.cpp:66
virtual ~DoubleSolenoid()
Definition: DoubleSolenoid.cpp:92
Definition: SolenoidBase.h:19