OceanDirectLighthouse  3.1.1
OceanDirect Lighthouse C++/C API
LHStrobeAPI.h
1 #ifndef LH_STROBE_API_H
2 #define LH_STROBE_API_H
3 
4 /*******************************************************
5  * @file LHStrobeAPI.h
6  * @date December 2023
7  * @author Ocean Insight, Inc.
8  *
9  * This is an interface to the API that controls the single strobe and
10  * continuous strobe functionality of the device. For example the continuous
11  * strobe period can be set (or retrieved) and the single strobe delay can be set
12  * (or retrieved).
13  *
14  */
15  /************************************************************************
16  *
17  * OCEAN INSIGHT CONFIDENTIAL
18  * __________________
19  *
20  * [2018] - [2023] Ocean Insight Incorporated
21  * All Rights Reserved.
22  *
23  * NOTICE: All information contained herein is, and remains
24  * the property of Ocean Insight Incorporated and its suppliers,
25  * if any. The intellectual and technical concepts contained
26  * herein are proprietary to Ocean Insight Incorporated
27  * and its suppliers and may be covered by U.S. and Foreign Patents,
28  * patents in process, and are protected by trade secret or copyright law.
29  * Dissemination of this information or reproduction of this material
30  * is strictly forbidden unless prior written permission is obtained
31  * from Ocean Insight Incorporated.
32  *
33  **************************************************************************/
34 #include "lighthouse/api/LighthouseDllDecl.h"
35 #include "lighthouse/api/lhdefs.h"
39 namespace oceandirect {
40  namespace api {
41  class LIGHTHOUSE_DLL_DECL LHStrobeAPI {
42  public:
43  virtual ~LHStrobeAPI() = default;
44 
53  virtual void setContinuousStrobeState(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_enable_state_t state);
54 
63  virtual lh_enable_state_t getContinuousStrobeState(lh_device_id_t deviceID, lh_error_code_t* errorCode);
64 
71  virtual void setContinuousStrobePeriod(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_microseconds_t microseconds);
72 
80  virtual lh_microseconds_t getContinuousStrobePeriod(lh_device_id_t deviceID, lh_error_code_t* errorCode);
81 
88  virtual lh_microseconds_t getContinuousStrobePeriodMinimum(lh_device_id_t deviceID, lh_error_code_t* errorCode);
89 
96  virtual lh_microseconds_t getContinuousStrobePeriodMaximum(lh_device_id_t deviceID, lh_error_code_t* errorCode);
97 
105  virtual lh_microseconds_t getContinuousStrobePeriodIncrement(lh_device_id_t deviceID, lh_error_code_t* errorCode);
106 
113  virtual void setSingleStrobeState(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_enable_state_t state);
114 
123  virtual lh_enable_state_t getSingleStrobeState(lh_device_id_t deviceID, lh_error_code_t* errorCode);
124 
131  virtual void setSingleStrobeDelay(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_microseconds_t microseconds);
132 
139  virtual lh_microseconds_t getSingleStrobeDelay(lh_device_id_t deviceID, lh_error_code_t* errorCode);
140 
147  virtual void setSingleStrobeWidth(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_microseconds_t microseconds);
148 
155  virtual lh_microseconds_t getSingleStrobeWidth(lh_device_id_t deviceID, lh_error_code_t* errorCode);
156 
163  virtual lh_microseconds_t getSingleStrobeDelayMinimum(lh_device_id_t deviceID, lh_error_code_t* errorCode);
164 
171  virtual lh_microseconds_t getSingleStrobeDelayMaximum(lh_device_id_t deviceID, lh_error_code_t* errorCode);
172 
179  virtual lh_microseconds_t getSingleStrobeWidthMinimum(lh_device_id_t deviceID, lh_error_code_t* errorCode);
180 
187  virtual lh_microseconds_t getSingleStrobeWidthMaximum(lh_device_id_t deviceID, lh_error_code_t* errorCode);
188 
196  virtual lh_microseconds_t getSingleStrobeDelayIncrement(lh_device_id_t deviceID, lh_error_code_t* errorCode);
197 
205  virtual lh_microseconds_t getSingleStrobeWidthIncrement(lh_device_id_t deviceID, lh_error_code_t* errorCode);
206  };
207  }
208 }
209 #endif // !LH_STROBE_API_H
Definition: LHStrobeAPI.h:41
virtual lh_microseconds_t getContinuousStrobePeriodMaximum(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_enable_state_t getSingleStrobeState(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_microseconds_t getSingleStrobeDelayIncrement(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_microseconds_t getSingleStrobeDelay(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_microseconds_t getSingleStrobeDelayMinimum(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_microseconds_t getSingleStrobeWidthIncrement(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void setSingleStrobeState(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_enable_state_t state)
virtual void setContinuousStrobePeriod(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_microseconds_t microseconds)
virtual lh_microseconds_t getSingleStrobeDelayMaximum(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_microseconds_t getContinuousStrobePeriod(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_enable_state_t getContinuousStrobeState(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_microseconds_t getContinuousStrobePeriodMinimum(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_microseconds_t getSingleStrobeWidth(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void setSingleStrobeWidth(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_microseconds_t microseconds)
virtual lh_microseconds_t getSingleStrobeWidthMinimum(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_microseconds_t getContinuousStrobePeriodIncrement(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void setSingleStrobeDelay(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_microseconds_t microseconds)
virtual void setContinuousStrobeState(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_enable_state_t state)
virtual lh_microseconds_t getSingleStrobeWidthMaximum(lh_device_id_t deviceID, lh_error_code_t *errorCode)
This is the API for controlling the autonulling functionality of a device.
Definition: LighthouseAPI.h:54