FRC  v1.5
mindsensors.com FRC library
CANSD540.h
1 #pragma once
2 
3 #include "CANSD540Driver.h"
4 
5 #include <string>
6 
7 #include "Base.h"
8 #include "ErrorBase.h"
9 
10 namespace mindsensors {
11 
12 class CANSD540 : public frc::ErrorBase {
13 public:
14  static std::string GetLibraryVersion();
15 
19  enum StopMode : uint8_t {
23  Coast = 0,
27  Brake = 1
28  };
29 
36  enum LimitSwitchBehavior : uint8_t {
45  };
46 
47  explicit CANSD540(uint8_t deviceNumber);
48 
49  uint8_t GetDeviceID() const;
50  std::string GetDeviceName() const;
51  std::string GetFirmwareVersion() const;
52  std::string GetHardwareVersion() const;
53  std::string GetBootloaderVersion() const;
54  std::string GetSerialNumber() const;
55 
56  void BlinkLED(uint8_t seconds);
57 
58  void Set(double speed);
59  double Get() const;
60 
61  void SetInverted(bool isInverted);
62  bool GetInverted() const;
63 
64  void SetStopMode(CANSD540::StopMode stopMode);
66 
67  void EnableLimitSwitches(bool limitSwitchesEnabled);
68  bool GetLimitSwitchesEnabled() const;
69 
72 
75 
76  void SetVoltageRamp(uint8_t voltageRamp);
78 
79  double GetBatteryVoltage() const;
80 
81  bool GetForwardLimitSwitchState() const;
82  bool GetReverseLimitSwitchState() const;
83 
84 private:
85  int m_handle;
86 };
87 
88 } // namespace mindsensors
StopMode
Definition: CANSD540.h:19
std::string GetBootloaderVersion() const
Definition: CANSD540.cpp:84
std::string GetSerialNumber() const
Definition: CANSD540.cpp:94
bool GetLimitSwitchesEnabled() const
Definition: CANSD540.cpp:195
Definition: CANSD540.h:23
CANSD540::LimitSwitchBehavior GetForwardLimitSwitch() const
Definition: CANSD540.cpp:222
std::string GetHardwareVersion() const
Definition: CANSD540.cpp:74
void SetVoltageRamp(uint8_t voltageRamp)
Definition: CANSD540.cpp:279
static std::string GetLibraryVersion()
Definition: CANSD540.cpp:12
bool GetInverted() const
Definition: CANSD540.cpp:150
bool GetReverseLimitSwitchState() const
Definition: CANSD540.cpp:323
void EnableLimitSwitches(bool limitSwitchesEnabled)
Definition: CANSD540.cpp:187
void SetReverseLimitSwitch(CANSD540::LimitSwitchBehavior behavior)
Definition: CANSD540.cpp:241
double Get() const
Definition: CANSD540.cpp:130
void BlinkLED(uint8_t seconds)
Definition: CANSD540.cpp:110
CANSD540::StopMode GetStopMode() const
Definition: CANSD540.cpp:170
void SetForwardLimitSwitch(CANSD540::LimitSwitchBehavior behavior)
Definition: CANSD540.cpp:208
std::string GetDeviceName() const
Definition: CANSD540.cpp:52
CANSD540(uint8_t deviceNumber)
Definition: CANSD540.cpp:29
void SetStopMode(CANSD540::StopMode stopMode)
Definition: CANSD540.cpp:161
Definition: CANLight.h:8
Definition: CANSD540.h:12
void SetInverted(bool isInverted)
Definition: CANSD540.cpp:142
Definition: CANSD540.h:27
Definition: CANSD540.h:44
bool GetForwardLimitSwitchState() const
Definition: CANSD540.cpp:313
void Set(double speed)
Definition: CANSD540.cpp:120
uint8_t GetDeviceID() const
Definition: CANSD540.cpp:41
double GetBatteryVoltage() const
Definition: CANSD540.cpp:302
CANSD540::LimitSwitchBehavior GetReverseLimitSwitch() const
Definition: CANSD540.cpp:254
std::string GetFirmwareVersion() const
Definition: CANSD540.cpp:64
Definition: CANSD540.h:40
LimitSwitchBehavior
Definition: CANSD540.h:36