OceanDirectLighthouse  3.1.1
OceanDirect Lighthouse C++/C API
LHGpioAPI.h
1 #ifndef LH_GPIO_API_H
2 #define LH_GPIO_API_H
3 /*****************************************************
4  * @file LHGpioAPI.h
5  * @date December 2023
6  * @author Ocean Insight, Inc.
7  *
8  * This is an interface to OceanDirect that allows
9  * the user to connect to devices over USB and other buses.
10  * This is intended as a usable and extensible API.
11  */
12  /************************************************************************
13  *
14  * OCEAN INSIGHT CONFIDENTIAL
15  * __________________
16  *
17  * [2018] - [2023] Ocean Insight Incorporated
18  * All Rights Reserved.
19  *
20  * NOTICE: All information contained herein is, and remains
21  * the property of Ocean Insight Incorporated and its suppliers,
22  * if any. The intellectual and technical concepts contained
23  * herein are proprietary to Ocean Insight Incorporated
24  * and its suppliers and may be covered by U.S. and Foreign Patents,
25  * patents in process, and are protected by trade secret or copyright law.
26  * Dissemination of this information or reproduction of this material
27  * is strictly forbidden unless prior written permission is obtained
28  * from Ocean Insight Incorporated.
29  *
30  **************************************************************************/
31 
32 #include "lighthouse/api/LighthouseDllDecl.h"
33 #include "lighthouse/api/lhdefs.h"
37 namespace oceandirect {
38  namespace api {
39  class LIGHTHOUSE_DLL_DECL LHGpioAPI {
40  public:
41  virtual ~LHGpioAPI() = default;
42 
49  virtual size_t getNumberOfGPIO(lh_device_id_t deviceID, lh_error_code_t* errorCode);
50 
64  virtual void setOutputState(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_gpio_directions_t direction, lh_gpio_bitmask_t bitmask);
65 
75  virtual lh_gpio_directions_t getOutputState(lh_device_id_t deviceID, lh_error_code_t* errorCode);
76 
87  virtual void setValue(lh_device_id_t deviceID, lh_error_code_t* errorCode, lh_gpio_values_t value, lh_gpio_bitmask_t bitmask);
88 
96  virtual lh_gpio_values_t getValue(lh_device_id_t deviceID, lh_error_code_t* errorCode);
97  };
98  }
99 }
100 #endif /* LH_GPIO_API_H */
Definition: LHGpioAPI.h:39
virtual lh_gpio_directions_t getOutputState(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual size_t getNumberOfGPIO(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual lh_gpio_values_t getValue(lh_device_id_t deviceID, lh_error_code_t *errorCode)
virtual void setOutputState(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_gpio_directions_t direction, lh_gpio_bitmask_t bitmask)
virtual void setValue(lh_device_id_t deviceID, lh_error_code_t *errorCode, lh_gpio_values_t value, lh_gpio_bitmask_t bitmask)
This is the API for controlling the autonulling functionality of a device.
Definition: LighthouseAPI.h:54