13 #ifndef __BAOSLIB_INTERFACE_DATA_TYPES_H__
14 #define __BAOSLIB_INTERFACE_DATA_TYPES_H__
18 #include "BlockReader.h"
23 #include "wzcpp/features/algorithm/append.h"
24 #include "wzcpp/features/logging.h"
25 #include "wzcpp/features/utils/ByteArray.h"
26 #include "wzcpp/features/utils/Memory.h"
50 wzcpp::SixByteArray hardwareType{0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
51 std::uint8_t hardwareVersion{0};
52 std::uint8_t firmwareVersion{0};
53 std::uint16_t manufactureCodeDevice{0};
54 wzcpp::SixByteArray serialNumber{0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
55 std::uint16_t maxBufferSize{0};
56 std::uint8_t binaryProtocolVersion{0};
57 std::uint8_t webServicesProtocolVersion{0};
58 std::uint8_t restServiceProtocolVersion{0};
59 wzcpp::SixByteArray macAddress{0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
60 std::uint8_t maxManagementClients{0};
61 std::uint8_t maxTunnellingClients{0};
62 std::uint8_t maxBaosUdpClients{0};
63 std::uint8_t maxBaosTcpClients{0};
64 std::uint16_t maxDatapoints{0};
65 std::uint16_t maxParameterBytes{0};
67 static constexpr std::array ids{
95 std::uint16_t manufactureCodeApp{0};
96 std::uint16_t applicationId{0};
98 std::uint8_t applicationVersion{0};
100 std::uint16_t lengthOfDescriptionString{0};
101 std::uint8_t baudrateItem{0};
102 std::uint16_t currentBufferSize{0};
103 bool indicationSetting{
105 std::uint16_t individualAddress{0};
106 bool tunnellingEnabled{
false};
107 bool baosBinaryEnabled{
false};
108 bool baosWebEnabled{
false};
109 bool baosRestEnabled{
false};
110 bool httpFileEnabled{
false};
111 bool searchRequestEnabled{
false};
112 bool isStructured{
false};
114 std::uint16_t configuredDatapoints{0};
116 std::uint16_t downloadCounter{0};
123 std::array<std::uint8_t, 4>
126 std::int8_t SystemTimezoneOffset{0};
127 bool menuEnabled{
false};
131 wzcpp::SixByteArray rfDomainAddress{
132 0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
135 static constexpr std::array ids{
175 std::uint32_t timeSinceReset{0};
176 bool busConnected{
false};
177 bool programmingMode{
false};
178 std::uint8_t connectedManagementClients{0};
179 std::uint8_t connectedTunnellingClients{0};
180 std::uint8_t connectedBaosUdpClients{0};
181 std::uint8_t connectedBaosTcpClients{0};
185 static constexpr std::array ids{
Code regarding a connection to a physical BAOS device.
Global BAOS protocol defines and types.
Represents which status flags are supported by the device, serveritem 52.
Definition: Defines.h:332
This structure represents the status flags provided by some BAOS devices server item ServerItemId::St...
Definition: Defines.h:261
Global types and configuration for the whole SDK.
IpAssigmentMethod
An Ip device may have different methods for ip assigment.
Definition: Defines.h:632
@ dhcp
The ip address is requested from a DHCP server.
@ MaxTunnellingClients
(Read Only; 1 byte; from V2.1)
@ ProgrammingMode
(Read/Write; 1 bytes)
@ ConnectedBaosUdpClients
(Read Only; 1 byte; from V2.1)
@ BinaryProtocolVersion
Version of the ObjectServer binary protocol (Read Only; 1 byte; from V2.0)
@ MaxBaosUdpClients
(Read Only; 1 byte; from V2.1)
@ ConnectedTunnellingClients
(Read Only; 1 byte; from V2.1)
@ SearchRequestEnabled
(Read / Write; 1 byte; from V2.1)
@ MenuEnabled
(Read / Write; 1 byte; from V2.1)
@ DownloadCounter
(Read Only; 2 bytes; from V2.1)
@ ManufactureCodeDevice
(Read Only; 2 bytes)
@ TimeSinceResetUnit
(Read / Write; 1 byte; from V2.1)
@ LengthOfDescriptionString
(Read Only; 2 bytes)
@ RFDomainAddress
(Read / Write; 6 bytes;)
@ IsStructured
(Read Only; 1 byte; from V2.1)
@ SystemTimezoneOffset
(Read / Write; 1 byte (signed); from V2.1)
@ MaxBaosTcpClients
(Read Only; 1 byte; from V2.1)
@ SystemTime
(Read / Write; variable length; from V2.1)
@ TunnellingEnabled
(Read / Write; 1 byte; from V2.1)
@ MaxManagementClients
(Read Only; 1 byte; from V2.1)
@ WebServicesProtocolVersion
Version of the ObjectServer web services protocol (Read Only; 1 byte; from V2.0)
@ ApplicationVersion
(Read Only; 1 bytes)
@ MaxParameterBytes
(Read Only; 2 bytes; from V2.1)
@ ConnectedBaosTcpClients
(Read Read / Write Only; 1 byte; from V2.1)
@ IndicationSetting
Indicates whether indications are sent (Read/Write; 1 byte; from V2.0)
@ MaxBufferSize
(Read/Write; 2 bytes)
@ RestServiceProtocolVersion
(Read Only; 1 byte; from V2.1)
@ IPAddress
(Read / Write; 4 bytes; from V2.1)
@ ConnectedManagementClients
(Read Only; 1 byte; from V2.1)
@ BaudrateItem
(Read/Write; 1 byte)
@ ManufactureCodeApp
(Read Only; 2 bytes)
@ DeviceFriendlyName
(Read / Write; 30 bytes; from V2.1)
@ BaosWebEnabled
(Read / Write; 1 byte; from V2.1)
@ TimeSinceReset
(Read Only; 4 bytes)
@ ConfiguredDatapoints
(Read Only; 2 bytes; from V2.1)
@ ApplicationId
(Read Only; 2 bytes)
@ SerialNumber
(Read Only; 6 bytes)
@ MacAddress
(Read Only; 6 byte; from V2.1)
@ StatusFlags
(Read Only; 2 bytes; from V2.1)
@ SubnetMask
(Read / Write; 4 bytes; from V2.1)
@ DefaultGateway
(Read / Write; 4 bytes; from V2.1)
@ BaosRestEnabled
(Read / Write; 1 byte; from V2.1)
@ IndividualAddress
(Read / Write; 2 byte; from V2.1)
@ HardwareVersion
(Read Only; 1 byte)
@ BusConnected
(Read Only; 1 byte)
@ MaxDatapoints
(Read Only; 2 bytes; from V2.1)
@ SuspendEnabled
(Read / Write; 1 byte; from 2.1)
@ IPAssignment
(Read / Write; 1 byte; from V2.1)
@ HttpFileEnabled
(Read / Write; 1 byte; from V2.1)
@ HardwareType
(Read Only; 6 bytes)
@ CurrentBufferSize
(Read Only; 2 bytes)
@ BaosBinaryEnabled
(Read / Write; 1 byte; from V2.1)
@ StatusFlagsSupported
(Read Only; 2 bytes; from V2.1)
DPT
Enumeration value for the supported datapoint types( DPTs )
Definition: Defines.h:172
TimeSinceResetUnit
The ServerItemId::TimeSinceResetUnit current unit for TimeSinceReset. This type gives those units a n...
Definition: Defines.h:620
DatapointSize
Enum class representing the different datapoint lengths.
Definition: Defines.h:147
Global BAOS sdk namespace.
Definition: config.h:62
std::vector< std::uint8_t > Buffer
An alias type for a byte buffer.
Definition: config.h:64
std::map< std::uint16_t, DatapointConfig > DatapointConfigurations
Definition: BaosDeviceDataTypes.h:212
std::string toString(IOEvent::Type typ)
Provides a human readable string for an IOEvent type.
Definition: IOEvent.h:92
ServerItemReadStrategy
Strategy type on how to handle reading the serveritems.
Definition: BaosDeviceDataTypes.h:216
@ METADATAREADWITHFALLBACK
@ ALLATONCE
Read from first to std::uint16_t Max serveritems.
Information about a datapoint object.
Definition: BaosDeviceDataTypes.h:201
std::string desc
Definition: BaosDeviceDataTypes.h:205
protocol::DatapointConfigFlags flags
Definition: BaosDeviceDataTypes.h:203
protocol::DPT dpt
Definition: BaosDeviceDataTypes.h:204
protocol::DatapointSize size
Definition: BaosDeviceDataTypes.h:202
Configuration options for the cpp device class behaviour.
Definition: BaosDeviceDataTypes.h:226
ServerItemReadStrategy siReadStrategy
How server items should be read.
Definition: BaosDeviceDataTypes.h:229
bool blockReadEnabled
Read in blocks if the request is to larger to handle in one telegram.
Definition: BaosDeviceDataTypes.h:228
bool cacheEnabled
Enable the caching of datapoint values and parameter bytes.
Definition: BaosDeviceDataTypes.h:227
A collection of fields representing those serveritems which may change if the configuration of the de...
Definition: BaosDeviceDataTypes.h:94
std::array< std::uint8_t, 4 > defaultGateway
If manual IP assigment is selected, this is the default gateway to be set in the device.
Definition: BaosDeviceDataTypes.h:124
std::array< std::uint8_t, 4 > iPAddress
Definition: BaosDeviceDataTypes.h:120
std::array< std::uint8_t, 4 > subnetMask
If manual IP assignment is selected, this is the subnet mask to set.
Definition: BaosDeviceDataTypes.h:122
protocol::TimeSinceResetUnit timeSinceResetUnit
The unit in which timesincereset is represented.
Definition: BaosDeviceDataTypes.h:125
std::string deviceFriendlyName
For IP devices the same as KNXnet/IP device friendly name.
Definition: BaosDeviceDataTypes.h:115
A collection of fields representing those serveritems which may change during "normal" operation of t...
Definition: BaosDeviceDataTypes.h:174
Buffer SystemTime
The system time of the device in seconds since 1.1.1970 0:00.
Definition: BaosDeviceDataTypes.h:182
A collection of fields representing those serveritems which won't ever change in a device.
Definition: BaosDeviceDataTypes.h:49
Struct for the communication flags of a datapoint. See KNX spec for more details.
Definition: Defines.h:425