class KNX::CEMI

Overview

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack

Defined in:

knx/cemi.cr

Constant Summary

AFTER_DESERIALIZE = [do if data_ext.size > 0 || apci > 5_u8 self.data = data_ext self.action_type = ActionType.from_value((apci.to_i << 6) | data_short.to_i) else self.data = Bytes[data_short] self.action_type = ActionType.from_value(apci.to_i << 6) end end] of Nil

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack

BEFORE_SERIALIZE = [do value = action_type.to_i self.apci = (value >> 6).to_u8 self.destination_raw = destination_address.to_slice if (value & 1118481) > 0 self.data_short = (value & 63).to_u8 else if (data.size == 1) && data[0] <= 63 self.data_short = data[0] self.data_ext = Bytes.new(0) else self.data_short = 0_u8 self.data_ext = data end end end] of Nil

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack

ENDIAN = ["big"]

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack

KLASS_NAME = [KNX::CEMI]

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack

PARTS = [{type: "enum", name: msg_code, cls: typeof(MsgCode::RawRequest.value), onlyif: nil, verify: nil, value: nil, encoding: nil, enum_type: KNX::MsgCode}, {type: "basic", name: info_length, cls: UInt8, onlyif: nil, verify: nil, value: -> do additional_info.size end, endian: nil}, {type: "bytes", name: additional_info, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do info_length end, value: nil}, {type: "bitfield", name: 5, cls: KNX::CEMI, onlyif: nil, verify: nil}, {type: "basic", name: source_address, cls: KNX::IndividualAddress, onlyif: nil, verify: nil, value: nil}, {type: "bytes", name: destination_raw, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do 2 end, value: nil}, {type: "basic", name: data_length, cls: UInt8, onlyif: nil, verify: nil, value: -> do data_ext.size + 1 end, endian: nil}, {type: "bitfield", name: 6, cls: KNX::CEMI, onlyif: nil, verify: nil}, {type: "bytes", name: data_ext, cls: Slice(UInt8), onlyif: nil, verify: nil, length: -> do data_length > 1 ? data_length - 1 : 0 end, value: nil}] of Nil

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack

REMAINING = [] of Nil

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack

Class Method Summary

Macro Summary

Instance Method Summary

Class Method Detail

def self.bit_fields #

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack


[View source]

Macro Detail

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

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack


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

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack


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

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack


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

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack


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

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack


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

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack


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

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack


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

Add.Info Length = 0x00 - no additional info Control Field 1 = see the bit structure above Control Field 2 = see the bit structure above Source Address = 0x0000 - filled in by router/gateway with its source address which is part of the KNX subnet Dest. Address = KNX group or individual address (2 byte) Data Length = Number of bytes of data in the APDU excluding the TPCI/APCI bits APDU = Application Protocol Data Unit - the actual payload including transport protocol control information (TPCI), application protocol control information (APCI) and data passed as an argument from higher layers of the KNX communication stack


[View source]

Instance Method Detail

def __format__ : IO::ByteFormat #

[View source]
def _reserved_ : UInt8 #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def _reserved_=(_reserved_ : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def ack_requested : Bool #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def ack_requested=(ack_requested : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def ack_requested=(value : Bool) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def action_type : ActionType #

[View source]
def action_type=(action_type : ActionType) #

[View source]
def additional_info : Bytes #

def additional_info=(additional_info : Bytes) #

def apci : UInt8 #

Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 1 Bit 2 +--------+--------+--------+--------+--------+--------+--------+--------++--------+----.... | | | | | | | | || | | APCI | APCI | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ || Data | Data |(bit 3) |(bit 4) | Data | Data | Data | Data | Data | Data || | +--------+--------+--------+--------+--------+--------+--------+--------++--------+----....

  •                        B  Y  T  E    2                            ||       B Y T E  3

+-----------------------------------------------------------------------++-------------....


def apci=(apci : UInt8) #

Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 1 Bit 2 +--------+--------+--------+--------+--------+--------+--------+--------++--------+----.... | | | | | | | | || | | APCI | APCI | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ || Data | Data |(bit 3) |(bit 4) | Data | Data | Data | Data | Data | Data || | +--------+--------+--------+--------+--------+--------+--------+--------++--------+----....

  •                        B  Y  T  E    2                            ||       B Y T E  3

+-----------------------------------------------------------------------++-------------....


def broadcast : Bool #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def broadcast=(broadcast : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def broadcast=(value : Bool) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def data : Bytes #

[View source]
def data=(data : Bytes) #

[View source]
def data_ext : Bytes #

def data_ext=(data_ext : Bytes) #

def data_length : UInt8 #

def data_length=(data_length : UInt8) #

def data_short : UInt8 #

Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 1 Bit 2 +--------+--------+--------+--------+--------+--------+--------+--------++--------+----.... | | | | | | | | || | | APCI | APCI | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ || Data | Data |(bit 3) |(bit 4) | Data | Data | Data | Data | Data | Data || | +--------+--------+--------+--------+--------+--------+--------+--------++--------+----....

  •                        B  Y  T  E    2                            ||       B Y T E  3

