EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoTelegramERP2.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 
33 #ifndef EO_TELERGAMERP2_H_
34 #define EO_TELERGAMERP2_H_
35 
36 #include "eoTelegram.h"
37 typedef enum
38 {
39  SourceID24Bit,
40  SourceID32Bit,
41  SourceID48Bit,
42  SourceIDInvalid
43 }SourceIDLength;
44 typedef enum
45 {
46  NoDestinationID,
47  DestinationID32Bit,
48  DestinationIDInvalid
49 }DestinationIDType;
50 
57 {
58 private:
59  uint8_t optionalDataLength;
60  uint8_t repeaterCount;
61  void defaultConstructor();
62 public:
67  eoTelegramERP2(const eoTelegramERP2& telegram);
72  eoTelegramERP2(uint16_t size);
73  virtual ~eoTelegramERP2();
74  virtual void Clear();
75 
81  virtual eoReturn copyTo(eoTelegramERP2 &msg) const;
82  virtual eoReturn copyTo(eoTelegram &msg) const;
83  virtual eoReturn copyTo(eoMessage &msg) const;
84 
85  virtual eoReturn SetDataLength(uint16_t dataLen, bool reallocate = false);
86 
88  uint16_t sourceIDMSB;
89  SourceIDLength sourceIDLength;
90  DestinationIDType destIDLength;
91 
92  uint8_t GetOptionalDataLength() const;
93  //Return false if the length could not be modified
94  eoReturn SetOptionalDataLength(uint8_t u8Length);
95 
96  uint8_t GetRepeaterCount(void) const;
97  eoReturn SetRepeaterCount(uint8_t repCounter);
98 
99  uint8_t optionalData[15];
100 
101 
102 
103 
104 };
105 #endif // !defined(EO_TELERGAM_H_)
uint16_t sourceIDMSB
The Most significant 16bytes of a 48bit telegram.
Definition: eoTelegramERP2.h:88
eoTelegramERP2(const eoTelegramERP2 &telegram)
every Communication from an EnOcean Device to another one consist out of one more Telegrams...
Definition: eoTelegram.h:43
Message Class for communication.
Definition: eoMessage.h:47
virtual eoReturn SetDataLength(uint16_t dataLen, bool reallocate=false)
virtual eoReturn copyTo(eoTelegramERP2 &msg) const
every Communication from an EnOcean Device to another one consist out of one more Telegrams...
Definition: eoTelegramERP2.h:56
virtual void Clear()
eoReturn
contains all the return values from different functions
Definition: eoApiDef.h:40