초기 커밋.

This commit is contained in:
2026-02-11 10:10:43 +09:00
parent a1407fe1c0
commit 0956e4d38a
142 changed files with 72021 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,273 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.Forms;
using LFP_Manager.DataStructure;
using LFP_Manager.Utils;
namespace LFP_Manager.Controls
{
public delegate void setCalibUpdate(object sender);
public delegate void setCalibCommand(int mode, int flag, ref DeviceCalibration aCalib, ref DeviceSystemTotalData aTotal);
public delegate Int32 getBattData(int item, int cno);
public partial class ucCalibration : DevExpress.XtraEditors.XtraUserControl
{
#region DEFINE
const string FORCED_BALANCING_OFF = "OFF";
const string FORCED_BALANCING_ON = "ON";
const string FORCED_BALANCING_TEST = "TEST";
const string MANUAL_BAL_DISABLE = "DISABLE";
const string MANUAL_BAL_ENABLE = "ENABLE";
const string MANUAL_BAL_MODE_BUCK = "BUCK_MODE";
const string MANUAL_BAL_MODE_BOOST = "BOOST_MODE";
const string CURR_CALIB_CHARGE = "CHARGE";
const string CURR_CALIB_DISCHAGE = "DISCHARGE";
#endregion
#region VARIABLES
DeviceCalibration rCalib;
DeviceCalibration wCalib;
DeviceSystemTotalData wTotal;
//UInt32 cValue = 0;
//bool wFlag = false;
public event setCalibCommand OnCommand = null;
public event getBattData OnGetBattData = null;
#endregion
#region CONSTRUCTORS
// Battery No:
// 0: No 1,3,5,7,9,11,13,15 ODD
// 1: No 2,4,6,8,10,12,14 Even
public ucCalibration()
{
InitializeComponent();
ComponentInit();
wTotal = new DeviceSystemTotalData();
}
private void ComponentInit()
{
cbFcControl.Properties.Items.Clear();
cbFcControl.Properties.Items.Add(FORCED_BALANCING_OFF);
cbFcControl.Properties.Items.Add(FORCED_BALANCING_ON);
cbFcControl.Properties.Items.Add(FORCED_BALANCING_TEST);
cbFcControl.SelectedIndex = 1;
cbFcCellNo.Properties.Items.Clear();
for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; i++)
{
cbFcCellNo.Properties.Items.Add(String.Format("{0}", i + 1));
}
cbFcCellNo.SelectedIndex = 0;
CbBalEnable.Properties.Items.Clear();
CbBalEnable.Properties.Items.Add(MANUAL_BAL_DISABLE);
CbBalEnable.Properties.Items.Add(MANUAL_BAL_ENABLE);
CbBalEnable.SelectedIndex = 0;
CbBalMode.Properties.Items.Clear();
CbBalMode.Properties.Items.Add(MANUAL_BAL_MODE_BOOST);
CbBalMode.Properties.Items.Add(MANUAL_BAL_MODE_BUCK);
CbBalMode.SelectedIndex = 0;
}
#endregion
#region EXT EVENT FUNCTION
private void OnCommnadEvent(int mode, int flag, ref DeviceCalibration aCalib, ref DeviceSystemTotalData aTotal)
{
OnCommand?.Invoke(mode, flag, ref aCalib, ref aTotal);
}
private Int32 OnGetBattDataEvent(int item, int cno)
{
Int32 result = 0;
if (OnGetBattData != null)
{
result = OnGetBattData(item, cno);
}
return result;
}
#endregion
#region PUBLIC FUCTIONS
public void UpdateData(DeviceCalibration aCalib)
{
rCalib = aCalib;
DisplayCalib();
}
#endregion
#region DISPLAY DATA
private void DisplayCalib()
{
// Cell Voltage Offset
edCvOffset1.Text = String.Format("{0}", rCalib.CellVoltge.CvOffsetLow);
edCvOffset2.Text = String.Format("{0}", rCalib.CellVoltge.CvOffsetHigh);
// Device Address
edSystemAddr.Text = String.Format("{0:0}", rCalib.SystemInfo.devAddr);
// Cell Balancing Parameter
TeCbThresholdCurr.Text = string.Format("{0}", rCalib.CbParam.Threadhold);
TeCbWindowCurr.Text = string.Format("{0}", rCalib.CbParam.Window);
TeCbMinCurr.Text = string.Format("{0}", rCalib.CbParam.Min);
TeCbIntervalCurr.Text = string.Format("{0}", rCalib.CbParam.Interval);
}
#endregion
#region BUTTON EVENT
private void btnFcSet_Click(object sender, EventArgs e)
{
try
{
if (CbBalEnable.Text != null)
{
wCalib = rCalib;
int cControl = cbFcControl.SelectedIndex;
int cNo = cbFcCellNo.SelectedIndex + 1;
int bMode = CbBalMode.SelectedIndex;
int bEnable = CbBalEnable.SelectedIndex;
wCalib.ForcedBalancing2.Control = cControl;
wCalib.ForcedBalancing2.CellNo = cNo;
wCalib.ForcedBalancing2.Mode = bMode;
wCalib.ForcedBalancing2.Enable = bEnable;
OnCommnadEvent(12, 1, ref wCalib, ref wTotal);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void btnBpGet_Click(object sender, EventArgs e)
{
OnCommnadEvent(15, 0, ref wCalib, ref wTotal);
}
private void btnBpSet_Click(object sender, EventArgs e)
{
if (edCvOffsetNew1.Text == "") return;
if (edCvOffsetNew2.Text == "") return;
wCalib = rCalib;
wCalib.CellVoltge.CvOffsetLow = (short)(Convert.ToInt32(edCvOffsetNew1.Text));
wCalib.CellVoltge.CvOffsetHigh = (short)(Convert.ToInt32(edCvOffsetNew2.Text));
OnCommnadEvent(15, 1, ref wCalib, ref wTotal);
}
private void btnBmsAddrGet_Click(object sender, EventArgs e)
{
OnCommnadEvent(9, 0, ref wCalib, ref wTotal);
}
private void btnBmsAddrSet_Click(object sender, EventArgs e)
{
if (edSystemAddrNew.Text == string.Empty) return;
wCalib = rCalib;
wCalib.SystemInfo.devAddr = (UInt16)(Convert.ToInt32(edSystemAddrNew.Text));
OnCommnadEvent(9, 1, ref wCalib, ref wTotal);
}
private void btnCanSpeedGet_Click(object sender, EventArgs e)
{
OnCommnadEvent(8, 0, ref wCalib, ref wTotal);
}
private void btnCanSpeedSet_Click(object sender, EventArgs e)
{
}
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
csUtils.TypingOnlyNumber(sender, e, true, true);
}
private void BtnCbParamGet_Click(object sender, EventArgs e)
{
OnCommnadEvent(17, 0, ref wCalib, ref wTotal);
}
private void BtnCbParamSet_Click(object sender, EventArgs e)
{
if (TeCbThresholdNew.Text == "") return;
if (TeCbWindowNew.Text == "") return;
if (TeCbMinNew.Text == "") return;
if (TeCbIntervalNew.Text == "") return;
wCalib = rCalib.DeepCopy();
wCalib.CbParam.Threadhold = (short)Convert.ToInt32(TeCbThresholdNew.Text);
wCalib.CbParam.Window = (short)Convert.ToInt32(TeCbWindowNew.Text);
wCalib.CbParam.Min = (short)Convert.ToInt32(TeCbMinNew.Text);
wCalib.CbParam.Interval = (short)Convert.ToInt32(TeCbIntervalNew.Text);
OnCommnadEvent(17, 1, ref wCalib, ref wTotal);
}
private void BtnCbDefault_Click(object sender, EventArgs e)
{
TeCbThresholdNew.Text = "3450";
TeCbWindowNew.Text = "60";
TeCbMinNew.Text = "10";
TeCbIntervalNew.Text = "5";
}
#endregion
#region COMPONENT EVENT
private void edModuleNo_EditValueChanged(object sender, EventArgs e)
{
if (edModuleNo.Text != "")
{
int mdID;
int mdNo;
string strMdNo = edModuleNo.Text;
try
{
mdNo = Convert.ToInt32(strMdNo);
mdID = (mdNo - 1) % 14 + 1;
edSystemAddrNew.Text = mdID.ToString();
}
catch (Exception ex)
{
edModuleNo.Text = "";
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,818 @@
namespace LFP_Manager.Controls
{
partial class ucCommConfig
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.btnSave = new DevExpress.XtraEditors.SimpleButton();
this.gbCommConfig = new DevExpress.XtraEditors.GroupControl();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
this.rbtnUARTCAN = new System.Windows.Forms.RadioButton();
this.rbtnUSBCAN = new System.Windows.Forms.RadioButton();
this.cbUartSpeed = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbUartPort = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbDbLogPeriod = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbTargetModel = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbCanBaudrate = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbCanDevice = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbCanNo = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbCanIndex = new DevExpress.XtraEditors.ComboBoxEdit();
this.lcgbCommConfig = new DevExpress.XtraLayout.LayoutControlGroup();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.lcgbCanConfig = new DevExpress.XtraLayout.LayoutControlGroup();
this.slbDeviceType = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.slbDeviceIndex = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.slbCanNo = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.slbCanSpeed = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcgbDatabaseConfig = new DevExpress.XtraLayout.LayoutControlGroup();
this.slbDatabaseLogPeriod = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcgbUartConfig = new DevExpress.XtraLayout.LayoutControlGroup();
this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcgbDeviceType = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcgbDeviceModel = new DevExpress.XtraLayout.LayoutControlGroup();
this.slbDeviceModel = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gbCommConfig)).BeginInit();
this.gbCommConfig.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit();
this.layoutControl3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.cbUartSpeed.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbUartPort.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbDbLogPeriod.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbTargetModel.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbCanBaudrate.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbCanDevice.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbCanNo.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbCanIndex.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbCommConfig)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbCanConfig)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbDeviceType)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbDeviceIndex)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbCanNo)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbCanSpeed)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbDatabaseConfig)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbDatabaseLogPeriod)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbUartConfig)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbDeviceType)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbDeviceModel)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbDeviceModel)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnClose);
this.layoutControl1.Controls.Add(this.btnSave);
this.layoutControl1.Controls.Add(this.gbCommConfig);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1111, 267, 250, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(407, 501);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// btnClose
//
this.btnClose.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnClose.Appearance.Options.UseFont = true;
this.btnClose.Location = new System.Drawing.Point(206, 461);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(197, 36);
this.btnClose.StyleController = this.layoutControl1;
this.btnClose.TabIndex = 7;
this.btnClose.Text = "CLOSE";
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// btnSave
//
this.btnSave.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnSave.Appearance.Options.UseFont = true;
this.btnSave.Location = new System.Drawing.Point(4, 461);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(198, 36);
this.btnSave.StyleController = this.layoutControl1;
this.btnSave.TabIndex = 6;
this.btnSave.Text = "SAVE";
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// gbCommConfig
//
this.gbCommConfig.Controls.Add(this.layoutControl3);
this.gbCommConfig.Location = new System.Drawing.Point(4, 4);
this.gbCommConfig.Name = "gbCommConfig";
this.gbCommConfig.Size = new System.Drawing.Size(399, 442);
this.gbCommConfig.TabIndex = 5;
this.gbCommConfig.Text = "Comm. Config";
//
// layoutControl3
//
this.layoutControl3.Controls.Add(this.rbtnUARTCAN);
this.layoutControl3.Controls.Add(this.rbtnUSBCAN);
this.layoutControl3.Controls.Add(this.cbUartSpeed);
this.layoutControl3.Controls.Add(this.cbUartPort);
this.layoutControl3.Controls.Add(this.cbDbLogPeriod);
this.layoutControl3.Controls.Add(this.cbTargetModel);
this.layoutControl3.Controls.Add(this.cbCanBaudrate);
this.layoutControl3.Controls.Add(this.cbCanDevice);
this.layoutControl3.Controls.Add(this.cbCanNo);
this.layoutControl3.Controls.Add(this.cbCanIndex);
this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl3.Location = new System.Drawing.Point(2, 23);
this.layoutControl3.Name = "layoutControl3";
this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(940, 234, 679, 350);
this.layoutControl3.Root = this.lcgbCommConfig;
this.layoutControl3.Size = new System.Drawing.Size(395, 417);
this.layoutControl3.TabIndex = 0;
this.layoutControl3.Text = "layoutControl3";
//
// rbtnUARTCAN
//
this.rbtnUARTCAN.Location = new System.Drawing.Point(199, 28);
this.rbtnUARTCAN.Name = "rbtnUARTCAN";
this.rbtnUARTCAN.Size = new System.Drawing.Size(189, 25);
this.rbtnUARTCAN.TabIndex = 15;
this.rbtnUARTCAN.TabStop = true;
this.rbtnUARTCAN.Text = "UARTCAN";
this.rbtnUARTCAN.UseVisualStyleBackColor = true;
this.rbtnUARTCAN.CheckedChanged += new System.EventHandler(this.rbtnUARTCAN_CheckedChanged);
//
// rbtnUSBCAN
//
this.rbtnUSBCAN.Location = new System.Drawing.Point(7, 28);
this.rbtnUSBCAN.Name = "rbtnUSBCAN";
this.rbtnUSBCAN.Size = new System.Drawing.Size(188, 25);
this.rbtnUSBCAN.TabIndex = 14;
this.rbtnUSBCAN.TabStop = true;
this.rbtnUSBCAN.Text = "USBCAN";
this.rbtnUSBCAN.UseVisualStyleBackColor = true;
this.rbtnUSBCAN.CheckedChanged += new System.EventHandler(this.rbtnUSBCAN_CheckedChanged);
//
// cbUartSpeed
//
this.cbUartSpeed.EditValue = "115200";
this.cbUartSpeed.Location = new System.Drawing.Point(139, 312);
this.cbUartSpeed.Name = "cbUartSpeed";
this.cbUartSpeed.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbUartSpeed.Properties.Appearance.Options.UseFont = true;
this.cbUartSpeed.Properties.Appearance.Options.UseTextOptions = true;
this.cbUartSpeed.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbUartSpeed.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbUartSpeed.Properties.Items.AddRange(new object[] {
"USBCAN_E_U",
"USBCAN_2E_U"});
this.cbUartSpeed.Size = new System.Drawing.Size(249, 24);
this.cbUartSpeed.StyleController = this.layoutControl3;
this.cbUartSpeed.TabIndex = 13;
//
// cbUartPort
//
this.cbUartPort.EditValue = "";
this.cbUartPort.Location = new System.Drawing.Point(139, 284);
this.cbUartPort.Name = "cbUartPort";
this.cbUartPort.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbUartPort.Properties.Appearance.Options.UseFont = true;
this.cbUartPort.Properties.Appearance.Options.UseTextOptions = true;
this.cbUartPort.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbUartPort.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbUartPort.Properties.Items.AddRange(new object[] {
"USBCAN_E_U",
"USBCAN_2E_U"});
this.cbUartPort.Size = new System.Drawing.Size(249, 24);
this.cbUartPort.StyleController = this.layoutControl3;
this.cbUartPort.TabIndex = 12;
//
// cbDbLogPeriod
//
this.cbDbLogPeriod.EditValue = "5";
this.cbDbLogPeriod.Location = new System.Drawing.Point(140, 369);
this.cbDbLogPeriod.Name = "cbDbLogPeriod";
this.cbDbLogPeriod.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbDbLogPeriod.Properties.Appearance.Options.UseFont = true;
this.cbDbLogPeriod.Properties.Appearance.Options.UseTextOptions = true;
this.cbDbLogPeriod.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbDbLogPeriod.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbDbLogPeriod.Properties.Items.AddRange(new object[] {
"1",
"5",
"10",
"15",
"30",
"60"});
this.cbDbLogPeriod.Size = new System.Drawing.Size(248, 24);
this.cbDbLogPeriod.StyleController = this.layoutControl3;
this.cbDbLogPeriod.TabIndex = 11;
//
// cbTargetModel
//
this.cbTargetModel.Location = new System.Drawing.Point(139, 86);
this.cbTargetModel.Name = "cbTargetModel";
this.cbTargetModel.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbTargetModel.Properties.Appearance.Options.UseFont = true;
this.cbTargetModel.Properties.Appearance.Options.UseTextOptions = true;
this.cbTargetModel.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbTargetModel.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbTargetModel.Size = new System.Drawing.Size(249, 24);
this.cbTargetModel.StyleController = this.layoutControl3;
this.cbTargetModel.TabIndex = 10;
//
// cbCanBaudrate
//
this.cbCanBaudrate.EditValue = "1000Kbps";
this.cbCanBaudrate.Location = new System.Drawing.Point(139, 227);
this.cbCanBaudrate.Name = "cbCanBaudrate";
this.cbCanBaudrate.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbCanBaudrate.Properties.Appearance.Options.UseFont = true;
this.cbCanBaudrate.Properties.Appearance.Options.UseTextOptions = true;
this.cbCanBaudrate.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbCanBaudrate.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbCanBaudrate.Properties.Items.AddRange(new object[] {
"1000Kbps",
"800Kbps",
"500Kbps",
"250Kbps",
"125Kbps",
"100Kbps",
"50Kbps",
"20Kbps",
"10Kbps",
"5Kbps"});
this.cbCanBaudrate.Size = new System.Drawing.Size(249, 24);
this.cbCanBaudrate.StyleController = this.layoutControl3;
this.cbCanBaudrate.TabIndex = 9;
//
// cbCanDevice
//
this.cbCanDevice.EditValue = "USBCAN_2E_U";
this.cbCanDevice.Location = new System.Drawing.Point(139, 143);
this.cbCanDevice.Name = "cbCanDevice";
this.cbCanDevice.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbCanDevice.Properties.Appearance.Options.UseFont = true;
this.cbCanDevice.Properties.Appearance.Options.UseTextOptions = true;
this.cbCanDevice.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbCanDevice.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbCanDevice.Properties.Items.AddRange(new object[] {
"USBCAN_E_U",
"USBCAN_2E_U"});
this.cbCanDevice.Size = new System.Drawing.Size(249, 24);
this.cbCanDevice.StyleController = this.layoutControl3;
this.cbCanDevice.TabIndex = 5;
this.cbCanDevice.SelectedIndexChanged += new System.EventHandler(this.cbCanDevice_SelectedIndexChanged);
//
// cbCanNo
//
this.cbCanNo.EditValue = "0";
this.cbCanNo.Location = new System.Drawing.Point(139, 199);
this.cbCanNo.Name = "cbCanNo";
this.cbCanNo.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbCanNo.Properties.Appearance.Options.UseFont = true;
this.cbCanNo.Properties.Appearance.Options.UseTextOptions = true;
this.cbCanNo.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbCanNo.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbCanNo.Properties.Items.AddRange(new object[] {
"0",
"1"});
this.cbCanNo.Size = new System.Drawing.Size(249, 24);
this.cbCanNo.StyleController = this.layoutControl3;
this.cbCanNo.TabIndex = 8;
//
// cbCanIndex
//
this.cbCanIndex.EditValue = "0";
this.cbCanIndex.Location = new System.Drawing.Point(139, 171);
this.cbCanIndex.Name = "cbCanIndex";
this.cbCanIndex.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbCanIndex.Properties.Appearance.Options.UseFont = true;
this.cbCanIndex.Properties.Appearance.Options.UseTextOptions = true;
this.cbCanIndex.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbCanIndex.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbCanIndex.Properties.Items.AddRange(new object[] {
"0",
"1",
"2"});
this.cbCanIndex.Size = new System.Drawing.Size(249, 24);
this.cbCanIndex.StyleController = this.layoutControl3;
this.cbCanIndex.TabIndex = 7;
//
// lcgbCommConfig
//
this.lcgbCommConfig.CustomizationFormText = "layoutControlGroup3";
this.lcgbCommConfig.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.lcgbCommConfig.GroupBordersVisible = false;
this.lcgbCommConfig.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.emptySpaceItem2,
this.lcgbCanConfig,
this.lcgbDatabaseConfig,
this.lcgbUartConfig,
this.lcgbDeviceType,
this.lcgbDeviceModel});
this.lcgbCommConfig.Name = "Root";
this.lcgbCommConfig.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcgbCommConfig.Size = new System.Drawing.Size(395, 417);
this.lcgbCommConfig.Text = "CommConfig";
this.lcgbCommConfig.TextVisible = false;
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.Location = new System.Drawing.Point(0, 398);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(393, 17);
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// lcgbCanConfig
//
this.lcgbCanConfig.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.slbDeviceType,
this.layoutControlItem1,
this.slbDeviceIndex,
this.layoutControlItem3,
this.slbCanNo,
this.layoutControlItem4,
this.slbCanSpeed,
this.layoutControlItem5});
this.lcgbCanConfig.Location = new System.Drawing.Point(0, 115);
this.lcgbCanConfig.Name = "lcgbCanConfig";
this.lcgbCanConfig.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcgbCanConfig.Size = new System.Drawing.Size(393, 141);
this.lcgbCanConfig.Text = "CAN CONFIG";
//
// slbDeviceType
//
this.slbDeviceType.AllowHotTrack = false;
this.slbDeviceType.Location = new System.Drawing.Point(0, 0);
this.slbDeviceType.MaxSize = new System.Drawing.Size(0, 28);
this.slbDeviceType.MinSize = new System.Drawing.Size(126, 28);
this.slbDeviceType.Name = "slbDeviceType";
this.slbDeviceType.Size = new System.Drawing.Size(132, 28);
this.slbDeviceType.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbDeviceType.Text = " Device Type";
this.slbDeviceType.TextSize = new System.Drawing.Size(113, 14);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.cbCanDevice;
this.layoutControlItem1.Location = new System.Drawing.Point(132, 0);
this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 28);
this.layoutControlItem1.MinSize = new System.Drawing.Size(54, 28);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(253, 28);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// slbDeviceIndex
//
this.slbDeviceIndex.AllowHotTrack = false;
this.slbDeviceIndex.Location = new System.Drawing.Point(0, 28);
this.slbDeviceIndex.MaxSize = new System.Drawing.Size(0, 28);
this.slbDeviceIndex.MinSize = new System.Drawing.Size(126, 28);
this.slbDeviceIndex.Name = "slbDeviceIndex";
this.slbDeviceIndex.Size = new System.Drawing.Size(132, 28);
this.slbDeviceIndex.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbDeviceIndex.Text = " Device Index";
this.slbDeviceIndex.TextSize = new System.Drawing.Size(113, 14);
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.cbCanIndex;
this.layoutControlItem3.Location = new System.Drawing.Point(132, 28);
this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 28);
this.layoutControlItem3.MinSize = new System.Drawing.Size(54, 28);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(253, 28);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// slbCanNo
//
this.slbCanNo.AllowHotTrack = false;
this.slbCanNo.Location = new System.Drawing.Point(0, 56);
this.slbCanNo.MaxSize = new System.Drawing.Size(0, 28);
this.slbCanNo.MinSize = new System.Drawing.Size(126, 28);
this.slbCanNo.Name = "slbCanNo";
this.slbCanNo.Size = new System.Drawing.Size(132, 28);
this.slbCanNo.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbCanNo.Text = " CAN No.";
this.slbCanNo.TextSize = new System.Drawing.Size(113, 14);
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.cbCanNo;
this.layoutControlItem4.Location = new System.Drawing.Point(132, 56);
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 28);
this.layoutControlItem4.MinSize = new System.Drawing.Size(54, 28);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(253, 28);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// slbCanSpeed
//
this.slbCanSpeed.AllowHotTrack = false;
this.slbCanSpeed.Location = new System.Drawing.Point(0, 84);
this.slbCanSpeed.MaxSize = new System.Drawing.Size(0, 28);
this.slbCanSpeed.MinSize = new System.Drawing.Size(126, 28);
this.slbCanSpeed.Name = "slbCanSpeed";
this.slbCanSpeed.Size = new System.Drawing.Size(132, 28);
this.slbCanSpeed.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbCanSpeed.Text = " CAN Speed";
this.slbCanSpeed.TextSize = new System.Drawing.Size(113, 14);
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.cbCanBaudrate;
this.layoutControlItem5.Location = new System.Drawing.Point(132, 84);
this.layoutControlItem5.MaxSize = new System.Drawing.Size(0, 28);
this.layoutControlItem5.MinSize = new System.Drawing.Size(54, 28);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(253, 28);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// lcgbDatabaseConfig
//
this.lcgbDatabaseConfig.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.slbDatabaseLogPeriod,
this.layoutControlItem7});
this.lcgbDatabaseConfig.Location = new System.Drawing.Point(0, 341);
this.lcgbDatabaseConfig.Name = "lcgbDatabaseConfig";
this.lcgbDatabaseConfig.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcgbDatabaseConfig.Size = new System.Drawing.Size(393, 57);
this.lcgbDatabaseConfig.Text = "DATABASE CONFIG";
//
// slbDatabaseLogPeriod
//
this.slbDatabaseLogPeriod.AllowHotTrack = false;
this.slbDatabaseLogPeriod.Location = new System.Drawing.Point(0, 0);
this.slbDatabaseLogPeriod.MaxSize = new System.Drawing.Size(0, 28);
this.slbDatabaseLogPeriod.MinSize = new System.Drawing.Size(117, 28);
this.slbDatabaseLogPeriod.Name = "slbDatabaseLogPeriod";
this.slbDatabaseLogPeriod.Size = new System.Drawing.Size(133, 28);
this.slbDatabaseLogPeriod.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbDatabaseLogPeriod.Text = " DB Log Period (sec)";
this.slbDatabaseLogPeriod.TextSize = new System.Drawing.Size(113, 14);
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.cbDbLogPeriod;
this.layoutControlItem7.Location = new System.Drawing.Point(133, 0);
this.layoutControlItem7.MaxSize = new System.Drawing.Size(0, 28);
this.layoutControlItem7.MinSize = new System.Drawing.Size(54, 28);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(252, 28);
this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// lcgbUartConfig
//
this.lcgbUartConfig.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.simpleLabelItem1,
this.simpleLabelItem2,
this.layoutControlItem9,
this.layoutControlItem8});
this.lcgbUartConfig.Location = new System.Drawing.Point(0, 256);
this.lcgbUartConfig.Name = "lcgbUartConfig";
this.lcgbUartConfig.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcgbUartConfig.Size = new System.Drawing.Size(393, 85);
this.lcgbUartConfig.Text = "UART CONFIG";
//
// simpleLabelItem1
//
this.simpleLabelItem1.AllowHotTrack = false;
this.simpleLabelItem1.Location = new System.Drawing.Point(0, 0);
this.simpleLabelItem1.Name = "simpleLabelItem1";
this.simpleLabelItem1.Size = new System.Drawing.Size(132, 28);
this.simpleLabelItem1.Text = "UART Port";
this.simpleLabelItem1.TextSize = new System.Drawing.Size(113, 14);
//
// simpleLabelItem2
//
this.simpleLabelItem2.AllowHotTrack = false;
this.simpleLabelItem2.Location = new System.Drawing.Point(0, 28);
this.simpleLabelItem2.Name = "simpleLabelItem2";
this.simpleLabelItem2.Size = new System.Drawing.Size(132, 28);
this.simpleLabelItem2.Text = "UART Speed";
this.simpleLabelItem2.TextSize = new System.Drawing.Size(113, 14);
//
// layoutControlItem9
//
this.layoutControlItem9.Control = this.cbUartSpeed;
this.layoutControlItem9.Location = new System.Drawing.Point(132, 28);
this.layoutControlItem9.Name = "layoutControlItem9";
this.layoutControlItem9.Size = new System.Drawing.Size(253, 28);
this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem9.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.cbUartPort;
this.layoutControlItem8.Location = new System.Drawing.Point(132, 0);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(253, 28);
this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem8.TextVisible = false;
//
// lcgbDeviceType
//
this.lcgbDeviceType.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem10,
this.layoutControlItem11});
this.lcgbDeviceType.Location = new System.Drawing.Point(0, 0);
this.lcgbDeviceType.Name = "lcgbDeviceType";
this.lcgbDeviceType.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcgbDeviceType.Size = new System.Drawing.Size(393, 58);
this.lcgbDeviceType.Text = "DEVICE TYPE";
//
// layoutControlItem10
//
this.layoutControlItem10.Control = this.rbtnUSBCAN;
this.layoutControlItem10.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem10.Name = "layoutControlItem10";
this.layoutControlItem10.Size = new System.Drawing.Size(192, 29);
this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem10.TextVisible = false;
//
// layoutControlItem11
//
this.layoutControlItem11.Control = this.rbtnUARTCAN;
this.layoutControlItem11.Location = new System.Drawing.Point(192, 0);
this.layoutControlItem11.Name = "layoutControlItem11";
this.layoutControlItem11.Size = new System.Drawing.Size(193, 29);
this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem11.TextVisible = false;
//
// lcgbDeviceModel
//
this.lcgbDeviceModel.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.slbDeviceModel,
this.layoutControlItem6});
this.lcgbDeviceModel.Location = new System.Drawing.Point(0, 58);
this.lcgbDeviceModel.Name = "lcgbDeviceModel";
this.lcgbDeviceModel.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcgbDeviceModel.Size = new System.Drawing.Size(393, 57);
this.lcgbDeviceModel.Text = "TARGET MODEL";
//
// slbDeviceModel
//
this.slbDeviceModel.AllowHotTrack = false;
this.slbDeviceModel.Location = new System.Drawing.Point(0, 0);
this.slbDeviceModel.MaxSize = new System.Drawing.Size(0, 28);
this.slbDeviceModel.MinSize = new System.Drawing.Size(126, 28);
this.slbDeviceModel.Name = "slbDeviceModel";
this.slbDeviceModel.Size = new System.Drawing.Size(132, 28);
this.slbDeviceModel.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbDeviceModel.Text = " Model";
this.slbDeviceModel.TextSize = new System.Drawing.Size(113, 14);
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.cbTargetModel;
this.layoutControlItem6.Location = new System.Drawing.Point(132, 0);
this.layoutControlItem6.MaxSize = new System.Drawing.Size(0, 28);
this.layoutControlItem6.MinSize = new System.Drawing.Size(54, 28);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(253, 28);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2,
this.layoutControlItem12,
this.layoutControlItem13,
this.emptySpaceItem1});
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup1.Size = new System.Drawing.Size(407, 501);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.gbCommConfig;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem2.MinSize = new System.Drawing.Size(104, 24);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(403, 446);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem12
//
this.layoutControlItem12.Control = this.btnSave;
this.layoutControlItem12.CustomizationFormText = "layoutControlItem12";
this.layoutControlItem12.Location = new System.Drawing.Point(0, 457);
this.layoutControlItem12.MaxSize = new System.Drawing.Size(0, 40);
this.layoutControlItem12.MinSize = new System.Drawing.Size(93, 40);
this.layoutControlItem12.Name = "layoutControlItem12";
this.layoutControlItem12.Size = new System.Drawing.Size(202, 40);
this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem12.TextVisible = false;
//
// layoutControlItem13
//
this.layoutControlItem13.Control = this.btnClose;
this.layoutControlItem13.CustomizationFormText = "layoutControlItem13";
this.layoutControlItem13.Location = new System.Drawing.Point(202, 457);
this.layoutControlItem13.MaxSize = new System.Drawing.Size(0, 40);
this.layoutControlItem13.MinSize = new System.Drawing.Size(93, 40);
this.layoutControlItem13.Name = "layoutControlItem13";
this.layoutControlItem13.Size = new System.Drawing.Size(201, 40);
this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem13.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 446);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(403, 11);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// ucCommConfig
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "ucCommConfig";
this.Size = new System.Drawing.Size(407, 501);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gbCommConfig)).EndInit();
this.gbCommConfig.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit();
this.layoutControl3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.cbUartSpeed.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbUartPort.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbDbLogPeriod.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbTargetModel.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbCanBaudrate.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbCanDevice.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbCanNo.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbCanIndex.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbCommConfig)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbCanConfig)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbDeviceType)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbDeviceIndex)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbCanNo)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbCanSpeed)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbDatabaseConfig)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbDatabaseLogPeriod)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbUartConfig)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbDeviceType)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbDeviceModel)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbDeviceModel)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.GroupControl gbCommConfig;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControl layoutControl3;
private DevExpress.XtraLayout.LayoutControlGroup lcgbCommConfig;
private DevExpress.XtraEditors.SimpleButton btnClose;
private DevExpress.XtraEditors.SimpleButton btnSave;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13;
private DevExpress.XtraEditors.ComboBoxEdit cbCanIndex;
private DevExpress.XtraEditors.ComboBoxEdit cbCanDevice;
private DevExpress.XtraEditors.ComboBoxEdit cbCanNo;
private DevExpress.XtraEditors.ComboBoxEdit cbCanBaudrate;
private DevExpress.XtraEditors.ComboBoxEdit cbTargetModel;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private DevExpress.XtraLayout.LayoutControlGroup lcgbCanConfig;
private DevExpress.XtraLayout.SimpleLabelItem slbDeviceType;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.SimpleLabelItem slbDeviceIndex;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.SimpleLabelItem slbCanNo;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.SimpleLabelItem slbCanSpeed;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.SimpleLabelItem slbDeviceModel;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraEditors.ComboBoxEdit cbDbLogPeriod;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
private DevExpress.XtraLayout.SimpleLabelItem slbDatabaseLogPeriod;
private DevExpress.XtraLayout.LayoutControlGroup lcgbDatabaseConfig;
private System.Windows.Forms.RadioButton rbtnUARTCAN;
private System.Windows.Forms.RadioButton rbtnUSBCAN;
private DevExpress.XtraEditors.ComboBoxEdit cbUartSpeed;
private DevExpress.XtraEditors.ComboBoxEdit cbUartPort;
private DevExpress.XtraLayout.LayoutControlGroup lcgbUartConfig;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
private DevExpress.XtraLayout.LayoutControlGroup lcgbDeviceType;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11;
private DevExpress.XtraLayout.LayoutControlGroup lcgbDeviceModel;
}
}

