EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoEEP_D2A0xx.h
Go to the documentation of this file.
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 #if !defined(eoEEP_D2A0_H__INCLUDED_)
29 #define eoEEP_D2A0_H__INCLUDED_
30 
33 #include "eoD2EEProfile.h"
61 typedef enum
63 {
68 } VALVE_STATUS;
69 
71 typedef enum
72 {
82 
84 typedef enum
85 {
91 
93 {
94 private:
95  VALVE_DIRECTION oldDirection;
96  eoMessage outMessage;
97  eoEEPChannelInfo *outChannels;
98  uint8_t outChannelCount;
99  //internal helper tries to set the channel for Direction and type
100  eoReturn SetChannels(SIMPLE_DIRECTION direction,uint8_t type);
101 public:
102  eoReturn SetType(uint8_t type);
103  eoReturn Parse(const eoMessage &msg);
108  eoEEP_D2A0xx(uint16_t size = 1);
109  virtual ~eoEEP_D2A0xx();
110  virtual eoReturn GetValue(CHANNEL_TYPE type, uint32_t &value,uint8_t index);
111  virtual eoReturn SetValue(CHANNEL_TYPE type, uint32_t value, uint8_t index);
112 
119  virtual eoReturn Create(eoMessage &m);
120 
122  virtual eoChannelInfo* GetOutChannel(CHANNEL_TYPE type,uint8_t index);
123  virtual eoChannelInfo* GetOutChannel(uint8_t channelNumber);
124  virtual eoReturn SetDirection(SIMPLE_DIRECTION directionToSet);
125 
126  virtual void ClearValues();
127 };
130 #endif // !defined(EA_259BDE62_FE41_490e_8B3E_427A72922C4A__INCLUDED_)
The class to handle EEP D2A0 profiles.
Definition: eoEEP_D2A0xx.h:92
Request feedback 0
Definition: eoEEP_D2A0xx.h:74
An interface for profiles which support bidirectional communication, but do not indicate the directio...
Definition: eoISimpleBidirectionalProfile.h:50
Opened 2
Definition: eoEEP_D2A0xx.h:67
uint8_t type
Type.
Definition: eoProfile.h:69
eoMessage msg
helper function to convert bits
Definition: eoProfile.h:302
Request opening 2
Definition: eoEEP_D2A0xx.h:78
Message Class for communication.
Definition: eoMessage.h:47
eoReturn SetDirection(VALVE_DIRECTION direction)
eoReturn Parse(const eoMessage &msg)
Parses a msg using learned in Profile from Device.
virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type)
eoReturn SetType(uint8_t type)
virtual eoReturn Create(eoMessage &m)
Generates an EEP Message.
Request closing 1
Definition: eoEEP_D2A0xx.h:76
Water valve to the controller 0
Definition: eoEEP_D2A0xx.h:87
Abstract class for channel information. Abstract class for channel information. From this class speci...
Definition: eoChannelInfo.h:77
virtual void ClearValues()
eoEEP_D2A0xx(uint16_t size=1)
VALVE_DIRECTION
Valve direction enums for D2-A0-xx profiles.
Definition: eoEEP_D2A0xx.h:84
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
VALVE_STATUS
Valve status enums for D2-A0-xx profiles.
Definition: eoEEP_D2A0xx.h:62
EnOcean Equipment Profiles.
Definition: eoD2EEProfile.h:96
VALVE_REQUEST
Valve status request enums for D2-A0-xx profiles.
Definition: eoEEP_D2A0xx.h:71
CHANNEL_TYPE
Definition: eoChannelEnums.h:169
Closed 1
Definition: eoEEP_D2A0xx.h:65
Request closing 3
Definition: eoEEP_D2A0xx.h:80
Controller to the water valve 1
Definition: eoEEP_D2A0xx.h:89