EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoEEP_D20611.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_D20611_H
29 #define EO_EEP_D20611_H
30 
33 #include "eoD2EEProfile.h"
34 
117  typedef enum
118  {
119  D20611_P = 0,
120  D20611_A = 1,
121  D20611_W = 2,
122  D20611_PE = 3,
123  D20611_TP = 4,
124  D20611_PS = 5,
125  D20611_SA = 6,
126  D20611_SPS = 7,
127  } D20611_CHANNELS;
128 
132  typedef enum
133  {
134  D20611_P_NO_PRE_ALARM = 0,
135  D20611_P_PRE_ALARM_OCCURED = 1,
136  } D20611_P_ENUM;
137 
138  typedef enum
139  {
140  D20611_A_NO_ALARM = 0,
141  D20611_A_ALARM_OCCURRED = 1,
142  } D20611_A_ENUM;
143 
144  typedef enum
145  {
146  D20611_W_CONTACT_OPEN = 0,
147  D20611_W_CONTACT_CLOSED = 1,
148  } D20611_W_ENUM;
149 
150  typedef enum
151  {
152  D20611_PE_PRE_ALARM_DISABLED = 0,
153  D20611_PE_PRE_ALARM_ENABLED = 1,
154  } D20611_PE_ENUM;
155 
156  typedef enum
157  {
158  D20611_TP_UNKNOWN = 0,
159  D20611_TP_TILT = 1,
160  D20611_TP_NOT_TILT = 2,
161  D20611_TP_RESERVED = 3,
162  } D20611_TP_ENUM;
163 
164  typedef enum
165  {
166  D20611_PS_NORMAL_SENSITIVITY = 0,
167  D20611_PS_LOW_SENSITIVITY = 1,
168  } D20611_PS_ENUM;
169 
170  typedef enum
171  {
172  D20611_SA_DISABLE_ALARM_SYSTEM = 0,
173  D20611_SA_ENABLE_ALARM_SYSTEM = 1,
174  } D20611_SA_ENUM;
175 
176  typedef enum
177  {
178  D20611_SPS_NO_CHANGE = 0,
179  D20611_SPS_NORMAL_SENSITIVITY = 1,
180  D20611_SPS_LOW_SENSITIVITY = 2,
181  D20611_SPS_RESERVED = 3,
182  }D20611_SPS_ENUM;
183 
184 
186 {
187  private: // internal helper tries to set the channel for Direction and type
188  eoReturn SetChannels(SIMPLE_DIRECTION direction);
189  eoMessage outMessage;
190  eoEEPChannelInfo *outChannels;
191  uint8_t outChannelCount;
192 
193  public:
194  eoReturn SetType(uint8_t type);
195  eoEEP_D20611(uint16_t size=14);
196  virtual ~eoEEP_D20611();
197  // Add
198  virtual eoReturn SetValue(CHANNEL_TYPE type, float value, uint8_t subFlag) override;
199  virtual eoReturn SetValue(CHANNEL_TYPE type, uint32_t value, uint8_t subFlag) override;
200  virtual eoReturn SetDirection(SIMPLE_DIRECTION direction) override;
201  virtual eoChannelInfo *GetOutChannel(CHANNEL_TYPE type) override;
202  virtual eoChannelInfo *GetOutChannel(CHANNEL_TYPE type, uint8_t subFlag) override;
203  virtual eoChannelInfo *GetOutChannel(uint8_t channelNumber) override;
204  virtual eoReturn Create(eoMessage& m) override;
205 };
208 #endif // !eoEEP_D20611
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
virtual eoReturn SetValue(CHANNEL_TYPE type, float value, uint8_t subFlag) override
Gets the Value as a float.
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
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
virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type) override
EnOcean Equipment Profiles.
Definition: eoD2EEProfile.h:96
CHANNEL_TYPE
Definition: eoChannelEnums.h:169
virtual eoReturn SetDirection(SIMPLE_DIRECTION direction) override
eoReturn SetType(uint8_t type)
virtual eoReturn Create(eoMessage &m) override
Generates an EEP Message.
The class to handle eoEEP_D20611.
Definition: eoEEP_D20611.h:185