View File

@@ -0,0 +1,248 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Runtime.InteropServices;
using System.IO;
using System.IO.Ports;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
namespace LFP_Manager.Controls
{
public delegate void CloseEvent(object aConfig);
public partial class ucCommConfig : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
CommConfig Config;
public event CloseEvent OnClose = null;
DataTable dtComport = new DataTable();
#endregion
#region CONSTRUCTORS
public ucCommConfig()
{
InitializeComponent();
CanDeviceLoad();
UartPortLoad();
IniLoad();
}
#endregion
#region DATA LOAD AND SAVE
private void CanDeviceLoad()
{
cbCanDevice.Properties.Items.Clear();
foreach (string d_name in csCanConstData.CanDeviceInfo.DeviceNames)
{
cbCanDevice.Properties.Items.Add(d_name);
}
}
private void InitComportDataTable()
{
dtComport = new DataTable();
dtComport.Columns.Add("name", typeof(string));
dtComport.Columns.Add("name2", typeof(string));
}
private void UartPortLoad()
{
InitComportDataTable();
foreach (string comport in SerialPort.GetPortNames())
{
DataRow aRow = dtComport.NewRow();
aRow["name"] = comport;
dtComport.Rows.Add(aRow);
}
cbUartPort.Properties.Items.Clear();
for (int i = 0; i < dtComport.Rows.Count; i++)
{
cbUartPort.Properties.Items.Add(dtComport.Rows[i]["name"].ToString());
}
cbUartSpeed.Properties.Items.Clear();
for (int i = 0; i < csConstData.CommType.UartCAN_Speed.Length; i++)
{
cbUartSpeed.Properties.Items.Add(csConstData.CommType.UartCAN_Speed[i]);
}
}
private void IniLoad()
{
Config = csIniControlFunction.IniLoad(Application.ExecutablePath, Config);
cbTargetModel.Properties.Items.Clear();
foreach (string d_name in csConstData.CommType.CAN_MODEL)
{
cbTargetModel.Properties.Items.Add(d_name);
}
cbCanDevice.SelectedIndex = Config.CanDevice;
cbCanIndex.SelectedIndex = Config.CanIndex;
cbCanNo.SelectedIndex = Config.CanNo;
cbCanBaudrate.SelectedIndex = Config.CanBaudrate;
cbTargetModel.SelectedIndex = Config.TargetModelIndex;
cbUartPort.Text = Config.UartPort;
cbUartSpeed.SelectedIndex = Config.UartBaudrate;
switch (Config.CommType)
{
case csConstData.CommType.COMM_SNMP:
break;
case csConstData.CommType.COMM_USBCAN:
rbtnUSBCAN.Checked = true;
break;
case csConstData.CommType.COMM_UARTCAN:
rbtnUARTCAN.Checked = true;
bool found = false;
int ComId = 0;
if (Config.UartPort != "")
{
for (int i = 0; i < cbUartPort.Properties.Items.Count; i++)
{
if (dtComport.Rows[i]["name"].ToString() == Config.UartPort)
{
found = true;
ComId = i;
break;
}
}
}
if (found)
{
cbUartPort.SelectedIndex = ComId;
Config.UartPort = cbUartPort.Properties.Items[ComId].ToString();
}
else
{
if (cbUartPort.Properties.Items.Count > 0)
cbUartPort.SelectedIndex = 0;
}
break;
}
cbDbLogPeriod.Text = Config.DbLogPeriod.ToString();
}
private void IniSave()
{
if (rbtnUARTCAN.Checked)
Config.CommType = csConstData.CommType.COMM_UARTCAN;
else if (rbtnUSBCAN.Checked)
Config.CommType = csConstData.CommType.COMM_USBCAN;
Config.CanDevice = cbCanDevice.SelectedIndex;
Config.CanIndex = cbCanIndex.SelectedIndex;
Config.CanNo = cbCanNo.SelectedIndex;
Config.CanBaudrate = cbCanBaudrate.SelectedIndex;
Config.TargetModelIndex = cbTargetModel.SelectedIndex;
Config.UartPort = cbUartPort.Text;
Config.UartBaudrate = cbUartSpeed.SelectedIndex;
Config.DbLogPeriod = Convert.ToInt32(cbDbLogPeriod.Text);
csIniControlFunction.IniSave(Application.ExecutablePath, Config);
}
#endregion
#region EVENT
private void btnClose_Click(object sender, EventArgs e)
{
if (OnClose != null) OnClose(Config);
}
private void btnSave_Click(object sender, EventArgs e)
{
IniSave();
}
private void cbCanDevice_SelectedIndexChanged(object sender, EventArgs e)
{
int DeviceID = csCanConstData.CanDeviceInfo.DeviceIds[cbCanDevice.SelectedIndex];
if (DeviceID == csCanConstData.CanDeviceInfo.VCI_VALUE_CAN4_1)
{
cbCanIndex.Enabled = false;
cbCanNo.Enabled = false;
}
else
{
cbCanIndex.Enabled = true;
cbCanNo.Enabled = true;
}
}
private void rbtnUSBCAN_CheckedChanged(object sender, EventArgs e)
{
if (rbtnUSBCAN.Checked)
{
cbCanDevice.Enabled = true;
cbCanIndex.Enabled = true;
cbCanNo.Enabled = true;
cbCanBaudrate.Enabled = true;
cbUartPort.Enabled = false;
cbUartSpeed.Enabled = false;
}
else if (rbtnUARTCAN.Checked)
{
cbCanDevice.Enabled = false;
cbCanIndex.Enabled = false;
cbCanNo.Enabled = false;
cbCanBaudrate.Enabled = false;
cbUartPort.Enabled = true;
cbUartSpeed.Enabled = true;
}
}
private void rbtnUARTCAN_CheckedChanged(object sender, EventArgs e)
{
if (rbtnUSBCAN.Checked)
{
cbCanDevice.Enabled = true;
cbCanIndex.Enabled = true;
cbCanNo.Enabled = true;
cbCanBaudrate.Enabled = true;
cbUartPort.Enabled = false;
cbUartSpeed.Enabled = false;
}
else if (rbtnUARTCAN.Checked)
{
cbCanDevice.Enabled = false;
cbCanIndex.Enabled = false;
cbCanNo.Enabled = false;
cbCanBaudrate.Enabled = false;
cbUartPort.Enabled = true;
cbUartSpeed.Enabled = true;
}
}
#endregion
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,140 @@
namespace LFP_Manager.Controls
{
partial class ucCommConfig2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.btnStart = new DevExpress.XtraEditors.SimpleButton();
this.lbStatus = new DevExpress.XtraEditors.LabelControl();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnStart);
this.layoutControl1.Controls.Add(this.lbStatus);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(298, 140, 250, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(107, 94);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// btnStart
//
this.btnStart.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold);
this.btnStart.Appearance.Options.UseFont = true;
this.btnStart.Location = new System.Drawing.Point(3, 24);
this.btnStart.Name = "btnStart";
this.btnStart.Size = new System.Drawing.Size(101, 67);
this.btnStart.StyleController = this.layoutControl1;
this.btnStart.TabIndex = 5;
this.btnStart.Text = "RUN";
this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
//
// lbStatus
//
this.lbStatus.Location = new System.Drawing.Point(3, 3);
this.lbStatus.Name = "lbStatus";
this.lbStatus.Size = new System.Drawing.Size(101, 17);
this.lbStatus.StyleController = this.layoutControl1;
this.lbStatus.TabIndex = 4;
this.lbStatus.Text = "Stop";
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1,
this.layoutControlItem2});
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(107, 94);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.lbStatus;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(105, 21);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.btnStart;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(0, 21);
this.layoutControlItem2.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(105, 71);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// ucCommConfig2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "ucCommConfig2";
this.Size = new System.Drawing.Size(107, 94);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.SimpleButton btnStart;
private DevExpress.XtraEditors.LabelControl lbStatus;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
}
}

View File

