EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoEEP_D20610.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_D20610_H
29 #define EO_EEP_D20610_H
30 
33 #include "eoD2EEProfile.h"
34 
65 typedef enum
66 {
67  D20610_PA = 0,
68  D20610_A = 1,
69  D20610_WC = 2,
70  D20610_PAE = 3,
71  D20610_SAL = 4,
72  D20610_EPA = 5,
73 } D20610_CHANNELS;
74 
78 typedef enum
79 {
80  D20610_PA_NO_PRE_ALARM_OCCURED = 0,
81  D20610_PA_PRE_ALARM_OCCURED = 1,
82 } D20610_PA_ENUM;
83 typedef enum
84 {
85  D20610_A_NO_ALARM = 0,
86  D20610_A_ALARM_OCCURED = 1,
87 } D20610_A_ENUM;
88 typedef enum
89 {
90  D20610_WC_CON_TACT_OPEN = 0,
91  D20610_WC_CONTACT_CLOSED = 1,
92 } D20610_WC_ENUM;
93 typedef enum
94 {
95  D20610_PAE_PRE_ALARM_DISABLED = 0,
96  D20610_PAE_PRE_ALARM_ENABLED = 1,
97 } D20610_PAE_ENUM;
98 typedef enum
99 {
100  D20610_SAL_DISABLE_ALARM_SYSTEM = 0,
101  D20610_SAL_ENABLE_ALARM_SYSTEM = 1,
102 } D20610_SAL_ENUM;
103 typedef enum
104 {
105  D20610_EPA_DISABLE_PRE_ALARM = 0,
106  D20610_EPA_ENABLE_PRE_ALARM = 1,
107 } D20610_EPA_ENUM;
108 
109 
110 
112 {
113 private: //internal helper tries to set the channel for Direction and type
114  eoReturn SetChannels(SIMPLE_DIRECTION direction);
115  eoMessage outMessage;
116  eoEEPChannelInfo *outChannels;
117  uint8_t outChannelCount;
118 public:
119  virtual eoReturn SetType(uint8_t type);
120 
121  eoEEP_D20610(uint16_t size=14);
122  virtual ~eoEEP_D20610();
123  //Add
124  virtual eoReturn SetValue(CHANNEL_TYPE type, float value, uint8_t subFlag) override;
125  virtual eoReturn SetValue(CHANNEL_TYPE type, uint32_t value, uint8_t subFlag) override;
126  virtual eoReturn SetDirection(SIMPLE_DIRECTION direction) override;
127  virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type) override;
128  virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type,uint8_t subFlag) override;
129  virtual eoChannelInfo * GetOutChannel(uint8_t channelNumber) override;
130 };
133 #endif // !eoEEP_D20610
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
Message Class for communication.
Definition: eoMessage.h:47
virtual eoReturn SetValue(CHANNEL_TYPE type, float value, uint8_t subFlag) override
Gets the Value as a float.
The class to handle eoEEP_D20610.
Definition: eoEEP_D20610.h:111
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 eoReturn SetType(uint8_t type)
EnOcean Equipment Profiles.
Definition: eoD2EEProfile.h:96
CHANNEL_TYPE
Definition: eoChannelEnums.h:169
virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type) override
virtual eoReturn SetDirection(SIMPLE_DIRECTION direction) override