dummy_controller/dummy_controller.h Source File

1 [[PREPROC_HEADER_GUARD_BEGIN]]
2 
3 
4 #include "HC_API.h"
5 
6 #include "controllers_utils.h"
7 
8 
9 namespace ControlAPI {
10 
11  class HC_API DummyDeviceInfo : public DeviceInfo {
12  public:
13  HC_CLASS_META(DummyDeviceInfo)
14  HC_SWIG_SHAREDPTR(DummyDeviceInfo)
15  HC_CLASS_DEVICEINFO_META(DummyDeviceInfo, CommandStatus)
16  friend class DummyController;
17 
18  virtual ~DummyDeviceInfo() = default;
19 
20 
21  float updateDelayTime_S = 0.0f;
22 
23  private:
24  enum MotionState {
25  STATE_IDLE = 0,
26  STATE_MOVING_TO_TARGET_POS
27  };
28  MotionState currentState = STATE_IDLE;
29  float currentPos = 0.0f;
30 
31  };
32 
34  class HC_API DummyController : public DeviceController {
35  public:
36  HC_CLASS_META(DummyController)
37  HC_SWIG_SHAREDPTR(DummyController)
38 
39  virtual ~DummyController() = default;
40 #ifdef HC_API_MACRO_EXCLUDE_DOCS
41  virtual bool init() override;
42  virtual bool issueCommand(CommandStatus* command) override;
43 #endif
44  bool BeginMotion(int apiDeviceId);
45  };
46 
47 
48 
49 
52  public:
53  HC_CLASS_DEVICECOMMANDPACKAGE_META(CommunicationCommandPackage)
54  virtual ~CommunicationCommandPackage() = default;
55 
56 
57  std::vector<uint8_t> outgoingBuffer;
58  };
59 
60  class HC_API LoopBackComDeviceInfo : public DeviceInfo {
61  public:
62  HC_CLASS_META(LoopBackComDeviceInfo)
63  HC_SWIG_SHAREDPTR(LoopBackComDeviceInfo)
64  HC_CLASS_DEVICEINFO_META(LoopBackComDeviceInfo, CommandStatus)
65  friend class LoopBackComController;
66 
67  virtual ~LoopBackComDeviceInfo() = default;
68 
69  private:
70 
71  };
72 
73  class SerialComHandler;
74  class HC_API LoopBackComController : public DeviceController {
75  public:
76  HC_CLASS_META(LoopBackComController)
77  HC_SWIG_SHAREDPTR(LoopBackComController)
78 
79  virtual ~LoopBackComController() = default;
80 #ifdef HC_API_MACRO_EXCLUDE_DOCS
81  virtual bool init() override;
82  virtual bool issueCommand(CommandStatus *command) override;
83 
84  bool beginCommunication(int apiDeviceId);
85 #endif
86 
87 
88  std::string port;
89 
90  private:
91  std::shared_ptr<SerialComHandler> serialCom;
92 
93 
94  };
95 
96 
97 
98 }
99 
100 
101 [[PREPROC_HEADER_GUARD_END]]