class KNX::Header::Wrapper
- KNX::Header::Wrapper
- BinData
- Reference
- Object
Overview
See: https://youtu.be/UjOBudAG654?t=42m20s
Defined in:
knx/header.crConstant Summary
-
AFTER_DESERIALIZE =
[] of Nil
-
See: https://youtu.be/UjOBudAG654?t=42m20s
-
BEFORE_SERIALIZE =
[] of Nil
-
See: https://youtu.be/UjOBudAG654?t=42m20s
-
ENDIAN =
["big"]
-
See: https://youtu.be/UjOBudAG654?t=42m20s
-
KLASS_NAME =
[KNX::Header::Wrapper]
-
See: https://youtu.be/UjOBudAG654?t=42m20s
-
PARTS =
[{type: "basic", name: session_id, cls: UInt16, onlyif: nil, verify: nil, value: nil, endian: nil}, {type: "bitfield", name: 0, cls: KNX::Header::Wrapper, onlyif: nil, verify: nil}, {type: "basic", name: message_tag, cls: UInt16, onlyif: nil, verify: nil, value: nil, endian: nil}, {type: "string", name: encrypted_frame, cls: String, onlyif: nil, verify: nil, length: -> do parent.request_length - 38 end, value: nil, encoding: nil}, {type: "string", name: cmac, cls: String, onlyif: nil, verify: nil, length: -> do 16 end, value: nil, encoding: nil}] of Nil
-
See: https://youtu.be/UjOBudAG654?t=42m20s
-
REMAINING =
[] of Nil
-
See: https://youtu.be/UjOBudAG654?t=42m20s
Class Method Summary
-
.bit_fields
See: https://youtu.be/UjOBudAG654?t=42m20s
Macro Summary
-
knx_header(name, onlyif = nil, verify = nil, value = nil)
See: https://youtu.be/UjOBudAG654?t=42m20s
-
knx_header_wrapper(name, onlyif = nil, verify = nil, value = nil)
See: https://youtu.be/UjOBudAG654?t=42m20s
Instance Method Summary
- #__format__ : IO::ByteFormat
-
#cmac : String
https://en.wikipedia.org/wiki/CBC-MAC (always 128bit (16bytes) in KNX) Timestamp + Serial Number + Tag + frame length (2 bytes)
-
#cmac=(cmac : String)
https://en.wikipedia.org/wiki/CBC-MAC (always 128bit (16bytes) in KNX) Timestamp + Serial Number + Tag + frame length (2 bytes)
-
#encrypted_frame : String
header + security info + cbc_mac == 38 6 16 16 == 38
-
#encrypted_frame=(encrypted_frame : String)
header + security info + cbc_mac == 38 6 16 16 == 38
- #knx_serial_number : UInt64
- #knx_serial_number=(knx_serial_number : UInt64)
-
#message_tag : UInt16
Random number
-
#message_tag=(message_tag : UInt16)
Random number
-
#parent
Group fields might need access to data in the parent
-
#parent=(parent : KNX::Header | Nil)
Group fields might need access to data in the parent
- #session_id : UInt16
- #session_id=(session_id : UInt16)
- #timestamp : UInt64
- #timestamp=(timestamp : UInt64)
Class Method Detail
Macro Detail
See: https://youtu.be/UjOBudAG654?t=42m20s
See: https://youtu.be/UjOBudAG654?t=42m20s
Instance Method Detail
https://en.wikipedia.org/wiki/CBC-MAC (always 128bit (16bytes) in KNX) Timestamp + Serial Number + Tag + frame length (2 bytes)
https://en.wikipedia.org/wiki/CBC-MAC (always 128bit (16bytes) in KNX) Timestamp + Serial Number + Tag + frame length (2 bytes)
header + security info + cbc_mac == 38 6 16 16 == 38