EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoEEP_D20640.h
1 /******************************************************************************
2  DISCLAIMER
3 
4  THIS SOFTWARE PRODUCT ("SOFTWARE") IS PROPRIETARY TO ENOCEAN GMBH, OBERHACHING,
5  GERMANY (THE "OWNER") AND IS PROTECTED BY COPYRIGHT AND INTERNATIONAL TREATIES OR
6  PROTECTED AS TRADE SECRET OR AS OTHER INTELLECTUAL PROPERTY RIGHT. ALL RIGHTS, TITLE AND
7  INTEREST IN AND TO THE SOFTWARE, INCLUDING ANY COPYRIGHT, TRADE SECRET OR ANY OTHER
8  INTELLECTUAL PROPERTY EMBODIED IN THE SOFTWARE, AND ANY RIGHTS TO REPRODUCE,
9  DISTRIBUTE, MODIFY, DISPLAY OR OTHERWISE USE THE SOFTWARE SHALL EXCLUSIVELY VEST IN THE
10  OWNER. ANY UNAUTHORIZED REPRODUCTION, DISTRIBUTION, MODIFICATION, DISPLAY OR OTHER
11  USE OF THE SOFTWARE WITHOUT THE EXPLICIT PERMISSION OF OWNER IS PROHIBITED AND WILL
12  CONSTITUTE AN INFRINGEMENT OF THE OWNER'S RIGHT AND MAY BE SUBJECT TO CIVIL OR
13  CRIMINAL SANCTION.
14 
15  THIS SOFTWARE IS PROVIDED BY THE OWNER "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
16  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
17  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN PARTICULAR, THE OWNER DOES NOT WARRANT
18  THAT THE SOFTWARE SHALL BE ERROR FREE AND WORKS WITHOUT INTERRUPTION.
19 
20  IN NO EVENT SHALL THE OWNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  ******************************************************************************/
27 
28 #ifndef EO_EEP_D20640_H
29 #define EO_EEP_D20640_H
30 
33 #include "eoD2EEProfile.h"
64 typedef enum
65 {
66  D20640_HS = 0,
67  D20640_MS = 1,
68  D20640_LS = 2,
69  D20640_UQ = 3,
70  D20640_CMD = 4,
71 } D20640_CHANNELS;
72 
76 typedef enum
77 {
78  D20640_HS_CLOSED = 0,
79  D20640_HS_OPEN = 1,
80  D20640_HS_TILTED = 2,
81  D20640_HS_UNKOWN = 3,
82 } D20640_HS_ENUM;
83 typedef enum
84 {
85  D20640_MS_OK = 0,
86  D20640_MS_ERROR = 1,
87 } D20640_MS_ENUM;
88 typedef enum
89 {
90  D20640_LS_UNLOCKED = 0,
91  D20640_LS_LOCKED = 1,
92  D20640_LS_UNKNOWN = 2,
93 } D20640_LS_ENUM;
94 typedef enum
95 {
96  D20640_UQ_UNLOCK_NOT_REQUESTED = 0,
97  D20640_UQ_UNLOCK_REQUESTED = 1,
98 } D20640_UQ_ENUM;
99 
100 
102 {
103 private:
104  eoReturn SetChannels(SIMPLE_DIRECTION direction);
105  eoMessage outMessage;
106  eoEEPChannelInfo *outChannels;
107  uint8_t outChannelCount;
108 public:
109  virtual eoReturn SetType(uint8_t type);
110  eoEEP_D20640(uint16_t size=14);
111  virtual ~eoEEP_D20640();
112  virtual eoReturn SetValue(CHANNEL_TYPE type, float value, uint8_t subFlag) override;
113  virtual eoReturn SetValue(CHANNEL_TYPE type, uint32_t value, uint8_t subFlag) override;
114  virtual eoReturn SetDirection(SIMPLE_DIRECTION direction) override;
115  virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type) override;
116  virtual eoChannelInfo * GetOutChannel(uint8_t channelNumber) override;
117  eoChannelInfo * GetOutChannel(CHANNEL_TYPE type, uint8_t index);
118 };
121 #endif // !eoEEP_D20640
An interface for profiles which support bidirectional communication, but do not indicate the directio...
Definition: eoISimpleBidirectionalProfile.h:50
uint8_t type
Type.
Definition: eoProfile.h:69
The class to handle eoEEP_D20640.
Definition: eoEEP_D20640.h:101
Message Class for communication.
Definition: eoMessage.h:47
Abstract class for channel information. Abstract class for channel information. From this class speci...
Definition: eoChannelInfo.h:77
virtual eoReturn SetValue(CHANNEL_TYPE type, float value, uint8_t subFlag) override
Gets the Value as a float.
eoReturn
contains all the return values from different functions
Definition: eoApiDef.h:40
Specific class for EEP channel information. Class used to describe the EEP channels. It has the EEP_ITEM to describe the EEP channel values and the subtype - index.
Definition: eoChannelInfo.h:110
EnOcean Equipment Profiles.
Definition: eoD2EEProfile.h:96
virtual eoReturn SetType(uint8_t type)
CHANNEL_TYPE
Definition: eoChannelEnums.h:169
virtual eoReturn SetDirection(SIMPLE_DIRECTION direction) override
virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type) override