knx/device_object.h
2018-03-16 00:48:39 +01:00

46 lines
1.4 KiB
C++

#pragma once
#include "interface_object.h"
class DeviceObject: public InterfaceObject
{
public:
void readProperty(PropertyID id, uint32_t start, uint32_t count, uint8_t* data);
void writeProperty(PropertyID id, uint8_t start, uint8_t* data, uint8_t count);
uint8_t propertySize(PropertyID id);
uint8_t* save(uint8_t* buffer);
uint8_t* restore(uint8_t* buffer);
uint16_t induvidualAddress();
void induvidualAddress(uint16_t value);
bool userStopped();
void userStopped(bool value);
bool induvidualAddressDuplication();
void induvidualAddressDuplication(bool value);
bool verifyMode();
void verifyMode(bool value);
bool safeState();
void safeState(bool value);
bool progMode();
void progMode(bool value);
uint16_t manufacturerId();
void manufacturerId(uint16_t value);
uint32_t bauNumber();
void bauNumber(uint32_t value);
const char* orderNumber();
void orderNumber(const char* value);
const uint8_t* hardwareType();
void hardwareType(const uint8_t* value);
uint16_t version();
void version(uint16_t value);
private:
uint8_t _deviceControl;
uint8_t _routingCount;
uint8_t _prgMode;
uint16_t _ownAddress;
uint16_t _manufacturerId;
uint32_t _bauNumber;
char _orderNumber[10];
uint8_t _hardwareType[6];
uint16_t _version;
};