EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoEEP_A52006.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_A52006_H
29 #define EO_EEP_A52006_H
30 
33 #include "eoA5EEProfile.h"
81 typedef enum
82 {
83  A52006_CV = 0,
84  A52006_LOM = 1,
85  A52006_LO = 2,
86  A52006_LOCH0 = 3,
87  A52006_TMPLOCALAMBIENT = 4,
88  A52006_TMPFEEDPOINT = 5,
89  A52006_TSL = 6,
90  A52006_ENIE = 7,
91  A52006_ES = 8,
92  A52006_DWO = 9,
93  A52006_LRNB = 10,
94  A52006_RCE = 11,
95  A52006_RSS = 12,
96  A52006_ACO = 13,
97  A52006_REF = 14,
98  A52006_RFC = 15,
99  A52006_SB = 16,
100  A52006_SPS = 17,
101  A52006_SBY = 18,
102  A52006_VP, //Valve position
103  A52006_SP, // Setpoint
104  A52006_TMP,
105 } A52006_CHANNELS;
106 
110 typedef enum
111 {
112  A52006_LOM_LO_IS_RELATIVE___OFFSETTEMPERATURE = 0,
113  A52006_LOM_LO_IS_ABSOLUTE___ABSOLUTTEMPERATURE = 1,
114 } A52006_LOM_ENUM;
115 typedef enum
116 {
117  A52006_LO_LOCAL_OFFSET_0C = 0,
118  A52006_LO_LOCAL_OFFSET_1C = 1,
119  A52006_LO_LOCAL_OFFSET_2C = 2,
120  A52006_LO_LOCAL_OFFSET_3C = 3,
121  A52006_LO_LOCAL_OFFSET_4C = 4,
122  A52006_LO_LOCAL_OFFSET_5C = 5,
123  A52006_LO_LOCAL_OFFSET_N5C = 123,
124  A52006_LO_LOCAL_OFFSET_N4C = 124,
125  A52006_LO_LOCAL_OFFSET_N3C = 125,
126  A52006_LO_LOCAL_OFFSET_N2C = 126,
127  A52006_LO_LOCAL_OFFSET_B1C = 127,
128 } A52006_LO_ENUM;
129 typedef enum
130 {
131  A52006_TSL_AMBIENT_SENSOR_TEMPERATURE = 0,
132  A52006_TSL_FEED_SENSOR_TEMPERATURE = 1,
133 } A52006_TSL_ENUM;
134 typedef enum
135 {
136  A52006_ENIE_NOT_HARVESTING = 0,
137  A52006_ENIE_HARVESTING_ACTIVE = 1,
138 } A52006_ENIE_ENUM;
139 typedef enum
140 {
141  A52006_ES_LOW___ALMOST_DISCHARGED = 0,
142  A52006_ES_SUFFICENTLY_CHARGED = 1,
143 } A52006_ES_ENUM;
144 typedef enum
145 {
146  A52006_DWO_NO_WINDOW_OPEN_DETECTED = 0,
147  A52006_DWO_WINDOW_OPEN_DETECTED = 1,
148 } A52006_DWO_ENUM;
149 typedef enum
150 {
151  A52006_LRNB_TEACH_IN_TELEGRAM = 0,
152  A52006_LRNB_DATA_TELEGRAM = 1,
153 } A52006_LRNB_ENUM;
154 typedef enum
155 {
156  A52006_RCE_RADIO_COMMUNICATION_IS_STABLE = 0,
157  A52006_RCE_6_OR_MORE_CONSECUTIVE_COMMUNICATION_ERROS_HAVE_OCC = 1,
158 } A52006_RCE_ENUM;
159 typedef enum
160 {
161  A52006_RSS_RADIO_SIGNAL_IS_STRONG = 0,
162  A52006_RSS_RADIO_SIGNAL_IS_WEAK_UNDER__77DBM = 1,
163 } A52006_RSS_ENUM;
164 typedef enum
165 {
166  A52006_ACO_ACTUATOR_WORKING_CORRECTLY = 0,
167  A52006_ACO_ACTUATOR_BLOCKED = 1,
168 } A52006_ACO_ENUM;
169 typedef enum
170 {
171  A52006_REF_NORMAL_OPERATION = 0,
172  A52006_REF_REFERENCE_RUN = 1,
173 } A52006_REF_ENUM;
174 typedef enum
175 {
176  A52006_RFC_AUTO = 0,
177  A52006_RFC_2_MINUTES = 1,
178  A52006_RFC_5_MINUTES = 2,
179  A52006_RFC_10_MINUTES = 3,
180  A52006_RFC_20_MINUTES = 4,
181  A52006_RFC_30_MINUTES = 5,
182  A52006_RFC_60_MINUTES = 6,
183  A52006_RFC_120_MINUTES = 7,
184 } A52006_RFC_ENUM;
185 typedef enum
186 {
187  A52006_SB_NORMAL_OPERATION = 0,
188  A52006_SB_SUMMER_MODE_WITH_8HOURS_RADIO_DUTY_CYCLE = 1,
189 } A52006_SB_ENUM;
190 typedef enum
191 {
192  A52006_SPS_VALVE_POSITION_MODE = 0,
193  A52006_SPS_TEMPERATURE_SETPOINT = 1,
194 } A52006_SPS_ENUM;
195 typedef enum
196 {
197  A52006_SBY_NORMAL_OPERATION = 0,
198  A52006_SBY_ENTER_STANDBYE = 1,
199 } A52006_SBY_ENUM;
200 
201 
203 {
204 private: //internal helper tries to set the channel for Direction and type
205  eoReturn SetChannels(SIMPLE_DIRECTION direction);
206  eoMessage outMessage;
207  eoEEPChannelInfo *outChannels;
208  uint8_t outChannelCount;
209 public:
210 
211  virtual eoReturn SetType(uint8_t type);
212  virtual eoReturn SetValue(CHANNEL_TYPE type, float value, uint8_t subFlag) override;
213  virtual eoReturn SetValue(CHANNEL_TYPE type, uint32_t value, uint8_t subFlag) override;
214  virtual eoReturn SetDirection(SIMPLE_DIRECTION direction) override;
215  virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type) override;
216  virtual eoChannelInfo * GetOutChannel(uint8_t channelNumber) override;
217  virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type,uint8_t index) override;
218  eoEEP_A52006(uint16_t size=14);
219  virtual ~eoEEP_A52006();
220 };
223 #endif // !eoEEP_A52006
EnOcean Equipment Profiles.
Definition: eoA5EEProfile.h:85
An interface for profiles which support bidirectional communication, but do not indicate the directio...
Definition: eoISimpleBidirectionalProfile.h:50
virtual eoReturn SetType(uint8_t type)
uint8_t type
Type.
Definition: eoProfile.h:69
virtual eoReturn SetDirection(SIMPLE_DIRECTION direction) override
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
The class to handle eoEEP_A52006.
Definition: eoEEP_A52006.h:202
virtual eoChannelInfo * GetOutChannel(CHANNEL_TYPE type) override
CHANNEL_TYPE
Definition: eoChannelEnums.h:169