public CemiLData(CemiMessageCode messageCode, IndividualAddress srcAddress, IAddress dstAddress, byte[] tpdu, Priority priority, ConfirmType confirm) : this(messageCode, srcAddress, dstAddress, tpdu, priority, true, BroadcastType.Normal, false, 6) { // overwrite controlField1 now including confirm _controlField1 = new ControlField1(_messageCode, false, priority, true, BroadcastType.Normal, false, confirm); }
public CemiLData(CemiMessageCode messageCode, IndividualAddress srcAddress, IAddress dstAddress, byte[] tpdu, Priority priority, bool repeat = true, BroadcastType broadcast = BroadcastType.Normal, bool ack = false, int hopCount = 6) : base(messageCode) { VerifyPayload(tpdu); _additionalInfoLength = 0; _sourceAddress = srcAddress; _destinationAddress = dstAddress; _payload = (byte[])tpdu.Clone(); _apci = new Apci(_payload); _controlField1 = new ControlField1(_messageCode, false, priority, repeat, broadcast, ack); _controlField2 = new ControlField2(_destinationAddress.IsGroupAddress(), hopCount, 0); _size = MESSAGEMINLENGTH + _payload.Length; }
protected void ParseControlField1(IndividualEndianessBinaryReader br) { var ctrl1 = br.ReadByte(); _controlField1 = new ControlField1(_messageCode, ctrl1); }