LRT14  1.0
 All Classes Namespaces Functions Variables Enumerations Enumerator
LRTJaguar.h
1 #ifndef LRT_JAGUAR_H_
2 #define LRT_JAGUAR_H_
3 
4 #include "Jaguar.h"
5 #include "LRTSpeedController.h"
6 
7 #include "DigitalOutput.h"
8 #include <vector>
9 
13 class LRTJaguar : public Jaguar, public LRTSpeedController
14 {
15 public:
16  LRTJaguar(uint32_t channel, std::string name, uint32_t jumperChannel = 0);
17  LRTJaguar(uint8_t moduleNumber, uint32_t channel, std::string name, uint32_t jumperChannel = 0);
18  virtual ~LRTJaguar();
19  virtual void SetDutyCycle(float value);
20  virtual float GetDutyCycle();
21  virtual float GetHardwareValue();
22  void Set(float speed);
23  virtual float Get();
24  virtual void Disable();
25  virtual void PIDWrite(float output);
26 
27  virtual void ConfigNeutralMode(LRTSpeedController::NeutralMode mode);
28  virtual NeutralMode GetNeutralMode();
29 
33  void Update();
34 
35  static std::vector<LRTJaguar*> jaguar_vector;
36 
37 private:
38  float m_pwm;
39 
40  DigitalOutput* m_brake_jumper;
41  LRTSpeedController::NeutralMode m_neutral;
42 };
43 
44 #endif /* LRT_TALON_H_ */