class KNX::InformationBlock

Overview

Generic block

Defined in:

knx/discovery/dib.cr

Constant Summary

ENDIAN = ["big"]

Generic block

KLASS_NAME = [KNX::InformationBlock]

Generic block

PARTS = [{type: "basic", name: length, cls: UInt8, onlyif: nil, verify: nil, value: nil, endian: nil}, {type: "enum", name: description_type, cls: typeof(DescriptionType::DeviceInformation.value), onlyif: nil, verify: nil, value: nil, encoding: nil, enum_type: KNX::DescriptionType}, {type: "basic", name: device_info, cls: KNX::DIB, onlyif: -> do description_type == DescriptionType::DeviceInformation end, verify: nil, value: nil}, {type: "array", name: supported_services, cls: KNX::ServiceFamily, onlyif: -> do description_type == DescriptionType::SupportedServiceFamilies end, verify: nil, length: -> do (length - 2) // 2 end, value: nil}, {type: "bytes", name: raw_data, cls: Slice(UInt8), onlyif: -> do !({DescriptionType::DeviceInformation, DescriptionType::SupportedServiceFamilies}.includes?(description_type)) end, verify: nil, length: -> do length - 2 end, value: nil}] of Nil

Generic block

REMAINING = [] of Nil

Generic block

Class Method Summary

Instance Method Summary

Macro Summary

Class Method Detail

def self.bit_fields #

Generic block


[View source]

Instance Method Detail

def __format__ : IO::ByteFormat #

[View source]
def description_type : DescriptionType #

def description_type=(description_type : DescriptionType) #

def device_info : DIB #

def device_info=(device_info : DIB) #

def length : UInt8 #

def length=(length : UInt8) #

def raw_data : Bytes #

Ignore data for information we can't parse


def raw_data=(raw_data : Bytes) #

Ignore data for information we can't parse


def supported_services : Array(KNX::ServiceFamily) #

def supported_services=(supported_services : Array(KNX::ServiceFamily)) #

Macro Detail

macro knx_address(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_cemi(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_dib(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_group_address(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_group_address2_level(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_header(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_header_timer(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_header_wrapper(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_hpai(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_individual_address(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_information_block(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]
macro knx_service_family(name, onlyif = nil, verify = nil, value = nil) #

Generic block


[View source]