knx
ETS configurable knx-stack
device_object.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "interface_object.h"
4 
5 #define LEN_HARDWARE_TYPE 6
6 
8 {
9 public:
10  // increase this version anytime DeviceObject-API changes
11  // the following value represents the serialized representation of DeviceObject.
12  const uint16_t apiVersion = 1;
13 
14  DeviceObject();
15  uint8_t* save(uint8_t* buffer) override;
16  const uint8_t* restore(const uint8_t* buffer) override;
17  uint16_t saveSize() override;
18 
19  uint16_t individualAddress();
20  void individualAddress(uint16_t value);
21 
22  void individualAddressDuplication(bool value);
23  bool verifyMode();
24  void verifyMode(bool value);
25  bool progMode();
26  void progMode(bool value);
27  uint16_t manufacturerId();
28  void manufacturerId(uint16_t value);
29  uint32_t bauNumber();
30  void bauNumber(uint32_t value);
31  const uint8_t* orderNumber();
32  void orderNumber(const uint8_t* value);
33  const uint8_t* hardwareType();
34  void hardwareType(const uint8_t* value);
35  uint16_t version();
36  void version(uint16_t value);
37  uint16_t maskVersion();
38  void maskVersion(uint16_t value);
39  uint16_t maxApduLength();
40  void maxApduLength(uint16_t value);
41  const uint8_t* rfDomainAddress();
42  void rfDomainAddress(uint8_t* value);
43  uint8_t defaultHopCount();
44  private:
45  uint8_t _prgMode = 0;
46 #if MASK_VERSION == 0x091A || MASK_VERSION == 0x2920
47  uint16_t _ownAddress = 0xFF00; // 15.15.0; couplers have 15.15.0 as default PA
48 #else
49  uint16_t _ownAddress = 0xFFFF; // 15.15.255;
50 #endif
51 };
const uint8_t * hardwareType()
uint16_t maskVersion()
const uint8_t * rfDomainAddress()
uint16_t saveSize() override
uint16_t manufacturerId()
const uint8_t * restore(const uint8_t *buffer) override
This method is called when the object should restore its state from the buffer.
const uint16_t apiVersion
Definition: device_object.h:12
const uint8_t * orderNumber()
uint16_t maxApduLength()
uint16_t version()
void individualAddressDuplication(bool value)
uint8_t defaultHopCount()
uint8_t * save(uint8_t *buffer) override
This method is called when the object should save its state to the buffer.
uint32_t bauNumber()
uint16_t individualAddress()
This class represents and interface object.