@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.Forms;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
namespace LFP_Manager.Controls
{
public partial class ucCommConfig2 : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
public event ButtonEvent OnStart = null;
string info;
#endregion
#region CONSTRUCTORS
public ucCommConfig2()
{
InitializeComponent();
}
#endregion
public void UpdateConfig(ref CommConfig Config)
{
if (Config.CommType == 1)
{
info = String.Format("INTERFACE: UART, PORT: {0}, BAUDRATE: {1}, MODEL: {2}"
, Config.UartPort
, Config.UartBaudrate
, csConstData.CommType.UART_MODEL[Config.UartModelIndex]
);
}
else
{
info = String.Format("INF: CAN");
}
lbStatus.Text = info;
}
public void UpdateStatus(bool flag, int mId)
{
if (flag)
btnStart.Text = "STOP";
else
btnStart.Text = "RUN";
lbStatus.Text = String.Format("{0} - {1}", info, mId);
}
private void btnStart_Click(object sender, EventArgs e)
{
if (OnStart != null)
OnStart(sender, e);
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,265 @@
namespace LFP_Manager.Controls
{
partial class ucDataLog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.gbDataLog = new DevExpress.XtraEditors.GroupControl();
this.layoutControl6 = new DevExpress.XtraLayout.LayoutControl();
this.btnOpenLogFolder = new DevExpress.XtraEditors.SimpleButton();
this.btnLogStart = new DevExpress.XtraEditors.SimpleButton();
this.cbLogTime = new DevExpress.XtraEditors.ComboBoxEdit();
this.layoutControlGroup6 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcitemLogTime = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.tmrLogging = new System.Windows.Forms.Timer(this.components);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gbDataLog)).BeginInit();
this.gbDataLog.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).BeginInit();
this.layoutControl6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.cbLogTime.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemLogTime)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.gbDataLog);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(354, 204);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// gbDataLog
//
this.gbDataLog.Controls.Add(this.layoutControl6);
this.gbDataLog.Location = new System.Drawing.Point(3, 3);
this.gbDataLog.Name = "gbDataLog";
this.gbDataLog.Size = new System.Drawing.Size(348, 198);
this.gbDataLog.TabIndex = 9;
this.gbDataLog.Text = "Data Logging";
//
// layoutControl6
//
this.layoutControl6.Controls.Add(this.btnOpenLogFolder);
this.layoutControl6.Controls.Add(this.btnLogStart);
this.layoutControl6.Controls.Add(this.cbLogTime);
this.layoutControl6.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl6.Location = new System.Drawing.Point(2, 22);
this.layoutControl6.Name = "layoutControl6";
this.layoutControl6.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1209, 389, 250, 350);
this.layoutControl6.Root = this.layoutControlGroup6;
this.layoutControl6.Size = new System.Drawing.Size(344, 174);
this.layoutControl6.TabIndex = 0;
this.layoutControl6.Text = "layoutControl6";
//
// btnOpenLogFolder
//
this.btnOpenLogFolder.Location = new System.Drawing.Point(3, 109);
this.btnOpenLogFolder.Name = "btnOpenLogFolder";
this.btnOpenLogFolder.Size = new System.Drawing.Size(338, 62);
this.btnOpenLogFolder.StyleController = this.layoutControl6;
this.btnOpenLogFolder.TabIndex = 6;
this.btnOpenLogFolder.Text = "Open Log Folder";
this.btnOpenLogFolder.Click += new System.EventHandler(this.btnOpenLogFolder_Click);
//
// btnLogStart
//
this.btnLogStart.Location = new System.Drawing.Point(3, 37);
this.btnLogStart.Name = "btnLogStart";
this.btnLogStart.Size = new System.Drawing.Size(338, 68);
this.btnLogStart.StyleController = this.layoutControl6;
this.btnLogStart.TabIndex = 5;
this.btnLogStart.Text = "Log Start";
this.btnLogStart.Click += new System.EventHandler(this.btnLogStart_Click);
//
// cbLogTime
//
this.cbLogTime.EditValue = "5";
this.cbLogTime.Location = new System.Drawing.Point(68, 3);
this.cbLogTime.Name = "cbLogTime";
this.cbLogTime.Properties.Appearance.Options.UseTextOptions = true;
this.cbLogTime.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbLogTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbLogTime.Properties.Items.AddRange(new object[] {
"1",
"5",
"10",
"15",
"30",
"60"});
this.cbLogTime.Size = new System.Drawing.Size(273, 20);
this.cbLogTime.StyleController = this.layoutControl6;
this.cbLogTime.TabIndex = 4;
//
// layoutControlGroup6
//
this.layoutControlGroup6.CustomizationFormText = "layoutControlGroup6";
this.layoutControlGroup6.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup6.GroupBordersVisible = false;
this.layoutControlGroup6.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcitemLogTime,
this.layoutControlItem13,
this.layoutControlItem12});
this.layoutControlGroup6.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup6.Name = "layoutControlGroup6";
this.layoutControlGroup6.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup6.Size = new System.Drawing.Size(344, 174);
this.layoutControlGroup6.Text = "layoutControlGroup6";
this.layoutControlGroup6.TextVisible = false;
//
// lcitemLogTime
//
this.lcitemLogTime.AppearanceItemCaption.Options.UseTextOptions = true;
this.lcitemLogTime.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lcitemLogTime.Control = this.cbLogTime;
this.lcitemLogTime.CustomizationFormText = "Log Time";
this.lcitemLogTime.Location = new System.Drawing.Point(0, 0);
this.lcitemLogTime.MinSize = new System.Drawing.Size(119, 24);
this.lcitemLogTime.Name = "lcitemLogTime";
this.lcitemLogTime.Size = new System.Drawing.Size(342, 34);
this.lcitemLogTime.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemLogTime.Text = "Log Time";
this.lcitemLogTime.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.lcitemLogTime.TextSize = new System.Drawing.Size(60, 20);
this.lcitemLogTime.TextToControlDistance = 5;
//
// layoutControlItem13
//
this.layoutControlItem13.Control = this.btnLogStart;
this.layoutControlItem13.CustomizationFormText = "layoutControlItem13";
this.layoutControlItem13.Location = new System.Drawing.Point(0, 34);
this.layoutControlItem13.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem13.Name = "layoutControlItem13";
this.layoutControlItem13.Size = new System.Drawing.Size(342, 72);
this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem13.Text = "layoutControlItem13";
this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem13.TextToControlDistance = 0;
this.layoutControlItem13.TextVisible = false;
//
// layoutControlItem12
//
this.layoutControlItem12.Control = this.btnOpenLogFolder;
this.layoutControlItem12.CustomizationFormText = "layoutControlItem12";
this.layoutControlItem12.Location = new System.Drawing.Point(0, 106);
this.layoutControlItem12.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem12.Name = "layoutControlItem12";
this.layoutControlItem12.Size = new System.Drawing.Size(342, 66);
this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem12.Text = "layoutControlItem12";
this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem12.TextToControlDistance = 0;
this.layoutControlItem12.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(354, 204);
this.layoutControlGroup1.Text = "layoutControlGroup1";
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.gbDataLog;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(352, 202);
this.layoutControlItem1.Text = "layoutControlItem1";
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextToControlDistance = 0;
this.layoutControlItem1.TextVisible = false;
//
// tmrLogging
//
this.tmrLogging.Interval = 500;
this.tmrLogging.Tick += new System.EventHandler(this.tmrLogging_Tick);
//
// ucDataLog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "ucDataLog";
this.Size = new System.Drawing.Size(354, 204);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gbDataLog)).EndInit();
this.gbDataLog.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).EndInit();
this.layoutControl6.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.cbLogTime.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemLogTime)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.GroupControl gbDataLog;
private DevExpress.XtraLayout.LayoutControl layoutControl6;
private DevExpress.XtraEditors.SimpleButton btnOpenLogFolder;
private DevExpress.XtraEditors.SimpleButton btnLogStart;
private DevExpress.XtraEditors.ComboBoxEdit cbLogTime;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup6;
private DevExpress.XtraLayout.LayoutControlItem lcitemLogTime;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private System.Windows.Forms.Timer tmrLogging;
}
}

View File

@@ -0,0 +1,141 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Utils;
namespace LFP_Manager.Controls
{
public delegate void LogDataUpdate(object sender, string LogResult, bool active, int aLogTime);
public partial class ucDataLog : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
CommConfig Config;
DeviceSystemData SystemData;
DateTime bakDateTime;
String LogFileName = "";
String LogFileNameTotal = "";
bool logging = false;
bool Active = false;
public event LogDataUpdate OnUpdate = null;
#endregion
#region CONSTRUCTORS
public ucDataLog()
{
InitializeComponent();
}
#endregion
#region PUBLIC UPDATE
public void UpdateActiveStatus(bool aStatus, CommConfig aConfig, ref DeviceSystemData aSystemData)
{
Active = aStatus;
Config = aConfig;
SystemData = aSystemData;
}
public void UpdateData(ref DeviceSystemData aSystemData)
{
SystemData = aSystemData;
}
#endregion
#region TIMER EVENT
private void tmrLogging_Tick(object sender, EventArgs e)
{
DateTime cDate = DateTime.Now;
int ss;
if ((logging) && (Active))
{
ss = Convert.ToInt16(cbLogTime.Text);
if (
((bakDateTime.Minute != cDate.Minute)
|| (bakDateTime.Second != cDate.Second))
&& ((cDate.Second % ss) == 0)
)
{
// CSV Log Process
try
{
csLog.SystemDataLog(1, Config, SystemData, cDate, Application.ExecutablePath, LogFileName);
bakDateTime = cDate;
}
catch (Exception)
{
}
//// Database Log Process
//csDbUtils.LogDbCreate(csConstData.CAN_MODEL[Config.CanModelIndex]);
//csDbUtils.BmsLogDataInsert(ref Config, ref SystemData, cDate);
}
}
}
#endregion
#region BUTTON EVENT
private void btnLogStart_Click(object sender, EventArgs e)
{
if (logging == true)
{
tmrLogging.Stop();
cbLogTime.Enabled = true;
logging = false;
btnLogStart.Text = "Log Start";
if (OnUpdate != null)
{
OnUpdate(this, String.Format("LogStop: {0:yyyy/MM/dd HH:mm:ss}", DateTime.Now), false, Convert.ToInt16(cbLogTime.Text));
}
}
else
{
LogFileNameTotal = String.Format("{0:yyMMddHHmmss}", DateTime.Now);
LogFileName = String.Format("{0:yyMMddHHmmss}", DateTime.Now);
tmrLogging.Start();
cbLogTime.Enabled = false;
logging = true;
btnLogStart.Text = "Log Stop";
OnUpdate?.Invoke(this, String.Format("Logging: SHELFX_LOG_{0}.csv", LogFileName), true, Convert.ToInt16(cbLogTime.Text));
csDbUtils.LogDbCreate(csConstData.CommType.CAN_MODEL[Config.TargetModelIndex]);
}
}
private void btnOpenLogFolder_Click(object sender, EventArgs e)
{
System.Diagnostics.Process ps = new System.Diagnostics.Process();
ps.StartInfo.FileName = "explorer.exe";
ps.StartInfo.Arguments = csLog.GetLogFolder(Application.ExecutablePath);
ps.StartInfo.WorkingDirectory = csLog.GetLogFolder(Application.ExecutablePath);
ps.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
ps.Start();
}
#endregion
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="tmrLogging.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,288 @@
namespace LFP_Manager.Controls
{
partial class ucEventLog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.gcLogging = new DevExpress.XtraEditors.GroupControl();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.cbPacketLog = new DevExpress.XtraEditors.CheckEdit();
this.btnLogClear = new DevExpress.XtraEditors.SimpleButton();
this.tabDataLog = new DevExpress.XtraTab.XtraTabControl();
this.tpDataLog = new DevExpress.XtraTab.XtraTabPage();
this.panelControl1 = new DevExpress.XtraEditors.PanelControl();
this.meDataLog = new DevExpress.XtraEditors.MemoEdit();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcCheckEdit = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gcLogging)).BeginInit();
this.gcLogging.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.cbPacketLog.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tabDataLog)).BeginInit();
this.tabDataLog.SuspendLayout();
this.tpDataLog.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit();
this.panelControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.meDataLog.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcCheckEdit)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.gcLogging);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(302, 140, 250, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(799, 173);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// gcLogging
//
this.gcLogging.Controls.Add(this.layoutControl2);
this.gcLogging.Location = new System.Drawing.Point(3, 3);
this.gcLogging.Name = "gcLogging";
this.gcLogging.Size = new System.Drawing.Size(793, 167);
this.gcLogging.TabIndex = 6;
this.gcLogging.Text = "Event";
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.cbPacketLog);
this.layoutControl2.Controls.Add(this.btnLogClear);
this.layoutControl2.Controls.Add(this.tabDataLog);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.Location = new System.Drawing.Point(2, 22);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1234, 235, 250, 350);
this.layoutControl2.Root = this.layoutControlGroup2;
this.layoutControl2.Size = new System.Drawing.Size(789, 143);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// cbPacketLog
//
this.cbPacketLog.Location = new System.Drawing.Point(702, 4);
this.cbPacketLog.Name = "cbPacketLog";
this.cbPacketLog.Properties.Caption = "Packet";
this.cbPacketLog.Size = new System.Drawing.Size(83, 19);
this.cbPacketLog.StyleController = this.layoutControl2;
this.cbPacketLog.TabIndex = 6;
//
// btnLogClear
//
this.btnLogClear.Location = new System.Drawing.Point(702, 28);
this.btnLogClear.Name = "btnLogClear";
this.btnLogClear.Size = new System.Drawing.Size(83, 111);
this.btnLogClear.StyleController = this.layoutControl2;
this.btnLogClear.TabIndex = 5;
this.btnLogClear.Text = "Clear";
this.btnLogClear.Click += new System.EventHandler(this.btnLogClear_Click);
//
// tabDataLog
//
this.tabDataLog.Location = new System.Drawing.Point(4, 4);
this.tabDataLog.Name = "tabDataLog";
this.tabDataLog.SelectedTabPage = this.tpDataLog;
this.tabDataLog.Size = new System.Drawing.Size(694, 135);
this.tabDataLog.TabIndex = 4;
this.tabDataLog.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
this.tpDataLog});
//
// tpDataLog
//
this.tpDataLog.Controls.Add(this.panelControl1);
this.tpDataLog.Name = "tpDataLog";
this.tpDataLog.Size = new System.Drawing.Size(688, 106);
this.tpDataLog.Text = "Data Log";
//
// panelControl1
//
this.panelControl1.Controls.Add(this.meDataLog);
this.panelControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panelControl1.Location = new System.Drawing.Point(0, 0);
this.panelControl1.Name = "panelControl1";
this.panelControl1.Size = new System.Drawing.Size(688, 106);
this.panelControl1.TabIndex = 0;
//
// meDataLog
//
this.meDataLog.Dock = System.Windows.Forms.DockStyle.Fill;
this.meDataLog.Location = new System.Drawing.Point(2, 2);
this.meDataLog.Name = "meDataLog";
this.meDataLog.Properties.MaxLength = 1000;
this.meDataLog.Size = new System.Drawing.Size(684, 102);
this.meDataLog.TabIndex = 0;
//
// layoutControlGroup2
//
this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2";
this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup2.GroupBordersVisible = false;
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem6,
this.layoutControlItem14,
this.lcCheckEdit});
this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup2.Name = "layoutControlGroup2";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup2.Size = new System.Drawing.Size(789, 143);
this.layoutControlGroup2.Text = "layoutControlGroup2";
this.layoutControlGroup2.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.tabDataLog;
this.layoutControlItem6.CustomizationFormText = "layoutControlItem6";
this.layoutControlItem6.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem6.MinSize = new System.Drawing.Size(104, 24);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(698, 139);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.Text = "layoutControlItem6";
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextToControlDistance = 0;
this.layoutControlItem6.TextVisible = false;
//
// layoutControlItem14
//
this.layoutControlItem14.Control = this.btnLogClear;
this.layoutControlItem14.CustomizationFormText = "layoutControlItem14";
this.layoutControlItem14.Location = new System.Drawing.Point(698, 24);
this.layoutControlItem14.MinSize = new System.Drawing.Size(60, 26);
this.layoutControlItem14.Name = "layoutControlItem14";
this.layoutControlItem14.Size = new System.Drawing.Size(87, 115);
this.layoutControlItem14.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem14.Text = "layoutControlItem14";
this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem14.TextToControlDistance = 0;
this.layoutControlItem14.TextVisible = false;
//
// lcCheckEdit
//
this.lcCheckEdit.Control = this.cbPacketLog;
this.lcCheckEdit.CustomizationFormText = "lcCheckEdit";
this.lcCheckEdit.Location = new System.Drawing.Point(698, 0);
this.lcCheckEdit.MinSize = new System.Drawing.Size(87, 23);
this.lcCheckEdit.Name = "lcCheckEdit";
this.lcCheckEdit.Size = new System.Drawing.Size(87, 24);
this.lcCheckEdit.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcCheckEdit.Text = "lcCheckEdit";
this.lcCheckEdit.TextSize = new System.Drawing.Size(0, 0);
this.lcCheckEdit.TextToControlDistance = 0;
this.lcCheckEdit.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(799, 173);
this.layoutControlGroup1.Text = "layoutControlGroup1";
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.gcLogging;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(797, 171);
this.layoutControlItem1.Text = "layoutControlItem1";
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextToControlDistance = 0;
this.layoutControlItem1.TextVisible = false;
//
// ucEventLog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "ucEventLog";
this.Size = new System.Drawing.Size(799, 173);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gcLogging)).EndInit();
this.gcLogging.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.cbPacketLog.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.tabDataLog)).EndInit();
this.tabDataLog.ResumeLayout(false);
this.tpDataLog.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit();
this.panelControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.meDataLog.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcCheckEdit)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.GroupControl gcLogging;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraEditors.SimpleButton btnLogClear;
private DevExpress.XtraTab.XtraTabControl tabDataLog;
private DevExpress.XtraTab.XtraTabPage tpDataLog;
private DevExpress.XtraEditors.PanelControl panelControl1;
private DevExpress.XtraEditors.MemoEdit meDataLog;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraEditors.CheckEdit cbPacketLog;
private DevExpress.XtraLayout.LayoutControlItem lcCheckEdit;
}
}

View File

@@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
namespace LFP_Manager.Controls
{
public partial class ucEventLog : DevExpress.XtraEditors.XtraUserControl
{
#region CONSTRUCTORS
public ucEventLog()
{
InitializeComponent();
}
#endregion
#region PUBLIC UPDATE
public void EventUpdate(string aEvent)
{
if (cbPacketLog.Checked)
meDataLog.Text = aEvent + meDataLog.Text;
}
public void MsgUpdate(string aEvent)
{
meDataLog.Text = aEvent + meDataLog.Text;
}
#endregion
#region ENVENT
private void btnLogClear_Click(object sender, EventArgs e)
{
meDataLog.Text = "";
}
#endregion
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,331 @@
namespace LFP_Manager.Controls
{
partial class ucHistroy
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.btnSearch = new System.Windows.Forms.Button();
this.dtpEnd = new System.Windows.Forms.DateTimePicker();
this.dtpStart = new System.Windows.Forms.DateTimePicker();
this.xtcSearchResult = new DevExpress.XtraTab.XtraTabControl();
this.pgGrid = new DevExpress.XtraTab.XtraTabPage();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
this.gridSearchResult = new System.Windows.Forms.DataGridView();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcgbSelectDatetime = new DevExpress.XtraLayout.LayoutControlGroup();
this.slbStartDate = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.slbEndDate = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcgbSearchResult = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.DbWaitForm = new DevExpress.XtraSplashScreen.SplashScreenManager(this, typeof(global::LFP_Manager.Forms.fmxWait), true, true, typeof(System.Windows.Forms.UserControl));
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.xtcSearchResult)).BeginInit();
this.xtcSearchResult.SuspendLayout();
this.pgGrid.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit();
this.layoutControl3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gridSearchResult)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbSelectDatetime)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbStartDate)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbEndDate)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbSearchResult)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnSearch);
this.layoutControl1.Controls.Add(this.dtpEnd);
this.layoutControl1.Controls.Add(this.dtpStart);
this.layoutControl1.Controls.Add(this.xtcSearchResult);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(947, 249, 650, 400);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(850, 635);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// btnSearch
//
this.btnSearch.Location = new System.Drawing.Point(592, 28);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(251, 25);
this.btnSearch.TabIndex = 7;
this.btnSearch.Text = "SEARCH";
this.btnSearch.UseVisualStyleBackColor = true;
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
//
// dtpEnd
//
this.dtpEnd.CustomFormat = "yyyy-MM-dd HH:mm:ss";
this.dtpEnd.Font = new System.Drawing.Font("Tahoma", 11F);
this.dtpEnd.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpEnd.Location = new System.Drawing.Point(395, 28);
this.dtpEnd.Name = "dtpEnd";
this.dtpEnd.Size = new System.Drawing.Size(193, 25);
this.dtpEnd.TabIndex = 6;
//
// dtpStart
//
this.dtpStart.CalendarFont = new System.Drawing.Font("Tahoma", 9F);
this.dtpStart.CustomFormat = "yyyy-MM-dd HH:mm:ss";
this.dtpStart.Font = new System.Drawing.Font("Tahoma", 11F);
this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
this.dtpStart.Location = new System.Drawing.Point(102, 28);
this.dtpStart.Name = "dtpStart";
this.dtpStart.Size = new System.Drawing.Size(194, 25);
this.dtpStart.TabIndex = 5;
//
// xtcSearchResult
//
this.xtcSearchResult.Location = new System.Drawing.Point(7, 86);
this.xtcSearchResult.Name = "xtcSearchResult";
this.xtcSearchResult.SelectedTabPage = this.pgGrid;
this.xtcSearchResult.Size = new System.Drawing.Size(836, 542);
this.xtcSearchResult.TabIndex = 4;
this.xtcSearchResult.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
this.pgGrid});
//
// pgGrid
//
this.pgGrid.Controls.Add(this.layoutControl3);
this.pgGrid.Name = "pgGrid";
this.pgGrid.Size = new System.Drawing.Size(834, 516);
this.pgGrid.Text = "Result Data";
//
// layoutControl3
//
this.layoutControl3.Controls.Add(this.gridSearchResult);
this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl3.Location = new System.Drawing.Point(0, 0);
this.layoutControl3.Name = "layoutControl3";
this.layoutControl3.Root = this.Root;
this.layoutControl3.Size = new System.Drawing.Size(834, 516);
this.layoutControl3.TabIndex = 0;
this.layoutControl3.Text = "layoutControl3";
//
// gridSearchResult
//
this.gridSearchResult.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.gridSearchResult.Location = new System.Drawing.Point(3, 3);
this.gridSearchResult.Name = "gridSearchResult";
this.gridSearchResult.RowTemplate.Height = 23;
this.gridSearchResult.Size = new System.Drawing.Size(828, 510);
this.gridSearchResult.TabIndex = 4;
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem5});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(834, 516);
this.Root.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.gridSearchResult;
this.layoutControlItem5.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(832, 514);
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcgbSelectDatetime,
this.lcgbSearchResult});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(850, 635);
this.layoutControlGroup1.TextVisible = false;
//
// lcgbSelectDatetime
//
this.lcgbSelectDatetime.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.slbStartDate,
this.layoutControlItem2,
this.slbEndDate,
this.layoutControlItem4,
this.layoutControlItem3});
this.lcgbSelectDatetime.Location = new System.Drawing.Point(0, 0);
this.lcgbSelectDatetime.Name = "lcgbSelectDatetime";
this.lcgbSelectDatetime.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcgbSelectDatetime.Size = new System.Drawing.Size(848, 58);
this.lcgbSelectDatetime.Text = "Select Datetime";
//
// slbStartDate
//
this.slbStartDate.AllowHotTrack = false;
this.slbStartDate.Location = new System.Drawing.Point(0, 0);
this.slbStartDate.MinSize = new System.Drawing.Size(95, 18);
this.slbStartDate.Name = "slbStartDate";
this.slbStartDate.Size = new System.Drawing.Size(95, 29);
this.slbStartDate.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbStartDate.Text = " Start Datetime";
this.slbStartDate.TextSize = new System.Drawing.Size(85, 14);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.dtpStart;
this.layoutControlItem2.Location = new System.Drawing.Point(95, 0);
this.layoutControlItem2.MinSize = new System.Drawing.Size(24, 24);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(198, 29);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// slbEndDate
//
this.slbEndDate.AllowHotTrack = false;
this.slbEndDate.Location = new System.Drawing.Point(293, 0);
this.slbEndDate.MinSize = new System.Drawing.Size(95, 18);
this.slbEndDate.Name = "slbEndDate";
this.slbEndDate.Size = new System.Drawing.Size(95, 29);
this.slbEndDate.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbEndDate.Text = " End Datetime";
this.slbEndDate.TextSize = new System.Drawing.Size(85, 14);
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.btnSearch;
this.layoutControlItem4.Location = new System.Drawing.Point(585, 0);
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 29);
this.layoutControlItem4.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(255, 29);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.dtpEnd;
this.layoutControlItem3.Location = new System.Drawing.Point(388, 0);
this.layoutControlItem3.MinSize = new System.Drawing.Size(24, 24);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(197, 29);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// lcgbSearchResult
//
this.lcgbSearchResult.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1});
this.lcgbSearchResult.Location = new System.Drawing.Point(0, 58);
this.lcgbSearchResult.Name = "lcgbSearchResult";
this.lcgbSearchResult.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcgbSearchResult.Size = new System.Drawing.Size(848, 575);
this.lcgbSearchResult.Text = "Search Result";
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.xtcSearchResult;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(840, 546);
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// ucHistroy
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "ucHistroy";
this.Size = new System.Drawing.Size(850, 635);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.xtcSearchResult)).EndInit();
this.xtcSearchResult.ResumeLayout(false);
this.pgGrid.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit();
this.layoutControl3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gridSearchResult)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbSelectDatetime)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbStartDate)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbEndDate)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbSearchResult)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraTab.XtraTabControl xtcSearchResult;
private DevExpress.XtraTab.XtraTabPage pgGrid;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraSplashScreen.SplashScreenManager DbWaitForm;
private System.Windows.Forms.Button btnSearch;
private System.Windows.Forms.DateTimePicker dtpEnd;
private System.Windows.Forms.DateTimePicker dtpStart;
private DevExpress.XtraLayout.LayoutControlGroup lcgbSelectDatetime;
private DevExpress.XtraLayout.SimpleLabelItem slbStartDate;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.SimpleLabelItem slbEndDate;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControlGroup lcgbSearchResult;
private DevExpress.XtraLayout.LayoutControl layoutControl3;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private System.Windows.Forms.DataGridView gridSearchResult;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
}
}

