OceanDirectLighthouse 3.1.3
OceanDirect Lighthouse C++/C API
LHGpioAPI.h
Go to the documentation of this file.
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"
37namespace 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
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
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)
virtual ~LHGpioAPI()=default
int32_t lh_error_code_t
Definition lhdefs.h:47
uint32_t lh_gpio_values_t
Definition lhdefs.h:180
uint32_t lh_gpio_bitmask_t
Definition lhdefs.h:172
uint32_t lh_gpio_directions_t
Definition lhdefs.h:176
uint32_t lh_device_id_t
Definition lhdefs.h:43
This is the API for controlling the autonulling functionality of a device.
Definition LighthouseAPI.h:54