private void Parse(byte value) { // see https://support.knx.org/hc/en-us/articles/115003188429-Control-Field // D7 // 0 = Extended Frame (9..262 octets) // 1 = Standard Frame (8..23 octets) if ((value & 0b1000_0000) != 0) { TelegramType = KnxTelegramType.StandardFrame; } // D5 // 0 = Repeated // 1 = Not repeated (original) if ((value & 0b0010_0000) != 0) { TelegramRepetitionStatus = KnxTelegramRepetitionStatus.Original; } // D3 + D2 // 00 = System // 10 = Urgent // 01 = Normal // 11 = Low if ((value & 0b0000_1000) != 0 && (value & 0b0000_0100) != 0) { TelegramPriority = KnxTelegramPriority.Low; }
internal KnxControlField1(KnxTelegramType telegramType, KnxTelegramRepetitionStatus telegramRepetitionStatus, KnxTelegramPriority telegramPriority) { TelegramType = telegramType; TelegramRepetitionStatus = telegramRepetitionStatus; TelegramPriority = telegramPriority; }