EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoSignal.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 
34 #ifndef EO_SIGNAL_H_
35 #define EO_SIGNAL_H_
36 //WIP adding newest signals
37 #include <stdint.h>
38 #include "eoProfile.h"
39 #include "eoMessage.h"
40 #include "eoEEProfile.h"
41 typedef enum
42 {
43  SIGNAL_RESERVED = 0x00,
53  SIGNAL_ACK = 0x05,
71  SIGNAL_TX_OFF = 0x0E,
73  SIGNAL_TX_ON = 0x0F,
78 
80 
81 
82 typedef enum
83 {
84  SIG_TRIGGER_EEP_STATUS = 0x00,
90 typedef enum
91 {
92  SIG_DELIVERY_EXCELLENT_ENERGY = 0x00, // Sunshine, charging at max level
93  SIG_DELIVERY_GOOD_ENERGY = 0x01, //Device will slowly charge caps
94  SIG_DELIVERY_AVERAGE_ENERGY = 0x02, //Device can operate normally
95  SIG_DELIVERY_BAD_ENERGY = 0x03, //Device will discharge over time
96  SIG_DELIVERY_VERY_BAD_ENERGY = 0x04 // No charging at all
97 } SIGNAL_ENERGY_DELIVERY;
98 
99 typedef enum
100 {
101  SIG_SUBTEL_UNKONW = 0x00,
102  SIG_SUBTEL_1 = 0x01,
103  SIG_SUBTEL_2 = 0x02,
104  SIG_SUBTEL_3 = 0x03,
105  SIG_SUBTEL_4 = 0x04,
106  SIG_SUBTEL_5 = 0x05,
107  SIG_SUBTEL_6 = 0x06,
108  SIG_SUBTEL_7 = 0x07,
109  SIG_SUBTEL_8 = 0x08,
110  SIG_SUBTEL_9 = 0x09,
111  SIG_SUBTEL_10 = 0x0A,
112  SIG_SUBTEL_11 = 0x0B,
113  SIG_SUBTEL_12 = 0x0C,
114  SIG_SUBTEL_13 = 0x0D,
115  SIG_SUBTEL_14 = 0x0E,
118 
119 typedef enum
120 {
121  SIG_REPEATER_LEVEL_NONE = 0x00,
126 typedef enum
127 {
128  SIG_DUTY_CYCLE_EXCEEDED = 0x00,
131 
132 typedef enum
133 {
134  SIG_NO_BATTERY_AVAILABLE = 255,
135 } SIGNAL_BACKUP_BATTERY_AVAILABLE;
136 
137 typedef enum
138 {
139  SIG_LINK_TABLE_NOT_FULL = 0,
142 
143 typedef enum
144 {
145  SIG_REC_OF_TI_REQ_DISABLED = 0,
148 
149 typedef enum
150 {
151  SIG_LRN_MODE_STANDARD = 0,
155 
156 
157 typedef enum
158 {
159  SIG_TEACH_IN_SUCCESS = 0,
166 //TODO all the signal types enums :/
167 
176 class eoSignal : public eoEEProfile
177 {
178 public:
179  eoSignal();
180  ~eoSignal();
181  eoReturn SetMID(EEP_SIGNAL_TYPES type,bool receivedMessage);
182 
183  virtual eoReturn SetType(uint8_t type);
184  virtual eoReturn Parse(const eoMessage &msg);
185 
186 };
187 
192 #endif /* EOEEPROFILE_H_ */
Energy status (Response: MID 0x06)
Definition: eoSignal.h:86
10 Subtel received during RX intervall
Definition: eoSignal.h:112
2 Subtel received during RX intervall
Definition: eoSignal.h:104
Teach-In of Device-ID failed, Number of devices of Device-EEP exceeded.
Definition: eoSignal.h:162
Revision of device (Response: MID 0x07)
Definition: eoSignal.h:87
Extended Learn Mode#1 , defined by the application.
Definition: eoSignal.h:153
6 Subtel received during RX intervall
Definition: eoSignal.h:108
uint8_t type
Type.
Definition: eoProfile.h:69
Space available in the link table.
Definition: eoSignal.h:140
No count available.
Definition: eoSignal.h:102
Smart Ack Mailbox empty, no additional data needed.
Definition: eoSignal.h:45
eoMessage msg
helper function to convert bits
Definition: eoProfile.h:302
1 Subtel received during RX intervall
Definition: eoSignal.h:103
Profile base class for Enocean Equipment Profiles.
Teach-In of Device-ID failed, Number of devices exceeded.
Definition: eoSignal.h:163
Smart Ack Mailbox does not exist, no additional data needed.
Definition: eoSignal.h:47
Message Class for communication.
Definition: eoMessage.h:47
Reception of Teach Request Message disabled.
Definition: eoSignal.h:146
StandardLearn Mode= Binding of devices without further action.
Definition: eoSignal.h:152
7 Subtel received during RX intervall
Definition: eoSignal.h:109
SIGNAL_REC_OF_TI_REQ
Definition: eoSignal.h:143
base class for EEProfile parsing
Definition: eoEEProfile.h:50
RX Level of received request(this) telegram(Response: MID 0x0A)
Definition: eoSignal.h:88
abstract class for eosignals parsing
Definition: eoSignal.h:176
Duty - cycle status, additional data needed.
Definition: eoSignal.h:65
: Teach-In of Device-ID failed, Device-EEP not supported
Definition: eoSignal.h:161
9 Subtel received during RX intervall
Definition: eoSignal.h:111
Max Repeater Level 0 received.
Definition: eoSignal.h:122
Teach-Out of Device-ID successful.
Definition: eoSignal.h:164
Last unicast - message acknowledge, no additional data needed.
Definition: eoSignal.h:53
Max Repeater Level 2 received.
Definition: eoSignal.h:124
virtual eoReturn SetType(uint8_t type)
Energy delivery of the harvester, additional data needed.
Definition: eoSignal.h:69
Max Repeater Level 1 received.
Definition: eoSignal.h:123
SIGNAL_REPEATER_LEVEL
Definition: eoSignal.h:119
3 Subtel received during RX intervall
Definition: eoSignal.h:105
SIGNAL_TEACH_RESULT
Definition: eoSignal.h:157
eoReturn
contains all the return values from different functions
Definition: eoApiDef.h:40
SIGNAL_LINK_TABLE_STATUS
Definition: eoSignal.h:137
TX Mode on.
Definition: eoSignal.h:77
SIGNAL_TRIGGER_TYPE
Definition: eoSignal.h:82
4 Subtel received during RX intervall
Definition: eoSignal.h:106
Energy status of device, additional data needed.
Definition: eoSignal.h:55
TX Mode on.
Definition: eoSignal.h:73
Backup Battery status.
Definition: eoSignal.h:75
Teach-In of Device-ID successfull.
Definition: eoSignal.h:160
Trigger status message of device, additional data needed.
Definition: eoSignal.h:51
Smart Ack Reset : Trigger LRN Request , no additional data needed.
Definition: eoSignal.h:49
virtual eoReturn Parse(const eoMessage &msg)
Parses a msg using learned in Profile from Device.
SIGNAL_LRN_MODE
Definition: eoSignal.h:149
13 Subtel received during RX intervall
Definition: eoSignal.h:115
RX - window open,no additional data needed.
Definition: eoSignal.h:61
8 Subtel received during RX intervall
Definition: eoSignal.h:110
SIGNAL_CONFIG_CHANGED,no additional data needed.
Definition: eoSignal.h:67
TX Mode off.
Definition: eoSignal.h:71
RX - channel quality, additional data needed.
Definition: eoSignal.h:63
11 Subtel received during RX intervall
Definition: eoSignal.h:113
14 Subtel received during RX intervall
Definition: eoSignal.h:116
5 Subtel received during RX intervall
Definition: eoSignal.h:107
EEP Status. (Response: Defined by device)
Definition: eoSignal.h:85
Revision of device, additional data needed.
Definition: eoSignal.h:57
TX Duty cycle limit exceeded. Further communication is not possible.
Definition: eoSignal.h:129
SIGNAL_DUTY_CYCLE
Definition: eoSignal.h:126
SIGNAL_SUBTEL_COUNT
Definition: eoSignal.h:99
12 Subtel received during RX intervall
Definition: eoSignal.h:114
EEP_SIGNAL_TYPES
Definition: eoSignal.h:41
Heartbeat,no additional data needed.
Definition: eoSignal.h:59