View File

@@ -0,0 +1,174 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using System.IO;
using DevExpress.XtraWaitForm;
using DevExpress.XtraSplashScreen;
using System.Data.SQLite;
using LFP_Manager.DataStructure;
using LFP_Manager.Utils;
namespace LFP_Manager.Controls
{
public partial class ucHistroy : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
CommConfig Config;
DataTable dt;
#endregion
#region CONSTRUCTOR
public ucHistroy()
{
InitializeComponent();
dt = new DataTable();
}
public void SetCommCofig(CommConfig aConfig)
{
Config = aConfig;
}
#endregion
#region SQL Quary Excute
private void quaryExcute(string quary)
{
string dbFilename = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + csDbConstData.DataBase.FileName;
// Open database
string strConn = @"Data Source=" + dbFilename;
using (var connection = new SQLiteConnection(strConn))
{
connection.Open();
try
{
DataTable aT = new DataTable();
DbWaitForm.ShowWaitForm();
csDbUtils.BeginTran(connection);
// Update data
using (SQLiteCommand command = connection.CreateCommand())
{
//sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");";
command.CommandText = quary;
try
{
SQLiteDataReader reader = command.ExecuteReader();
aT.Load(reader);
}
catch (Exception)
{
}
}
csDbUtils.CommitTran(connection);
dt = aT;
//RealGridView.DataSource = dt;
DbWaitForm.CloseWaitForm();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
finally
{
connection.Close();
}
}
}
#endregion
#region BUTTON EVENT
private void btnSearch_Click(object sender, EventArgs e)
{
DateTime start = dtpStart.Value;
DateTime mid;
DateTime end = dtpEnd.Value;
TimeSpan span = end - start;
DataTable result = new DataTable();
int sDay = start.Day;
int eDay = end.Day;
int total_days = eDay - sDay;
DataTable[] dDt = new DataTable[total_days + 1];
string quary = "";
try
{
if (total_days == 0)
{
quary = String.Format(" where create_date > '{0:yyyy-MM-dd HH:mm:ss}'", start);
quary += String.Format(" and create_date < '{0:yyyy-MM-dd HH:mm:ss}'", end);
dDt[0] = csDbUtils.BmsDataSelectToDataTable(Config, start, quary);
if (dDt[0] == null)
MessageBox.Show("No data", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
{
gridSearchResult.DataSource = dDt[0];
//gridSearchResult.();
}
}
else
{
DataTable bDt = new DataTable();
for (int i = 0; i < (total_days + 1); i++)
{
//dDt[i] = new DataTable();
if (i == 0)
{
quary = String.Format(" where create_date > '{0:yyyy-MM-dd HH:mm:ss}'", start);
dDt[i] = csDbUtils.BmsDataSelectToDataTable(Config, start, quary);
}
else if (i == total_days)
{
quary = String.Format(" where create_date < '{0:yyyy-MM-dd HH:mm:ss}'", end);
dDt[i] = csDbUtils.BmsDataSelectToDataTable(Config, end, quary);
}
else
{
quary = "";
mid = start.AddDays(i);
dDt[i] = csDbUtils.BmsDataSelectToDataTable(Config, mid, quary);
}
if (dDt[i] != null)
bDt.Merge(dDt[i]);
}
if (bDt == null)
MessageBox.Show("No data", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
else
{
gridSearchResult.DataSource = bDt;
//gridSearchResult.();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,697 @@
namespace LFP_Manager.Controls
{
partial class ucMainStatus
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram();
DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.LineSeriesView lineSeriesView1 = new DevExpress.XtraCharts.LineSeriesView();
DevExpress.XtraCharts.Series series2 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.LineSeriesView lineSeriesView2 = new DevExpress.XtraCharts.LineSeriesView();
DevExpress.XtraCharts.ChartTitle chartTitle1 = new DevExpress.XtraCharts.ChartTitle();
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.groupControl1 = new DevExpress.XtraEditors.GroupControl();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
this.gbStatusAlarm = new DevExpress.XtraEditors.GroupControl();
this.layoutControl4 = new DevExpress.XtraLayout.LayoutControl();
this.panelControl2 = new DevExpress.XtraEditors.PanelControl();
this.lbAlarm = new DevExpress.XtraEditors.LabelControl();
this.panelControl1 = new DevExpress.XtraEditors.PanelControl();
this.lbStatus = new DevExpress.XtraEditors.LabelControl();
this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcitemStatus = new DevExpress.XtraLayout.LayoutControlItem();
this.lcitemAlarm = new DevExpress.XtraLayout.LayoutControlItem();
this.gaugeControl4 = new DevExpress.XtraGauges.Win.GaugeControl();
this.dgTotalSOC = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent4 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.gaugeControl3 = new DevExpress.XtraGauges.Win.GaugeControl();
this.dgTotalTemp = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent3 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.gaugeControl2 = new DevExpress.XtraGauges.Win.GaugeControl();
this.dgTotalCurrent = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent2 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.gaugeControl1 = new DevExpress.XtraGauges.Win.GaugeControl();
this.dgTotalVoltage = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcItemTotalVoltage = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.lcItemTotalCurrent = new DevExpress.XtraLayout.LayoutControlItem();
this.lcItemTemp = new DevExpress.XtraLayout.LayoutControlItem();
this.lcItemSOC = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.groupControl2 = new DevExpress.XtraEditors.GroupControl();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.tmrDisplay = new System.Windows.Forms.Timer();
this.chartVI = new DevExpress.XtraCharts.ChartControl();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.groupControl1)).BeginInit();
this.groupControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit();
this.layoutControl3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gbStatusAlarm)).BeginInit();
this.gbStatusAlarm.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).BeginInit();
this.layoutControl4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.panelControl2)).BeginInit();
this.panelControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit();
this.panelControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalSOC)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalTemp)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalCurrent)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalVoltage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTotalVoltage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTotalCurrent)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTemp)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemSOC)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.groupControl2)).BeginInit();
this.groupControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.chartVI)).BeginInit();
((System.ComponentModel.ISupportInitialize)(xyDiagram1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.groupControl1);
this.layoutControl1.Controls.Add(this.groupControl2);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(1302, 574);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// groupControl1
//
this.groupControl1.Controls.Add(this.layoutControl3);
this.groupControl1.Location = new System.Drawing.Point(3, 3);
this.groupControl1.Name = "groupControl1";
this.groupControl1.Size = new System.Drawing.Size(199, 568);
this.groupControl1.TabIndex = 5;
this.groupControl1.Text = "System Value";
//
// layoutControl3
//
this.layoutControl3.Controls.Add(this.gbStatusAlarm);
this.layoutControl3.Controls.Add(this.gaugeControl4);
this.layoutControl3.Controls.Add(this.gaugeControl3);
this.layoutControl3.Controls.Add(this.gaugeControl2);
this.layoutControl3.Controls.Add(this.gaugeControl1);
this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl3.Location = new System.Drawing.Point(2, 23);
this.layoutControl3.Name = "layoutControl3";
this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(498, 165, 250, 350);
this.layoutControl3.Root = this.layoutControlGroup3;
this.layoutControl3.Size = new System.Drawing.Size(195, 543);
this.layoutControl3.TabIndex = 0;
this.layoutControl3.Text = "layoutControl3";
//
// gbStatusAlarm
//
this.gbStatusAlarm.Controls.Add(this.layoutControl4);
this.gbStatusAlarm.Location = new System.Drawing.Point(3, 391);
this.gbStatusAlarm.Name = "gbStatusAlarm";
this.gbStatusAlarm.Size = new System.Drawing.Size(189, 88);
this.gbStatusAlarm.TabIndex = 7;
this.gbStatusAlarm.Text = "Operating Status";
//
// layoutControl4
//
this.layoutControl4.Controls.Add(this.panelControl2);
this.layoutControl4.Controls.Add(this.panelControl1);
this.layoutControl4.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl4.Location = new System.Drawing.Point(2, 23);
this.layoutControl4.Name = "layoutControl4";
this.layoutControl4.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1163, 334, 250, 350);
this.layoutControl4.Root = this.layoutControlGroup4;
this.layoutControl4.Size = new System.Drawing.Size(185, 63);
this.layoutControl4.TabIndex = 0;
this.layoutControl4.Text = "layoutControl4";
//
// panelControl2
//
this.panelControl2.Controls.Add(this.lbAlarm);
this.panelControl2.Location = new System.Drawing.Point(44, 34);
this.panelControl2.Name = "panelControl2";
this.panelControl2.Size = new System.Drawing.Size(138, 26);
this.panelControl2.TabIndex = 5;
//
// lbAlarm
//
this.lbAlarm.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbAlarm.Appearance.Options.UseFont = true;
this.lbAlarm.Appearance.Options.UseTextOptions = true;
this.lbAlarm.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbAlarm.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None;
this.lbAlarm.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbAlarm.Location = new System.Drawing.Point(2, 2);
this.lbAlarm.Name = "lbAlarm";
this.lbAlarm.Size = new System.Drawing.Size(134, 22);
this.lbAlarm.TabIndex = 0;
this.lbAlarm.Text = "Alarm";
//
// panelControl1
//
this.panelControl1.Controls.Add(this.lbStatus);
this.panelControl1.Location = new System.Drawing.Point(44, 3);
this.panelControl1.Name = "panelControl1";
this.panelControl1.Size = new System.Drawing.Size(138, 27);
this.panelControl1.TabIndex = 4;
//
// lbStatus
//
this.lbStatus.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbStatus.Appearance.Options.UseFont = true;
this.lbStatus.Appearance.Options.UseTextOptions = true;
this.lbStatus.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbStatus.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None;
this.lbStatus.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbStatus.Location = new System.Drawing.Point(2, 2);
this.lbStatus.Name = "lbStatus";
this.lbStatus.Size = new System.Drawing.Size(134, 23);
this.lbStatus.TabIndex = 0;
this.lbStatus.Text = "Status";
//
// layoutControlGroup4
//
this.layoutControlGroup4.CustomizationFormText = "layoutControlGroup3";
this.layoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup4.GroupBordersVisible = false;
this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcitemStatus,
this.lcitemAlarm});
this.layoutControlGroup4.Name = "layoutControlGroup3";
this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup4.Size = new System.Drawing.Size(185, 63);
this.layoutControlGroup4.TextVisible = false;
//
// lcitemStatus
//
this.lcitemStatus.AppearanceItemCaption.Options.UseTextOptions = true;
this.lcitemStatus.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lcitemStatus.Control = this.panelControl1;
this.lcitemStatus.CustomizationFormText = "Status";
this.lcitemStatus.Location = new System.Drawing.Point(0, 0);
this.lcitemStatus.MaxSize = new System.Drawing.Size(0, 31);
this.lcitemStatus.MinSize = new System.Drawing.Size(100, 31);
this.lcitemStatus.Name = "lcitemStatus";
this.lcitemStatus.Size = new System.Drawing.Size(183, 31);
this.lcitemStatus.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemStatus.Text = "Status";
this.lcitemStatus.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.lcitemStatus.TextSize = new System.Drawing.Size(40, 14);
this.lcitemStatus.TextToControlDistance = 1;
//
// lcitemAlarm
//
this.lcitemAlarm.AppearanceItemCaption.Options.UseTextOptions = true;
this.lcitemAlarm.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lcitemAlarm.Control = this.panelControl2;
this.lcitemAlarm.CustomizationFormText = "Alarm";
this.lcitemAlarm.Location = new System.Drawing.Point(0, 31);
this.lcitemAlarm.MinSize = new System.Drawing.Size(100, 24);
this.lcitemAlarm.Name = "lcitemAlarm";
this.lcitemAlarm.Size = new System.Drawing.Size(183, 30);
this.lcitemAlarm.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemAlarm.Text = "Alarm";
this.lcitemAlarm.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.lcitemAlarm.TextSize = new System.Drawing.Size(40, 20);
this.lcitemAlarm.TextToControlDistance = 1;
//
// gaugeControl4
//
this.gaugeControl4.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.dgTotalSOC});
this.gaugeControl4.Location = new System.Drawing.Point(3, 311);
this.gaugeControl4.Name = "gaugeControl4";
this.gaugeControl4.Size = new System.Drawing.Size(189, 76);
this.gaugeControl4.TabIndex = 7;
//
// dgTotalSOC
//
this.dgTotalSOC.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.dgTotalSOC.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.dgTotalSOC.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent4});
this.dgTotalSOC.Bounds = new System.Drawing.Rectangle(6, 6, 177, 64);
this.dgTotalSOC.DigitCount = 5;
this.dgTotalSOC.Name = "dgTotalSOC";
this.dgTotalSOC.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.dgTotalSOC.Text = "00,000";
//
// digitalBackgroundLayerComponent4
//
this.digitalBackgroundLayerComponent4.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F);
this.digitalBackgroundLayerComponent4.Name = "digitalBackgroundLayerComponent1";
this.digitalBackgroundLayerComponent4.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18;
this.digitalBackgroundLayerComponent4.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F);
this.digitalBackgroundLayerComponent4.ZOrder = 1000;
//
// gaugeControl3
//
this.gaugeControl3.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.dgTotalTemp});
this.gaugeControl3.Location = new System.Drawing.Point(3, 214);
this.gaugeControl3.Name = "gaugeControl3";
this.gaugeControl3.Size = new System.Drawing.Size(189, 76);
this.gaugeControl3.TabIndex = 6;
//
// dgTotalTemp
//
this.dgTotalTemp.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.dgTotalTemp.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.dgTotalTemp.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent3});
this.dgTotalTemp.Bounds = new System.Drawing.Rectangle(6, 6, 177, 64);
this.dgTotalTemp.DigitCount = 5;
this.dgTotalTemp.Name = "dgTotalTemp";
this.dgTotalTemp.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.dgTotalTemp.Text = "00,000";
//
// digitalBackgroundLayerComponent3
//
this.digitalBackgroundLayerComponent3.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F);
this.digitalBackgroundLayerComponent3.Name = "digitalBackgroundLayerComponent1";
this.digitalBackgroundLayerComponent3.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18;
this.digitalBackgroundLayerComponent3.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F);
this.digitalBackgroundLayerComponent3.ZOrder = 1000;
//
// gaugeControl2
//
this.gaugeControl2.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.dgTotalCurrent});
this.gaugeControl2.Location = new System.Drawing.Point(3, 117);
this.gaugeControl2.Name = "gaugeControl2";
this.gaugeControl2.Size = new System.Drawing.Size(189, 76);
this.gaugeControl2.TabIndex = 5;
//
// dgTotalCurrent
//
this.dgTotalCurrent.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.dgTotalCurrent.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.dgTotalCurrent.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent2});
this.dgTotalCurrent.Bounds = new System.Drawing.Rectangle(6, 6, 177, 64);
this.dgTotalCurrent.DigitCount = 5;
this.dgTotalCurrent.Name = "dgTotalCurrent";
this.dgTotalCurrent.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.dgTotalCurrent.Text = "00,000";
//
// digitalBackgroundLayerComponent2
//
this.digitalBackgroundLayerComponent2.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F);
this.digitalBackgroundLayerComponent2.Name = "digitalBackgroundLayerComponent1";
this.digitalBackgroundLayerComponent2.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18;
this.digitalBackgroundLayerComponent2.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F);
this.digitalBackgroundLayerComponent2.ZOrder = 1000;
//
// gaugeControl1
//
this.gaugeControl1.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.dgTotalVoltage});
this.gaugeControl1.Location = new System.Drawing.Point(3, 20);
this.gaugeControl1.Name = "gaugeControl1";
this.gaugeControl1.Size = new System.Drawing.Size(189, 76);
this.gaugeControl1.TabIndex = 4;
//
// dgTotalVoltage
//
this.dgTotalVoltage.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.dgTotalVoltage.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.dgTotalVoltage.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent1});
this.dgTotalVoltage.Bounds = new System.Drawing.Rectangle(6, 6, 177, 64);
this.dgTotalVoltage.DigitCount = 5;
this.dgTotalVoltage.Name = "dgTotalVoltage";
this.dgTotalVoltage.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.dgTotalVoltage.Text = "00,000";
//
// digitalBackgroundLayerComponent1
//
this.digitalBackgroundLayerComponent1.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F);
this.digitalBackgroundLayerComponent1.Name = "digitalBackgroundLayerComponent1";
this.digitalBackgroundLayerComponent1.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18;
this.digitalBackgroundLayerComponent1.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F);
this.digitalBackgroundLayerComponent1.ZOrder = 1000;
//
// layoutControlGroup3
//
this.layoutControlGroup3.CustomizationFormText = "layoutControlGroup3";
this.layoutControlGroup3.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup3.GroupBordersVisible = false;
this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcItemTotalVoltage,
this.emptySpaceItem1,
this.lcItemTotalCurrent,
this.lcItemTemp,
this.lcItemSOC,
this.layoutControlItem4});
this.layoutControlGroup3.Name = "layoutControlGroup3";
this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup3.Size = new System.Drawing.Size(195, 543);
this.layoutControlGroup3.TextVisible = false;
//
// lcItemTotalVoltage
//
this.lcItemTotalVoltage.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcItemTotalVoltage.AppearanceItemCaption.Options.UseFont = true;
this.lcItemTotalVoltage.Control = this.gaugeControl1;
this.lcItemTotalVoltage.CustomizationFormText = "layoutControlItem4";
this.lcItemTotalVoltage.Location = new System.Drawing.Point(0, 0);
this.lcItemTotalVoltage.MaxSize = new System.Drawing.Size(193, 97);
this.lcItemTotalVoltage.MinSize = new System.Drawing.Size(193, 97);
this.lcItemTotalVoltage.Name = "lcItemTotalVoltage";
this.lcItemTotalVoltage.Size = new System.Drawing.Size(193, 97);
this.lcItemTotalVoltage.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemTotalVoltage.Text = " Voltage";
this.lcItemTotalVoltage.TextLocation = DevExpress.Utils.Locations.Top;
this.lcItemTotalVoltage.TextSize = new System.Drawing.Size(82, 14);
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 480);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(193, 61);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// lcItemTotalCurrent
//
this.lcItemTotalCurrent.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcItemTotalCurrent.AppearanceItemCaption.Options.UseFont = true;
this.lcItemTotalCurrent.Control = this.gaugeControl2;
this.lcItemTotalCurrent.CustomizationFormText = " Current";
this.lcItemTotalCurrent.Location = new System.Drawing.Point(0, 97);
this.lcItemTotalCurrent.MaxSize = new System.Drawing.Size(193, 97);
this.lcItemTotalCurrent.MinSize = new System.Drawing.Size(193, 97);
this.lcItemTotalCurrent.Name = "lcItemTotalCurrent";
this.lcItemTotalCurrent.Size = new System.Drawing.Size(193, 97);
this.lcItemTotalCurrent.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemTotalCurrent.Text = " Current";
this.lcItemTotalCurrent.TextLocation = DevExpress.Utils.Locations.Top;
this.lcItemTotalCurrent.TextSize = new System.Drawing.Size(82, 14);
//
// lcItemTemp
//
this.lcItemTemp.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcItemTemp.AppearanceItemCaption.Options.UseFont = true;
this.lcItemTemp.Control = this.gaugeControl3;
this.lcItemTemp.CustomizationFormText = " Temperature";
this.lcItemTemp.Location = new System.Drawing.Point(0, 194);
this.lcItemTemp.MaxSize = new System.Drawing.Size(193, 97);
this.lcItemTemp.MinSize = new System.Drawing.Size(193, 97);
this.lcItemTemp.Name = "lcItemTemp";
this.lcItemTemp.Size = new System.Drawing.Size(193, 97);
this.lcItemTemp.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemTemp.Text = " Temperature";
this.lcItemTemp.TextLocation = DevExpress.Utils.Locations.Top;
this.lcItemTemp.TextSize = new System.Drawing.Size(82, 14);
//
// lcItemSOC
//
this.lcItemSOC.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcItemSOC.AppearanceItemCaption.Options.UseFont = true;
this.lcItemSOC.Control = this.gaugeControl4;
this.lcItemSOC.CustomizationFormText = " SOC";
this.lcItemSOC.Location = new System.Drawing.Point(0, 291);
this.lcItemSOC.MaxSize = new System.Drawing.Size(193, 97);
this.lcItemSOC.MinSize = new System.Drawing.Size(193, 97);
this.lcItemSOC.Name = "lcItemSOC";
this.lcItemSOC.Size = new System.Drawing.Size(193, 97);
this.lcItemSOC.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemSOC.Text = " SOC";
this.lcItemSOC.TextLocation = DevExpress.Utils.Locations.Top;
this.lcItemSOC.TextSize = new System.Drawing.Size(82, 14);
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.gbStatusAlarm;
this.layoutControlItem4.CustomizationFormText = "layoutControlItem4";
this.layoutControlItem4.Location = new System.Drawing.Point(0, 388);
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 92);
this.layoutControlItem4.MinSize = new System.Drawing.Size(104, 92);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(193, 92);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// groupControl2
//
this.groupControl2.Controls.Add(this.layoutControl2);
this.groupControl2.Location = new System.Drawing.Point(206, 3);
this.groupControl2.Name = "groupControl2";
this.groupControl2.Size = new System.Drawing.Size(1093, 568);
this.groupControl2.TabIndex = 5;
this.groupControl2.Text = "Real Time Graph";
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.chartVI);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.Location = new System.Drawing.Point(2, 23);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.Root = this.layoutControlGroup2;
this.layoutControl2.Size = new System.Drawing.Size(1089, 543);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// layoutControlGroup2
//
this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2";
this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup2.GroupBordersVisible = false;
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem3});
this.layoutControlGroup2.Name = "layoutControlGroup2";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup2.Size = new System.Drawing.Size(1089, 543);
this.layoutControlGroup2.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2,
this.layoutControlItem1});
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(1302, 574);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.groupControl2;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(203, 0);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(1097, 572);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.groupControl1;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MaxSize = new System.Drawing.Size(203, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(203, 24);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(203, 572);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// tmrDisplay
//
this.tmrDisplay.Interval = 500;
this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick);
//
// chartVI
//
xyDiagram1.AxisX.VisibleInPanesSerializable = "-1";
xyDiagram1.AxisY.VisibleInPanesSerializable = "-1";
this.chartVI.Diagram = xyDiagram1;
this.chartVI.Legend.Name = "Default Legend";
this.chartVI.Location = new System.Drawing.Point(3, 3);
this.chartVI.Name = "chartVI";
series1.Name = "Series 1";
series1.View = lineSeriesView1;
series2.Name = "Series 2";
series2.View = lineSeriesView2;
this.chartVI.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
series1,
series2};
this.chartVI.Size = new System.Drawing.Size(1083, 537);
this.chartVI.TabIndex = 4;
this.chartVI.Titles.AddRange(new DevExpress.XtraCharts.ChartTitle[] {
chartTitle1});
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.chartVI;
this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(1087, 541);
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// ucMainStatus
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "ucMainStatus";
this.Size = new System.Drawing.Size(1302, 574);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.groupControl1)).EndInit();
this.groupControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit();
this.layoutControl3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gbStatusAlarm)).EndInit();
this.gbStatusAlarm.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).EndInit();
this.layoutControl4.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.panelControl2)).EndInit();
this.panelControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit();
this.panelControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalSOC)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalTemp)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalCurrent)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalVoltage)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTotalVoltage)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTotalCurrent)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTemp)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemSOC)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.groupControl2)).EndInit();
this.groupControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(xyDiagram1)).EndInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(series2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.chartVI)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.GroupControl groupControl2;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraEditors.GroupControl groupControl1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControl layoutControl3;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl1;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalVoltage;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent1;
private DevExpress.XtraLayout.LayoutControlItem lcItemTotalVoltage;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl2;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalCurrent;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent2;
private DevExpress.XtraLayout.LayoutControlItem lcItemTotalCurrent;
private System.Windows.Forms.Timer tmrDisplay;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl3;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalTemp;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent3;
private DevExpress.XtraLayout.LayoutControlItem lcItemTemp;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl4;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalSOC;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent4;
private DevExpress.XtraLayout.LayoutControlItem lcItemSOC;
private DevExpress.XtraEditors.GroupControl gbStatusAlarm;
private DevExpress.XtraLayout.LayoutControl layoutControl4;
private DevExpress.XtraEditors.PanelControl panelControl2;
private DevExpress.XtraEditors.LabelControl lbAlarm;
private DevExpress.XtraEditors.PanelControl panelControl1;
private DevExpress.XtraEditors.LabelControl lbStatus;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
private DevExpress.XtraLayout.LayoutControlItem lcitemStatus;
private DevExpress.XtraLayout.LayoutControlItem lcitemAlarm;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraCharts.ChartControl chartVI;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
}
}

