class

KNX::DIB

Inherits BinData < Reference < Object

Device Information Block

Constants

AFTER_DESERIALIZE = [] of Nil

Device Information Block

BEFORE_SERIALIZE = [] of Nil

Device Information Block

ENDIAN = ["big"]

Device Information Block

KLASS_NAME = [KNX::DIB]

Device Information Block

PARTS = [{type: "enum", name: medium, cls: typeof(MediumType::IP.value), onlyif: nil, verify: nil, value: nil, encoding: nil, enum_type: KNX::MediumType}, {type: "basic", name: device_status, cls: UInt8, onlyif: nil, verify: nil, value: nil, endian: nil}, {type: "basic", name: source, cls: KNX::IndividualAddress, onlyif: nil, verify: nil, value: nil}, {type: "basic", name: project_installation_id, cls: UInt16, onlyif: nil, verify: nil, value: nil, endian: nil}, {type: "bytes", name: device_serial, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do 6 end, value: nil}, {type: "bytes", name: device_multicast_address, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do 4 end, value: nil}, {type: "bytes", name: device_mac_address, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do 6 end, value: nil}, {type: "string", name: friendly_name, cls: String, onlyif: nil, verify: nil, length: -> do 30 end, value: nil, encoding: nil}] of Nil

Device Information Block

REMAINING = [] of Nil

Device Information Block

Class methods

bit_fields

Device Information Block

Source

Instance methods

__format__

A group or bit_field captures the endianness at its declaration point, so declaring endian after one would silently leave it system-endian. Fail loudly.

Source
device_mac_address
device_mac_address=(device_mac_address : Bytes)
device_multicast_address
device_multicast_address=(device_multicast_address : Bytes)
device_serial
device_serial=(device_serial : Bytes)
device_status

Device status just used to indicate if in programming mode

device_status=(device_status : UInt8)

Device status just used to indicate if in programming mode

friendly_name
friendly_name=(friendly_name : String)
mac_address
Source
medium
medium=(medium : MediumType)
multicast_address
Source
name
Source
programming_mode?
Source
project_installation_id
project_installation_id=(project_installation_id : UInt16)
serial
Source
source
source=(source : IndividualAddress)