+-----------------------------------------------------------------------++-------------....


def data_short=(data_short : UInt8) #

Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 1 Bit 2 +--------+--------+--------+--------+--------+--------+--------+--------++--------+----.... | | | | | | | | || | | APCI | APCI | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ || Data | Data |(bit 3) |(bit 4) | Data | Data | Data | Data | Data | Data || | +--------+--------+--------+--------+--------+--------+--------+--------++--------+----....

  •                        B  Y  T  E    2                            ||       B Y T E  3

+-----------------------------------------------------------------------++-------------....


def destination_address : Address #

[View source]
def destination_address=(destination_address : Address) #

[View source]
def destination_raw : Bytes #

def destination_raw=(destination_raw : Bytes) #

def extended_frame_format : UInt8 #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def extended_frame_format=(extended_frame_format : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def hop_count : UInt8 #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def hop_count=(hop_count : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def info_length : UInt8 #

def info_length=(info_length : UInt8) #

def is_error : Bool #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def is_error=(is_error : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def is_error=(value : Bool) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def is_group_address : Bool #

Bit | ------+--------------------------------------------------------------- 7 | Destination Address Type - 0x0 individual address | - 0x1 group address ------+--------------------------------------------------------------- 6-4 | Hop Count (0-7) ------+--------------------------------------------------------------- 3-0 | Extended Frame Format - 0x0 standard frame ------+---------------------------------------------------------------


[View source]
def is_group_address=(is_group_address : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Destination Address Type - 0x0 individual address | - 0x1 group address ------+--------------------------------------------------------------- 6-4 | Hop Count (0-7) ------+--------------------------------------------------------------- 3-0 | Extended Frame Format - 0x0 standard frame ------+---------------------------------------------------------------


def is_group_address=(value : Bool) #

Bit | ------+--------------------------------------------------------------- 7 | Destination Address Type - 0x0 individual address | - 0x1 group address ------+--------------------------------------------------------------- 6-4 | Hop Count (0-7) ------+--------------------------------------------------------------- 3-0 | Extended Frame Format - 0x0 standard frame ------+---------------------------------------------------------------


[View source]
def is_standard_frame : Bool #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def is_standard_frame=(is_standard_frame : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def is_standard_frame=(value : Bool) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def msg_code : MsgCode #

def msg_code=(msg_code : MsgCode) #

def no_repeat : Bool #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def no_repeat=(no_repeat : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def no_repeat=(value : Bool) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def priority : KNX::Priority #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def priority=(priority : UInt8) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


def priority=(value : KNX::Priority) #

Bit | ------+--------------------------------------------------------------- 7 | Frame Type - 0x0 for extended frame | 0x1 for standard frame ------+--------------------------------------------------------------- 6 | Reserved | ------+--------------------------------------------------------------- 5 | Repeat Flag - 0x0 repeat frame on medium in case of an error | 0x1 do not repeat ------+--------------------------------------------------------------- 4 | System Broadcast - 0x0 system broadcast | 0x1 broadcast ------+--------------------------------------------------------------- 3 | Priority - 0x0 system | 0x1 normal (also called alarm priority) ------+ 0x2 urgent (also called high priority) 2 | 0x3 low | ------+--------------------------------------------------------------- 1 | Acknowledge Request - 0x0 no ACK requested | (L_Data.req) 0x1 ACK requested ------+--------------------------------------------------------------- 0 | Confirm - 0x0 no error | (L_Data.con) - 0x1 error ------+---------------------------------------------------------------


[View source]
def source_address : IndividualAddress #

When sending, setting the source address to 0 allows the router to configure


def source_address=(source_address : IndividualAddress) #

When sending, setting the source address to 0 allows the router to configure


def tpci : KNX::TpciType #

transport protocol control information


[View source]
def tpci=(tpci : UInt8) #

transport protocol control information


def tpci=(value : KNX::TpciType) #

transport protocol control information


[View source]
def tpci_seq_num : UInt8 #

Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 1 Bit 2 +--------+--------+--------+--------+--------+--------+--------+--------++--------+----.... | | | | | | | | || | | APCI | APCI | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ || Data | Data |(bit 3) |(bit 4) | Data | Data | Data | Data | Data | Data || | +--------+--------+--------+--------+--------+--------+--------+--------++--------+----....

  •                        B  Y  T  E    2                            ||       B Y T E  3

+-----------------------------------------------------------------------++-------------....


def tpci_seq_num=(tpci_seq_num : UInt8) #

Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 Bit 1 Bit 2 +--------+--------+--------+--------+--------+--------+--------+--------++--------+----.... | | | | | | | | || | | APCI | APCI | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ | APCI/ || Data | Data |(bit 3) |(bit 4) | Data | Data | Data | Data | Data | Data || | +--------+--------+--------+--------+--------+--------+--------+--------++--------+----....

  •                        B  Y  T  E    2                            ||       B Y T E  3

+-----------------------------------------------------------------------++-------------....


def two_level_group : Bool #

[View source]
def two_level_group=(two_level_group : Bool) #

[View source]