OceanDirect  1.30.1-rc.4
OceanDirect C++/C API
GpioFeatureAdapter.h
1 /*****************************************************
2  * @file GpioFeatureAdapter.h
3  * @date December 2018
4  * @author Ocean Optics, Inc.
5  *
6  * This is a wrapper that allows access to OceanDirect
7  * GpioFeatureInterface instances.
8  */
9  /************************************************************************
10  *
11  * OCEAN INSIGHT CONFIDENTIAL
12  * __________________
13  *
14  * [2018] - [2020] Ocean Insight Incorporated
15  * All Rights Reserved.
16  *
17  * NOTICE: All information contained herein is, and remains
18  * the property of Ocean Insight Incorporated and its suppliers,
19  * if any. The intellectual and technical concepts contained
20  * herein are proprietary to Ocean Insight Incorporated
21  * and its suppliers and may be covered by U.S. and Foreign Patents,
22  * patents in process, and are protected by trade secret or copyright law.
23  * Dissemination of this information or reproduction of this material
24  * is strictly forbidden unless prior written permission is obtained
25  * from Ocean Insight Incorporated.
26  *
27  **************************************************************************/
28 
29 #ifndef OCEANDIRECT_GPIO_FEATURE_ADAPTER_H
30 #define OCEANDIRECT_GPIO_FEATURE_ADAPTER_H
31 
32 #include "api/adapters/FeatureAdapterTemplate.h"
33 #include "vendors/OceanOptics/features/gpio/GpioFeatureInterface.h"
34 
35 namespace oceandirect {
36  namespace api {
37 
38  class GpioFeatureAdapter : public FeatureAdapterTemplate<GpioFeatureInterface> {
39  public:
40  GpioFeatureAdapter(GpioFeatureInterface *intf,
41  const FeatureFamily &f,
42  Protocol *p, Bus *b, unsigned short instanceIndex);
43  virtual ~GpioFeatureAdapter();
44 
45  /* GpioFeatureAdapter functions */
46  int getNumberOfGPIO(int *errorCode);
47  void setOutputEnable(int *errorCode, std::uint32_t bitPosition, bool isOutput);
48  void setOutputEnable(int *errorCode, std::uint32_t bits, std::uint32_t bitmask);
49  bool getOutputEnable(int *errorCode, int bit);
50  std::uint32_t getOutputEnable(int *errorCode);
51  void setValue(int *errorCode, std::uint32_t bitPosition, bool value);
52  void setValue(int *errorCode, std::uint32_t bitmask);
53  void setValue(int *errorCode, std::uint32_t bits, std::uint32_t bitmask);
54  bool getValue(int *errorCode, int bit);
55  std::uint32_t getValue(int *errorCode);
56  void gpioSetOutputAlternate(int *errorCode, int bit, bool isAlternate);
57  void gpioSetOutputAlternate(int *errorCode, uint32_t bitMask);
58  bool gpioGetOutputAlternate(int *errorCode, int bit);
59  uint32_t gpioGetOutputAlternate(int *errorCode);
60  };
61 
62  }
63 }
64 
65 #endif
Definition: FeatureAdapterTemplate.h:44
Definition: GpioFeatureAdapter.h:38
This is an interface to Advance features of OceanDirect that allow access to less common controls....
Definition: AcquisitionDelayFeatureAdapter.h:35