LRT14  1.0
 All Classes Namespaces Functions Variables Enumerations Enumerator
Arc.h
1 #ifndef ARC_H_
2 #define ARC_H_
3 
4 #include "Automation.h"
5 #include "../../ComponentData/DrivetrainData.h"
6 #include "../../Config/Configurable.h"
7 #include "Drive.h"
8 
17 class Arc : public Automation, public Configurable
18 {
19 public:
20  Arc(double distance, double angle, double maxSpeed = 1.0, double errorThreshold = 0.5, bool continuous = false);
21 
22  bool Start();
23  bool Run();
24  bool Abort();
25  void AllocateResources();
26 
27  void Configure();
28 
29 private:
30  DrivetrainData* m_drivetrain;
31 
32  double m_distance;
33  double m_angle;
34  double m_maxSpeed;
35  double m_errorThreshold;
36  bool m_continuous;
37 
38  Drive* m_drive;
39  double m_startDistance;
40  double m_startAngle;
41  double m_driveDistance;
42  double m_turnAngle;
43  double m_arcGain;
44 };
45 
46 #endif