Composite_Control/Composite_Control_BTS.h Source File

1 [[PREPROC_HEADER_GUARD_BEGIN]]
2 
3 
4 #include "HC_API.h"
5 
6 #include "zaber_controller/zaber_controller.h"
7 
8 
9 
10 #include "Composite_Control/Composite_Control.h"
11 
12 
13 namespace ControlAPI {
14 
15 
16 
17 
18 
20  public:
21  HC_CLASS_META(BTSFramingCommandStatusSet)
22 
23  CommandStatus* xAxis = nullptr;
24  CommandStatus* zAxis = nullptr;
25 
26  };
27 
28 
29  struct BTSFramingInternals;
30 
38  class HC_API BTSFraming : public CompositeFrameBase {
39  public:
40  HC_CLASS_META(BTSFraming)
41 
42 
43 
44  std::string zaberPort;
48 
49 #ifdef HC_API_MACRO_EXCLUDE_DOCS
50  std::shared_ptr<BTSFramingInternals> internals;
51 
52 
53 #endif
54  Vector3D ChartCenterHome_CameraCenterFrame = { -148.88, 99.3, 1120 };
59 
60 
66 
67 
72 
73 
74 
75 
76 
77 
78 
79 
80 
83  void initialize(ControlSystem* system);
84 
87 
88  void Home();
89 
90 
95  void chartCenterFrame_Go_ChartCenterHomeFrame(Vector3D homeSpace);
96 
97 
98 
102  void chartCenterFrame_Go_CameraCenterFrame(Vector3D cameraSpace);
103 
104 
105 
111  Vector3D doCalibrationAndValidation();
112 
113 
119  Vector3D homeFrame_To_cameraCenterFrame(Vector3D homeSpace);
120 
121 
127  Vector3D cameraCenterFrame_To_homeFrame(Vector3D cameraSpace);
128 
132  float stageVelocity = 20;
133 
137  float stageAcceleration = 20;
138 
139 
140  zaberController* zaberCont();
141 
142 
143  ZaberDeviceInfo* zaberDevice1();
144  ZaberDeviceInfo* zaberDevice2();
145 
146  ZaberAxisInfo* zaberDevice1Axis();
147  ZaberAxisInfo* zaberDevice2Axis();
148  };
149 
150 
151 
152 
153 
154 
155 }
156 
157 [[PREPROC_HEADER_GUARD_END]]