4 #define LEN_SERVICE_FAMILIES 2
5 #if MASK_VERSION == 0x091A
7 #define LEN_SERVICE_DIB (2 + 4 * LEN_SERVICE_FAMILIES)
9 #define LEN_SERVICE_DIB (2 + 3 * LEN_SERVICE_FAMILIES)
13 #define LEN_SERVICE_DIB (2 + 3 * LEN_SERVICE_FAMILIES)
15 #define LEN_SERVICE_DIB (2 + 2 * LEN_SERVICE_FAMILIES)
20 :
KnxIpFrame(LEN_KNXIP_HEADER + LEN_IPHPAI + LEN_DEVICE_INFORMATION_DIB + LEN_SERVICE_DIB),
21 _controlEndpoint(_data + LEN_KNXIP_HEADER), _deviceInfo(_data + LEN_KNXIP_HEADER + LEN_IPHPAI),
22 _supportedServices(_data + LEN_KNXIP_HEADER + LEN_IPHPAI + LEN_DEVICE_INFORMATION_DIB)
26 _controlEndpoint.
length(LEN_IPHPAI);
31 _deviceInfo.
length(LEN_DEVICE_INFORMATION_DIB);
33 #if MASK_VERSION == 0x57B0
45 uint8_t mac_address[LEN_MAC_ADDRESS] = {0};
47 prop->
read(mac_address);
50 uint8_t friendlyName[LEN_FRIENDLY_NAME] = {0};
52 prop->
read(1, LEN_FRIENDLY_NAME, friendlyName);
55 _supportedServices.
length(LEN_SERVICE_DIB);
62 #if MASK_VERSION == 0x091A
70 return _controlEndpoint;
82 return _supportedServices;
const uint8_t * propertyData(PropertyID id)
T propertyValue(PropertyID id)
Property * property(PropertyID id)
Gets property with PropertyID id if it exists and nullptr otherwise.
DescriptionTypeCode code() const
uint16_t serviceTypeIdentifier() const
KnxIpSearchResponse(IpParameterObject ¶meters, DeviceObject &deviceObj)
KnxIpSupportedServiceDIB & supportedServices()
KnxIpDeviceInformationDIB & deviceInfo()
IpHostProtocolAddressInformation & controlEndpoint()
uint8_t serviceVersion(ServiceFamily family)
virtual uint8_t read(uint16_t start, uint8_t count, uint8_t *data) const =0
@ PID_PROJECT_INSTALLATION_ID
KNXnet/IP Parameter Object.
@ PID_KNX_INDIVIDUAL_ADDRESS
@ PID_ROUTING_MULTICAST_ADDRESS