View File

@@ -0,0 +1,494 @@
using DevExpress.XtraCharts;
using LFP_Manager.DataStructure;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Threading;
namespace LFP_Manager.Controls
{
public partial class ucMainStatus : DevExpress.XtraEditors.XtraUserControl
{
private delegate void CanIJust();
private List<int> _valueList;
private Thread _thread;
private CanIJust _doIt;
private Random _ran;
private int _interval;
private CommConfig Config;
private DeviceSystemData SystemData;
private DataTable dtVI;
private DateTime OldTime;
Series seriesVolt;
Series seriesCurr;
Series seriesTemp;
Series seriesSoc;
LineSeriesView currLineView;
LineSeriesView tempLineView;
LineSeriesView socLineView;
SecondaryAxisY currAxisY;
SecondaryAxisY tempAxisY;
SecondaryAxisY socAxisY;
private double TotalVoltage;
private double TotalCurrent;
private double TotalTemperature;
private double TotalSoc;
private bool active = false;
private bool ThreadEnd = false;
private int logTimeSec = 5;
public ucMainStatus()
{
InitializeComponent();
InitDataTableVolt();
InitChart();
}
public void SimStart()
{
_valueList = new List<int>();
_ran = new Random();
_interval = 500;
GoBoy();
}
private void GoBoy()
{
_doIt += new CanIJust(AddData);
_thread = new Thread(new ThreadStart(ComeOnYouThread));
_thread.Start();
}
public void Start(CommConfig aConfig, ref DeviceSystemData aSystemData)
{
Config = aConfig;
SystemData = aSystemData;
reloadChart();
_interval = 200;
_doIt += new CanIJust(AddData);
ThreadEnd = false;
_thread = new Thread(new ThreadStart(ComeOnYouThread));
_thread.Start();
active = true;
tmrDisplay.Start();
}
public void Stop()
{
active = false;
tmrDisplay.Stop();
ThreadEnd = true;
if (_thread != null)
{
if (_thread.IsAlive)
_thread.Abort();
}
}
public void UpdateData(ref DeviceSystemData aSystemData)
{
if (active)
{
SystemData = aSystemData;
TotalVoltage = (double)SystemData.ValueData.voltageOfPack / 10;
TotalCurrent = (double)SystemData.ValueData.current / 10;
TotalSoc = (double)SystemData.ValueData.rSOC / 10;
TotalTemperature = (double)SystemData.AvgData.maxTemp / 10;
}
}
private void InitDataTableVolt()
{
dtVI = new DataTable();
dtVI.Columns.Add("DateTime", typeof(DateTime));
dtVI.Columns.Add(String.Format("Volt"), typeof(double));
dtVI.Columns.Add(String.Format("Curr"), typeof(double));
dtVI.Columns.Add(String.Format("Temp"), typeof(double));
dtVI.Columns.Add(String.Format("SOC"), typeof(double));
// Add data rows to the table.
DataRow row = null;
row = dtVI.NewRow();
row["DateTime"] = DateTime.Now;
row[String.Format("Volt")] = 0;
row[String.Format("Curr")] = 0;
row[String.Format("Temp")] = 0;
row[String.Format("SOC")] = 0;
dtVI.Rows.Add(row);
}
private void InitChart()
{
chartVI.Series.Clear();
chartVI.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
chartVI.Titles[0].Visibility = DevExpress.Utils.DefaultBoolean.False;
//-------------------- Series VOLT -----------------------//
seriesVolt = new Series(String.Format("Volt"), ViewType.Line)
{
DataSource = dtVI,
//seriesVolt.Label.PointOptions.PointView = PointView.Values;
//seriesVolt.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number;
//seriesVolt.Label.PointOptions.ValueNumericOptions.Precision = 1;
CrosshairLabelVisibility = DevExpress.Utils.DefaultBoolean.True,
CrosshairLabelPattern = "{S} : {V:F1}V",
//seriesVolt.CrosshairLabelPattern = "{S} {A:hh:mm:ss} : {V:F1}V";
// Specify data members to bind the series.
ArgumentScaleType = ScaleType.DateTime,
ArgumentDataMember = "DateTime",
ValueScaleType = ScaleType.Numerical
};
seriesVolt.ValueDataMembers.AddRange(new string[] { String.Format("Volt") });
chartVI.Series.Add(seriesVolt);
//-------------------- Series CURR -----------------------//
seriesCurr = new Series(String.Format("Curr"), ViewType.Line)
{
DataSource = dtVI,
//seriesCurr.Label.PointOptions.PointView = PointView.Values;
//seriesCurr.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number;
//seriesCurr.Label.PointOptions.ValueNumericOptions.Precision = 1;
CrosshairLabelVisibility = DevExpress.Utils.DefaultBoolean.True,
CrosshairLabelPattern = "{S} : {V:F1}A",
//seriesCurr.CrosshairLabelPattern = "{S} {A:hh:mm:ss} : {V:F1}A";
// Specify data members to bind the series.
ArgumentScaleType = ScaleType.DateTime,
ArgumentDataMember = "DateTime",
ValueScaleType = ScaleType.Numerical
};
seriesCurr.ValueDataMembers.AddRange(new string[] { String.Format("Curr") });
chartVI.Series.Add(seriesCurr);
//-------------------- Series TEMP -----------------------//
seriesTemp = new Series(String.Format("Temp"), ViewType.Line)
{
DataSource = dtVI,
//seriesTemp.Label.PointOptions.PointView = PointView.Values;
//seriesTemp.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number;
//seriesTemp.Label.PointOptions.ValueNumericOptions.Precision = 1;
CrosshairLabelVisibility = DevExpress.Utils.DefaultBoolean.True,
CrosshairLabelPattern = "{S} : {V:F1}C",
//seriesTemp.CrosshairLabelPattern = "{S} {A:hh:mm:ss} : {V:F1}A";
// Specify data members to bind the series.
ArgumentScaleType = ScaleType.DateTime,
ArgumentDataMember = "DateTime",
ValueScaleType = ScaleType.Numerical
};
seriesTemp.ValueDataMembers.AddRange(new string[] { String.Format("Temp") });
chartVI.Series.Add(seriesTemp);
//-------------------- Series SOC -----------------------//
seriesSoc = new Series(String.Format("SOC"), ViewType.Line)
{
DataSource = dtVI,
//seriesSoc.Label.PointOptions.PointView = PointView.Values;
//seriesSoc.Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number;
//seriesSoc.Label.PointOptions.ValueNumericOptions.Precision = 1;
CrosshairLabelVisibility = DevExpress.Utils.DefaultBoolean.True,
CrosshairLabelPattern = "{S} : {V:F1}%",
//seriesTemp.CrosshairLabelPattern = "{S} {A:hh:mm:ss} : {V:F1}A";
// Specify data members to bind the series.
ArgumentScaleType = ScaleType.DateTime,
ArgumentDataMember = "DateTime",
ValueScaleType = ScaleType.Numerical
};
seriesSoc.ValueDataMembers.AddRange(new string[] { String.Format("SOC") });
chartVI.Series.Add(seriesSoc);
XYDiagram diagram = (XYDiagram)chartVI.Diagram;
//diagram.AxisX.DateTimeScaleOptions.AggregateFunction = AggregateFunction.Sum;
//diagram.AxisX.DateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Minute;
//diagram.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Second;
diagram.AxisX.Title.Text = "Date Time (hh:mm:ss)";
diagram.AxisX.Title.Visibility = DevExpress.Utils.DefaultBoolean.False;
diagram.AxisX.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular);
//diagram.AxisX.Label.DateTimeOptions.Format = DevExpress.XtraCharts.DateTimeFormat.Custom;
//diagram.AxisX.Label.DateTimeOptions.FormatString = "HH:mm:ss";
diagram.AxisY.WholeRange.MaxValue = 60.0;
diagram.AxisY.WholeRange.MinValue = 40.0;
diagram.AxisY.WholeRange.Auto = false;
diagram.AxisY.WholeRange.AlwaysShowZeroLevel = true;
diagram.AxisY.VisualRange.MaxValue = 60.0;
diagram.AxisY.VisualRange.MinValue = 40.0;
diagram.AxisY.VisualRange.Auto = false;
//diagram.AxisY.GridSpacing = 1;
diagram.AxisY.Title.Text = "Voltage (V)";
diagram.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.False;
diagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Regular);
chartVI.Diagram.Assign(diagram);
currAxisY = new SecondaryAxisY("Current Y-Axis");
((XYDiagram)chartVI.Diagram).SecondaryAxesY.Add(currAxisY);
//currAxisY.GridSpacing = 10D;
//currAxisY.GridSpacingAuto = false;
currAxisY.WholeRange.MinValue = "-300";
currAxisY.WholeRange.MaxValue = "300";
currAxisY.WholeRange.Auto = false;
currAxisY.WholeRange.AlwaysShowZeroLevel = true;
currAxisY.Visibility = DevExpress.Utils.DefaultBoolean.False;
currAxisY.Title.Text = "Current (A)";
currAxisY.Title.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Regular);
currAxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.False;
currLineView = new LineSeriesView();
currLineView = (LineSeriesView)seriesCurr.View;
currLineView.AxisY = currAxisY;
currLineView.LineMarkerOptions.BorderVisible = false;
currLineView.LineMarkerOptions.Color = Color.Red;
currLineView.LineStyle.Thickness = 2;
currLineView.MarkerVisibility = DevExpress.Utils.DefaultBoolean.False;
currLineView.Shadow.Visible = false;
tempAxisY = new SecondaryAxisY("Temperature Y-Axis");
((XYDiagram)chartVI.Diagram).SecondaryAxesY.Add(tempAxisY);
//tempAxisY.GridSpacing = 5D;
//tempAxisY.GridSpacingAuto = false;
tempAxisY.WholeRange.MinValue = "-25.0";
tempAxisY.WholeRange.MaxValue = "80.0";
tempAxisY.WholeRange.Auto = false;
tempAxisY.WholeRange.AlwaysShowZeroLevel = true;
tempAxisY.Visibility = DevExpress.Utils.DefaultBoolean.False;
tempAxisY.Title.Text = "Temperature (C)";
tempAxisY.Title.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Regular);
tempAxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.False;
tempLineView = new LineSeriesView();
tempLineView = (LineSeriesView)seriesTemp.View;
tempLineView.AxisY = tempAxisY;
tempLineView.LineMarkerOptions.BorderVisible = false;
tempLineView.LineMarkerOptions.Color = Color.Red;
tempLineView.LineStyle.Thickness = 2;
tempLineView.MarkerVisibility = DevExpress.Utils.DefaultBoolean.False;
tempLineView.Shadow.Visible = false;
// SOC AxisY
socAxisY = new SecondaryAxisY("SOC Y-Axis");
((XYDiagram)chartVI.Diagram).SecondaryAxesY.Add(socAxisY);
//socAxisY.GridSpacing = 10D;
//socAxisY.GridSpacingAuto = false;
socAxisY.WholeRange.MinValue = "-2.0";
socAxisY.WholeRange.MaxValue = "102.0";
socAxisY.WholeRange.Auto = false;
socAxisY.WholeRange.AlwaysShowZeroLevel = true;
socAxisY.Visibility = DevExpress.Utils.DefaultBoolean.False;
socAxisY.Title.Text = "SOC (%)";
socAxisY.Title.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Regular);
socAxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.False;
socLineView = new LineSeriesView();
socLineView = (LineSeriesView)seriesSoc.View;
socLineView.AxisY = socAxisY;
socLineView.LineMarkerOptions.BorderVisible = false;
socLineView.LineMarkerOptions.Color = Color.Red;
socLineView.LineStyle.Thickness = 2;
socLineView.MarkerVisibility = DevExpress.Utils.DefaultBoolean.False;
socLineView.Shadow.Visible = false;
}
private void reloadChart()
{
chartVI.Series.Clear();
//for (int i = 0; i < mQty; i++)
//{
chartVI.Series.Add(seriesVolt);
//}
//for (int i = 0; i < mQty; i++)
//{
chartVI.Series.Add(seriesCurr);
//}
//for (int i = 0; i < mQty; i++)
//{
chartVI.Series.Add(seriesTemp);
//}
//for (int i = 0; i < mQty; i++)
//{
chartVI.Series.Add(seriesSoc);
//}
}
private void ComeOnYouThread()
{
while (ThreadEnd == false)
{
try
{
chartVI.Invoke(_doIt);
Thread.Sleep(_interval);
}
catch (Exception)
{
}
}
}
public void SetLogTime(int aSec)
{
logTimeSec = aSec;
}
private void AddData()
{
DateTime now = DateTime.Now;
TimeSpan dTime = now - OldTime;
//if (OldTime.Second != now.Second)
if ((dTime.Seconds >= logTimeSec) && ((now.Second % logTimeSec) == 0))
{
if (dtVI.Rows.Count > 1000)
{
dtVI.Rows.RemoveAt(0);
}
// Add data rows to the table.
DataRow row = null;
row = dtVI.NewRow();
row["DateTime"] = DateTime.Now;
row[String.Format("Volt")] = TotalVoltage;
row[String.Format("Curr")] = TotalCurrent;
row[String.Format("Temp")] = TotalTemperature;
row[String.Format("SOC")] = TotalSoc;
dtVI.Rows.Add(row);
OldTime = now;
}
}
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayTotalValue();
DisplayStatusAndAlarm();
}
private void DisplayTotalValue()
{
if (active)
{
dgTotalVoltage.Text = String.Format("{0:0.0}", TotalVoltage);
dgTotalCurrent.Text = String.Format("{0:0.0}", TotalCurrent);
dgTotalTemp.Text = String.Format("{0:0.0}", TotalTemperature);
dgTotalSOC.Text = String.Format("{0:0.0}", TotalSoc);
chartVI.Invalidate();
}
}
private void DisplayStatusAndAlarm()
{
if (SystemData.CommFail == false)
{
// Operating Status
if (SystemData.StatusData.status == 0)
{
lbStatus.Text = "STANDBY";
lbStatus.ForeColor = System.Drawing.Color.Black;
}
else if (SystemData.StatusData.status == 1)
{
lbStatus.Text = "CHARGING";
lbStatus.ForeColor = System.Drawing.Color.Blue;
}
else if (SystemData.StatusData.status == 2)
{
lbStatus.Text = "DISCHARGING";
lbStatus.ForeColor = System.Drawing.Color.Magenta;
}
else if (SystemData.StatusData.status == 3)
{
lbStatus.Text = "FLOATING";
lbStatus.ForeColor = System.Drawing.Color.Black;
}
else
{
lbStatus.Text = "UNKNOWN";
lbStatus.ForeColor = System.Drawing.Color.Black;
}
// Alarm Display
if (SystemData.StatusData.alarm == 0)
{
lbAlarm.Text = "NORMAL";
lbAlarm.ForeColor = System.Drawing.Color.Green;
}
else if (SystemData.StatusData.alarm == 1)
{
lbAlarm.Text = "WARNING";
lbAlarm.ForeColor = System.Drawing.Color.Orange;
}
else if (SystemData.StatusData.alarm == 2)
{
lbAlarm.Text = "FAULT";
lbAlarm.ForeColor = System.Drawing.Color.Red;
}
else if (SystemData.StatusData.alarm == 3)
{
lbAlarm.Text = "WARMING UP";
lbAlarm.ForeColor = System.Drawing.Color.Green;
}
else
{
lbAlarm.Text = "UNKNOWN";
lbAlarm.ForeColor = System.Drawing.Color.Red;
}
}
else
{
lbStatus.Text = "OFF LINE";
lbStatus.ForeColor = System.Drawing.Color.Red;
lbAlarm.Text = "OFF LINE";
lbAlarm.ForeColor = System.Drawing.Color.Red;
}
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="tmrDisplay.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,305 @@
namespace LFP_Manager.Controls
{
partial class ucModuleIdSet
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.gbBmuAddrSet = new DevExpress.XtraEditors.GroupControl();
this.layoutControl9 = new DevExpress.XtraLayout.LayoutControl();
this.edModuleNo = new DevExpress.XtraEditors.TextEdit();
this.edSystemAddrNew = new DevExpress.XtraEditors.TextEdit();
this.btnBmsAddrSet = new DevExpress.XtraEditors.SimpleButton();
this.edSystemAddr = new DevExpress.XtraEditors.TextEdit();
this.layoutControlGroup9 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcitemBmsId = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem34 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gbBmuAddrSet)).BeginInit();
this.gbBmuAddrSet.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl9)).BeginInit();
this.layoutControl9.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.edModuleNo.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edSystemAddrNew.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edSystemAddr.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemBmsId)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem34)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.gbBmuAddrSet);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(198, 126);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// gbBmuAddrSet
//
this.gbBmuAddrSet.Controls.Add(this.layoutControl9);
this.gbBmuAddrSet.Location = new System.Drawing.Point(3, 3);
this.gbBmuAddrSet.Name = "gbBmuAddrSet";
this.gbBmuAddrSet.Size = new System.Drawing.Size(192, 120);
this.gbBmuAddrSet.TabIndex = 12;
this.gbBmuAddrSet.Text = "BMS Address";
//
// layoutControl9
//
this.layoutControl9.Controls.Add(this.edModuleNo);
this.layoutControl9.Controls.Add(this.edSystemAddrNew);
this.layoutControl9.Controls.Add(this.btnBmsAddrSet);
this.layoutControl9.Controls.Add(this.edSystemAddr);
this.layoutControl9.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl9.Location = new System.Drawing.Point(2, 23);
this.layoutControl9.Name = "layoutControl9";
this.layoutControl9.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1050, 323, 618, 350);
this.layoutControl9.Root = this.layoutControlGroup9;
this.layoutControl9.Size = new System.Drawing.Size(188, 95);
this.layoutControl9.TabIndex = 0;
this.layoutControl9.Text = "layoutControl9";
//
// edModuleNo
//
this.edModuleNo.Location = new System.Drawing.Point(125, 32);
this.edModuleNo.Name = "edModuleNo";
this.edModuleNo.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.edModuleNo.Properties.Appearance.Options.UseFont = true;
this.edModuleNo.Properties.Appearance.Options.UseTextOptions = true;
this.edModuleNo.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edModuleNo.Size = new System.Drawing.Size(59, 24);
this.edModuleNo.StyleController = this.layoutControl9;
this.edModuleNo.TabIndex = 9;
this.edModuleNo.EditValueChanged += new System.EventHandler(this.edModuleNo_EditValueChanged);
//
// edSystemAddrNew
//
this.edSystemAddrNew.Location = new System.Drawing.Point(109, 4);
this.edSystemAddrNew.Name = "edSystemAddrNew";
this.edSystemAddrNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.edSystemAddrNew.Properties.Appearance.Options.UseFont = true;
this.edSystemAddrNew.Properties.Appearance.Options.UseTextOptions = true;
this.edSystemAddrNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edSystemAddrNew.Size = new System.Drawing.Size(75, 24);
this.edSystemAddrNew.StyleController = this.layoutControl9;
this.edSystemAddrNew.TabIndex = 8;
//
// btnBmsAddrSet
//
this.btnBmsAddrSet.Location = new System.Drawing.Point(108, 60);
this.btnBmsAddrSet.Name = "btnBmsAddrSet";
this.btnBmsAddrSet.Size = new System.Drawing.Size(76, 31);
this.btnBmsAddrSet.StyleController = this.layoutControl9;
this.btnBmsAddrSet.TabIndex = 6;
this.btnBmsAddrSet.Text = "Set";
this.btnBmsAddrSet.Click += new System.EventHandler(this.btnBmsAddrSet_Click);
//
// edSystemAddr
//
this.edSystemAddr.Location = new System.Drawing.Point(49, 4);
this.edSystemAddr.Name = "edSystemAddr";
this.edSystemAddr.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.edSystemAddr.Properties.Appearance.Options.UseFont = true;
this.edSystemAddr.Properties.Appearance.Options.UseTextOptions = true;
this.edSystemAddr.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edSystemAddr.Properties.ReadOnly = true;
this.edSystemAddr.Size = new System.Drawing.Size(56, 24);
this.edSystemAddr.StyleController = this.layoutControl9;
this.edSystemAddr.TabIndex = 4;
//
// layoutControlGroup9
//
this.layoutControlGroup9.CustomizationFormText = "layoutControlGroup9";
this.layoutControlGroup9.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup9.GroupBordersVisible = false;
this.layoutControlGroup9.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcitemBmsId,
this.layoutControlItem34,
this.layoutControlItem6,
this.emptySpaceItem2,
this.layoutControlItem1,
this.emptySpaceItem1});
this.layoutControlGroup9.Name = "Root";
this.layoutControlGroup9.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup9.Size = new System.Drawing.Size(188, 95);
this.layoutControlGroup9.TextVisible = false;
//
// lcitemBmsId
//
this.lcitemBmsId.Control = this.edSystemAddr;
this.lcitemBmsId.CustomizationFormText = "BMS ID";
this.lcitemBmsId.Location = new System.Drawing.Point(0, 0);
this.lcitemBmsId.MinSize = new System.Drawing.Size(80, 28);
this.lcitemBmsId.Name = "lcitemBmsId";
this.lcitemBmsId.Size = new System.Drawing.Size(105, 28);
this.lcitemBmsId.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemBmsId.Text = " Address";
this.lcitemBmsId.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.lcitemBmsId.TextSize = new System.Drawing.Size(40, 20);
this.lcitemBmsId.TextToControlDistance = 5;
//
// layoutControlItem34
//
this.layoutControlItem34.Control = this.btnBmsAddrSet;
this.layoutControlItem34.CustomizationFormText = "layoutControlItem34";
this.layoutControlItem34.Location = new System.Drawing.Point(104, 56);
this.layoutControlItem34.MinSize = new System.Drawing.Size(30, 26);
this.layoutControlItem34.Name = "layoutControlItem34";
this.layoutControlItem34.Size = new System.Drawing.Size(80, 35);
this.layoutControlItem34.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem34.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem34.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.edSystemAddrNew;
this.layoutControlItem6.CustomizationFormText = "layoutControlItem6";
this.layoutControlItem6.Location = new System.Drawing.Point(105, 0);
this.layoutControlItem6.MinSize = new System.Drawing.Size(30, 28);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(79, 28);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.Location = new System.Drawing.Point(0, 28);
this.emptySpaceItem2.MinSize = new System.Drawing.Size(1, 1);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(46, 28);
this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.edModuleNo;
this.layoutControlItem1.Location = new System.Drawing.Point(46, 28);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(138, 28);
this.layoutControlItem1.Text = "Module S/N";
this.layoutControlItem1.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.layoutControlItem1.TextSize = new System.Drawing.Size(70, 0);
this.layoutControlItem1.TextToControlDistance = 5;
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(198, 126);
this.Root.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.gbBmuAddrSet;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(196, 124);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 56);
this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(104, 35);
this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// ucModuleIdSet
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "ucModuleIdSet";
this.Size = new System.Drawing.Size(198, 126);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gbBmuAddrSet)).EndInit();
this.gbBmuAddrSet.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl9)).EndInit();
this.layoutControl9.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.edModuleNo.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edSystemAddrNew.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edSystemAddr.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemBmsId)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem34)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraEditors.GroupControl gbBmuAddrSet;
private DevExpress.XtraLayout.LayoutControl layoutControl9;
private DevExpress.XtraEditors.TextEdit edModuleNo;
private DevExpress.XtraEditors.TextEdit edSystemAddrNew;
private DevExpress.XtraEditors.SimpleButton btnBmsAddrSet;
private DevExpress.XtraEditors.TextEdit edSystemAddr;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup9;
private DevExpress.XtraLayout.LayoutControlItem lcitemBmsId;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem34;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
}
}

