led_lightbox_controller/led_lightbox_controller.h Source File

1 [[PREPROC_HEADER_GUARD_BEGIN]]
2 
3 #include <HC_API.h>
4 #include <controllers_utils.h>
5 
6 
7 namespace ControlAPI {
8 
9  const std::string LedLightBox_NALPCODE = "LTBOX";
10 
15  public:
16  HC_CLASS_DEVICECOMMANDPACKAGE_META(LedLightBoxCommand_Lighting)
17 
18  virtual ~LedLightBoxCommand_Lighting() = default;
19 
20  virtual void cloneFrom(DeviceCommandPackage* other) override;
21 #ifdef HC_API_FEATURE_NETWORKING
22  virtual void syncFromNetwork(CommandStatus* command) override;
23 #endif
24  float dimmerIntensityPercent = 0.0f;
25  float colorTemperaturePerc = 0.0f;
26  bool highLowSetting = false;
27 
28  float flickerFrequencyHz = 60.0f;
29  float flickerDutyCyclePercent = 0.5f;
30 
31 
32 
33  };
34 
39  public:
40  HC_CLASS_DEVICECOMMANDPACKAGE_META(LedLightPanelCommand_SetLighting)
41 
42  virtual ~LedLightPanelCommand_SetLighting() = default;
43 
44  };
45 
46 
47 
51  class HC_API LedLightBoxDeviceInfo : public DeviceInfo {
52  public:
53  HC_CLASS_META(LedLightBoxDeviceInfo)
54  HC_SWIG_SHAREDPTR(LedLightBoxDeviceInfo)
55 
56 
57  friend class LedLightBoxControllerBase;
58  friend class LedLightBoxComHandler;
59 
60  virtual ~LedLightBoxDeviceInfo() = default;
61 
62  int maxDimmerIntegerHigh = 1000;
63  int maxDimmerIntegerLow = 1000;
64  bool highLowCapable = false;
65  bool mixedCapable = false;
66  bool isPanel = false;
67 
68  protected:
69 #ifdef HC_API_MACRO_EXCLUDE_DOCS
70 
71 
72 #endif
73  };
74 
75 
76 
77 
82  public:
86 
87  friend class LedLightBoxControllerBase;
88 
90 
91 
93 
94  static std::string friendlyName();
95 
96  protected:
97  };
102  public:
106 
107  friend class LedLightBoxControllerBase;
108 
110 
112 
113  static std::string friendlyName();
114 
115  protected:
116  };
117 
122  public:
126 
127  friend class LedLightBoxControllerBase;
128 
130 
132 
133  static std::string friendlyName();
134  };
135 
140  public:
144 
145  friend class LedLightBoxControllerBase;
146 
148 
150 
151  static std::string friendlyName();
152  };
153 
158  public:
162 
163  friend class LedLightBoxControllerBase;
164 
166 
168 
169  static std::string friendlyName();
170  };
171 
172 
173 
174 
175  class LedLightBoxComHandler;
180  public:
181  HC_CLASS_META(LedLightBoxControllerBase)
182  HC_SWIG_SHAREDPTR(LedLightBoxControllerBase)
183 
184  LedLightBoxControllerBase() = default;
185  virtual ~LedLightBoxControllerBase() = default;
186 
187 #ifdef HC_API_MACRO_EXCLUDE_DOCS
188  virtual bool init() override;
189 
190  virtual bool deInit() override;
191 
192  virtual void disconnect(bool expected = false) override;
193 
194  virtual bool issueCommand(CommandStatus* command) override;
195  std::shared_ptr<LedLightBoxComHandler> lightBoxComs;
196 
197 
198  int baudRate = 38400;
199 #endif
200  };
201 
202 
203 
208  public:
209  HC_CLASS_META(LedLightBoxController)
210  HC_SWIG_SHAREDPTR(LedLightBoxController)
211 
213  virtual ~LedLightBoxController() = default;
214 
215 #ifdef HC_API_MACRO_EXCLUDE_DOCS
216  virtual bool init() override;
217 
218  virtual bool deInit() override;
219 
220  virtual void disconnect(bool expected = false) override;
221 
222  virtual bool issueCommand(CommandStatus* command) override;
223  std::shared_ptr<LedLightBoxComHandler> lightBoxComs;
224 #endif
225  };
226 
227 
228 
229 
230 
231 
236  public:
237  HC_CLASS_META(LedLightPanel_Single_Info)
238  HC_SWIG_SHAREDPTR(LedLightPanel_Single_Info)
239  HC_CLASS_DEVICEINFO_META(LedLightPanel_Single_Info, CommandStatus)
240 
241  friend class LedLightBoxControllerBase;
242 
243  virtual ~LedLightPanel_Single_Info() = default;
245 
246  static std::string friendlyName();
247 
248  protected:
249  };
250 
251 
252 }
253 
254 
255 [[PREPROC_HEADER_GUARD_END]]