laatzen/GenesisDisplayTool/SerialConfig.cs
2021-10-01 11:10:17 +02:00

2793 lines
123 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing.Printing;
using System.IO;
using System.IO.Ports;
using System.Globalization;
namespace GenesisDisplayTool
{
public partial class GENESIS_DISPLAY_TOOL : Form
{
private void serialPortCmdMeter1DataReceived(object sender, SerialDataReceivedEventArgs e)
{
const UInt16 MeterNumber = Constants.Meter1;
Byte Data = 0;
try
{
serialPortCmdMeter1.ReadTo("["); //ascii value for 0x5B
CommandInterface1.Gp30LastByte = 0;
Byte length = (Byte)serialPortCmdMeter1.ReadChar();
RxStringCmd[MeterNumber].Add(length);
for (UInt16 i = 0; i < length - 1; i++)
{
Data = (Byte)serialPortCmdMeter1.ReadByte();
RxStringCmd[MeterNumber].Add(Data);
if (Data == GP30Commands.Startbyte && CommandInterface1.Gp30LastByte == GP30Commands.Startbyte)
{
length++;
CommandInterface1.Gp30LastByte = 0; // restart if two consecutive bytes with 0x5B occure
}
CommandInterface1.Gp30LastByte = Data;
}
RxStringCmd[MeterNumber] = Gp30.Remove0x5B(RxStringCmd[MeterNumber], GetGlobalCulture());
this.Invoke(new EventHandler(GetReplyCmdMeter1));
this.Invoke(new EventHandler(JsonRxData));
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "serialPortCmdMeter1DataReceived() failed", $"0x{ex.HResult.ToString("X", this.globalCulture)}", String.Empty);
}
}
private void serialPortCmdMeter2DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Byte Data = 0;
const UInt16 MeterNumber = Constants.Meter2;
try
{
serialPortCmdMeter2.ReadTo("["); //ascii value for 0x5B
CommandInterface2.Gp30LastByte = 0;
Byte length = (Byte)serialPortCmdMeter2.ReadChar();
RxStringCmd[MeterNumber].Add(length);
for (UInt16 i = 0; i < length - 1; i++)
{
Data = (Byte)serialPortCmdMeter2.ReadByte();
RxStringCmd[MeterNumber].Add(Data);
if (Data == GP30Commands.Startbyte && CommandInterface2.Gp30LastByte == GP30Commands.Startbyte)
{
length++;
CommandInterface2.Gp30LastByte = 0; // restart if two consecutive bytes with 0x5B occure
}
CommandInterface2.Gp30LastByte = Data;
}
RxStringCmd[MeterNumber] = Gp30.Remove0x5B(RxStringCmd[MeterNumber], GetGlobalCulture());
this.Invoke(new EventHandler(GetReplyCmdMeter2));
this.Invoke(new EventHandler(JsonRxData));
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "serialPortCmdMeter2DataReceived() failed", $"0x{ex.HResult.ToString("X", this.globalCulture)}", String.Empty);
}
}
private void serialPortCmdMeter3DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Byte Data = 0;
const UInt16 MeterNumber = Constants.Meter3;
try
{
serialPortCmdMeter3.ReadTo("["); //ascii value for 0x5B
CommandInterface3.Gp30LastByte = 0;
Byte length = (Byte)serialPortCmdMeter3.ReadChar();
RxStringCmd[MeterNumber].Add(length);
for (UInt16 i = 0; i < length - 1; i++)
{
Data = (Byte)serialPortCmdMeter3.ReadByte();
RxStringCmd[Constants.Meter3].Add(Data);
if (Data == GP30Commands.Startbyte && CommandInterface3.Gp30LastByte == GP30Commands.Startbyte)
{
length++;
CommandInterface3.Gp30LastByte = 0; // restart if two consecutive bytes with 0x5B occure
}
CommandInterface3.Gp30LastByte = Data;
}
RxStringCmd[MeterNumber] = Gp30.Remove0x5B(RxStringCmd[MeterNumber], GetGlobalCulture());
this.Invoke(new EventHandler(GetReplyCmdMeter3));
this.Invoke(new EventHandler(JsonRxData));
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "serialPortCmdMeter3DataReceived() failed", $"0x{ex.HResult.ToString("X", this.globalCulture)}", String.Empty);
}
}
private void serialPortDataMeter1DataReceived(object sender, SerialDataReceivedEventArgs e)
{
const UInt16 MeterNumber = Constants.Meter1;
try
{
//RxDataBuffer[MeterNumber] = $"{RxDataBuffer[MeterNumber]}{serialPortDataMeter1.ReadExisting()}";
RxDataBuffer[MeterNumber] = serialPortDataMeter1.ReadLine();
if (!cB_SerialConfigMassLoggingEn.Checked)
this.Invoke(new EventHandler(MainLoop));
else
this.Invoke(new EventHandler(MainLoopMassLoggingMeter1));
}
catch (Exception ex)
{
InvokeMainloopExceptionsCounter++;
ErrorLog.Log(LogErrReason.Exception(), "serialPortDataMeter1DataReceived() failed", $"0x{ex.HResult.ToString("X", this.globalCulture)}", String.Empty);
RxDataBuffer[MeterNumber] = String.Empty;
}
}
private void serialPortDataMeter2DataReceived(object sender, SerialDataReceivedEventArgs e)
{
const UInt16 MeterNumber = Constants.Meter2;
try
{
RxDataBuffer[MeterNumber] = $"{RxDataBuffer[MeterNumber]}{serialPortDataMeter2.ReadExisting()}";
this.Invoke(new EventHandler(MainLoopMassLoggingMeter2));
}
catch (Exception ex)
{
InvokeMainloopExceptionsCounter++;
ErrorLog.Log(LogErrReason.Exception(), "serialPortDataMeter2DataReceived() failed", $"0x{ex.HResult.ToString("X", this.globalCulture)}", String.Empty);
RxDataBuffer[MeterNumber] = String.Empty;
}
}
private void serialPortDataMeter3DataReceived(object sender, SerialDataReceivedEventArgs e)
{
const UInt16 MeterNumber = Constants.Meter3;
try
{
RxDataBuffer[MeterNumber] = $"{RxDataBuffer[MeterNumber]}{serialPortDataMeter3.ReadExisting()}";
this.Invoke(new EventHandler(MainLoopMassLoggingMeter3));
}
catch (Exception ex)
{
InvokeMainloopExceptionsCounter++;
ErrorLog.Log(LogErrReason.Exception(), "serialPortDataMeter3DataReceived() failed", $"0x{ex.HResult.ToString("X", this.globalCulture)}", String.Empty);
RxDataBuffer[MeterNumber] = String.Empty;
}
}
private Boolean SerialPortInhibit(ref SerialPort serialPort, UInt16 portNumber)
{
Boolean Ok = false;
if (serialPort.IsOpen)
{
btn_SerialCfg_CmdClose.Enabled = false;
serialPort.DiscardInBuffer();
serialPort.DiscardOutBuffer();
switch (portNumber)
{
case Constants.CmdMeter1: serialPort.DataReceived -= serialPortCmdMeter1DataReceived; // remove event
break;
case Constants.DataMeter1: serialPort.DataReceived -= serialPortDataMeter1DataReceived; // remove event
break;
case Constants.DataMeter2: serialPort.DataReceived -= serialPortDataMeter2DataReceived; // remove event
break;
case Constants.DataMeter3: serialPort.DataReceived -= serialPortDataMeter3DataReceived; // remove event
break;
}
for (UInt16 i = 0; i < 5; i++)
{
serialPort.DiscardInBuffer();
serialPort.DiscardOutBuffer();
}
// System.Threading.Thread.Sleep(800);
// serialPort2.Dispose();
MessageBox.Show("Serial Port disabled", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
Ok = true;
return Ok;
}
else
MessageBox.Show("Serial Port is not open", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
private Boolean SerialPortClose(ref SerialPort serialPort, UInt16 portNumber, out String messageBoxText)
{
Boolean Ok = false;
messageBoxText = String.Empty;
if (serialPort.IsOpen == true)
{
serialPort.DiscardInBuffer();
serialPort.DiscardOutBuffer();
switch (portNumber)
{
case Constants.CmdMeter1:
serialPort.DataReceived -= serialPortCmdMeter1DataReceived; // remove event?? Former serial port1
break;
case Constants.CmdMeter2:
serialPort.DataReceived -= serialPortCmdMeter2DataReceived; // remove event?? Former serial port1
break;
case Constants.CmdMeter3:
serialPort.DataReceived -= serialPortCmdMeter3DataReceived; // remove event?? Former serial port1
break;
case Constants.DataMeter1:
serialPort.DataReceived -= serialPortDataMeter1DataReceived; // remove event?? Former serial port2
break;
case Constants.DataMeter2:
serialPort.DataReceived -= serialPortDataMeter2DataReceived; // remove event?? Former serial port3
break;
case Constants.DataMeter3:
serialPort.DataReceived -= serialPortDataMeter3DataReceived; // remove event?? Former serial port4
break;
}
for (UInt16 i = 0; i < 5; i++)
{
serialPort.DiscardInBuffer();
serialPort.DiscardOutBuffer();
}
// System.Threading.Thread.Sleep(800);
serialPort.Close();
Ok = true;
return Ok;
}
else
{
messageBoxText = "Serial Port is not open";
//MessageBox.Show("Serial Port is not open", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
return Ok;
}
private Boolean SerialPortCmdMeter1Open(Boolean massLogging)
{
Boolean Ok = false;
return Ok;
}
private Boolean SerialPort_CmdMeter2Open(Boolean massLogging)
{
Boolean Ok = false;
String Portname = String.Empty;
String Baudrate = String.Empty;
String Databits = String.Empty;
if (serialPortCmdMeter2.IsOpen == false)
{
#region Get parameters
if (lB_SerialCfgMass_CmdMeter2ComSelect.SelectedItem == null)
{
MessageBox.Show("No COMPORT selected", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
else
Portname = lB_SerialCfgMass_CmdMeter2ComSelect.Text;
if ((serialPortDataMeter1.IsOpen && serialPortDataMeter1.PortName == Portname) ||
(serialPortDataMeter2.IsOpen && serialPortDataMeter2.PortName == Portname) ||
(serialPortDataMeter3.IsOpen && serialPortDataMeter3.PortName == Portname) ||
(serialPortCmdMeter1.IsOpen && serialPortCmdMeter1.PortName == Portname) ||
(serialPortCmdMeter3.IsOpen && serialPortCmdMeter3.PortName == Portname))
{
MessageBox.Show("Port is already in use", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
#region Get settings
serialPortCmdMeter2 = SerialConfig_CmdMeter2.GetParamsFromGUI(lB_SerialCfgMass_CmdMeter2ComSelect.Text, lB_SerialCfgMass_CmdMeter2Baudrate.Text, lB_SerialCfgMass_CmdMeter2Databits.Text, lB_SerialCfgMass_CmdMeter2Handshake.SelectedIndex, lB_SerialCfgMass_CmdMeter2Parity.SelectedIndex, lB_SerialCfgMass_CmdMeter2Stopbits.SelectedIndex);
#endregion
#endregion
#region Open serial port
serialPortCmdMeter2.Open();
#endregion
#region SerialPortOpenCheck
if (serialPortCmdMeter2.IsOpen == false)
{
MessageBox.Show("Serial Port could not be opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
// -- open serial port successfully --
serialPortCmdMeter2.DataReceived += new SerialDataReceivedEventHandler(serialPortCmdMeter2DataReceived);
Ok = true;
MessageBox.Show("Serial Port opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
}
else
{
serialPortCmdMeter2.DataReceived += serialPortCmdMeter2DataReceived;
MessageBox.Show("Serial Port enabled", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
Ok = true;
}
return Ok;
}
private Boolean SerialPort_CmdMeter3Open(Boolean massLogging)
{
Boolean Ok = false;
String Portname = String.Empty;
String Baudrate = String.Empty;
String Databits = String.Empty;
if (serialPortCmdMeter3.IsOpen == false)
{
#region Get parameters
if (lB_SerialCfgMass_CmdMeter3ComSelect.SelectedItem == null)
{
MessageBox.Show("No COMPORT selected", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
else
Portname = lB_SerialCfgMass_CmdMeter2ComSelect.Text;
if ((serialPortDataMeter1.IsOpen && serialPortDataMeter1.PortName == Portname) ||
(serialPortDataMeter2.IsOpen && serialPortDataMeter2.PortName == Portname) ||
(serialPortDataMeter3.IsOpen && serialPortDataMeter3.PortName == Portname) ||
(serialPortCmdMeter1.IsOpen && serialPortCmdMeter1.PortName == Portname) ||
(serialPortCmdMeter2.IsOpen && serialPortCmdMeter2.PortName == Portname))
{
MessageBox.Show("Port is already in use", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
#region Get parameters
serialPortCmdMeter3 = SerialConfig_CmdMeter3.GetParamsFromGUI(lB_SerialCfgMass_CmdMeter3ComSelect.Text, lB_SerialCfgMass_CmdMeter3Baudrate.Text, lB_SerialCfgMass_CmdMeter3Databits.Text, lB_SerialCfgMass_CmdMeter3Handshake.SelectedIndex, lB_SerialCfgMass_CmdMeter3Parity.SelectedIndex, lB_SerialCfgMass_CmdMeter3Stopbits.SelectedIndex);
#endregion
#endregion
#region Open serial port
serialPortCmdMeter3.Open();
#endregion
#region SerialPortOpenCheck
if (serialPortCmdMeter3.IsOpen == false)
{
MessageBox.Show("Serial Port could not be opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
// -- open serial port successfully --
serialPortCmdMeter3.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(serialPortCmdMeter3DataReceived); // Former serial port1
Ok = true;
MessageBox.Show("Serial Port opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
}
else
{
serialPortCmdMeter3.DataReceived += serialPortCmdMeter3DataReceived;
MessageBox.Show("Serial Port enabled", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
Ok = true;
}
return Ok;
}
private Boolean SerialPort_DataMeter1Open(Boolean massLogging)
{
Boolean Ok = false;
String Portname = String.Empty;
String Baudrate = String.Empty;
String Databits = String.Empty;
if (serialPortDataMeter1.IsOpen == false)
{
#region Get parameters
if (lB_SerialCfgMass_DataMeter1ComSelect.SelectedItem == null)
{
MessageBox.Show("No COMPORT selected", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
else
{
if (massLogging)
Portname = lB_SerialCfgMass_DataMeter1ComSelect.Text;
else
Portname = "COM34";// lB_SerialCfg_DataComSelect.Text;
}
if ((serialPortCmdMeter1.IsOpen && serialPortCmdMeter1.PortName == Portname) ||
(serialPortCmdMeter2.IsOpen && serialPortCmdMeter2.PortName == Portname) ||
(serialPortCmdMeter3.IsOpen && serialPortCmdMeter3.PortName == Portname) ||
(serialPortDataMeter2.IsOpen && serialPortDataMeter2.PortName == Portname) ||
(serialPortDataMeter3.IsOpen && serialPortDataMeter3.PortName == Portname))
{
MessageBox.Show("Port is already in use", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
if (massLogging)
serialPortDataMeter1 = SerialConfig_DataMeter1.GetParamsFromGUI(lB_SerialCfgMass_DataMeter1ComSelect.Text, lB_SerialCfgMass_DataMeter1Baudrate.Text, lB_SerialCfgMass_DataMeter1Databits.Text, lB_SerialCfgMass_DataMeter1Handshake.SelectedIndex, lB_SerialCfgMass_DataMeter1Parity.SelectedIndex, lB_SerialCfgMass_DataMeter1Stopbits.SelectedIndex);
// else
// serialPortDataMeter1 = SerialConfig_DataMeter1.GetParamsFromGUI(lB_SerialCfg_DataComSelect.Text, String.Empty, String.Empty, String.Empty, 0, 0);
#endregion
#region Open serial port
serialPortCmdMeter1.BaudRate = 115200;
serialPortDataMeter1.Open();
#endregion
#region SerialPortOpenCheck
if (serialPortDataMeter1.IsOpen == false)
{
MessageBox.Show("Serial Port could not be opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
// -- open serial port successfully --
serialPortDataMeter1.DataReceived += new SerialDataReceivedEventHandler(serialPortDataMeter1DataReceived);
Ok = true;
MessageBox.Show("Serial Port opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
}
else
{
MessageBox.Show("Serial Port enabled", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
serialPortDataMeter1.DataReceived += serialPortDataMeter1DataReceived;
Ok = true;
}
return Ok;
}
private Boolean SerialPort_DataMeter2Open(Boolean massLogging)
{
Boolean Ok = false;
String Portname = String.Empty;
String Baudrate = String.Empty;
String Databits = String.Empty;
if (serialPortDataMeter2.IsOpen == false)
{
#region Get parameters
if (lB_SerialCfgMass_DataMeter2ComSelect.SelectedItem == null)
{
MessageBox.Show("No COMPORT selected", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
else
Portname = lB_SerialCfgMass_DataMeter2ComSelect.Text;
if ((serialPortCmdMeter1.IsOpen && serialPortCmdMeter1.PortName == Portname) ||
(serialPortCmdMeter2.IsOpen && serialPortCmdMeter2.PortName == Portname) ||
(serialPortCmdMeter3.IsOpen && serialPortCmdMeter3.PortName == Portname) ||
(serialPortDataMeter1.IsOpen && serialPortDataMeter1.PortName == Portname) ||
(serialPortDataMeter3.IsOpen && serialPortDataMeter3.PortName == Portname))
{
MessageBox.Show("Port is already in use", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
if (massLogging)
serialPortDataMeter2 = SerialConfig_DataMeter2.GetParamsFromGUI(lB_SerialCfgMass_DataMeter2ComSelect.Text, lB_SerialCfgMass_DataMeter2Baudrate.Text, lB_SerialCfgMass_DataMeter2Databits.Text, lB_SerialCfgMass_DataMeter2Handshake.SelectedIndex, lB_SerialCfgMass_DataMeter2Parity.SelectedIndex, lB_SerialCfgMass_DataMeter2Stopbits.SelectedIndex);
#endregion
#region Open serial port
serialPortDataMeter2.Open();
#endregion
#region SerialPortOpenCheck
if (serialPortDataMeter2.IsOpen == false)
{
MessageBox.Show("Serial Port could not be opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
// -- open serial port successfully --
serialPortDataMeter2.DataReceived += new SerialDataReceivedEventHandler(serialPortDataMeter2DataReceived);
Ok = true;
MessageBox.Show("Serial Port opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
}
else
{
MessageBox.Show("Serial Port enabled", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
serialPortDataMeter2.DataReceived += serialPortDataMeter2DataReceived;
Ok = true;
}
return Ok;
}
private Boolean SerialPort_DataMeter3Open(Boolean massLogging)
{
Boolean Ok = false;
String Portname = String.Empty;
String Baudrate = String.Empty;
String Databits = String.Empty;
if (serialPortDataMeter3.IsOpen == false)
{
#region Get parameters
if (lB_SerialCfgMass_DataMeter3ComSelect.SelectedItem == null)
{
MessageBox.Show("No COMPORT selected", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
else
Portname = lB_SerialCfgMass_DataMeter3ComSelect.Text;
if ((serialPortCmdMeter1.IsOpen && serialPortCmdMeter1.PortName == Portname) ||
(serialPortCmdMeter2.IsOpen && serialPortCmdMeter2.PortName == Portname) ||
(serialPortCmdMeter3.IsOpen && serialPortCmdMeter3.PortName == Portname) ||
(serialPortDataMeter1.IsOpen && serialPortDataMeter1.PortName == Portname) ||
(serialPortDataMeter2.IsOpen && serialPortDataMeter2.PortName == Portname))
{
MessageBox.Show("Port is already in use", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return Ok;
}
if (massLogging)
serialPortDataMeter3 = SerialConfig_DataMeter3.GetParamsFromGUI(lB_SerialCfgMass_DataMeter3ComSelect.Text, lB_SerialCfgMass_DataMeter3Baudrate.Text, lB_SerialCfgMass_DataMeter3Databits.Text, lB_SerialCfgMass_DataMeter3Handshake.SelectedIndex, lB_SerialCfgMass_DataMeter3Parity.SelectedIndex, lB_SerialCfgMass_DataMeter3Stopbits.SelectedIndex);
#endregion
#region Open serial port
serialPortDataMeter3.Open();
#endregion
#region SerialPortOpenCheck
if (serialPortDataMeter3.IsOpen == false)
{
MessageBox.Show("Serial Port could not be opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
// -- open serial port successfully --
serialPortDataMeter3.DataReceived += new SerialDataReceivedEventHandler(serialPortDataMeter3DataReceived);
Ok = true;
MessageBox.Show("Serial Port opened", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion
}
else
{
MessageBox.Show("Serial Port enabled", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Information);
serialPortDataMeter3.DataReceived += serialPortDataMeter3DataReceived;
Ok = true;
}
return Ok;
}
private void GetSettingsFromFile(String[] listOfComports)
{
#region Definitions and initializations
Int32 ListIndex = 0;
String CmdChannelMeter1Comport = String.Empty;
String CmdChannelMeter2Comport = String.Empty;
String CmdChannelMeter3Comport = String.Empty;
String DataChannelMeter1Comport = String.Empty;
String DataChannelMeter2Comport = String.Empty;
String DataChannelMeter3Comport = String.Empty;
String Data = String.Empty;
Boolean GetListIndexOk = false;
#endregion
try
{
#region Check if file exists
if (File.Exists(@"..\OBS_settings.txt"))
Data = File.ReadAllText(@"..\OBS_settings.txt");
else
{
MessageBox.Show("Settings file not found", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
#endregion
#region Command channel METER1
// GetReadSettings.CmdMeter1(Data, ref lB_SerialCfg_CmdBaudrate, ref lB_SerialCfg_CmdDatabits, ref CmdChannelMeter1Comport, ref lB_SerialCfg_CmdStopbits, ref lB_SerialCfg_CmdParity, ref lB_SerialCfg_CmdHandshake);
GetReadSettings.CmdMeter1(Data, ref lB_SerialCfgMass_CmdMeter1Baudrate, ref lB_SerialCfgMass_CmdMeter1Databits, ref CmdChannelMeter1Comport, ref lB_SerialCfgMass_CmdMeter1Stopbits, ref lB_SerialCfgMass_CmdMeter1Parity, ref lB_SerialCfgMass_CmdMeter1Handshake);
ListIndex = GetReadSettings.UartListIndex(listOfComports, CmdChannelMeter1Comport, out GetListIndexOk);
if (GetListIndexOk)
{
lB_SerialCfg_CmdChannel.SelectedIndex = ListIndex;
lB_SerialCfgMass_CmdMeter1ComSelect.SelectedIndex = ListIndex;
}
#endregion
#region Data channel meter1
//GetReadSettings.DataMeter1(Data, ref DataChannelMeter1Comport);
ListIndex = GetReadSettings.UartListIndex(listOfComports, DataChannelMeter1Comport, out GetListIndexOk);
if (GetListIndexOk)
{
lB_SerialCfg_DataComSelect.SelectedIndex = ListIndex;
lB_SerialCfgMass_DataMeter1ComSelect.SelectedIndex = ListIndex;
}
#endregion
#region Command channel meter2
GetReadSettings.CmdMeter2(Data, ref lB_SerialCfgMass_CmdMeter2Baudrate, ref lB_SerialCfgMass_CmdMeter2Databits, ref CmdChannelMeter2Comport, ref lB_SerialCfgMass_CmdMeter2Stopbits, ref lB_SerialCfgMass_CmdMeter2Parity, ref lB_SerialCfgMass_CmdMeter2Handshake);
ListIndex = GetReadSettings.UartListIndex(listOfComports, CmdChannelMeter2Comport, out GetListIndexOk);
if (GetListIndexOk)
lB_SerialCfgMass_CmdMeter2ComSelect.SelectedIndex = ListIndex;
#endregion
#region Data channel meter2
GetReadSettings.DataMeter2(Data, ref lB_SerialCfgMass_DataMeter2Baudrate, ref lB_SerialCfgMass_DataMeter2Databits, ref DataChannelMeter2Comport, ref lB_SerialCfgMass_DataMeter2Stopbits, ref lB_SerialCfgMass_DataMeter2Parity, ref lB_SerialCfgMass_DataMeter2Handshake);
ListIndex = GetReadSettings.UartListIndex(listOfComports, DataChannelMeter2Comport, out GetListIndexOk);
if (GetListIndexOk)
lB_SerialCfgMass_DataMeter2ComSelect.SelectedIndex = ListIndex;
#endregion
#region Command channel meter3
GetReadSettings.CmdMeter3(Data, ref lB_SerialCfgMass_CmdMeter3Baudrate, ref lB_SerialCfgMass_CmdMeter3Databits, ref CmdChannelMeter3Comport, ref lB_SerialCfgMass_CmdMeter3Stopbits, ref lB_SerialCfgMass_CmdMeter3Parity, ref lB_SerialCfgMass_CmdMeter3Handshake);
ListIndex = GetReadSettings.UartListIndex(listOfComports, CmdChannelMeter3Comport, out GetListIndexOk);
if (GetListIndexOk)
lB_SerialCfgMass_CmdMeter3ComSelect.SelectedIndex = ListIndex;
#endregion
#region Data channel meter3
GetReadSettings.DataMeter3(Data, ref lB_SerialCfgMass_DataMeter3Baudrate, ref lB_SerialCfgMass_DataMeter3Databits, ref DataChannelMeter3Comport, ref lB_SerialCfgMass_DataMeter3Stopbits, ref lB_SerialCfgMass_DataMeter3Parity, ref lB_SerialCfgMass_DataMeter3Handshake);
ListIndex = GetReadSettings.UartListIndex(listOfComports, DataChannelMeter3Comport,out GetListIndexOk);
if (GetListIndexOk)
lB_SerialCfgMass_DataMeter3ComSelect.SelectedIndex = ListIndex;
#endregion
#region Various checkboxes
GetReadSettings.Raw(Data, ref cB_Form1LogRawDataEn);
// GetReadSettings.Csv(Data, ref cB_Form1LogCsvEn, ref cB_Form1CsvLoggingPath0, ref cB_Form1CsvLoggingPath1, ref cB_Form1CsvLoggingPath2);
GetReadSettings.Maingraph(Data, ref lB_Graph_SelectGraph, ref cB_GraphOptionEnPath0, ref cB_GraphOptionEnPath1, ref cB_GraphOptionEnPath2, ref nUD_SettingsXMainGraph, ref nUD_MaingraphNomVal);
#endregion
#region Std deviation
GetReadSettings.StdDeviation(Data, ref nUD_SettingsXrangeStdDevGraph, ref nUD_SettingsStdDev);
GetReadSettings.StdDeviationEnPath0(Data, ref cB_StdDev0path0, ref cB_StdDev1path0, ref cB_StdDev2path0, ref cB_StdDev3path0, ref cB_StdDev4path0, ref cB_StdDev5path0, ref cB_StdDev6path0, ref cB_StdDev7path0, ref cB_StdDev3CrossingsPath0, ref cB_StdDev8CrossingsPath0);
GetReadSettings.StdDeviationEnPath1(Data, ref cB_StdDev0path1, ref cB_StdDev1path1, ref cB_StdDev2path1, ref cB_StdDev3path1, ref cB_StdDev4path1, ref cB_StdDev5path1, ref cB_StdDev6path1, ref cB_StdDev7path1, ref cB_StdDev3CrossingsPath1, ref cB_StdDev8CrossingsPath1);
GetReadSettings.StdDeviationEnPath2(Data, ref cB_StdDev0path2, ref cB_StdDev1path2, ref cB_StdDev2path2, ref cB_StdDev3path2, ref cB_StdDev4path2, ref cB_StdDev5path2, ref cB_StdDev6path2, ref cB_StdDev7path2, ref cB_StdDev3CrossingsPath2, ref cB_StdDev8CrossingsPath2);
#endregion
#region Paths
GetReadSettings.JsonPath(Data, out JsonDataPath);
GetReadSettings.LogDirectory(Data, out DefaultLogDirectory);
GetReadSettings.ReportDirectory(Data, out DefaultReportDirectory);
GetReadSettings.ImagesDirectory(Data, out DefaultImagesDirectory);
GetReadSettings.CsvDirectory(Data, out DefaultCsvDirectory);
GetReadSettings.MassLogging(Data, out MassLogging);
#endregion
#region Splitcounter
Boolean UseSplitcounter = false;
GetReadSettings.SplitSettings(Data, out UseSplitcounter);
cB_Form1UseSplitcounter.Checked = UseSplitcounter;
#endregion
MaingraphPreviousValue = (Double)nUD_MaingraphNomVal.Value;
}
catch(Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetSettingsFromFile() failed", $"0x{ex.HResult.ToString("X", GetGlobalCulture())}", String.Empty);
}
}
public void WriteSettingsToFile(String FilePath, Boolean massLogging)
{
#region Prepare data
String WriteData = String.Empty;
if (massLogging)
{
WriteData = WriteData + PrepareWriteSettings.SerialSettings("9600", "8", lB_SerialCfgMass_CmdMeter1ComSelect.Text, lB_SerialCfgMass_CmdMeter1Stopbits.Text, lB_SerialCfgMass_CmdMeter1Parity.Text, lB_SerialCfgMass_CmdMeter1Handshake.Text);
WriteData = WriteData + PrepareWriteSettings.SerialSettings(lB_SerialCfgMass_DataMeter1Baudrate.Text, lB_SerialCfgMass_DataMeter1Databits.Text, lB_SerialCfgMass_DataMeter1ComSelect.Text, lB_SerialCfgMass_DataMeter1Stopbits.Text, lB_SerialCfgMass_DataMeter1Parity.Text, lB_SerialCfgMass_DataMeter1Handshake.Text);
}
else
{
// WriteData = WriteData + PrepareWriteSettings.SerialSettings("9600", "8", lB_SerialCfg_CmdComSelect.Text, lB_SerialCfg_CmdStopbits.Text, lB_SerialCfg_CmdParity.Text, lB_SerialCfg_CmdHandshake.Text);
// WriteData = WriteData + PrepareWriteSettings.SerialSettings(lB_SerialCfg_DataBaudrate.Text, lB_SerialCfg_DataDatabits.Text, lB_SerialCfg_DataComSelect.Text, lB_SerialCfg_DataStopbits.Text, lB_SerialCfg_DataParity.Text, );
}
WriteData = WriteData + PrepareWriteSettings.Raw(cB_Form1LogRawDataEn.Checked);
WriteData = WriteData + PrepareWriteSettings.Maingraph((UInt16)nUD_SettingsXMainGraph.Value,(UInt16)lB_Graph_SelectGraph.SelectedIndex, cB_GraphOptionEnPath0.Checked, cB_GraphOptionEnPath1.Checked, cB_GraphOptionEnPath2.Checked, (Double)nUD_MaingraphNomVal.Value);
WriteData = WriteData + PrepareWriteSettings.Password(tBLogOnMeter1.Text);
WriteData = WriteData + PrepareWriteSettings.JsonPath(JsonDataPath);
WriteData = WriteData + PrepareWriteSettings.StdDeviation((int)nUD_SettingsXrangeStdDevGraph.Value, (int)nUD_SettingsStdDev.Value);
WriteData = WriteData + PrepareWriteSettings.StdDeviationEn(cB_StdDev0path0.Checked, cB_StdDev1path0.Checked, cB_StdDev2path0.Checked, cB_StdDev3path0.Checked, cB_StdDev4path0.Checked, cB_StdDev5path0.Checked, cB_StdDev6path0.Checked, cB_StdDev7path0.Checked, cB_StdDev3CrossingsPath0.Checked, cB_StdDev8CrossingsPath0.Checked);
WriteData = WriteData + PrepareWriteSettings.StdDeviationEn(cB_StdDev0path1.Checked, cB_StdDev1path1.Checked, cB_StdDev2path1.Checked, cB_StdDev3path1.Checked, cB_StdDev4path1.Checked, cB_StdDev5path1.Checked, cB_StdDev6path1.Checked, cB_StdDev7path1.Checked, cB_StdDev3CrossingsPath1.Checked, cB_StdDev8CrossingsPath1.Checked);
WriteData = WriteData + PrepareWriteSettings.StdDeviationEn(cB_StdDev0path2.Checked, cB_StdDev1path2.Checked, cB_StdDev2path2.Checked, cB_StdDev3path2.Checked, cB_StdDev4path2.Checked, cB_StdDev5path2.Checked, cB_StdDev6path2.Checked, cB_StdDev7path2.Checked, cB_StdDev3CrossingsPath2.Checked, cB_StdDev8CrossingsPath2.Checked);
WriteData = WriteData + PrepareWriteSettings.LogDirectory(DefaultLogDirectory);
WriteData = WriteData + PrepareWriteSettings.ReportDirectory(DefaultReportDirectory);
WriteData = WriteData + PrepareWriteSettings.ImagesDirectory(DefaultImagesDirectory);
WriteData = WriteData + PrepareWriteSettings.CsvDirectory(DefaultCsvDirectory);
WriteData = WriteData + PrepareWriteSettings.MassMode(MassLogging);
WriteData = WriteData + PrepareWriteSettings.SerialSettings(lB_SerialCfgMass_CmdMeter2Baudrate.Text, lB_SerialCfgMass_CmdMeter2Databits.Text, lB_SerialCfgMass_CmdMeter2ComSelect.Text, lB_SerialCfgMass_CmdMeter2Stopbits.Text, lB_SerialCfgMass_CmdMeter2Parity.Text, lB_SerialCfgMass_CmdMeter2Handshake.Text);
WriteData = WriteData + PrepareWriteSettings.SerialSettings(lB_SerialCfgMass_DataMeter2Baudrate.Text, lB_SerialCfgMass_DataMeter2Databits.Text, lB_SerialCfgMass_DataMeter2ComSelect.Text, lB_SerialCfgMass_DataMeter2Stopbits.Text, lB_SerialCfgMass_DataMeter2Parity.Text, lB_SerialCfgMass_DataMeter2Handshake.Text);
WriteData = WriteData + PrepareWriteSettings.SerialSettings(lB_SerialCfgMass_CmdMeter3Baudrate.Text, lB_SerialCfgMass_CmdMeter3Databits.Text, lB_SerialCfgMass_CmdMeter3ComSelect.Text, lB_SerialCfgMass_CmdMeter3Stopbits.Text, lB_SerialCfgMass_CmdMeter3Parity.Text, lB_SerialCfgMass_CmdMeter3Handshake.Text);
WriteData = WriteData + PrepareWriteSettings.SerialSettings(lB_SerialCfgMass_DataMeter3Baudrate.Text, lB_SerialCfgMass_DataMeter3Databits.Text, lB_SerialCfgMass_DataMeter3ComSelect.Text, lB_SerialCfgMass_DataMeter3Stopbits.Text, lB_SerialCfgMass_DataMeter3Parity.Text, lB_SerialCfgMass_DataMeter3Handshake.Text);
WriteData = WriteData + PrepareWriteSettings.Password(tBLogOnMeter1.Text);
WriteData = WriteData + PrepareWriteSettings.Password(tBLogOnMeter1.Text);
WriteData = WriteData + PrepareWriteSettings.SplitSettings(cB_Form1UseSplitcounter.Checked);
#endregion
#region Write settings to file
try
{
File.WriteAllText(FilePath, WriteData);
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "WriteSettingsToFile() failed", "0x" + ex.HResult.ToString("X", GetGlobalCulture()), String.Empty);
MessageBox.Show("Serial Port parameters could not be written to file", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
#endregion
}
}
public partial class SerialConfig
{
public String Comport { get; set; }
public Int32 Baudrate { get; set; }
public Int16 DataBits { get; set; }
public Handshake Handshake { get; set; }
public Parity Parity { get; set; }
public StopBits StopBits { get; set; }
public SerialPort GetParamsFromGUI(String comport, String baudrate, String dataBits, int handshake, int parity, int stopbits)
{
#region Definitions and initializations
Int32 Baudrate = 0;
Int16 DataBits = 0;
SerialPort serialPort = new SerialPort();
#endregion
#region Comport
this.Comport = comport;
if (Int32.TryParse(baudrate, out Baudrate))
this.Baudrate = Baudrate;
else
this.Baudrate = 9600;
#endregion
#region Databits
if (Int16.TryParse(dataBits, out DataBits))
this.DataBits = DataBits;
else
this.DataBits = 8;
#endregion
#region Handshake
switch (handshake)
{
case Constants.ListItem0:
this.Handshake = Handshake.None;
break;
case Constants.ListItem1:
this.Handshake = Handshake.RequestToSend;
break;
case Constants.ListItem2:
this.Handshake = Handshake.RequestToSendXOnXOff;
break;
case Constants.ListItem3:
this.Handshake = Handshake.XOnXOff;
break;
default:
this.Handshake = Handshake.None;
break;
}
#endregion
#region Parity
switch (parity)
{
case Constants.ListItem0:
this.Parity = Parity.None;
break;
case Constants.ListItem1:
this.Parity = Parity.Even;
break;
case Constants.ListItem2:
this.Parity = Parity.Odd;
break;
case Constants.ListItem3:
this.Parity = Parity.Mark;
break;
case Constants.ListItem4:
this.Parity = Parity.Space;
break;
default:
this.Parity = Parity.None;
break;
}
#endregion
#region StopBits
switch (stopbits)
{
case Constants.ListItem0:
this.StopBits = StopBits.None;
break;
case 1:
this.StopBits = StopBits.One;
break;
case 2:
this.StopBits = StopBits.OnePointFive;
break;
case 3:
this.StopBits = StopBits.Two;
break;
default:
this.StopBits = StopBits.One;
break;
}
#endregion
serialPort.PortName = this.Comport;
serialPort.BaudRate = this.Baudrate;
serialPort.DataBits = this.DataBits;
serialPort.Handshake = this.Handshake;
serialPort.Parity = this.Parity;
serialPort.StopBits = this.StopBits;
return serialPort;
}
public Boolean CheckIfPortInUse(SerialPort port)
{
Boolean IsUsed = false;
if ((this.Comport == port.PortName) && (port.IsOpen))
return true;
return IsUsed;
}
}
public static class GetReadSettings
{
public static String[] PortNames()
{
String[] data = SerialPort.GetPortNames();
return data;
}
public static Int32 UartListIndex(String[] listValues, String fileValue, out Boolean Ok)
{
Int32 UartInList = 0;
Ok = false;
for (int i = 0; i < listValues.Count(); i++)
{
if (listValues[i] == fileValue)
{
UartInList = i;
Ok = true;
break;
}
}
return UartInList;
}
public static Boolean CmdMeter1(String inputData, ref ListBox baudRate, ref ListBox dataBits, ref String comSelect, ref ListBox stopBits, ref ListBox parity, ref ListBox handshake)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.CmdMeter1Handshake)
{
#region Default values
baudRate.SetSelected(Constants.ListItem1, true); // 9600
dataBits.SetSelected(Constants.ListItem0, true); // 8
// no default com select!
stopBits.SetSelected(Constants.ListItem1, true); // 1
parity.SetSelected(Constants.ListItem0, true); // none
handshake.SetSelected(Constants.ListItem0, true); // no
#endregion
}
else
{
#region Data from file
#region Get data
String Baudrate = values[Settingsfile.CmdMeter1Baudrate];
String DataBits = values[Settingsfile.CmdMeter1Databits];
comSelect = values[Settingsfile.CmdMeter1Comselect];
String StopBits = values[Settingsfile.CmdMeter1Stopbits];
String Parity = values[Settingsfile.CmdMeter1Parity];
String Handshake = values[Settingsfile.CmdMeter1Handshake];
#endregion
#region Baudrate
switch (Baudrate)
{
case "4800":
baudRate.SetSelected(Constants.ListItem0, true);
break;
case "9600":
baudRate.SetSelected(Constants.ListItem1, true);
break;
case "19200":
baudRate.SetSelected(Constants.ListItem2, true);
break;
case "38400":
baudRate.SetSelected(Constants.ListItem3, true);
break;
case "115200":
baudRate.SetSelected(Constants.ListItem4, true);
break;
default:
baudRate.SetSelected(Constants.ListItem1, true);
break;
}
#endregion
#region Databits
switch (DataBits)
{
case "8":
dataBits.SetSelected(Constants.ListItem0, true);
break;
case "9":
dataBits.SetSelected(Constants.ListItem1, true);
break;
default:
dataBits.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Stopbits
switch (StopBits)
{
case "None": stopBits.SetSelected(Constants.ListItem0, true);
break;
case "1": stopBits.SetSelected(Constants.ListItem1, true);
break;
case "1.5": stopBits.SetSelected(Constants.ListItem2, true);
break;
case "2": stopBits.SetSelected(Constants.ListItem3, true);
break;
default: stopBits.SetSelected(Constants.ListItem1, true);
break;
}
#endregion
#region Parity
switch (Parity)
{
case "None": parity.SetSelected(Constants.ListItem0, true);
break;
case "Even": parity.SetSelected(Constants.ListItem1, true);
break;
case "Odd": parity.SetSelected(Constants.ListItem2, true);
break;
case "Mark": parity.SetSelected(Constants.ListItem3, true);
break;
case "Space": parity.SetSelected(Constants.ListItem4, true);
break;
default: parity.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Handshake
switch (Handshake)
{
case "None": handshake.SetSelected(Constants.ListItem0, true);
break;
case "RTS": handshake.SetSelected(Constants.ListItem1, true);
break;
case "RTS Xon Xoff":handshake.SetSelected(Constants.ListItem2, true);
break;
case "Xon Xoff": handshake.SetSelected(Constants.ListItem3, true);
break;
default: handshake.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Set flag
Ok = true;
#endregion
#endregion
}
}
catch(Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.CmdChannelMeter1() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean CmdMeter2(String inputData, ref ListBox baudRate, ref ListBox dataBits, ref String comSelect, ref ListBox stopBits, ref ListBox parity, ref ListBox handshake)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.CmdMeter2Handshake)
{
#region Default values
baudRate.SetSelected(Constants.ListItem1, true); // 9600
dataBits.SetSelected(Constants.ListItem0, true); // 8
// no default com select!
stopBits.SetSelected(Constants.ListItem1, true); // 1
parity.SetSelected(Constants.ListItem0, true); // none
handshake.SetSelected(Constants.ListItem0, true); // no
#endregion
}
else
{
#region Data from file
#region Get data
String Baudrate = values[Settingsfile.CmdMeter2Baudrate];
String DataBits = values[Settingsfile.CmdMeter2Databits];
comSelect = values[Settingsfile.CmdMeter2Comselect];
String StopBits = values[Settingsfile.CmdMeter2Stopbits];
String Parity = values[Settingsfile.CmdMeter2Parity];
String Handshake = values[Settingsfile.CmdMeter2Handshake];
#endregion
#region Baudrate
switch (Baudrate)
{
case "4800":
baudRate.SetSelected(Constants.ListItem0, true);
break;
case "9600":
baudRate.SetSelected(Constants.ListItem1, true);
break;
case "19200":
baudRate.SetSelected(Constants.ListItem2, true);
break;
case "38400":
baudRate.SetSelected(Constants.ListItem3, true);
break;
case "115200":
baudRate.SetSelected(Constants.ListItem4, true);
break;
default:
baudRate.SetSelected(Constants.ListItem1, true);
break;
}
#endregion
#region Databits
switch (DataBits)
{
case "8":
dataBits.SetSelected(Constants.ListItem0, true);
break;
case "9":
dataBits.SetSelected(Constants.ListItem1, true);
break;
default:
dataBits.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Stopbits
switch (StopBits)
{
case "None":
stopBits.SetSelected(Constants.ListItem0, true);
break;
case "1":
stopBits.SetSelected(Constants.ListItem1, true);
break;
case "1.5":
stopBits.SetSelected(Constants.ListItem2, true);
break;
case "2":
stopBits.SetSelected(Constants.ListItem3, true);
break;
default:
stopBits.SetSelected(Constants.ListItem1, true);
break;
}
#endregion
#region Parity
switch (Parity)
{
case "None":
parity.SetSelected(Constants.ListItem0, true);
break;
case "Even":
parity.SetSelected(Constants.ListItem1, true);
break;
case "Odd":
parity.SetSelected(Constants.ListItem2, true);
break;
case "Mark":
parity.SetSelected(Constants.ListItem3, true);
break;
case "Space":
parity.SetSelected(Constants.ListItem4, true);
break;
default:
parity.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Handshake
switch (Handshake)
{
case "None":
handshake.SetSelected(Constants.ListItem0, true);
break;
case "RTS":
handshake.SetSelected(Constants.ListItem1, true);
break;
case "RTS Xon Xoff":
handshake.SetSelected(Constants.ListItem2, true);
break;
case "Xon Xoff":
handshake.SetSelected(Constants.ListItem3, true);
break;
default:
handshake.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Set flag
Ok = true;
#endregion
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.CmdMeter2() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean CmdMeter3(String inputData, ref ListBox baudRate, ref ListBox dataBits, ref String comSelect, ref ListBox stopBits, ref ListBox parity, ref ListBox handshake)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.CmdMeter3Handshake)
{
#region Default values
baudRate.SetSelected(Constants.ListItem1, true); // 9600
dataBits.SetSelected(Constants.ListItem0, true); // 8
// no default com select!
stopBits.SetSelected(Constants.ListItem1, true); // 1
parity.SetSelected(Constants.ListItem0, true); // none
handshake.SetSelected(Constants.ListItem0, true); // no
#endregion
}
else
{
#region Data from file
#region Get data
String Baudrate = values[Settingsfile.CmdMeter3Baudrate];
String DataBits = values[Settingsfile.CmdMeter3Databits];
comSelect = values[Settingsfile.CmdMeter3Comselect];
String StopBits = values[Settingsfile.CmdMeter3Stopbits];
String Parity = values[Settingsfile.CmdMeter3Parity];
String Handshake = values[Settingsfile.CmdMeter3Handshake];
#endregion
#region Baudrate
switch (Baudrate)
{
case "4800":
baudRate.SetSelected(Constants.ListItem0, true);
break;
case "9600":
baudRate.SetSelected(Constants.ListItem1, true);
break;
case "19200":
baudRate.SetSelected(Constants.ListItem2, true);
break;
case "38400":
baudRate.SetSelected(Constants.ListItem3, true);
break;
case "115200":
baudRate.SetSelected(Constants.ListItem4, true);
break;
default:
baudRate.SetSelected(Constants.ListItem1, true);
break;
}
#endregion
#region Databits
switch (DataBits)
{
case "8":
dataBits.SetSelected(Constants.ListItem0, true);
break;
case "9":
dataBits.SetSelected(Constants.ListItem1, true);
break;
default:
dataBits.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Stopbits
switch (StopBits)
{
case "None":
stopBits.SetSelected(Constants.ListItem0, true);
break;
case "1":
stopBits.SetSelected(Constants.ListItem1, true);
break;
case "1.5":
stopBits.SetSelected(Constants.ListItem2, true);
break;
case "2":
stopBits.SetSelected(Constants.ListItem3, true);
break;
default:
stopBits.SetSelected(Constants.ListItem1, true);
break;
}
#endregion
#region Parity
switch (Parity)
{
case "None":
parity.SetSelected(Constants.ListItem0, true);
break;
case "Even":
parity.SetSelected(Constants.ListItem1, true);
break;
case "Odd":
parity.SetSelected(Constants.ListItem2, true);
break;
case "Mark":
parity.SetSelected(Constants.ListItem3, true);
break;
case "Space":
parity.SetSelected(Constants.ListItem4, true);
break;
default:
parity.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Handshake
switch (Handshake)
{
case "None":
handshake.SetSelected(Constants.ListItem0, true);
break;
case "RTS":
handshake.SetSelected(Constants.ListItem1, true);
break;
case "RTS Xon Xoff":
handshake.SetSelected(Constants.ListItem2, true);
break;
case "Xon Xoff":
handshake.SetSelected(Constants.ListItem3, true);
break;
default:
handshake.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Set flag
Ok = true;
#endregion
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.CmdMeter3() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean DataMeter1(String inputData, ref String comSelecte)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.DataMeter1Handshake)
{
#region Default values
//baudRate.SetSelected(Constants.ListItem4, true); // 115200
//dataBits.SetSelected(Constants.ListItem0, true); // 8
//comSelect = String.Empty;
//stopBits.SetSelected(Constants.ListItem1, true); // 1
//parity.SetSelected(Constants.ListItem0, true); // none
//handshake.SetSelected(Constants.ListItem0, true); // no
#endregion
}
else
{
#region Data from file
#region Get data
String Baudrate = values[Settingsfile.DataMeter1Baudrate];
String DataBits = values[Settingsfile.DataMeter1Databits];
//comSelect = values[Settingsfile.DataMeter1Comselect];
String StopBits = values[Settingsfile.DataMeter1Stopbits];
String Parity = values[Settingsfile.DataMeter1Parity];
String Handshake = values[Settingsfile.DataMeter1Handshake];
#endregion
#region Baudrate
switch (Baudrate)
{
case "4800":
// baudRate.SetSelected(Constants.ListItem0, true);
break;
case "9600":
// baudRate.SetSelected(Constants.ListItem1, true);
break;
case "19200":
// baudRate.SetSelected(Constants.ListItem2, true);
break;
case "38400":
// baudRate.SetSelected(Constants.ListItem3, true);
break;
case "115200":
// baudRate.SetSelected(Constants.ListItem4, true);
break;
default:
// baudRate.SetSelected(Constants.ListItem4, true);
break;
}
#endregion
#region Databits
switch (DataBits)
{
case "8":
// dataBits.SetSelected(Constants.ListItem0, true);
break;
case "9":
// dataBits.SetSelected(Constants.ListItem1, true);
break;
default:
// dataBits.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Stopbits
switch(StopBits)
{
case "None": //stopBits.SetSelected(Constants.ListItem0, true);
break;
case "1": //stopBits.SetSelected(Constants.ListItem1, true);
break;
case "1.5": //stopBits.SetSelected(Constants.ListItem2, true);
break;
case "2": //stopBits.SetSelected(Constants.ListItem3, true);
break;
default: //stopBits.SetSelected(Constants.ListItem1, true);
break;
}
#endregion
#region Parity
switch(Parity)
{
case "None": //parity.SetSelected(Constants.ListItem0, true);
break;
case "Even": //parity.SetSelected(Constants.ListItem1, true);
break;
case "Odd": //parity.SetSelected(Constants.ListItem2, true);
break;
case "Mark": //parity.SetSelected(Constants.ListItem3, true);
break;
case "Space": //parity.SetSelected(Constants.ListItem4, true);
break;
default: //parity.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Handshake
switch(Handshake)
{
case "None": //handshake.SetSelected(Constants.ListItem0, true);
break;
case "RTS": //handshake.SetSelected(Constants.ListItem1, true);
break;
case "RTS Xon Xoff": //handshake.SetSelected(Constants.ListItem2, true);
break;
case "Xon Xoff": //handshake.SetSelected(Constants.ListItem3, true);
break;
default: //handshake.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Set flag
Ok = true;
#endregion
#endregion
}
}
catch(Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.DataMeter1() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean DataMeter2(String inputData, ref ListBox baudRate, ref ListBox dataBits, ref String comSelect, ref ListBox stopBits, ref ListBox parity, ref ListBox handshake)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.DataMeter2Handshake)
{
#region Default values
baudRate.SetSelected(Constants.ListItem4, true); // 115200
dataBits.SetSelected(Constants.ListItem0, true); // 8
comSelect = String.Empty;
stopBits.SetSelected(Constants.ListItem1, true); // 1
parity.SetSelected(Constants.ListItem0, true); // none
handshake.SetSelected(Constants.ListItem0, true); // no
#endregion
}
else
{
#region Data from file
#region Get data
String Baudrate = values[Settingsfile.DataMeter2Baudrate];
String DataBits = values[Settingsfile.DataMeter2Databits];
comSelect = values[Settingsfile.DataMeter2Comselect];
String StopBits = values[Settingsfile.DataMeter2Stopbits];
String Parity = values[Settingsfile.DataMeter2Parity];
String Handshake = values[Settingsfile.DataMeter2Handshake];
#endregion
#region Baudrate
switch (Baudrate)
{
case "4800":
baudRate.SetSelected(Constants.ListItem0, true);
break;
case "9600":
baudRate.SetSelected(Constants.ListItem1, true);
break;
case "19200":
baudRate.SetSelected(Constants.ListItem2, true);
break;
case "38400":
baudRate.SetSelected(Constants.ListItem3, true);
break;
case "115200":
baudRate.SetSelected(Constants.ListItem4, true);
break;
default:
baudRate.SetSelected(Constants.ListItem4, true);
break;
}
#endregion
#region Databits
switch (DataBits)
{
case "8":
dataBits.SetSelected(Constants.ListItem0, true);
break;
case "9":
dataBits.SetSelected(Constants.ListItem1, true);
break;
default:
dataBits.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Stopbits
switch (StopBits)
{
case "None":
stopBits.SetSelected(Constants.ListItem0, true);
break;
case "1":
stopBits.SetSelected(Constants.ListItem1, true);
break;
case "1.5":
stopBits.SetSelected(Constants.ListItem2, true);
break;
case "2":
stopBits.SetSelected(Constants.ListItem3, true);
break;
default:
stopBits.SetSelected(Constants.ListItem1, true);
break;
}
#endregion
#region Parity
switch (Parity)
{
case "None":
parity.SetSelected(Constants.ListItem0, true);
break;
case "Even":
parity.SetSelected(Constants.ListItem1, true);
break;
case "Odd":
parity.SetSelected(Constants.ListItem2, true);
break;
case "Mark":
parity.SetSelected(Constants.ListItem3, true);
break;
case "Space":
parity.SetSelected(Constants.ListItem4, true);
break;
default:
parity.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Handshake
switch (Handshake)
{
case "None":
handshake.SetSelected(Constants.ListItem0, true);
break;
case "RTS":
handshake.SetSelected(Constants.ListItem1, true);
break;
case "RTS Xon Xoff":
handshake.SetSelected(Constants.ListItem2, true);
break;
case "Xon Xoff":
handshake.SetSelected(Constants.ListItem3, true);
break;
default:
handshake.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Set flag
Ok = true;
#endregion
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.DataMeter2() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean DataMeter3(String inputData, ref ListBox baudRate, ref ListBox dataBits, ref String comSelect, ref ListBox stopBits, ref ListBox parity, ref ListBox handshake)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.DataMeter3Handshake)
{
#region Default values
baudRate.SetSelected(Constants.ListItem4, true); // 115200
dataBits.SetSelected(Constants.ListItem0, true); // 8
comSelect = String.Empty;
stopBits.SetSelected(Constants.ListItem1, true); // 1
parity.SetSelected(Constants.ListItem0, true); // none
handshake.SetSelected(Constants.ListItem0, true); // no
#endregion
}
else
{
#region Data from file
#region Get data
String Baudrate = values[Settingsfile.DataMeter3Baudrate];
String DataBits = values[Settingsfile.DataMeter3Databits];
comSelect = values[Settingsfile.DataMeter3Comselect];
String StopBits = values[Settingsfile.DataMeter3Stopbits];
String Parity = values[Settingsfile.DataMeter3Parity];
String Handshake = values[Settingsfile.DataMeter3Handshake];
#endregion
#region Baudrate
switch (Baudrate)
{
case "4800":
baudRate.SetSelected(Constants.ListItem0, true);
break;
case "9600":
baudRate.SetSelected(Constants.ListItem1, true);
break;
case "19200":
baudRate.SetSelected(Constants.ListItem2, true);
break;
case "38400":
baudRate.SetSelected(Constants.ListItem3, true);
break;
case "115200":
baudRate.SetSelected(Constants.ListItem4, true);
break;
default:
baudRate.SetSelected(Constants.ListItem4, true);
break;
}
#endregion
#region Databits
switch (DataBits)
{
case "8":
dataBits.SetSelected(Constants.ListItem0, true);
break;
case "9":
dataBits.SetSelected(Constants.ListItem1, true);
break;
default:
dataBits.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Stopbits
switch (StopBits)
{
case "None":
stopBits.SetSelected(Constants.ListItem0, true);
break;
case "1":
stopBits.SetSelected(Constants.ListItem1, true);
break;
case "1.5":
stopBits.SetSelected(Constants.ListItem2, true);
break;
case "2":
stopBits.SetSelected(Constants.ListItem3, true);
break;
default:
stopBits.SetSelected(Constants.ListItem1, true);
break;
}
#endregion
#region Parity
switch (Parity)
{
case "None":
parity.SetSelected(Constants.ListItem0, true);
break;
case "Even":
parity.SetSelected(Constants.ListItem1, true);
break;
case "Odd":
parity.SetSelected(Constants.ListItem2, true);
break;
case "Mark":
parity.SetSelected(Constants.ListItem3, true);
break;
case "Space":
parity.SetSelected(Constants.ListItem4, true);
break;
default:
parity.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Handshake
switch (Handshake)
{
case "None":
handshake.SetSelected(Constants.ListItem0, true);
break;
case "RTS":
handshake.SetSelected(Constants.ListItem1, true);
break;
case "RTS Xon Xoff":
handshake.SetSelected(Constants.ListItem2, true);
break;
case "Xon Xoff":
handshake.SetSelected(Constants.ListItem3, true);
break;
default:
handshake.SetSelected(Constants.ListItem0, true);
break;
}
#endregion
#region Set flag
Ok = true;
#endregion
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.DataMeter3() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean Raw(String inputData, ref CheckBox rawLogEn)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.RawLogEnable)
{
#region Default
rawLogEn.Checked = false;
#endregion
}
else
{
#region Data from file
if (values[Settingsfile.RawLogEnable] == "1")
rawLogEn.Checked = true;
else
rawLogEn.Checked = false;
#endregion
#region Set flags
Ok = true;
#endregion
}
}
catch(Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.Raw() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean Csv(String inputData, ref CheckBox loggingEn, ref CheckBox loggingPath0, ref CheckBox loggingPath1, ref CheckBox loggingPath2)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.CsvLogPath2)
{
#region Default values
loggingEn.Checked = false;
loggingPath0.Checked = false;
loggingPath1.Checked = false;
loggingPath2.Checked = false;
#endregion
}
else
{
#region Data from file
if (values[Settingsfile.CsvLogEnable] == "1")
loggingEn.Checked = true;
else
loggingEn.Checked = false;
if (values[Settingsfile.CsvLogPath0] == "1")
loggingPath0.Checked = true;
else
loggingPath0.Checked = false;
if (values[Settingsfile.CsvLogPath1] == "1")
loggingPath1.Checked = true;
else
loggingPath1.Checked = false;
if (values[Settingsfile.CsvLogPath2] == "1")
loggingPath2.Checked = true;
else
loggingPath2.Checked = false;
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch(Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.Csv() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean Maingraph(String inputData, ref ListBox optionSelect, ref CheckBox graphPath0, ref CheckBox graphPath1, ref CheckBox graphPath2, ref NumericUpDown settingsXMainGraph, ref NumericUpDown maingraphNomVal)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
Decimal FlowNominalValue = 0;
#endregion
if ((values.Count() - 1) < Settingsfile.MaingraphFlowVal)
{
#region Default values
optionSelect.SetSelected(Constants.ListItem0, true);
graphPath0.Checked = false;
graphPath1.Checked = false;
graphPath2.Checked = false;
settingsXMainGraph.Value = (Decimal)Constants.MainGraphDefaultXValues;
maingraphNomVal.Value = Constants.MainGraphDefaultFlowValue;
#endregion
}
else
{
#region Settings from file
if (Misc.OnlyDecimalInString(values[Settingsfile.ListBoxOption]))
optionSelect.SetSelected(int.Parse(values[Settingsfile.ListBoxOption]), true);
else
optionSelect.SetSelected(Constants.ListItem0, true);
// PATH0
if (values[Settingsfile.MaingraphPath0] == "1")
graphPath0.Checked = true;
else
graphPath0.Checked = false;
// PATH1
if (values[Settingsfile.MaingraphPath1] == "1")
graphPath1.Checked = true;
else
graphPath1.Checked = false;
// PATH2
if (values[Settingsfile.MaingraphPath2] == "1")
graphPath2.Checked = true;
else
graphPath2.Checked = false;
// Numeric Up Down - x-Values
if (Misc.OnlyDecimalInString(values[Settingsfile.MaingraphXval]))
settingsXMainGraph.Value = Decimal.Parse(values[Settingsfile.MaingraphXval]);
else
settingsXMainGraph.Value = (Decimal)Constants.MainGraphDefaultXValues;
// Numeric Up Down - Flow value
if (Misc.OnlyDecimalInString(values[Settingsfile.MaingraphFlowVal]))
{
FlowNominalValue = Decimal.Parse(values[Settingsfile.MaingraphFlowVal]);
if (FlowNominalValue == 0) // Zero forbidden
FlowNominalValue = FlowNominalValue + 1;
maingraphNomVal.Value = FlowNominalValue;
}
else
maingraphNomVal.Value = Constants.MainGraphDefaultFlowValue;
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch(Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.Maingraph() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Int32 Password(String inputData, ref RichTextBox password, UInt16 meter)
{
#region Definitions and initializations
Int32 Error = SettingsFileError.Ok;
String Data = String.Empty;
Boolean IsOnlyHex = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
switch(meter)
{
case Constants.Meter1:
if ((values.Count() - 1) < Settingsfile.Password1)
{
#region Default values
password.Text = String.Empty;
Error = SettingsFileError.Length;
#endregion
}
else
{
#region Get data from file
Data = values[Settingsfile.Password1];
IsOnlyHex = Misc.OnlyHexInString(Data);
if (IsOnlyHex)
{
if (Data.Count() <= GP30Parameters.PasswordMaxlength)
{
password.Text = values[Settingsfile.Password1];
}
else
{
Error = SettingsFileError.Length;
password.Text = String.Empty;
}
}
else
{
password.Text = String.Empty;
Error = SettingsFileError.Format;
}
#endregion
}
break;
case Constants.Meter2:
if ((values.Count() - 1) < Settingsfile.Password2)
{
#region Default values
password.Text = String.Empty;
Error = SettingsFileError.Length;
#endregion
}
else
{
#region Get data from file
Data = values[Settingsfile.Password2];
IsOnlyHex = Misc.OnlyHexInString(Data);
if (IsOnlyHex)
{
if (Data.Count() <= GP30Parameters.PasswordMaxlength)
{
password.Text = values[Settingsfile.Password2];
}
else
{
Error = SettingsFileError.Length;
password.Text = String.Empty;
}
}
else
{
password.Text = String.Empty;
Error = SettingsFileError.Format;
}
#endregion
}
break;
case Constants.Meter3:
if ((values.Count() - 1) < Settingsfile.Password3)
{
#region Default values
password.Text = String.Empty;
Error = SettingsFileError.Length;
#endregion
}
else
{
#region Get data from file
Data = values[Settingsfile.Password3];
IsOnlyHex = Misc.OnlyHexInString(Data);
if (IsOnlyHex)
{
if (Data.Count() <= GP30Parameters.PasswordMaxlength)
{
password.Text = values[Settingsfile.Password3];
}
else
{
Error = SettingsFileError.Length;
password.Text = String.Empty;
}
}
else
{
password.Text = String.Empty;
Error = SettingsFileError.Format;
}
#endregion
}
break;
}
}
catch(Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.Password() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Error;
}
public static Boolean JsonPath(String inputData, out String jsonPath)
{
#region Definitions and initializations
Boolean Ok = false;
jsonPath = String.Empty;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.JsonPath)
{
#region Default data
jsonPath = String.Empty;
#endregion
}
else
{
#region Data from file
jsonPath = values[Settingsfile.JsonPath];
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch(Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.JsonPath() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean StdDeviation(String inputData, ref NumericUpDown xRange, ref NumericUpDown numberOfValues)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.StdDeviationValues)
{
#region Default values
xRange.Value = (Decimal)Constants.StdDevGraphDefaultXValues;
numberOfValues.Value = (Decimal)Constants.StdDevGraphDefaultElements;
#endregion
}
else
{
#region Data from file
#region Number of display points in graph
if (Misc.OnlyDecimalInString(values[Settingsfile.StdDeviationXval]))
xRange.Value = Decimal.Parse(values[Settingsfile.StdDeviationXval]);
else
xRange.Value = (Decimal)Constants.StdDevGraphDefaultXValues;
#endregion
#region Number of values for calculation
if (Misc.OnlyDecimalInString(values[Settingsfile.StdDeviationValues]))
numberOfValues.Value = Decimal.Parse(values[Settingsfile.StdDeviationValues]);
else
numberOfValues.Value = (Decimal)Constants.StdDevGraphDefaultElements;
#endregion
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.StdDeviation() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean StdDeviationEnPath0(String inputData, ref CheckBox hit0, ref CheckBox hit1, ref CheckBox hit2, ref CheckBox hit3, ref CheckBox hit4, ref CheckBox hit5, ref CheckBox hit6, ref CheckBox hit7, ref CheckBox threeHits, ref CheckBox eightHits )
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.StdDeviationEn8HitsPath0)
{
#region Default values
hit0.Checked = false;
hit1.Checked = false;
hit2.Checked = false;
hit3.Checked = false;
hit4.Checked = false;
hit5.Checked = false;
hit6.Checked = false;
hit7.Checked = false;
threeHits.Checked = false;
eightHits.Checked = false;
#endregion
}
else
{
#region Data from file
if (values[Settingsfile.StdDeviationEnHit0Path0] == "1")
hit0.Checked = true;
else
hit0.Checked = false;
if (values[Settingsfile.StdDeviationEnHit1Path0] == "1")
hit1.Checked = true;
else
hit1.Checked = false;
if (values[Settingsfile.StdDeviationEnHit2Path0] == "1")
hit2.Checked = true;
else
hit2.Checked = false;
if (values[Settingsfile.StdDeviationEnHit3Path0] == "1")
hit3.Checked = true;
else
hit3.Checked = false;
if (values[Settingsfile.StdDeviationEnHit4Path0] == "1")
hit4.Checked = true;
else
hit4.Checked = false;
if (values[Settingsfile.StdDeviationEnHit5Path0] == "1")
hit5.Checked = true;
else
hit5.Checked = false;
if (values[Settingsfile.StdDeviationEnHit6Path0] == "1")
hit6.Checked = true;
else
hit6.Checked = false;
if (values[Settingsfile.StdDeviationEnHit7Path0] == "1")
hit7.Checked = true;
else
hit7.Checked = false;
if (values[Settingsfile.StdDeviationEn3HitsPath0] == "1")
threeHits.Checked = true;
else
threeHits.Checked = false;
if (values[Settingsfile.StdDeviationEn8HitsPath0] == "1")
eightHits.Checked = true;
else
eightHits.Checked = false;
#endregion
#region Set file
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.StdDeviationEnPath0() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean StdDeviationEnPath1(String inputData, ref CheckBox hit0, ref CheckBox hit1, ref CheckBox hit2, ref CheckBox hit3, ref CheckBox hit4, ref CheckBox hit5, ref CheckBox hit6, ref CheckBox hit7, ref CheckBox threeHits, ref CheckBox eightHits)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.StdDeviationEn8HitsPath1)
{
#region Default values
hit0.Checked = false;
hit1.Checked = false;
hit2.Checked = false;
hit3.Checked = false;
hit4.Checked = false;
hit5.Checked = false;
hit6.Checked = false;
hit7.Checked = false;
threeHits.Checked = false;
eightHits.Checked = false;
#endregion
}
else
{
#region Values from file
if (values[Settingsfile.StdDeviationEnHit0Path1] == "1")
hit0.Checked = true;
else
hit0.Checked = false;
if (values[Settingsfile.StdDeviationEnHit1Path1] == "1")
hit1.Checked = true;
else
hit1.Checked = false;
if (values[Settingsfile.StdDeviationEnHit2Path1] == "1")
hit2.Checked = true;
else
hit2.Checked = false;
if (values[Settingsfile.StdDeviationEnHit3Path1] == "1")
hit3.Checked = true;
else
hit3.Checked = false;
if (values[Settingsfile.StdDeviationEnHit4Path1] == "1")
hit4.Checked = true;
else
hit4.Checked = false;
if (values[Settingsfile.StdDeviationEnHit5Path1] == "1")
hit5.Checked = true;
else
hit5.Checked = false;
if (values[Settingsfile.StdDeviationEnHit6Path1] == "1")
hit6.Checked = true;
else
hit6.Checked = false;
if (values[Settingsfile.StdDeviationEnHit7Path1] == "1")
hit7.Checked = true;
else
hit7.Checked = false;
if (values[Settingsfile.StdDeviationEn3HitsPath1] == "1")
threeHits.Checked = true;
else
threeHits.Checked = false;
if (values[Settingsfile.StdDeviationEn8HitsPath1] == "1")
eightHits.Checked = true;
else
eightHits.Checked = false;
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.StdDeviationEnPath1() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean StdDeviationEnPath2(String inputData, ref CheckBox hit0, ref CheckBox hit1, ref CheckBox hit2, ref CheckBox hit3, ref CheckBox hit4, ref CheckBox hit5, ref CheckBox hit6, ref CheckBox hit7, ref CheckBox threeHits, ref CheckBox eightHits)
{
#region Definitions and initializations
Boolean Ok = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.StdDeviationEn8HitsPath2)
{
#region Default values
hit0.Checked = false;
hit1.Checked = false;
hit2.Checked = false;
hit3.Checked = false;
hit4.Checked = false;
hit5.Checked = false;
hit6.Checked = false;
hit7.Checked = false;
threeHits.Checked = false;
eightHits.Checked = false;
#endregion
}
else
{
#region Values from file
if (values[Settingsfile.StdDeviationEnHit0Path2] == "1")
hit0.Checked = true;
else
hit0.Checked = false;
if (values[Settingsfile.StdDeviationEnHit1Path2] == "1")
hit1.Checked = true;
else
hit1.Checked = false;
if (values[Settingsfile.StdDeviationEnHit2Path2] == "1")
hit2.Checked = true;
else
hit2.Checked = false;
if (values[Settingsfile.StdDeviationEnHit3Path2] == "1")
hit3.Checked = true;
else
hit3.Checked = false;
if (values[Settingsfile.StdDeviationEnHit4Path2] == "1")
hit4.Checked = true;
else
hit4.Checked = false;
if (values[Settingsfile.StdDeviationEnHit5Path2] == "1")
hit5.Checked = true;
else
hit5.Checked = false;
if (values[Settingsfile.StdDeviationEnHit6Path2] == "1")
hit6.Checked = true;
else
hit6.Checked = false;
if (values[Settingsfile.StdDeviationEnHit7Path2] == "1")
hit7.Checked = true;
else
hit7.Checked = false;
if (values[Settingsfile.StdDeviationEn3HitsPath2] == "1")
threeHits.Checked = true;
else
threeHits.Checked = false;
if (values[Settingsfile.StdDeviationEn8HitsPath2] == "1")
eightHits.Checked = true;
else
eightHits.Checked = false;
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.StdDeviationEnPath2() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean LogDirectory(String inputData, out String logDirectory)
{
#region Definitions and initializations
Boolean Ok = false;
logDirectory = String.Empty;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.LogDirectory)
{
#region Default value
logDirectory = String.Empty;
#endregion
}
else
{
#region Value from file
logDirectory = values[Settingsfile.LogDirectory];
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.LogDirectory() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean ReportDirectory(String inputData, out String reportDirectory)
{
#region Definitions and initializations
Boolean Ok = false;
reportDirectory = String.Empty;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.ReportDirectory)
#region Default value
reportDirectory = String.Empty;
#endregion
else
{
#region Value from file
reportDirectory = values[Settingsfile.ReportDirectory];
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.ReportDirectory() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean ImagesDirectory(String inputData, out String imagesDirectory)
{
#region Definitions and initializations
Boolean Ok = false;
imagesDirectory = String.Empty;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.ImagesDirectory)
#region Default value
imagesDirectory = String.Empty;
#endregion
else
{
#region Value from file
imagesDirectory = values[Settingsfile.ImagesDirectory];
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.ImagesDirectory() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean CsvDirectory(String inputData, out String csvDirectory)
{
#region Definitions and initializations
Boolean Ok = false;
csvDirectory = String.Empty;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.CsvDirectory)
#region Default data
csvDirectory = String.Empty;
#endregion
else
{
#region Data from file
csvDirectory = values[Settingsfile.CsvDirectory];
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.CsvDirectory() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean MassLogging(String inputData, out Boolean massLogging)
{
#region Definitions and initializations
Boolean Ok = false;
massLogging = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.MassLogging)
#region Default data
massLogging = false;
#endregion
else
{
#region Data from file
if (values[Settingsfile.MassLogging] == "1")
massLogging = true;
else
massLogging = false;
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.MassLogging() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
public static Boolean SplitSettings(String inputData, out Boolean filesplitterEn)
{
#region Definitions and initializations
Boolean Ok = false;
filesplitterEn = false;
#endregion
try
{
#region Prepare data
String[] values = inputData.Split(';');
#endregion
if ((values.Count() - 1) < Settingsfile.Splitcounter)
#region Default data
filesplitterEn = false;
#endregion
else
{
#region Data from file
if (values[Settingsfile.Splitcounter] == "1")
filesplitterEn = true;
else
filesplitterEn = false;
#endregion
#region Set flag
Ok = true;
#endregion
}
}
catch (Exception ex)
{
ErrorLog.Log(LogErrReason.Exception(), "GetReadSettings.SplitSettings() failed", "0x" + ex.HResult.ToString("X", GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()), String.Empty);
}
return Ok;
}
}
public static class PrepareWriteSettings
{
public static String SerialSettings(String baudRate, String dataBits, String comSelect, String stopBits, String parity, String handshake)
{
String Data = String.Empty;
Data = baudRate + ";";
Data = Data + dataBits + ";";
Data = Data + comSelect + ";";
Data = Data + stopBits + ";";
Data = Data + parity + ";";
Data = Data + handshake + ";";
return Data;
}
public static String Raw(Boolean rawLogEn)
{
String Data = "0;";
if (rawLogEn)
Data = "1;";
return Data;
}
public static String Csv(Boolean csvLogEn, Boolean csvLogEnPath0, Boolean csvLogEnPath1, Boolean csvLogEnPath2)
{
String Data = String.Empty;
String CsvLogEn = "0;";
String CsvLogEnPath0 = "0;";
String CsvLogEnPath1 = "0;";
String CsvLogEnPath2 = "0;";
if (csvLogEn)
CsvLogEn = "1;";
if (csvLogEnPath0)
CsvLogEnPath0 = "1;";
if (csvLogEnPath1)
CsvLogEnPath1 = "1;";
if (csvLogEnPath2)
CsvLogEnPath2 = "1;";
Data = CsvLogEn + CsvLogEnPath0 + CsvLogEnPath1 + CsvLogEnPath2;
return Data;
}
public static String Maingraph(UInt16 xRange, UInt16 listboxIndex, Boolean enPath0, Boolean enPath1, Boolean enPath2, Double flowValue)
{
#region Definitions and initializations
CultureInfo culture = GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture();
String Data = String.Empty;
String EnPath0 = "0;";
String EnPath1 = "0;";
String EnPath2 = "0;";
#endregion
#region Listbox index
if (listboxIndex < 0)
listboxIndex = 0;
Data = Data + listboxIndex.ToString(GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture()) + ";";
#endregion
#region Enable paths
if (enPath0)
EnPath0 = "1;";
if (enPath1)
EnPath1 = "1;";
if (enPath2)
EnPath2 = "1;";
#endregion
#region Final String
Data = Data + xRange.ToString(culture) +";" + EnPath0 + EnPath1 + EnPath2 + Math.Round(flowValue, 1).ToString(culture) +";";
#endregion
return Data;
}
public static String Password(String password)
{
password = password + ";";
return password;
}
public static String JsonPath(String path)
{
String Data = path + ";";
return Data;
}
public static String StdDeviation(int xRange, int xValues)
{
CultureInfo culture = GENESIS_DISPLAY_TOOL._GENESIS_DISPLAY_TOOL.GetGlobalCulture();
String data = xRange.ToString(culture) + ";" + xValues.ToString(culture) + ";";
return data;
}
public static String StdDeviationEn(Boolean hit0, Boolean hit1, Boolean hit2, Boolean hit3, Boolean hit4, Boolean hit5, Boolean hit6, Boolean hit7, Boolean threeHits, Boolean eightHits)
{
String Data = String.Empty;
if (hit0)
Data = "1;";
else
Data = "0;";
if (hit1)
Data = Data + "1;";
else
Data = Data + "0;";
if (hit2)
Data = Data + "1;";
else
Data = Data + "0;";
if (hit3)
Data = Data + "1;";
else
Data = Data + "0;";
if (hit4)
Data = Data + "1;";
else
Data = Data + "0;";
if (hit5)
Data = Data + "1;";
else
Data = Data + "0;";
if (hit6)
Data = Data + "1;";
else
Data = Data + "0;";
if (hit7)
Data = Data + "1;";
else
Data = Data + "0;";
if (threeHits)
Data = Data + "1;";
else
Data = Data + "0;";
if (eightHits)
Data = Data + "1;";
else
Data = Data + "0;";
return Data;
}
public static String LogDirectory(String logDirectory)
{
String Data = logDirectory + ";";
return Data;
}
public static String ReportDirectory(String reportDirectory)
{
String Data = reportDirectory + ";";
return Data;
}
public static String ImagesDirectory(String imagesDirectory)
{
String Data = imagesDirectory + ";";
return Data;
}
public static String CsvDirectory(String csvDirectory)
{
String Data = csvDirectory + ";";
return Data;
}
public static String MassMode(Boolean massEnable)
{
String Data = String.Empty;
if (massEnable)
Data = "1;";
else
Data = "0;";
return Data;
}
public static String SplitSettings(Boolean filesplitterEn)
{
String Data = String.Empty;
if (filesplitterEn)
Data = "1;";
else
Data = "0;";
return Data;
}
}
}