View File

@@ -0,0 +1,131 @@
using DevExpress.XtraEditors;
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 LFP_Manager.Forms;
using LFP_Manager.DataStructure;
using LFP_Manager.Utils;
namespace LFP_Manager.Controls
{
public partial class ucModuleIdSet : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
int mID = 0;
DeviceCalibration rCalib;
DeviceCalibration wCalib;
DeviceParamData rParam;
int maxModule = 1;
//UInt32 cValue = 0;
//bool wFlag = false;
public event CalibCmdEvent OnCommand = null;
#endregion
public ucModuleIdSet()
{
InitializeComponent();
}
#region EXT EVENT FUNCTION
private void OnCommnadEvent(int sId, int mode, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib)
{
OnCommand?.Invoke(sId, mode, flag, ref aParam, ref aCalib);
}
#endregion
#region PUBLIC FUCTIONS
public void UpdateData(int sId, DeviceCalibration aCalib)
{
mID = sId;
rCalib = aCalib;
DisplayCalib();
}
public void SetMaxModule(int aMaxModule)
{
maxModule = aMaxModule;
}
#endregion
#region DISPLAY DATA
private void DisplayCalib()
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate ()
{
// Device Address
edSystemAddr.Text = String.Format("{0:0}", rCalib.SystemInfo.devAddr);
}));
}
else
{
// Device Address
edSystemAddr.Text = String.Format("{0:0}", rCalib.SystemInfo.devAddr);
}
}
#endregion
private void edModuleNo_EditValueChanged(object sender, EventArgs e)
{
if (edModuleNo.Text != "")
{
int mdID;
int mdNo;
string strMdNo = edModuleNo.Text;
try
{
mdNo = Convert.ToInt32(strMdNo);
mdID = (mdNo - 1) % maxModule + 1;
edSystemAddrNew.Text = mdID.ToString();
}
catch (Exception ex)
{
edModuleNo.Text = "";
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#region BUTTON EVENT
private void btnBmsAddrGet_Click(object sender, EventArgs e)
{
OnCommnadEvent(mID, 9, 0, ref rParam, ref wCalib);
}
private void btnBmsAddrSet_Click(object sender, EventArgs e)
{
if (edSystemAddrNew.Text == string.Empty) return;
wCalib = rCalib;
wCalib.SystemInfo.devAddr = (UInt16)(Convert.ToInt32(edSystemAddrNew.Text));
OnCommnadEvent(mID, 9, 1, ref rParam, ref wCalib);
}
#endregion
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,601 @@
namespace LFP_Manager.Controls
{
partial class ucParamSet
{
/// <summary>
/// 필수 디자이너 변수입니다.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 사용 중인 모든 리소스를 정리합니다.
/// </summary>
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region
/// <summary>
/// 디자이너 지원에 필요한 메서드입니다.
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
/// </summary>
private void InitializeComponent()
{
this.gbParamSet = new DevExpress.XtraEditors.GroupControl();
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.edReleaseNew = new DevExpress.XtraEditors.TextEdit();
this.edWarningNew = new DevExpress.XtraEditors.TextEdit();
this.edTripNew = new DevExpress.XtraEditors.TextEdit();
this.btnSet = new DevExpress.XtraEditors.SimpleButton();
this.btnGet = new DevExpress.XtraEditors.SimpleButton();
this.edRelease = new DevExpress.XtraEditors.TextEdit();
this.edWarning = new DevExpress.XtraEditors.TextEdit();
this.edTrip = new DevExpress.XtraEditors.TextEdit();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcTripParam = new DevExpress.XtraLayout.LayoutControlItem();
this.lcWarningParam = new DevExpress.XtraLayout.LayoutControlItem();
this.lcReleaseParam = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.lbTripUnit = new DevExpress.XtraLayout.SimpleLabelItem();
this.lbWarningUnit = new DevExpress.XtraLayout.SimpleLabelItem();
this.lbReleaseUnit = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.lbCurr = new DevExpress.XtraLayout.SimpleLabelItem();
this.lbNew = new DevExpress.XtraLayout.SimpleLabelItem();
this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem();
this.lbFault = new DevExpress.XtraLayout.SimpleLabelItem();
this.lbWarning = new DevExpress.XtraLayout.SimpleLabelItem();
this.lbRelease = new DevExpress.XtraLayout.SimpleLabelItem();
((System.ComponentModel.ISupportInitialize)(this.gbParamSet)).BeginInit();
this.gbParamSet.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.edReleaseNew.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edWarningNew.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edTripNew.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edRelease.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edWarning.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edTrip.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcTripParam)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcWarningParam)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcReleaseParam)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbTripUnit)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbWarningUnit)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbReleaseUnit)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbCurr)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbNew)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbFault)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbWarning)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbRelease)).BeginInit();
this.SuspendLayout();
//
// gbParamSet
//
this.gbParamSet.Controls.Add(this.layoutControl1);
this.gbParamSet.Dock = System.Windows.Forms.DockStyle.Fill;
this.gbParamSet.Location = new System.Drawing.Point(0, 0);
this.gbParamSet.Name = "gbParamSet";
this.gbParamSet.Size = new System.Drawing.Size(219, 171);
this.gbParamSet.TabIndex = 0;
this.gbParamSet.Text = "groupControl1";
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.edReleaseNew);
this.layoutControl1.Controls.Add(this.edWarningNew);
this.layoutControl1.Controls.Add(this.edTripNew);
this.layoutControl1.Controls.Add(this.btnSet);
this.layoutControl1.Controls.Add(this.btnGet);
this.layoutControl1.Controls.Add(this.edRelease);
this.layoutControl1.Controls.Add(this.edWarning);
this.layoutControl1.Controls.Add(this.edTrip);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(2, 22);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(870, 50, 372, 627);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(215, 147);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// edReleaseNew
//
this.edReleaseNew.Location = new System.Drawing.Point(124, 79);
this.edReleaseNew.Name = "edReleaseNew";
this.edReleaseNew.Properties.Appearance.Options.UseTextOptions = true;
this.edReleaseNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edReleaseNew.Size = new System.Drawing.Size(56, 20);
this.edReleaseNew.StyleController = this.layoutControl1;
this.edReleaseNew.TabIndex = 11;
this.edReleaseNew.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBox_KeyPress);
//
// edWarningNew
//
this.edWarningNew.Location = new System.Drawing.Point(124, 54);
this.edWarningNew.Name = "edWarningNew";
this.edWarningNew.Properties.Appearance.Options.UseTextOptions = true;
this.edWarningNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edWarningNew.Size = new System.Drawing.Size(56, 20);
this.edWarningNew.StyleController = this.layoutControl1;
this.edWarningNew.TabIndex = 10;
this.edWarningNew.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBox_KeyPress);
//
// edTripNew
//
this.edTripNew.Location = new System.Drawing.Point(124, 29);
this.edTripNew.Name = "edTripNew";
this.edTripNew.Properties.Appearance.Options.UseTextOptions = true;
this.edTripNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edTripNew.Size = new System.Drawing.Size(56, 20);
this.edTripNew.StyleController = this.layoutControl1;
this.edTripNew.TabIndex = 9;
this.edTripNew.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBox_KeyPress);
//
// btnSet
//
this.btnSet.Location = new System.Drawing.Point(135, 117);
this.btnSet.Name = "btnSet";
this.btnSet.Size = new System.Drawing.Size(76, 26);
this.btnSet.StyleController = this.layoutControl1;
this.btnSet.TabIndex = 8;
this.btnSet.Text = "Set";
this.btnSet.Click += new System.EventHandler(this.btnSet_Click);
//
// btnGet
//
this.btnGet.Location = new System.Drawing.Point(55, 117);
this.btnGet.Name = "btnGet";
this.btnGet.Size = new System.Drawing.Size(76, 26);
this.btnGet.StyleController = this.layoutControl1;
this.btnGet.TabIndex = 7;
this.btnGet.Text = "Get";
this.btnGet.Click += new System.EventHandler(this.btnRead_Click);
//
// edRelease
//
this.edRelease.Location = new System.Drawing.Point(64, 79);
this.edRelease.Name = "edRelease";
this.edRelease.Properties.Appearance.Options.UseTextOptions = true;
this.edRelease.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edRelease.Properties.ReadOnly = true;
this.edRelease.Size = new System.Drawing.Size(56, 20);
this.edRelease.StyleController = this.layoutControl1;
this.edRelease.TabIndex = 6;
//
// edWarning
//
this.edWarning.Location = new System.Drawing.Point(64, 54);
this.edWarning.Name = "edWarning";
this.edWarning.Properties.Appearance.Options.UseTextOptions = true;
this.edWarning.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edWarning.Properties.ReadOnly = true;
this.edWarning.Size = new System.Drawing.Size(56, 20);
this.edWarning.StyleController = this.layoutControl1;
this.edWarning.TabIndex = 5;
//
// edTrip
//
this.edTrip.Location = new System.Drawing.Point(64, 29);
this.edTrip.Name = "edTrip";
this.edTrip.Properties.Appearance.Options.UseTextOptions = true;
this.edTrip.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edTrip.Properties.ReadOnly = true;
this.edTrip.Size = new System.Drawing.Size(56, 20);
this.edTrip.StyleController = this.layoutControl1;
this.edTrip.TabIndex = 4;
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "Root";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcTripParam,
this.lcWarningParam,
this.lcReleaseParam,
this.emptySpaceItem1,
this.layoutControlItem4,
this.layoutControlItem5,
this.emptySpaceItem2,
this.lbTripUnit,
this.lbWarningUnit,
this.lbReleaseUnit,
this.layoutControlItem1,
this.layoutControlItem2,
this.layoutControlItem3,
this.lbCurr,
this.lbNew,
this.emptySpaceItem3,
this.emptySpaceItem4,
this.lbFault,
this.lbWarning,
this.lbRelease});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup1.Size = new System.Drawing.Size(215, 147);
this.layoutControlGroup1.Text = "Root";
this.layoutControlGroup1.TextVisible = false;
//
// lcTripParam
//
this.lcTripParam.Control = this.edTrip;
this.lcTripParam.CustomizationFormText = "Fault";
this.lcTripParam.Location = new System.Drawing.Point(60, 25);
this.lcTripParam.MaxSize = new System.Drawing.Size(60, 25);
this.lcTripParam.MinSize = new System.Drawing.Size(60, 25);
this.lcTripParam.Name = "lcTripParam";
this.lcTripParam.Size = new System.Drawing.Size(60, 25);
this.lcTripParam.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcTripParam.Text = "Fault";
this.lcTripParam.TextSize = new System.Drawing.Size(0, 0);
this.lcTripParam.TextToControlDistance = 0;
this.lcTripParam.TextVisible = false;
//
// lcWarningParam
//
this.lcWarningParam.Control = this.edWarning;
this.lcWarningParam.CustomizationFormText = "Warning";
this.lcWarningParam.Location = new System.Drawing.Point(60, 50);
this.lcWarningParam.MaxSize = new System.Drawing.Size(60, 25);
this.lcWarningParam.MinSize = new System.Drawing.Size(60, 25);
this.lcWarningParam.Name = "lcWarningParam";
this.lcWarningParam.Size = new System.Drawing.Size(60, 25);
this.lcWarningParam.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcWarningParam.Text = "Warning";
this.lcWarningParam.TextSize = new System.Drawing.Size(0, 0);
this.lcWarningParam.TextToControlDistance = 0;
this.lcWarningParam.TextVisible = false;
//
// lcReleaseParam
//
this.lcReleaseParam.Control = this.edRelease;
this.lcReleaseParam.CustomizationFormText = "Release";
this.lcReleaseParam.Location = new System.Drawing.Point(60, 75);
this.lcReleaseParam.MaxSize = new System.Drawing.Size(60, 25);
this.lcReleaseParam.MinSize = new System.Drawing.Size(60, 25);
this.lcReleaseParam.Name = "lcReleaseParam";
this.lcReleaseParam.Size = new System.Drawing.Size(60, 25);
this.lcReleaseParam.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcReleaseParam.Text = "Release";
this.lcReleaseParam.TextSize = new System.Drawing.Size(0, 0);
this.lcReleaseParam.TextToControlDistance = 0;
this.lcReleaseParam.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 100);
this.emptySpaceItem1.MinSize = new System.Drawing.Size(1, 1);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(211, 13);
this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem1.Text = "emptySpaceItem1";
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.btnGet;
this.layoutControlItem4.CustomizationFormText = "layoutControlItem4";
this.layoutControlItem4.Location = new System.Drawing.Point(51, 113);
this.layoutControlItem4.MaxSize = new System.Drawing.Size(80, 30);
this.layoutControlItem4.MinSize = new System.Drawing.Size(80, 30);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(80, 30);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.Text = "layoutControlItem4";
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextToControlDistance = 0;
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.btnSet;
this.layoutControlItem5.CustomizationFormText = "layoutControlItem5";
this.layoutControlItem5.Location = new System.Drawing.Point(131, 113);
this.layoutControlItem5.MaxSize = new System.Drawing.Size(80, 30);
this.layoutControlItem5.MinSize = new System.Drawing.Size(80, 30);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(80, 30);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.Text = "layoutControlItem5";
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextToControlDistance = 0;
this.layoutControlItem5.TextVisible = false;
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2";
this.emptySpaceItem2.Location = new System.Drawing.Point(0, 113);
this.emptySpaceItem2.MinSize = new System.Drawing.Size(1, 1);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(51, 30);
this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem2.Text = "emptySpaceItem2";
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// lbTripUnit
//
this.lbTripUnit.AllowHotTrack = false;
this.lbTripUnit.AppearanceItemCaption.Options.UseTextOptions = true;
this.lbTripUnit.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbTripUnit.CustomizationFormText = "-";
this.lbTripUnit.Location = new System.Drawing.Point(180, 25);
this.lbTripUnit.MaxSize = new System.Drawing.Size(31, 25);
this.lbTripUnit.MinSize = new System.Drawing.Size(31, 25);
this.lbTripUnit.Name = "lbTripUnit";
this.lbTripUnit.Size = new System.Drawing.Size(31, 25);
this.lbTripUnit.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lbTripUnit.Text = "-";
this.lbTripUnit.TextSize = new System.Drawing.Size(45, 14);
//
// lbWarningUnit
//
this.lbWarningUnit.AllowHotTrack = false;
this.lbWarningUnit.AppearanceItemCaption.Options.UseTextOptions = true;
this.lbWarningUnit.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbWarningUnit.CustomizationFormText = "-";
this.lbWarningUnit.Location = new System.Drawing.Point(180, 50);
this.lbWarningUnit.MaxSize = new System.Drawing.Size(31, 25);
this.lbWarningUnit.MinSize = new System.Drawing.Size(31, 25);
this.lbWarningUnit.Name = "lbWarningUnit";
this.lbWarningUnit.Size = new System.Drawing.Size(31, 25);
this.lbWarningUnit.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lbWarningUnit.Text = "-";
this.lbWarningUnit.TextSize = new System.Drawing.Size(45, 14);
//
// lbReleaseUnit
//
this.lbReleaseUnit.AllowHotTrack = false;
this.lbReleaseUnit.AppearanceItemCaption.Options.UseTextOptions = true;
this.lbReleaseUnit.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbReleaseUnit.CustomizationFormText = "-";
this.lbReleaseUnit.Location = new System.Drawing.Point(180, 75);
this.lbReleaseUnit.MaxSize = new System.Drawing.Size(31, 25);
this.lbReleaseUnit.MinSize = new System.Drawing.Size(31, 25);
this.lbReleaseUnit.Name = "lbReleaseUnit";
this.lbReleaseUnit.Size = new System.Drawing.Size(31, 25);
this.lbReleaseUnit.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lbReleaseUnit.Text = "-";
this.lbReleaseUnit.TextSize = new System.Drawing.Size(45, 14);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.edTripNew;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(120, 25);
this.layoutControlItem1.MaxSize = new System.Drawing.Size(60, 25);
this.layoutControlItem1.MinSize = new System.Drawing.Size(60, 25);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(60, 25);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.Text = "layoutControlItem1";
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextToControlDistance = 0;
this.layoutControlItem1.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.edWarningNew;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(120, 50);
this.layoutControlItem2.MaxSize = new System.Drawing.Size(60, 25);
this.layoutControlItem2.MinSize = new System.Drawing.Size(60, 25);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(60, 25);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.Text = "layoutControlItem2";
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextToControlDistance = 0;
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.edReleaseNew;
this.layoutControlItem3.CustomizationFormText = "layoutControlItem3";
this.layoutControlItem3.Location = new System.Drawing.Point(120, 75);
this.layoutControlItem3.MaxSize = new System.Drawing.Size(60, 25);
this.layoutControlItem3.MinSize = new System.Drawing.Size(60, 25);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(60, 25);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.Text = "layoutControlItem3";
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextToControlDistance = 0;
this.layoutControlItem3.TextVisible = false;
//
// lbCurr
//
this.lbCurr.AllowHotTrack = false;
this.lbCurr.AppearanceItemCaption.Options.UseTextOptions = true;
this.lbCurr.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbCurr.CustomizationFormText = "LabelsimpleLabelItem2";
this.lbCurr.Location = new System.Drawing.Point(60, 0);
this.lbCurr.MaxSize = new System.Drawing.Size(60, 25);
this.lbCurr.MinSize = new System.Drawing.Size(60, 25);
this.lbCurr.Name = "lbCurr";
this.lbCurr.Size = new System.Drawing.Size(60, 25);
this.lbCurr.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lbCurr.Text = "Current";
this.lbCurr.TextSize = new System.Drawing.Size(45, 14);
//
// lbNew
//
this.lbNew.AllowHotTrack = false;
this.lbNew.AppearanceItemCaption.Options.UseTextOptions = true;
this.lbNew.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbNew.CustomizationFormText = "LabelsimpleLabelItem1";
this.lbNew.Location = new System.Drawing.Point(120, 0);
this.lbNew.MaxSize = new System.Drawing.Size(60, 25);
this.lbNew.MinSize = new System.Drawing.Size(60, 25);
this.lbNew.Name = "lbNew";
this.lbNew.Size = new System.Drawing.Size(60, 25);
this.lbNew.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lbNew.Text = "New";
this.lbNew.TextSize = new System.Drawing.Size(45, 14);
//
// emptySpaceItem3
//
this.emptySpaceItem3.AllowHotTrack = false;
this.emptySpaceItem3.CustomizationFormText = "emptySpaceItem3";
this.emptySpaceItem3.Location = new System.Drawing.Point(0, 0);
this.emptySpaceItem3.MaxSize = new System.Drawing.Size(60, 25);
this.emptySpaceItem3.MinSize = new System.Drawing.Size(60, 25);
this.emptySpaceItem3.Name = "emptySpaceItem3";
this.emptySpaceItem3.Size = new System.Drawing.Size(60, 25);
this.emptySpaceItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem3.Text = "emptySpaceItem3";
this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem4
//
this.emptySpaceItem4.AllowHotTrack = false;
this.emptySpaceItem4.CustomizationFormText = "emptySpaceItem4";
this.emptySpaceItem4.Location = new System.Drawing.Point(180, 0);
this.emptySpaceItem4.Name = "emptySpaceItem4";
this.emptySpaceItem4.Size = new System.Drawing.Size(31, 25);
this.emptySpaceItem4.Text = "emptySpaceItem4";
this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0);
//
// lbFault
//
this.lbFault.AllowHotTrack = false;
this.lbFault.CustomizationFormText = "Fault";
this.lbFault.Location = new System.Drawing.Point(0, 25);
this.lbFault.MaxSize = new System.Drawing.Size(60, 25);
this.lbFault.MinSize = new System.Drawing.Size(60, 25);
this.lbFault.Name = "lbFault";
this.lbFault.Size = new System.Drawing.Size(60, 25);
this.lbFault.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lbFault.Text = "Fault";
this.lbFault.TextSize = new System.Drawing.Size(45, 14);
//
// lbWarning
//
this.lbWarning.AllowHotTrack = false;
this.lbWarning.CustomizationFormText = "Warning";
this.lbWarning.Location = new System.Drawing.Point(0, 50);
this.lbWarning.MaxSize = new System.Drawing.Size(60, 25);
this.lbWarning.MinSize = new System.Drawing.Size(60, 25);
this.lbWarning.Name = "lbWarning";
this.lbWarning.Size = new System.Drawing.Size(60, 25);
this.lbWarning.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lbWarning.Text = "Warning";
this.lbWarning.TextSize = new System.Drawing.Size(45, 14);
//
// lbRelease
//
this.lbRelease.AllowHotTrack = false;
this.lbRelease.CustomizationFormText = "Release";
this.lbRelease.Location = new System.Drawing.Point(0, 75);
this.lbRelease.MaxSize = new System.Drawing.Size(60, 25);
this.lbRelease.MinSize = new System.Drawing.Size(60, 25);
this.lbRelease.Name = "lbRelease";
this.lbRelease.Size = new System.Drawing.Size(60, 25);
this.lbRelease.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lbRelease.Text = "Release";
this.lbRelease.TextSize = new System.Drawing.Size(45, 14);
//
// ucParamSet
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.gbParamSet);
this.Name = "ucParamSet";
this.Size = new System.Drawing.Size(219, 171);
((System.ComponentModel.ISupportInitialize)(this.gbParamSet)).EndInit();
this.gbParamSet.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.edReleaseNew.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edWarningNew.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edTripNew.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edRelease.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edWarning.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edTrip.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcTripParam)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcWarningParam)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcReleaseParam)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbTripUnit)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbWarningUnit)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbReleaseUnit)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbCurr)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbNew)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbFault)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbWarning)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbRelease)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraEditors.GroupControl gbParamSet;
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.TextEdit edRelease;
private DevExpress.XtraEditors.TextEdit edWarning;
private DevExpress.XtraEditors.TextEdit edTrip;
private DevExpress.XtraLayout.LayoutControlItem lcTripParam;
private DevExpress.XtraLayout.LayoutControlItem lcWarningParam;
private DevExpress.XtraLayout.LayoutControlItem lcReleaseParam;
private DevExpress.XtraEditors.SimpleButton btnSet;
private DevExpress.XtraEditors.SimpleButton btnGet;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private DevExpress.XtraLayout.SimpleLabelItem lbTripUnit;
private DevExpress.XtraLayout.SimpleLabelItem lbWarningUnit;
private DevExpress.XtraLayout.SimpleLabelItem lbReleaseUnit;
private DevExpress.XtraEditors.TextEdit edReleaseNew;
private DevExpress.XtraEditors.TextEdit edWarningNew;
private DevExpress.XtraEditors.TextEdit edTripNew;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.SimpleLabelItem lbCurr;
private DevExpress.XtraLayout.SimpleLabelItem lbNew;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4;
private DevExpress.XtraLayout.SimpleLabelItem lbFault;
private DevExpress.XtraLayout.SimpleLabelItem lbWarning;
private DevExpress.XtraLayout.SimpleLabelItem lbRelease;
}
}

