LRT13  1.0
 All Classes Namespaces Functions Variables Enumerations Enumerator
Collector.h
1 #ifndef COLLECTOR_H_
2 #define COLLECTOR_H_
3 
4 #include <string>
5 
6 #include "../ComponentData/RobotData.h"
7 #include "../Config/Configurable.h"
8 #include "../Log/Loggable.h"
9 #include "../Utils/PID.h"
10 #include "../ComponentData/CollectorData.h"
11 #include "../SpeedController/AsyncCANJaguar.h"
12 #include "../Components/Component.h"
13 #include "DigitalInput.h"
14 #include "../Pneumatics/Pneumatics.h"
15 #include "../ComponentData/RobotData.h"
16 
17 using namespace data;
18 
23 class Collector : public Component, public Configurable, public Loggable
24 {
25 public:
26  Collector();
27  ~Collector();
28 
29  virtual void onEnable();
30  virtual void onDisable();
31 
32  virtual void enabledPeriodic();
33  virtual void disabledPeriodic();
34 
35  virtual void Configure();
36  virtual void Log();
37 private:
38  AsyncCANJaguar* m_jaguar;
39 
40  // Proximity Sensors
41  DigitalInput* m_proximity;
42  Pneumatics* m_pneumatics;
43 
44  // Frisbee Counters
45  int m_count;
46  int m_samplesThreshold;
47 
48  int m_timer;
49  int m_time_before_retract;
50  int m_time_before_extend;
51  float m_dutyCycle;
52  int m_overflowWait;
53  int m_overflowWaitThreshold;
54  bool m_reverse;
55  bool m_lastReverseState;
56 
57  string m_configSection;
58 
59  bool m_lastStateWasUp;
60 
61  int m_slowDownTicks;
62  int m_slowDownTime;
63  bool m_slowDown;
64 
65  float m_slowDownAmount;
66  int m_currentCount;
67 
68  float m_lowerCurrent;
69  float m_upperCurrent;
70 };
71 
72 #endif