public Converse(IUtilityLog log, IConverseCheckSum16 calculations, int sendGap = 1200) { LastSendTime = DateTime.Today; SendGap = sendGap; UtilityLog = log; Conversations = new List<Conversation>(); Variables = new List<Variable>(); DeviceStream = null; NoTimeout = false; if (calculations == null) { Calculations = (IConverseCheckSum16)new ConverseCalculations(); // LogMessage("Converse", "Using standard Calculations: " + Calculations.GetType().ToString(), LogEntryType.DetailTrace); } else { Calculations = calculations; LogMessage("Converse", "Using custom Calculations: " + Calculations.GetType().ToString(), LogEntryType.DetailTrace); } EndianConverter16Bit = new EndianConverter16Bit(EndianConverter.BigEndian16Bit); EndianConverter32Bit = new EndianConverter32Bit(EndianConverter.BigEndian32Bit); CheckSumEndianConverter16Bit = EndianConverter16Bit; }
public void SetCheckSum16Endian(bool isLittleEndian = false) { if (isLittleEndian) CheckSumEndianConverter16Bit = new EndianConverter16Bit(EndianConverter.LittleEndian16Bit); else CheckSumEndianConverter16Bit = new EndianConverter16Bit(EndianConverter.BigEndian16Bit); }
private void LoadConverse() { if (ProtocolSettings.Endian16Bit == "Little") EndianConverter16Bit = new EndianConverter16Bit(EndianConverter.LittleEndian16Bit); else EndianConverter16Bit = new EndianConverter16Bit(EndianConverter.BigEndian16Bit); if (ProtocolSettings.Endian32Bit == "Little") EndianConverter32Bit = new EndianConverter32Bit(EndianConverter.LittleEndian32Bit); else if (ProtocolSettings.Endian32Bit == "BigLittle") EndianConverter32Bit = new EndianConverter32Bit(EndianConverter.BigLittleEndian32Bit); else EndianConverter32Bit = new EndianConverter32Bit(EndianConverter.BigEndian32Bit); if (ProtocolSettings.CheckSumEndian16Bit == ProtocolSettings.Endian16Bit) CheckSumEndianConverter16Bit = EndianConverter16Bit; else if (ProtocolSettings.CheckSumEndian16Bit == "Little") CheckSumEndianConverter16Bit = new EndianConverter16Bit(EndianConverter.LittleEndian16Bit); else CheckSumEndianConverter16Bit = new EndianConverter16Bit(EndianConverter.BigEndian16Bit); foreach (ConversationSettings settings in ProtocolSettings.Conversations) LoadConversation(settings); }