View File

@@ -0,0 +1,274 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Utils;
namespace LFP_Manager.Controls
{
public delegate void setUpdate(object sender);
public delegate void setCommand(int mode, int flag, ParamData aParam);
public class ParamData
{
public short Fault;
public short Warning;
public short Release;
public short Time;
public ParamData()
{
Fault = 0;
Warning = 0;
Release = 0;
Time = 0;
}
public ParamData DeepCopy()
{
ParamData newCopy = new ParamData
{
Fault = Fault,
Warning = Warning,
Release = Release,
Time = Time,
};
return newCopy;
}
}
public partial class ucParamSet : UserControl
{
#region VARIABLES
int id = 0;
ParamData rParam;
ParamData wParam;
bool wFlag = false;
public event setCommand OnCommand = null;
#endregion
#region CONSTRUCTORS
public ucParamSet()
{
InitializeComponent();
rParam = new ParamData();
wParam = new ParamData();
}
#endregion
#region EXT EVENT FUNCTION
private void OnCommnadEvent(int mode, int flag, ParamData aParam)
{
OnCommand?.Invoke(mode, flag, aParam);
}
#endregion
#region BUTTON EVENT
private void btnRead_Click(object sender, EventArgs e)
{
OnCommnadEvent(id, 0, rParam);
}
private void btnSet_Click(object sender, EventArgs e)
{
if ((edTripNew.Text == "") || (edWarningNew.Text == "") || (edReleaseNew.Text == ""))
{
return;
}
wParam = rParam.DeepCopy();
OnCommnadEvent(id, 1, MakeNewParam(id));
}
private ParamData MakeNewParam(int aId)
{
switch (aId)
{
case 0: // Cell Over Voltage
case 1: // Cell Under Voltage
wParam.Fault = Convert.ToInt16(edTripNew.Text);
wParam.Warning = Convert.ToInt16(edWarningNew.Text);
wParam.Release = Convert.ToInt16(edReleaseNew.Text);
break;
case 2: // Module Over Voltage
case 3: // Module Under Voltage
wParam.Fault = (short)(Convert.ToDouble(edTripNew.Text) * 100);
wParam.Warning = (short)(Convert.ToDouble(edWarningNew.Text) * 100);
wParam.Release = (short)(Convert.ToDouble(edReleaseNew.Text) * 100);
break;
case 4: // Charge High Temperature
case 5: // Charge Loq Temperature
case 6: // Discharge High Temperature
case 7: // Discharge Low Temperature
case 10: // Low SOC
case 11: // Low SOC
wParam.Fault = Convert.ToInt16(edTripNew.Text);
wParam.Warning = Convert.ToInt16(edWarningNew.Text);
wParam.Release = Convert.ToInt16(edReleaseNew.Text);
break;
case 8: // Charge Over Current
case 9: // Discharge Over Current
wParam.Fault = (short)(Convert.ToDouble(edTripNew.Text) * 10);
wParam.Warning = (short)(Convert.ToDouble(edWarningNew.Text) * 10);
wParam.Release = (short)(Convert.ToDouble(edReleaseNew.Text) * 10);
break;
}
return wParam;
}
#endregion
#region PUBLIC FUCTIONS
public void SetId(int aId)
{
id = aId;
}
public void UpdateData(ParamData aParam)
{
rParam = aParam;
DisplayParam();
UpdateNewParam();
}
public void EnableItem(int item, bool flag)
{
switch (item)
{
case 0:
edTrip.Enabled = flag;
edTripNew.Enabled = flag;
break;
case 1:
edWarning.Enabled = flag;
edWarningNew.Enabled = flag;
break;
case 2:
edRelease.Enabled = flag;
edReleaseNew.Enabled = flag;
break;
}
}
public void SetParamName(int no, string nm)
{
switch (no)
{
case 0: gbParamSet.Text = nm; break;
case 1:
lbTripUnit.Text = nm;
lbWarningUnit.Text = nm;
lbReleaseUnit.Text = nm;
break;
}
}
#endregion
#region DISPLAY
private void DisplayParam()
{
ParamData Param = new ParamData();
Param = rParam;
switch (id)
{
case 0:
case 1:
edTrip.Text = String.Format("{0}", Param.Fault);
edWarning.Text = String.Format("{0}", Param.Warning);
edRelease.Text = String.Format("{0}", Param.Release);
break;
case 2:
case 3:
edTrip.Text = String.Format("{0:#0.0}", (float)Param.Fault / 100);
edWarning.Text = String.Format("{0:#0.0}", (float)Param.Warning / 100);
edRelease.Text = String.Format("{0:#0.0}", (float)Param.Release / 100);
break;
case 4:
case 5:
case 6:
case 7:
case 10:
case 11:
edTrip.Text = String.Format("{0}", Param.Fault);
edWarning.Text = String.Format("{0}", Param.Warning);
edRelease.Text = String.Format("{0}", Param.Release);
break;
case 8:
case 9:
edTrip.Text = String.Format("{0:#0.0}", (float)Param.Fault / 10);
edWarning.Text = String.Format("{0:#0.0}", (float)Param.Warning / 10);
edRelease.Text = String.Format("{0:#0.0}", (float)Param.Release / 10);
break;
}
}
private void UpdateNewParam()
{
if (wFlag == false)
{
ParamData Param = new ParamData();
Param = rParam;
switch (id)
{
case 0:
case 1:
edTripNew.Text = String.Format("{0}", Param.Fault);
edWarningNew.Text = String.Format("{0}", Param.Warning);
edReleaseNew.Text = String.Format("{0}", Param.Release);
break;
case 2:
case 3:
edTripNew.Text = String.Format("{0:#0.0}", (float)Param.Fault / 100);
edWarningNew.Text = String.Format("{0:#0.0}", (float)Param.Warning / 100);
edReleaseNew.Text = String.Format("{0:#0.0}", (float)Param.Release / 100);
break;
case 4:
case 5:
case 6:
case 7:
case 10:
case 11:
edTripNew.Text = String.Format("{0}", Param.Fault);
edWarningNew.Text = String.Format("{0}", Param.Warning);
edReleaseNew.Text = String.Format("{0}", Param.Release);
break;
case 8:
case 9:
edTripNew.Text = String.Format("{0:#0.0}", (float)Param.Fault / 10);
edWarningNew.Text = String.Format("{0:#0.0}", (float)Param.Warning / 10);
edReleaseNew.Text = String.Format("{0:#0.0}", (float)Param.Release / 10);
break;
}
wFlag = true;
}
}
#endregion
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
csUtils.TypingOnlyNumber(sender, e, true, true);
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="tmrDisplay.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,188 @@
namespace LFP_Manager.Controls
{
partial class ucStatus
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.pcStatus = new DevExpress.XtraEditors.PanelControl();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.lcStatus = new DevExpress.XtraEditors.LabelControl();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pcStatus)).BeginInit();
this.pcStatus.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(236)))), ((int)(((byte)(239)))));
this.layoutControl1.Controls.Add(this.pcStatus);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(717, 178, 250, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(147, 27);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// pcStatus
//
this.pcStatus.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Style3D;
this.pcStatus.Controls.Add(this.layoutControl2);
this.pcStatus.Location = new System.Drawing.Point(1, 1);
this.pcStatus.Margin = new System.Windows.Forms.Padding(0);
this.pcStatus.Name = "pcStatus";
this.pcStatus.Size = new System.Drawing.Size(145, 25);
this.pcStatus.TabIndex = 4;
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.lcStatus);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.Location = new System.Drawing.Point(2, 2);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.Padding = new System.Windows.Forms.Padding(1);
this.layoutControl2.Root = this.layoutControlGroup2;
this.layoutControl2.Size = new System.Drawing.Size(141, 21);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// lcStatus
//
this.lcStatus.Appearance.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcStatus.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lcStatus.Location = new System.Drawing.Point(2, 2);
this.lcStatus.Name = "lcStatus";
this.lcStatus.Size = new System.Drawing.Size(137, 17);
this.lcStatus.StyleController = this.layoutControl2;
this.lcStatus.TabIndex = 4;
this.lcStatus.Text = "labelControl1";
//
// layoutControlGroup2
//
this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2";
this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup2.GroupBordersVisible = false;
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2});
this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup2.Name = "layoutControlGroup2";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup2.Size = new System.Drawing.Size(141, 21);
this.layoutControlGroup2.Text = "layoutControlGroup2";
this.layoutControlGroup2.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.lcStatus;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem2.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlItem2.Size = new System.Drawing.Size(139, 19);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.Text = "layoutControlItem2";
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextToControlDistance = 0;
this.layoutControlItem2.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.layoutControlGroup1.Size = new System.Drawing.Size(147, 27);
this.layoutControlGroup1.Text = "Root";
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.pcStatus;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlItem1.Size = new System.Drawing.Size(147, 27);
this.layoutControlItem1.Text = "layoutControlItem1";
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextToControlDistance = 0;
this.layoutControlItem1.TextVisible = false;
//
// ucStatus
//
this.Appearance.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(236)))), ((int)(((byte)(239)))));
this.Appearance.Options.UseBackColor = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.MinimumSize = new System.Drawing.Size(0, 27);
this.Name = "ucStatus";
this.Size = new System.Drawing.Size(147, 27);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pcStatus)).EndInit();
this.pcStatus.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.PanelControl pcStatus;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraEditors.LabelControl lcStatus;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
}
}

View File

