2793 lines
123 KiB
C#
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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} |