@@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
namespace LFP_Manager.Controls
{
public partial class ucStatus : DevExpress.XtraEditors.XtraUserControl
{
public ucStatus()
{
InitializeComponent();
}
public void SetName(string name)
{
lcStatus.Text = " " + name + " ";
}
public void SetTextWidth(int width)
{
lcStatus.Size = new System.Drawing.Size(width, 14);
}
public void SetValue(int nValue)
{
switch (nValue)
{
case 0:
pcStatus.BackColor = System.Drawing.Color.Green;
lcStatus.ForeColor = System.Drawing.Color.White;
break;
case 1:
pcStatus.BackColor = System.Drawing.Color.Orange;
lcStatus.ForeColor = System.Drawing.Color.Black;
break;
case 2:
pcStatus.BackColor = System.Drawing.Color.Red;
lcStatus.ForeColor = System.Drawing.Color.White;
break;
}
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,308 @@
namespace LFP_Manager.Controls
{
partial class ucTargetControl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.gcTargetConfig = new DevExpress.XtraEditors.GroupControl();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.lbStatus = new DevExpress.XtraEditors.LabelControl();
this.lbTargetInfo = new DevExpress.XtraEditors.LabelControl();
this.btnConfig = new DevExpress.XtraEditors.SimpleButton();
this.btnStart = new DevExpress.XtraEditors.SimpleButton();
this.lbTarget = new DevExpress.XtraEditors.LabelControl();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gcTargetConfig)).BeginInit();
this.gcTargetConfig.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.gcTargetConfig);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 0);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(803, 61);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// gcTargetConfig
//
this.gcTargetConfig.Controls.Add(this.layoutControl2);
this.gcTargetConfig.Location = new System.Drawing.Point(3, 3);
this.gcTargetConfig.Name = "gcTargetConfig";
this.gcTargetConfig.Size = new System.Drawing.Size(797, 55);
this.gcTargetConfig.TabIndex = 6;
this.gcTargetConfig.Text = "Target Config";
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.lbStatus);
this.layoutControl2.Controls.Add(this.lbTargetInfo);
this.layoutControl2.Controls.Add(this.btnConfig);
this.layoutControl2.Controls.Add(this.btnStart);
this.layoutControl2.Controls.Add(this.lbTarget);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.Location = new System.Drawing.Point(2, 22);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(932, 307, 250, 350);
this.layoutControl2.Root = this.layoutControlGroup2;
this.layoutControl2.Size = new System.Drawing.Size(793, 31);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// lbStatus
//
this.lbStatus.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbStatus.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbStatus.Location = new System.Drawing.Point(526, 4);
this.lbStatus.Name = "lbStatus";
this.lbStatus.Size = new System.Drawing.Size(77, 23);
this.lbStatus.StyleController = this.layoutControl2;
this.lbStatus.TabIndex = 9;
this.lbStatus.Text = "STOP";
//
// lbTargetInfo
//
this.lbTargetInfo.Appearance.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbTargetInfo.Location = new System.Drawing.Point(78, 4);
this.lbTargetInfo.Name = "lbTargetInfo";
this.lbTargetInfo.Size = new System.Drawing.Size(444, 23);
this.lbTargetInfo.StyleController = this.layoutControl2;
this.lbTargetInfo.TabIndex = 8;
//
// btnConfig
//
this.btnConfig.Location = new System.Drawing.Point(607, 4);
this.btnConfig.Name = "btnConfig";
this.btnConfig.Size = new System.Drawing.Size(89, 23);
this.btnConfig.StyleController = this.layoutControl2;
this.btnConfig.TabIndex = 7;
this.btnConfig.Text = "CONFIG";
this.btnConfig.Click += new System.EventHandler(this.btnConfig_Click);
//
// btnStart
//
this.btnStart.Location = new System.Drawing.Point(700, 4);
this.btnStart.Name = "btnStart";
this.btnStart.Size = new System.Drawing.Size(89, 23);
this.btnStart.StyleController = this.layoutControl2;
this.btnStart.TabIndex = 6;
this.btnStart.Text = "START";
this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
//
// lbTarget
//
this.lbTarget.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbTarget.Location = new System.Drawing.Point(4, 4);
this.lbTarget.Name = "lbTarget";
this.lbTarget.Size = new System.Drawing.Size(70, 23);
this.lbTarget.StyleController = this.layoutControl2;
this.lbTarget.TabIndex = 4;
this.lbTarget.Text = "Target";
//
// layoutControlGroup2
//
this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup2.GroupBordersVisible = false;
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2,
this.layoutControlItem4,
this.layoutControlItem3,
this.layoutControlItem5,
this.layoutControlItem6});
this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup2.Name = "Root";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup2.Size = new System.Drawing.Size(793, 31);
this.layoutControlGroup2.Text = "Root";
this.layoutControlGroup2.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.lbTarget;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem2.MaxSize = new System.Drawing.Size(74, 0);
this.layoutControlItem2.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(74, 27);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.Text = "layoutControlItem2";
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextToControlDistance = 0;
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.btnStart;
this.layoutControlItem4.CustomizationFormText = "layoutControlItem4";
this.layoutControlItem4.Location = new System.Drawing.Point(696, 0);
this.layoutControlItem4.MinSize = new System.Drawing.Size(53, 26);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(93, 27);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.Text = "layoutControlItem4";
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextToControlDistance = 0;
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.btnConfig;
this.layoutControlItem3.CustomizationFormText = "layoutControlItem3";
this.layoutControlItem3.Location = new System.Drawing.Point(603, 0);
this.layoutControlItem3.MinSize = new System.Drawing.Size(57, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(93, 27);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.Text = "layoutControlItem3";
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextToControlDistance = 0;
this.layoutControlItem3.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.lbTargetInfo;
this.layoutControlItem5.CustomizationFormText = "layoutControlItem5";
this.layoutControlItem5.Location = new System.Drawing.Point(74, 0);
this.layoutControlItem5.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(448, 27);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.Text = "layoutControlItem5";
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextToControlDistance = 0;
this.layoutControlItem5.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.lbStatus;
this.layoutControlItem6.CustomizationFormText = "layoutControlItem6";
this.layoutControlItem6.Location = new System.Drawing.Point(522, 0);
this.layoutControlItem6.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(81, 27);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.Text = "layoutControlItem6";
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextToControlDistance = 0;
this.layoutControlItem6.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(803, 61);
this.layoutControlGroup1.Text = "layoutControlGroup1";
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.gcTargetConfig;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(801, 59);
this.layoutControlItem1.Text = "layoutControlItem1";
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextToControlDistance = 0;
this.layoutControlItem1.TextVisible = false;
//
// ucTargetControl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "ucTargetControl";
this.Size = new System.Drawing.Size(803, 61);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gcTargetConfig)).EndInit();
this.gcTargetConfig.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.GroupControl gcTargetConfig;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraEditors.LabelControl lbTargetInfo;
private DevExpress.XtraEditors.SimpleButton btnConfig;
private DevExpress.XtraEditors.SimpleButton btnStart;
private DevExpress.XtraEditors.LabelControl lbTarget;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraEditors.LabelControl lbStatus;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
}
}

View File

@@ -0,0 +1,105 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.Forms;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
namespace LFP_Manager.Controls
{
public delegate void ButtonEvent(object sender, EventArgs e);
public partial class ucTargetControl : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
public event ButtonEvent OnConfig = null;
public event ButtonEvent OnStart = null;
#endregion
#region CONSTRUCTORS
public ucTargetControl()
{
InitializeComponent();
lbStatus.Appearance.ForeColor = System.Drawing.Color.Red;
}
#endregion
#region UPDATE DATA
public void UpdateConfig(CommConfig Config)
{
string info;
if (Config.CommType == 1)
{
info = String.Format("INTERFACE: UART, PORT: {0}, BAUDRATE: {1}, MODEL: {2}"
, Config.UartPort
, Config.UartBaudrate
, csConstData.CommType.UART_MODEL[Config.UartModelIndex]
);
}
else
{
info = String.Format("INTERFACE: CAN, DEVICE: {0}({1}), PORT: {2}, BAUDRATE: {3}, MODEL: {4}"
, csCanConstData.CanDeviceInfo.DeviceNames[Config.CanDevice]
, Config.CanIndex
, Config.CanNo
, csCanConstData.BaudRate.BaudRateStrings[Config.CanBaudrate]
, csConstData.CommType.CAN_MODEL[Config.TargetModelIndex]
);
}
lbTargetInfo.Text = info;
}
#endregion
public void UpdateStatus(bool flag)
{
if (flag)
{
btnConfig.Enabled = false;
btnStart.Text = "STOP";
lbStatus.Text = "RUN";
lbStatus.Appearance.ForeColor = System.Drawing.Color.Blue;
}
else
{
btnConfig.Enabled = true;
btnStart.Text = "START";
lbStatus.Text = "STOP";
lbStatus.Appearance.ForeColor = System.Drawing.Color.Red;
}
}
#region BUTTON EVENT
private void btnConfig_Click(object sender, EventArgs e)
{
if (OnConfig != null)
OnConfig(sender, e);
}
private void btnStart_Click(object sender, EventArgs e)
{
if (OnStart != null)
OnStart(sender, e);
}
#endregion
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,406 @@
namespace LFP_Manager.Controls
{
partial class ucTftpClientcs
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.groupFwUpdate = new DevExpress.XtraEditors.GroupControl();
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.btnLcdHistoryDelete = new DevExpress.XtraEditors.SimpleButton();
this.btnReset = new DevExpress.XtraEditors.SimpleButton();
this.btnDownload = new DevExpress.XtraEditors.SimpleButton();
this.lbDownloadStatus = new DevExpress.XtraEditors.LabelControl();
this.btnFindFile = new DevExpress.XtraEditors.SimpleButton();
this.teFilename = new DevExpress.XtraEditors.TextEdit();
this.progressDownload = new DevExpress.XtraEditors.ProgressBarControl();
this.lbFilename = new DevExpress.XtraEditors.LabelControl();
this.lbDeviceInfo = new DevExpress.XtraEditors.LabelControl();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.groupFwUpdate)).BeginInit();
this.groupFwUpdate.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.teFilename.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.progressDownload.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
this.SuspendLayout();
//
// groupFwUpdate
//
this.groupFwUpdate.Controls.Add(this.layoutControl1);
this.groupFwUpdate.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupFwUpdate.Location = new System.Drawing.Point(0, 0);
this.groupFwUpdate.Name = "groupFwUpdate";
this.groupFwUpdate.Size = new System.Drawing.Size(462, 242);
this.groupFwUpdate.TabIndex = 0;
this.groupFwUpdate.Text = "Firmware Update";
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnLcdHistoryDelete);
this.layoutControl1.Controls.Add(this.btnReset);
this.layoutControl1.Controls.Add(this.btnDownload);
this.layoutControl1.Controls.Add(this.lbDownloadStatus);
this.layoutControl1.Controls.Add(this.btnFindFile);
this.layoutControl1.Controls.Add(this.teFilename);
this.layoutControl1.Controls.Add(this.progressDownload);
this.layoutControl1.Controls.Add(this.lbFilename);
this.layoutControl1.Controls.Add(this.lbDeviceInfo);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(2, 22);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(756, 30, 250, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(458, 218);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// btnLcdHistoryDelete
//
this.btnLcdHistoryDelete.Location = new System.Drawing.Point(3, 186);
this.btnLcdHistoryDelete.Name = "btnLcdHistoryDelete";
this.btnLcdHistoryDelete.Size = new System.Drawing.Size(140, 29);
this.btnLcdHistoryDelete.StyleController = this.layoutControl1;
this.btnLcdHistoryDelete.TabIndex = 14;
this.btnLcdHistoryDelete.Text = "History Delete (LCD)";
this.btnLcdHistoryDelete.Click += new System.EventHandler(this.btnLcdHistoryDelete_Click);
//
// btnReset
//
this.btnReset.Location = new System.Drawing.Point(354, 186);
this.btnReset.Name = "btnReset";
this.btnReset.Size = new System.Drawing.Size(101, 29);
this.btnReset.StyleController = this.layoutControl1;
this.btnReset.TabIndex = 13;
this.btnReset.Text = "Reset";
this.btnReset.Click += new System.EventHandler(this.btnReset_Click);
//
// btnDownload
//
this.btnDownload.Enabled = false;
this.btnDownload.Location = new System.Drawing.Point(366, 35);
this.btnDownload.Name = "btnDownload";
this.btnDownload.Size = new System.Drawing.Size(89, 22);
this.btnDownload.StyleController = this.layoutControl1;
this.btnDownload.TabIndex = 12;
this.btnDownload.Text = "Update";
this.btnDownload.Click += new System.EventHandler(this.btnDownload_Click);
//
// lbDownloadStatus
//
this.lbDownloadStatus.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.lbDownloadStatus.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None;
this.lbDownloadStatus.Location = new System.Drawing.Point(3, 102);
this.lbDownloadStatus.Name = "lbDownloadStatus";
this.lbDownloadStatus.Size = new System.Drawing.Size(452, 80);
this.lbDownloadStatus.StyleController = this.layoutControl1;
this.lbDownloadStatus.TabIndex = 9;
this.lbDownloadStatus.Text = "None";
//
// btnFindFile
//
this.btnFindFile.Location = new System.Drawing.Point(273, 35);
this.btnFindFile.Name = "btnFindFile";
this.btnFindFile.Size = new System.Drawing.Size(89, 22);
this.btnFindFile.StyleController = this.layoutControl1;
this.btnFindFile.TabIndex = 8;
this.btnFindFile.Text = "Find...";
this.btnFindFile.Click += new System.EventHandler(this.btnFindFile_Click);
//
// teFilename
//
this.teFilename.Location = new System.Drawing.Point(105, 35);
this.teFilename.Name = "teFilename";
this.teFilename.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.teFilename.Properties.Appearance.Options.UseFont = true;
this.teFilename.Size = new System.Drawing.Size(164, 22);
this.teFilename.StyleController = this.layoutControl1;
this.teFilename.TabIndex = 7;
//
// progressDownload
//
this.progressDownload.Location = new System.Drawing.Point(3, 61);
this.progressDownload.Name = "progressDownload";
this.progressDownload.Size = new System.Drawing.Size(452, 37);
this.progressDownload.StyleController = this.layoutControl1;
this.progressDownload.TabIndex = 6;
//
// lbFilename
//
this.lbFilename.Location = new System.Drawing.Point(3, 35);
this.lbFilename.Name = "lbFilename";
this.lbFilename.Size = new System.Drawing.Size(98, 22);
this.lbFilename.StyleController = this.layoutControl1;
this.lbFilename.TabIndex = 5;
this.lbFilename.Text = " Filename";
//
// lbDeviceInfo
//
this.lbDeviceInfo.Location = new System.Drawing.Point(3, 3);
this.lbDeviceInfo.Name = "lbDeviceInfo";
this.lbDeviceInfo.Size = new System.Drawing.Size(452, 28);
this.lbDeviceInfo.StyleController = this.layoutControl1;
this.lbDeviceInfo.TabIndex = 4;
this.lbDeviceInfo.Text = " Device Information";
//
// layoutControlGroup1
//
this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1";
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1,
this.layoutControlItem2,
this.layoutControlItem3,
this.emptySpaceItem1,
this.layoutControlItem4,
this.layoutControlItem5,
this.layoutControlItem6,
this.layoutControlItem9,
this.layoutControlItem7,
this.layoutControlItem8});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(458, 218);
this.layoutControlGroup1.Text = "layoutControlGroup1";
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.lbDeviceInfo;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(456, 32);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.Text = "layoutControlItem1";
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextToControlDistance = 0;
this.layoutControlItem1.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.lbFilename;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(0, 32);
this.layoutControlItem2.MaxSize = new System.Drawing.Size(102, 0);
this.layoutControlItem2.MinSize = new System.Drawing.Size(102, 18);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(102, 26);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.Text = "layoutControlItem2";
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextToControlDistance = 0;
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.progressDownload;
this.layoutControlItem3.CustomizationFormText = "layoutControlItem3";
this.layoutControlItem3.Location = new System.Drawing.Point(0, 58);
this.layoutControlItem3.MinSize = new System.Drawing.Size(54, 16);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(456, 41);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.Text = "layoutControlItem3";
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextToControlDistance = 0;
this.layoutControlItem3.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(144, 183);
this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(207, 33);
this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem1.Text = "emptySpaceItem1";
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.teFilename;
this.layoutControlItem4.CustomizationFormText = "layoutControlItem4";
this.layoutControlItem4.Location = new System.Drawing.Point(102, 32);
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 26);
this.layoutControlItem4.MinSize = new System.Drawing.Size(54, 26);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(168, 26);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.Text = "layoutControlItem4";
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextToControlDistance = 0;
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.btnFindFile;
this.layoutControlItem5.CustomizationFormText = "layoutControlItem5";
this.layoutControlItem5.Location = new System.Drawing.Point(270, 32);
this.layoutControlItem5.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(93, 26);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.Text = "layoutControlItem5";
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextToControlDistance = 0;
this.layoutControlItem5.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.lbDownloadStatus;
this.layoutControlItem6.CustomizationFormText = "layoutControlItem6";
this.layoutControlItem6.Location = new System.Drawing.Point(0, 99);
this.layoutControlItem6.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(456, 84);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.Text = "layoutControlItem6";
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextToControlDistance = 0;
this.layoutControlItem6.TextVisible = false;
//
// layoutControlItem9
//
this.layoutControlItem9.Control = this.btnDownload;
this.layoutControlItem9.CustomizationFormText = "layoutControlItem9";
this.layoutControlItem9.Location = new System.Drawing.Point(363, 32);
this.layoutControlItem9.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem9.Name = "layoutControlItem9";
this.layoutControlItem9.Size = new System.Drawing.Size(93, 26);
this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem9.Text = "layoutControlItem9";
this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem9.TextToControlDistance = 0;
this.layoutControlItem9.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.btnReset;
this.layoutControlItem7.CustomizationFormText = "layoutControlItem7";
this.layoutControlItem7.Location = new System.Drawing.Point(351, 183);
this.layoutControlItem7.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(105, 33);
this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem7.Text = "layoutControlItem7";
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextToControlDistance = 0;
this.layoutControlItem7.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.btnLcdHistoryDelete;
this.layoutControlItem8.CustomizationFormText = "layoutControlItem8";
this.layoutControlItem8.Location = new System.Drawing.Point(0, 183);
this.layoutControlItem8.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(144, 33);
this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem8.Text = "layoutControlItem8";
this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem8.TextToControlDistance = 0;
this.layoutControlItem8.TextVisible = false;
//
// ucTftpClientcs
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.groupFwUpdate);
this.Name = "ucTftpClientcs";
this.Size = new System.Drawing.Size(462, 242);
((System.ComponentModel.ISupportInitialize)(this.groupFwUpdate)).EndInit();
this.groupFwUpdate.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.teFilename.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.progressDownload.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraEditors.GroupControl groupFwUpdate;
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.SimpleButton btnFindFile;
private DevExpress.XtraEditors.TextEdit teFilename;
private DevExpress.XtraEditors.ProgressBarControl progressDownload;
private DevExpress.XtraEditors.LabelControl lbFilename;
private DevExpress.XtraEditors.LabelControl lbDeviceInfo;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraEditors.LabelControl lbDownloadStatus;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraEditors.SimpleButton btnDownload;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
private DevExpress.XtraEditors.SimpleButton btnReset;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
private DevExpress.XtraEditors.SimpleButton btnLcdHistoryDelete;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
}
}

View File

@@ -0,0 +1,256 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Threading;
using System.Net;
using System.IO;
using Tftp.Net;
using LFP_Manager.Utils;
using LFP_Manager.DataStructure;
namespace LFP_Manager.Controls
{
public delegate void ResetEvent(object sender, int mode, UInt16 value);
public partial class ucTftpClientcs : DevExpress.XtraEditors.XtraUserControl
{
#region CONST
const string BMCB_FILE_NAME = "App.bin";
const string mBMS_FILE_NAME = "mBMS_APP_DL.bin";
#endregion
#region VARIABLES
int ID = 0;
string hostIP = "";
byte[] RbmsVersion;
string TarGetFileName = "";
int transferedBytes = 0;
public event ResetEvent OnReset = null;
#endregion
#region CONSTRUCTOR
public ucTftpClientcs()
{
InitializeComponent();
TarGetFileName = "APP.BIN";
}
#endregion
#region RESET EVENT
private void OnResetEvent(object sender, int mode, UInt16 value)
{
if (OnReset != null)
{
OnReset(sender, mode, value);
}
}
#endregion
#region INFORMATION UPDATE
public void UpdateInfor(int sid, string IpAddr, byte[] fwVersion)
{
ID = sid;
hostIP = IpAddr;
RbmsVersion = fwVersion;
lbDeviceInfo.Text = String.Format(" RBMS ID: {0} IP: {1}"
, sid + 1
, hostIP
);
}
#endregion
#region TFTP FUNCTION
public void FwDownload(string host, string filename)
{
//Setup a TftpClient instance
TftpClient client = new TftpClient(host);
ITftpTransfer transfer = client.Upload(TarGetFileName);
transfer.RetryTimeout = TimeSpan.FromMilliseconds(500);
transfer.RetryCount = 3;
transfer.TransferMode = TftpTransferMode.octet;
//Capture the events that may happen during the transfer
transfer.OnProgress += new TftpProgressHandler(transfer_OnProgress);
transfer.OnFinished += new TftpEventHandler(transfer_OnFinshed);
transfer.OnError += new TftpErrorHandler(transfer_OnError);
//Start the transfer and write the data that we're downloading into a memory stream
FileStream upLoadFile = new FileStream(teFilename.Text, FileMode.Open);
progressDownload.Properties.Maximum = (int)(upLoadFile.Length / 1024);
transfer.Start(upLoadFile);
}
void transfer_OnProgress(ITftpTransfer transfer, TftpTransferProgress progress)
{
string msg = String.Format("Transfer running. Progress: " + progress);
transferedBytes = progress.TransferredBytes / 1024;
TftpMsgProcess(msg, 0);
}
void transfer_OnError(ITftpTransfer transfer, TftpTransferError error)
{
string msg = String.Format("Transfer failed: " + error);
TftpMsgProcess(msg, 2);
}
void transfer_OnFinshed(ITftpTransfer transfer)
{
string msg = String.Format("Transfer succeeded.");
TftpMsgProcess(msg, 1);
}
private void TftpMsgProcess(string msg, int msgType)
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate()
{
lbDownloadStatus.Text = msg;
if (msgType == 0)
{
// transfer progress
progressDownload.Position = transferedBytes;
}
else if (msgType == 1)
{
progressDownload.Position = transferedBytes;
MessageBox.Show(msg, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if (msgType == 2)
{
MessageBox.Show(msg, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}));
}
else
{
lbDownloadStatus.Text = msg;
if (msgType == 0)
{
// transfer progress
progressDownload.Position = transferedBytes;
}
else if (msgType == 1)
{
progressDownload.Position = transferedBytes;
MessageBox.Show(msg, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else if (msgType == 2)
{
MessageBox.Show(msg, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
#region BUTTON EVENT
private void btnFindFile_Click(object sender, EventArgs e)
{
OpenFileDialog fwOpenFile;
fwOpenFile = new OpenFileDialog();
if (fwOpenFile.ShowDialog() == DialogResult.OK)
{
teFilename.Text = fwOpenFile.FileName;
byte[] bName = csUtils.StringToByte(Path.GetFileName(teFilename.Text));
if ((bName[0] == (byte)'B')
&& (bName[1] == (byte)'M')
&& (bName[2] == (byte)'C')
&& (bName[3] == (byte)'B')
)
{
TarGetFileName = BMCB_FILE_NAME;
}
else if ((bName[0] == (byte)'m')
&& (bName[1] == (byte)'B')
&& (bName[2] == (byte)'M')
&& (bName[3] == (byte)'S')
)
{
TarGetFileName = mBMS_FILE_NAME;
}
if (TarGetFileName != "")
lbDownloadStatus.Text = TarGetFileName;
btnDownload.Enabled = true;
}
}
private void btnDownload_Click(object sender, EventArgs e)
{
if ((hostIP != "")&&(teFilename.Text != ""))
{
FwDownload(hostIP, teFilename.Text);
}
}
#endregion
#region RBMS RESET EVENT
private void btnReset_Click(object sender, EventArgs e)
{
OnResetEvent(this, 6, csConstData.ResetFlag.SystemReset);
}
private void btnLcdHistoryDelete_Click(object sender, EventArgs e)
{
OnResetEvent(this, 6, csConstData.ResetFlag.LcdHistoryDelete);
}
public void Reset_Result(string result, bool error)
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate()
{
if (error)
MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}));
}
else
{
if (error)
MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#endregion
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>