feat: Initial commit for LFP_Manager_DBG (V1.1.0.22)

This commit is contained in:
2026-09-22 11:37:05 +09:00
commit df038ae86b
158 changed files with 78308 additions and 0 deletions

30
.gitignore vendored Normal file
View File

@@ -0,0 +1,30 @@
## Visual Studio & C# .gitignore
*.user
*.userosscache
*.suo
*.userprefs
*.dbmdl
*.sln.docstates
# Build Results
[Bb]in/
[Oo]bj/
# Visual Studio 2015+ cache/options directory
.vs/
# NuGet Packages
*.nupkg
packages/
# Upgrade log
UpgradeLog*.XML
UpgradeLog*.xml
_UpgradeReport_Files/
# Windows desktop.ini / Thumbs.db
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
.DS_Store

25
LFP_Manager.sln Normal file
View File

@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33516.290
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LFP_Manager_TW_DBG", "LFP_Manager\LFP_Manager_TW_DBG.csproj", "{BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {81A464DF-E944-44BF-80EE-714CAE6FBEDB}
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,337 @@
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 LFP_Manager.Forms;
using LFP_Manager.DataStructure;
using LFP_Manager.Utils;
using DevExpress.XtraPrinting.Preview;
namespace LFP_Manager.Controls
{
public partial class ucCalibration : DevExpress.XtraEditors.XtraUserControl
{
#region DELEGATE
public delegate void setCalibUpdate(object sender);
public delegate void setCalibCommand(int mode, int index, int flag, ref DeviceParamData aParm, ref DeviceCalibration aCalib);
public delegate Int32 getBattData(int item, int cno);
#endregion
#region VARIABLES
const int CALC_INDEX = 6;
CommConfig Config;
DeviceSystemData SystemData;
DeviceCalibration rCalib;
DeviceCalibration wCalib;
DeviceParamData rParam;
public event setCalibCommand OnCommand = null;
int wFlag = 0;
int dFlag;
int PasswordResult;
#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();
ComponentLoad();
Config = new CommConfig();
dFlag = 0;
}
private void ComponentLoad()
{
CbNewChaMode.Clear();
for (int i = 0; i < csConstData.SystemInfo.CHG_MODE.Length; i++)
{
CbNewChaMode.Properties.Items.Add(csConstData.SystemInfo.CHG_MODE[i]);
}
}
#endregion
#region EXT EVENT FUNCTION
private void OnCommnadEvent(int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib)
{
OnCommand?.Invoke(mode, index, flag, ref aParam, ref aCalib);
}
#endregion
#region PUBLIC FUCTIONS
public void UpdateConfig(CommConfig aConfig)
{
Config = aConfig;
}
public void UpdateData(DeviceSystemData aSystemData, DeviceCalibration aCalib)
{
SystemData = aSystemData;
rCalib = aCalib;
DisplayCalib();
UpdateNewCalib();
}
private void UpdateNewCalib()
{
if (SystemData != null)
{
if (wFlag == 0)
{
teNewCapacity.Text = teCurrCapacity.Text;
teNewSoc.Text = teCurrSoc.Text;
wFlag = 1;
}
}
}
#endregion
#region DISPLAY DATA
private void DisplayCalib()
{
if (SystemData != null)
{
teCurrCapacity.Text = string.Format("{0}", SystemData.ValueData.designedCapacity / 10);
teCurrSoc.Text = string.Format("{0}", SystemData.ValueData.rSOC / 10);
if (SystemData.CalibriationData.ChaMode.Mode >= csConstData.SystemInfo.CHG_MODE.Length)
{
TeChaMode.Text = string.Format("Unknow ({0})", SystemData.CalibriationData.ChaMode.Mode);
}
else
{
TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[SystemData.CalibriationData.ChaMode.Mode];
}
TeChgModeValueCurr.Text = string.Format("{0:0.00}", Convert.ToDouble(SystemData.CalibriationData.ChaMode.Value) / 100);
TeCurrDateTime.Text = string.Format("{0:yyyy-MM-dd HH:mm:ss}", SystemData.BmsDateTime);
// Anti-Theft Data Display
if (SystemData.CalibriationData.AntiTheft.GyroScope == 0)
{
TeAntiTheftGyroCurr.Text = "DISABLE";
}
else
{
TeAntiTheftGyroCurr.Text = "ENABLE";
}
TeSensitive.Text = string.Format("{0}", SystemData.CalibriationData.AntiTheft.GyroScope);
if (dFlag == 0)
{
CbNewChaMode.SelectedIndex = 1;
CbNewChaMode.SelectedIndex = SystemData.CalibriationData.ChaMode.Mode;
TeChgModeValueNew.Text = TeChgModeValueCurr.Text;
dFlag = 1;
}
}
}
#endregion
#region BUTTON EVENT
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
csUtils.TypingOnlyNumber(sender, e, true, true);
}
private void btnCapacitySet_Click(object sender, EventArgs e)
{
wCalib = rCalib.DeepCopy();
if ((teNewCapacity.Text == "")
|| (teNewSoc.Text == "")
)
{
MessageBox.Show("Please check new data");
}
wCalib.CapCalib.DesignCapacity = Convert.ToInt32(teNewCapacity.Text) * 10;
wCalib.CapCalib.SocValue = Convert.ToInt32(teNewSoc.Text);
OnCommnadEvent(15, CALC_INDEX, 1, ref rParam, ref wCalib);
}
private void BtnChaModeSet_Click(object sender, EventArgs e)
{
wCalib = rCalib.DeepCopy();
if (CbNewChaMode.Text == "")
{
MessageBox.Show("Please check new data");
}
wCalib.ChaMode.Mode = CbNewChaMode.SelectedIndex;
wCalib.ChaMode.Value = (int)(Convert.ToDouble(TeChgModeValueNew.Text) * 100);
OnCommnadEvent(16, CALC_INDEX, 1, ref rParam, ref wCalib);
}
private void BtnBmsDateTimeSet_Click(object sender, EventArgs e)
{
wCalib = rCalib.DeepCopy();
if (TeNewDateTime.Text == "")
{
MessageBox.Show("Please check new data");
}
DateTime dateTime = Convert.ToDateTime(TeNewDateTime.Text);
int iDateTime = ((dateTime.Year - 2000) << 26)
| (dateTime.Month << 22)
| (dateTime.Day << 17)
| (dateTime.Hour << 12)
| (dateTime.Minute << 6)
| (dateTime.Second << 0)
;
wCalib.BmsDateTime.sValue[0] = (short)(iDateTime >> 16);
wCalib.BmsDateTime.sValue[1] = (short)(iDateTime >> 0);
OnCommnadEvent(17, CALC_INDEX, 1, ref rParam, ref wCalib);
}
private void BtnGetCurrTime_Click(object sender, EventArgs e)
{
TeNewDateTime.Text = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now);
}
private void BtnClearAntiTheftProtect_Click(object sender, EventArgs e)
{
// Anti Theft Data Clear
PasswordResult = 0;
foreach (Form frm in Application.OpenForms)
{
if (frm.Name == "FmxPassword")
{
frm.Activate();
return;
}
}
FmxPassword PasswordForm = new FmxPassword(Config, 0);
PasswordForm.OnResult += PassWordResultProc;
PasswordForm.ShowDialog();
if (PasswordResult == 1)
{
wCalib = rCalib.DeepCopy();
wCalib.AntiTheft.GyroScope = Config.GyroSensitive;
OnCommnadEvent(19, CALC_INDEX, 1, ref rParam, ref wCalib);
}
}
private void PassWordResultProc(int result)
{
PasswordResult = result;
}
private void BtnAntiTheftEnable_Click(object sender, EventArgs e)
{
// Anti Theft Data Get
PasswordResult = 0;
foreach (Form frm in Application.OpenForms)
{
if (frm.Name == "FmxPassword")
{
frm.Activate();
return;
}
}
FmxPassword PasswordForm = new FmxPassword(Config, 1);
PasswordForm.OnResult += PassWordResultProc;
PasswordForm.ShowDialog();
if (PasswordResult == 1)
{
wCalib = rCalib.DeepCopy();
wCalib.AntiTheft.GyroScope = Config.GyroSensitive;
OnCommnadEvent(18, CALC_INDEX, 1, ref rParam, ref wCalib);
}
}
private void BtnAntiTheftDisable_Click(object sender, EventArgs e)
{
// Anti Theft Data Get
PasswordResult = 0;
foreach (Form frm in Application.OpenForms)
{
if (frm.Name == "FmxPassword")
{
frm.Activate();
return;
}
}
FmxPassword PasswordForm = new FmxPassword(Config, 2);
PasswordForm.OnResult += PassWordResultProc;
PasswordForm.ShowDialog();
if (PasswordResult == 1)
{
wCalib = rCalib.DeepCopy();
wCalib.AntiTheft.GyroScope = 0;
OnCommnadEvent(18, CALC_INDEX, 1, ref rParam, ref wCalib);
}
}
#endregion
#region COMPONENT EVENT
private void CbNewChaMode_SelectedIndexChanged(object sender, EventArgs e)
{
switch (CbNewChaMode.SelectedIndex)
{
case 0:
TeChgModeValueNew.Enabled = false;
break;
case 1:
TeChgModeValueNew.Enabled = false;
break;
case 2:
TeChgModeValueNew.Enabled = true;
break;
case 3:
TeChgModeValueNew.Enabled = true;
break;
case 4:
TeChgModeValueNew.Enabled = true;
break;
default:
TeChgModeValueNew.Enabled = false;
break;
}
}
#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,303 @@
namespace LFP_Manager.Controls
{
partial class ucCalibrationView
{
/// <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.edDchCalibration = new DevExpress.XtraEditors.TextEdit();
this.edChgCalibration = new DevExpress.XtraEditors.TextEdit();
this.edChgOption = new DevExpress.XtraEditors.TextEdit();
this.edBattCapacity = new DevExpress.XtraEditors.TextEdit();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.gbBattCapacity = new DevExpress.XtraLayout.LayoutControlGroup();
this.lbBattCapacity = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.gbCalibrationValue = new DevExpress.XtraLayout.LayoutControlGroup();
this.lbChgOption = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.lbChgCalibration = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.lbDchCalibration = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.edDchCalibration.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edChgCalibration.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edChgOption.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edBattCapacity.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbBattCapacity)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbBattCapacity)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbCalibrationValue)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbChgOption)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbChgCalibration)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbDchCalibration)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.AllowCustomization = false;
this.layoutControl1.Controls.Add(this.edDchCalibration);
this.layoutControl1.Controls.Add(this.edChgCalibration);
this.layoutControl1.Controls.Add(this.edChgOption);
this.layoutControl1.Controls.Add(this.edBattCapacity);
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(993, 152, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(449, 277);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// edDchCalibration
//
this.edDchCalibration.Location = new System.Drawing.Point(129, 132);
this.edDchCalibration.Name = "edDchCalibration";
this.edDchCalibration.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.edDchCalibration.Properties.Appearance.Options.UseFont = true;
this.edDchCalibration.Properties.Appearance.Options.UseTextOptions = true;
this.edDchCalibration.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edDchCalibration.Size = new System.Drawing.Size(314, 22);
this.edDchCalibration.StyleController = this.layoutControl1;
this.edDchCalibration.TabIndex = 7;
//
// edChgCalibration
//
this.edChgCalibration.Location = new System.Drawing.Point(129, 106);
this.edChgCalibration.Name = "edChgCalibration";
this.edChgCalibration.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.edChgCalibration.Properties.Appearance.Options.UseFont = true;
this.edChgCalibration.Properties.Appearance.Options.UseTextOptions = true;
this.edChgCalibration.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edChgCalibration.Size = new System.Drawing.Size(314, 22);
this.edChgCalibration.StyleController = this.layoutControl1;
this.edChgCalibration.TabIndex = 6;
//
// edChgOption
//
this.edChgOption.Location = new System.Drawing.Point(129, 80);
this.edChgOption.Name = "edChgOption";
this.edChgOption.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.edChgOption.Properties.Appearance.Options.UseFont = true;
this.edChgOption.Properties.Appearance.Options.UseTextOptions = true;
this.edChgOption.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edChgOption.Size = new System.Drawing.Size(314, 22);
this.edChgOption.StyleController = this.layoutControl1;
this.edChgOption.TabIndex = 5;
//
// edBattCapacity
//
this.edBattCapacity.Location = new System.Drawing.Point(129, 27);
this.edBattCapacity.Name = "edBattCapacity";
this.edBattCapacity.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.edBattCapacity.Properties.Appearance.Options.UseFont = true;
this.edBattCapacity.Properties.Appearance.Options.UseTextOptions = true;
this.edBattCapacity.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edBattCapacity.Size = new System.Drawing.Size(314, 22);
this.edBattCapacity.StyleController = this.layoutControl1;
this.edBattCapacity.TabIndex = 4;
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.emptySpaceItem1,
this.gbBattCapacity,
this.gbCalibrationValue});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(449, 277);
this.Root.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 158);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(447, 117);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// gbBattCapacity
//
this.gbBattCapacity.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lbBattCapacity,
this.layoutControlItem1});
this.gbBattCapacity.Location = new System.Drawing.Point(0, 0);
this.gbBattCapacity.Name = "gbBattCapacity";
this.gbBattCapacity.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.gbBattCapacity.Size = new System.Drawing.Size(447, 53);
this.gbBattCapacity.Spacing = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.gbBattCapacity.Text = "Battery Capacity";
//
// lbBattCapacity
//
this.lbBattCapacity.AllowHotTrack = false;
this.lbBattCapacity.Location = new System.Drawing.Point(0, 0);
this.lbBattCapacity.Name = "lbBattCapacity";
this.lbBattCapacity.Size = new System.Drawing.Size(123, 26);
this.lbBattCapacity.Text = " Battery Capacity";
this.lbBattCapacity.TextSize = new System.Drawing.Size(96, 14);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.edBattCapacity;
this.layoutControlItem1.Location = new System.Drawing.Point(123, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(318, 26);
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// gbCalibrationValue
//
this.gbCalibrationValue.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lbChgOption,
this.layoutControlItem2,
this.lbChgCalibration,
this.layoutControlItem3,
this.lbDchCalibration,
this.layoutControlItem4});
this.gbCalibrationValue.Location = new System.Drawing.Point(0, 53);
this.gbCalibrationValue.Name = "gbCalibrationValue";
this.gbCalibrationValue.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.gbCalibrationValue.Size = new System.Drawing.Size(447, 105);
this.gbCalibrationValue.Spacing = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.gbCalibrationValue.Text = "Calibration Value";
//
// lbChgOption
//
this.lbChgOption.AllowHotTrack = false;
this.lbChgOption.Location = new System.Drawing.Point(0, 0);
this.lbChgOption.Name = "lbChgOption";
this.lbChgOption.Size = new System.Drawing.Size(123, 26);
this.lbChgOption.Text = " Charge Option";
this.lbChgOption.TextSize = new System.Drawing.Size(96, 14);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.edChgOption;
this.layoutControlItem2.Location = new System.Drawing.Point(123, 0);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(318, 26);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// lbChgCalibration
//
this.lbChgCalibration.AllowHotTrack = false;
this.lbChgCalibration.Location = new System.Drawing.Point(0, 26);
this.lbChgCalibration.Name = "lbChgCalibration";
this.lbChgCalibration.Size = new System.Drawing.Size(123, 26);
this.lbChgCalibration.Text = " Calibration (CHG)";
this.lbChgCalibration.TextSize = new System.Drawing.Size(96, 14);
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.edChgCalibration;
this.layoutControlItem3.Location = new System.Drawing.Point(123, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(318, 26);
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// lbDchCalibration
//
this.lbDchCalibration.AllowHotTrack = false;
this.lbDchCalibration.Location = new System.Drawing.Point(0, 52);
this.lbDchCalibration.Name = "lbDchCalibration";
this.lbDchCalibration.Size = new System.Drawing.Size(123, 26);
this.lbDchCalibration.Text = " Calibration (DCH)";
this.lbDchCalibration.TextSize = new System.Drawing.Size(96, 14);
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.edDchCalibration;
this.layoutControlItem4.Location = new System.Drawing.Point(123, 52);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(318, 26);
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// ucCalibrationView
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "ucCalibrationView";
this.Size = new System.Drawing.Size(449, 277);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.edDchCalibration.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edChgCalibration.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edChgOption.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edBattCapacity.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbBattCapacity)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbBattCapacity)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbCalibrationValue)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbChgOption)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbChgCalibration)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbDchCalibration)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraEditors.TextEdit edBattCapacity;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraEditors.TextEdit edDchCalibration;
private DevExpress.XtraEditors.TextEdit edChgCalibration;
private DevExpress.XtraEditors.TextEdit edChgOption;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.SimpleLabelItem lbBattCapacity;
private DevExpress.XtraLayout.SimpleLabelItem lbChgOption;
private DevExpress.XtraLayout.SimpleLabelItem lbChgCalibration;
private DevExpress.XtraLayout.SimpleLabelItem lbDchCalibration;
private DevExpress.XtraLayout.LayoutControlGroup gbBattCapacity;
private DevExpress.XtraLayout.LayoutControlGroup gbCalibrationValue;
}
}

View File

@@ -0,0 +1,63 @@
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.DataStructure;
namespace LFP_Manager.Controls
{
public partial class ucCalibrationView : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
DeviceSystemData ModuleData;
#endregion
public ucCalibrationView()
{
InitializeComponent();
edBattCapacity.Enabled = false;
edChgOption.Enabled = false;
edChgCalibration.Enabled = false;
edDchCalibration.Enabled = false;
}
public void DisplayValue(ref DeviceSystemData[] aSystemData)
{
ModuleData = aSystemData[0];
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate ()
{
edBattCapacity.Text = String.Format("{0}", ModuleData.CalibriationData.Battery.Capacity);
if (ModuleData.CalibriationData.Current.ChargeOption == 0)
edChgOption.Text = "Full Charge";
else
edChgOption.Text = "Limit Charge";
edChgCalibration.Text = String.Format("{0}", ModuleData.CalibriationData.Current.ChgCalibration_K);
edDchCalibration.Text = String.Format("{0}", ModuleData.CalibriationData.Current.DchCalibration_K);
}));
}
else
{
edBattCapacity.Text = String.Format("{0}", ModuleData.CalibriationData.Battery.Capacity);
if (ModuleData.CalibriationData.Current.ChargeOption == 0)
edChgOption.Text = "Full Charge";
else
edChgOption.Text = "Limit Charge";
edChgCalibration.Text = String.Format("{0}", ModuleData.CalibriationData.Current.ChgCalibration_K);
edDchCalibration.Text = String.Format("{0}", ModuleData.CalibriationData.Current.DchCalibration_K);
}
}
}
}

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,594 @@
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.edRecvWaitTime = new DevExpress.XtraEditors.TextEdit();
this.cbModuleQty = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbUartProtocol = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbUartModel = new DevExpress.XtraEditors.ComboBoxEdit();
this.rbUart = new DevExpress.XtraEditors.CheckEdit();
this.cbUartPort = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbDbLogPeriod = new DevExpress.XtraEditors.ComboBoxEdit();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.btnSave = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
this.gbDbConfig = new DevExpress.XtraLayout.LayoutControlGroup();
this.lbDbLogPeriod = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
this.simpleLabelItem3 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.simpleLabelItem4 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup6 = new DevExpress.XtraLayout.LayoutControlGroup();
this.simpleLabelItem5 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.edRecvWaitTime.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbModuleQty.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbUartProtocol.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbUartModel.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rbUart.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbUartPort.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbDbLogPeriod.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbDbConfig)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbDbLogPeriod)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.edRecvWaitTime);
this.layoutControl1.Controls.Add(this.cbModuleQty);
this.layoutControl1.Controls.Add(this.cbUartProtocol);
this.layoutControl1.Controls.Add(this.cbUartModel);
this.layoutControl1.Controls.Add(this.rbUart);
this.layoutControl1.Controls.Add(this.cbUartPort);
this.layoutControl1.Controls.Add(this.cbDbLogPeriod);
this.layoutControl1.Controls.Add(this.btnClose);
this.layoutControl1.Controls.Add(this.btnSave);
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(889, 267, 774, 451);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(462, 421);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// edRecvWaitTime
//
this.edRecvWaitTime.EditValue = "100";
this.edRecvWaitTime.Location = new System.Drawing.Point(163, 182);
this.edRecvWaitTime.Name = "edRecvWaitTime";
this.edRecvWaitTime.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.edRecvWaitTime.Properties.Appearance.Options.UseFont = true;
this.edRecvWaitTime.Properties.Appearance.Options.UseTextOptions = true;
this.edRecvWaitTime.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edRecvWaitTime.Size = new System.Drawing.Size(291, 24);
this.edRecvWaitTime.StyleController = this.layoutControl1;
this.edRecvWaitTime.TabIndex = 14;
//
// cbModuleQty
//
this.cbModuleQty.EditValue = "1";
this.cbModuleQty.Location = new System.Drawing.Point(163, 154);
this.cbModuleQty.Name = "cbModuleQty";
this.cbModuleQty.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbModuleQty.Properties.Appearance.Options.UseFont = true;
this.cbModuleQty.Properties.Appearance.Options.UseTextOptions = true;
this.cbModuleQty.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbModuleQty.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbModuleQty.Properties.Items.AddRange(new object[] {
"LFPS-48100S-J"});
this.cbModuleQty.Size = new System.Drawing.Size(291, 24);
this.cbModuleQty.StyleController = this.layoutControl1;
this.cbModuleQty.TabIndex = 13;
//
// cbUartProtocol
//
this.cbUartProtocol.EditValue = "AMG";
this.cbUartProtocol.Location = new System.Drawing.Point(163, 239);
this.cbUartProtocol.Name = "cbUartProtocol";
this.cbUartProtocol.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbUartProtocol.Properties.Appearance.Options.UseFont = true;
this.cbUartProtocol.Properties.Appearance.Options.UseTextOptions = true;
this.cbUartProtocol.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbUartProtocol.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbUartProtocol.Properties.Items.AddRange(new object[] {
"LFPS-48100S-J"});
this.cbUartProtocol.Size = new System.Drawing.Size(291, 24);
this.cbUartProtocol.StyleController = this.layoutControl1;
this.cbUartProtocol.TabIndex = 12;
//
// cbUartModel
//
this.cbUartModel.EditValue = "LFPM-4820";
this.cbUartModel.Location = new System.Drawing.Point(163, 126);
this.cbUartModel.Name = "cbUartModel";
this.cbUartModel.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.cbUartModel.Properties.Appearance.Options.UseFont = true;
this.cbUartModel.Properties.Appearance.Options.UseTextOptions = true;
this.cbUartModel.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cbUartModel.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbUartModel.Properties.Items.AddRange(new object[] {
"LFPS-48100S-J"});
this.cbUartModel.Size = new System.Drawing.Size(291, 24);
this.cbUartModel.StyleController = this.layoutControl1;
this.cbUartModel.TabIndex = 11;
//
// rbUart
//
this.rbUart.Location = new System.Drawing.Point(16, 37);
this.rbUart.Name = "rbUart";
this.rbUart.Properties.Caption = "RS-232";
this.rbUart.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
this.rbUart.Properties.RadioGroupIndex = 1;
this.rbUart.Size = new System.Drawing.Size(430, 20);
this.rbUart.StyleController = this.layoutControl1;
this.rbUart.TabIndex = 8;
this.rbUart.TabStop = false;
//
// cbUartPort
//
this.cbUartPort.EditValue = "";
this.cbUartPort.Location = new System.Drawing.Point(163, 98);
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.Size = new System.Drawing.Size(291, 24);
this.cbUartPort.StyleController = this.layoutControl1;
this.cbUartPort.TabIndex = 6;
//
// cbDbLogPeriod
//
this.cbDbLogPeriod.EditValue = "1";
this.cbDbLogPeriod.Location = new System.Drawing.Point(162, 316);
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(293, 24);
this.cbDbLogPeriod.StyleController = this.layoutControl1;
this.cbDbLogPeriod.TabIndex = 9;
//
// 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(234, 381);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(224, 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, 381);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(226, 36);
this.btnSave.StyleController = this.layoutControl1;
this.btnSave.TabIndex = 6;
this.btnSave.Text = "SAVE";
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// 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.layoutControlItem12,
this.layoutControlItem13,
this.gbDbConfig,
this.emptySpaceItem2,
this.layoutControlGroup4,
this.layoutControlGroup5,
this.layoutControlGroup6,
this.emptySpaceItem1});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup1.Size = new System.Drawing.Size(462, 421);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem12
//
this.layoutControlItem12.Control = this.btnSave;
this.layoutControlItem12.CustomizationFormText = "layoutControlItem12";
this.layoutControlItem12.Location = new System.Drawing.Point(0, 377);
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(230, 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(230, 377);
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(228, 40);
this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem13.TextVisible = false;
//
// gbDbConfig
//
this.gbDbConfig.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lbDbLogPeriod,
this.layoutControlItem15});
this.gbDbConfig.Location = new System.Drawing.Point(0, 288);
this.gbDbConfig.Name = "gbDbConfig";
this.gbDbConfig.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.gbDbConfig.Size = new System.Drawing.Size(458, 55);
this.gbDbConfig.Spacing = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.gbDbConfig.Text = "Database Config";
//
// lbDbLogPeriod
//
this.lbDbLogPeriod.AllowHotTrack = false;
this.lbDbLogPeriod.Location = new System.Drawing.Point(0, 0);
this.lbDbLogPeriod.Name = "lbDbLogPeriod";
this.lbDbLogPeriod.Size = new System.Drawing.Size(155, 28);
this.lbDbLogPeriod.Text = " DB Log Period";
this.lbDbLogPeriod.TextSize = new System.Drawing.Size(123, 14);
//
// layoutControlItem15
//
this.layoutControlItem15.Control = this.cbDbLogPeriod;
this.layoutControlItem15.Location = new System.Drawing.Point(155, 0);
this.layoutControlItem15.MaxSize = new System.Drawing.Size(0, 28);
this.layoutControlItem15.MinSize = new System.Drawing.Size(54, 28);
this.layoutControlItem15.Name = "layoutControlItem15";
this.layoutControlItem15.Size = new System.Drawing.Size(297, 28);
this.layoutControlItem15.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem15.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem15.TextVisible = false;
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.Location = new System.Drawing.Point(0, 343);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(458, 34);
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlGroup4
//
this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem3});
this.layoutControlGroup4.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup4.Name = "layoutControlGroup4";
this.layoutControlGroup4.Size = new System.Drawing.Size(458, 69);
this.layoutControlGroup4.Text = "Comm. Type";
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.rbUart;
this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(434, 24);
this.layoutControlItem3.Text = "Comm. Type";
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlGroup5
//
this.layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.simpleLabelItem3,
this.layoutControlItem1,
this.simpleLabelItem4,
this.layoutControlItem4,
this.layoutControlItem2,
this.simpleLabelItem1,
this.simpleLabelItem2,
this.layoutControlItem6});
this.layoutControlGroup5.Location = new System.Drawing.Point(0, 69);
this.layoutControlGroup5.Name = "layoutControlGroup5";
this.layoutControlGroup5.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup5.Size = new System.Drawing.Size(458, 141);
this.layoutControlGroup5.Text = "Comm. Config";
//
// simpleLabelItem3
//
this.simpleLabelItem3.AllowHotTrack = false;
this.simpleLabelItem3.Location = new System.Drawing.Point(0, 0);
this.simpleLabelItem3.Name = "simpleLabelItem3";
this.simpleLabelItem3.Size = new System.Drawing.Size(155, 28);
this.simpleLabelItem3.Text = " Serial Port";
this.simpleLabelItem3.TextSize = new System.Drawing.Size(123, 14);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.cbUartPort;
this.layoutControlItem1.Location = new System.Drawing.Point(155, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(295, 28);
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// simpleLabelItem4
//
this.simpleLabelItem4.AllowHotTrack = false;
this.simpleLabelItem4.Location = new System.Drawing.Point(0, 28);
this.simpleLabelItem4.Name = "simpleLabelItem4";
this.simpleLabelItem4.Size = new System.Drawing.Size(155, 28);
this.simpleLabelItem4.Text = " Model";
this.simpleLabelItem4.TextSize = new System.Drawing.Size(123, 14);
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.cbUartModel;
this.layoutControlItem4.Location = new System.Drawing.Point(155, 28);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(295, 28);
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.cbModuleQty;
this.layoutControlItem2.Location = new System.Drawing.Point(155, 56);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(295, 28);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
this.layoutControlItem2.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
//
// simpleLabelItem1
//
this.simpleLabelItem1.AllowHotTrack = false;
this.simpleLabelItem1.Location = new System.Drawing.Point(0, 56);
this.simpleLabelItem1.Name = "simpleLabelItem1";
this.simpleLabelItem1.Size = new System.Drawing.Size(155, 28);
this.simpleLabelItem1.Text = " Module Q\'ty";
this.simpleLabelItem1.TextSize = new System.Drawing.Size(123, 14);
this.simpleLabelItem1.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
//
// simpleLabelItem2
//
this.simpleLabelItem2.AllowHotTrack = false;
this.simpleLabelItem2.Location = new System.Drawing.Point(0, 84);
this.simpleLabelItem2.Name = "simpleLabelItem2";
this.simpleLabelItem2.Size = new System.Drawing.Size(155, 28);
this.simpleLabelItem2.Text = " Recv Wait Time (ms)";
this.simpleLabelItem2.TextSize = new System.Drawing.Size(123, 14);
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.edRecvWaitTime;
this.layoutControlItem6.Location = new System.Drawing.Point(155, 84);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(295, 28);
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// layoutControlGroup6
//
this.layoutControlGroup6.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.simpleLabelItem5,
this.layoutControlItem5});
this.layoutControlGroup6.Location = new System.Drawing.Point(0, 210);
this.layoutControlGroup6.Name = "layoutControlGroup6";
this.layoutControlGroup6.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup6.Size = new System.Drawing.Size(458, 57);
this.layoutControlGroup6.Text = "Protocol Config";
this.layoutControlGroup6.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
//
// simpleLabelItem5
//
this.simpleLabelItem5.AllowHotTrack = false;
this.simpleLabelItem5.Location = new System.Drawing.Point(0, 0);
this.simpleLabelItem5.Name = "simpleLabelItem5";
this.simpleLabelItem5.Size = new System.Drawing.Size(155, 28);
this.simpleLabelItem5.Text = " Protocol";
this.simpleLabelItem5.TextSize = new System.Drawing.Size(123, 14);
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.cbUartProtocol;
this.layoutControlItem5.Location = new System.Drawing.Point(155, 0);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(295, 28);
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 267);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(458, 21);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlGroup2
//
this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2";
this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup2.GroupBordersVisible = false;
this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup2.Name = "Root";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
this.layoutControlGroup2.Size = new System.Drawing.Size(433, 34);
this.layoutControlGroup2.TextVisible = false;
//
// layoutControlGroup3
//
this.layoutControlGroup3.CustomizationFormText = "layoutControlGroup3";
this.layoutControlGroup3.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup3.GroupBordersVisible = false;
this.layoutControlGroup3.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup3.Name = "Root";
this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup3.Size = new System.Drawing.Size(433, 85);
this.layoutControlGroup3.TextVisible = false;
//
// 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(462, 421);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.edRecvWaitTime.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbModuleQty.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbUartProtocol.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbUartModel.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rbUart.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbUartPort.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbDbLogPeriod.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbDbConfig)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbDbLogPeriod)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.SimpleButton btnClose;
private DevExpress.XtraEditors.SimpleButton btnSave;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13;
private DevExpress.XtraEditors.ComboBoxEdit cbDbLogPeriod;
private DevExpress.XtraLayout.LayoutControlGroup gbDbConfig;
private DevExpress.XtraLayout.SimpleLabelItem lbDbLogPeriod;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem15;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private DevExpress.XtraEditors.ComboBoxEdit cbUartPort;
private DevExpress.XtraEditors.CheckEdit rbUart;
private DevExpress.XtraEditors.ComboBoxEdit cbUartModel;
private DevExpress.XtraEditors.ComboBoxEdit cbUartProtocol;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup6;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem5;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraEditors.ComboBoxEdit cbModuleQty;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2;
private DevExpress.XtraEditors.TextEdit edRecvWaitTime;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
}
}

View File

@@ -0,0 +1,170 @@
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 partial class ucCommConfig : DevExpress.XtraEditors.XtraUserControl
{
#region EVENT
public delegate void CloseEvent(object aConfig, bool saved);
#endregion
#region VARIABLES
CommConfig Config = new CommConfig();
public event CloseEvent OnClose = null;
DataTable dtComport = new DataTable();
private bool saved = false;
#endregion
#region CONSTRUCTORS
public ucCommConfig()
{
InitializeComponent();
CommPortLoad();
IniLoad();
}
private void InitComportDataTable()
{
dtComport = new DataTable();
dtComport.Columns.Add("name", typeof(string));
dtComport.Columns.Add("name2", typeof(string));
}
#endregion
#region DATA LOAD AND SAVE
private void CommPortLoad()
{
bool found = false;
int ComId = 0;
InitComportDataTable();
foreach (string comport in SerialPort.GetPortNames())
{
DataRow aRow = dtComport.NewRow();
aRow["name"] = comport;
dtComport.Rows.Add(aRow);
}
for (int i = 0; i < dtComport.Rows.Count; i++)
{
cbUartPort.Properties.Items.Add(dtComport.Rows[i]["name"].ToString());
}
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;
}
}
}
private void IniLoad()
{
csIniControlFunction.IniLoad(Application.ExecutablePath, ref Config);
cbUartModel.Properties.Items.Clear();
foreach (string m_name in csConstData.UART_MODEL)
{
cbUartModel.Properties.Items.Add(m_name);
}
cbModuleQty.Properties.Items.Clear();
for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_SIZE; i++)
{
cbModuleQty.Properties.Items.Add(string.Format("{0}", i + 1));
}
cbUartProtocol.Properties.Items.Clear();
foreach (string m_name in csConstData.UART_PROTOCOL)
{
cbUartProtocol.Properties.Items.Add(m_name);
}
cbUartPort.Text = Config.UartPort;
cbUartModel.SelectedIndex = Config.UartModelIndex;
cbUartProtocol.SelectedIndex = Config.UartProtocol;
if (Config.ModuleQty <= 0) Config.ModuleQty = 1;
cbModuleQty.SelectedIndex = Config.ModuleQty - 1;
edRecvWaitTime.Text = string.Format("{0}", Config.RecvWaitTime);
cbDbLogPeriod.Text = Config.DbLogPeriod.ToString();
rbUart.Checked = true;
}
private void IniSave()
{
Config.CommType = csConstData.CommType.COMM_UART;
Config.UartPort = cbUartPort.Text;
Config.UartModelIndex = cbUartModel.SelectedIndex;
Config.ModuleQty = cbModuleQty.SelectedIndex + 1;
Config.UartProtocol = cbUartProtocol.SelectedIndex;
Config.RecvWaitTime = Convert.ToInt32(edRecvWaitTime.Text);
Config.DbLogPeriod = Convert.ToInt32(cbDbLogPeriod.Text);
csIniControlFunction.IniSave(Application.ExecutablePath, Config);
saved = true;
}
#endregion
#region COMPONENT EVENT
private void btnClose_Click(object sender, EventArgs e)
{
if (OnClose != null) OnClose(Config, saved);
}
private void btnSave_Click(object sender, EventArgs e)
{
IniSave();
}
#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>

257
LFP_Manager/Controls/ucDataLog.Designer.cs generated Normal file
View File

@@ -0,0 +1,257 @@
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.AllowCustomization = false;
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.AllowCustomization = false;
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, 23);
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, 173);
this.layoutControl6.TabIndex = 0;
this.layoutControl6.Text = "layoutControl6";
//
// btnOpenLogFolder
//
this.btnOpenLogFolder.Location = new System.Drawing.Point(3, 108);
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, 67);
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.Name = "layoutControlGroup6";
this.layoutControlGroup6.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup6.Size = new System.Drawing.Size(344, 173);
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, 71);
this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem13.TextVisible = false;
//
// layoutControlItem12
//
this.layoutControlItem12.Control = this.btnOpenLogFolder;
this.layoutControlItem12.CustomizationFormText = "layoutControlItem12";
this.layoutControlItem12.Location = new System.Drawing.Point(0, 105);
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.TextSize = new System.Drawing.Size(0, 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.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.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.TextSize = new System.Drawing.Size(0, 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,160 @@
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;
DeviceSystemTotalData SystemTotalData;
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 DeviceSystemTotalData aSystemTotalData, ref DeviceSystemData aSystemData)
{
Active = aStatus;
Config = aConfig;
SystemTotalData = aSystemTotalData;
SystemData = aSystemData;
}
public void UpdateData(ref DeviceSystemTotalData aSystemTotalData, ref DeviceSystemData aSystemData)
{
SystemTotalData = aSystemTotalData;
SystemData = aSystemData;
}
#endregion
#region TIMER EVENT
private void tmrLogging_Tick(object sender, EventArgs e)
{
DateTime cDate = DateTime.Now;
int ss;
if ((logging) && (Active))
{
//if (SystemData[0].CommFail == false)
//{
ss = Convert.ToInt16(cbLogTime.Text);
if (
((bakDateTime.Minute != cDate.Minute)
|| (bakDateTime.Second != cDate.Second))
&& ((cDate.Second % ss) == 0)
)
{
int mQty = csUtils.GetModuleQty(Config);
for (int i = 0; i < mQty; i++)
{
try
{
csLog.SystemDataLog(i + 1, Config, SystemData, cDate, Application.ExecutablePath, LogFileName);
bakDateTime = cDate;
}
catch (Exception)
{
}
}
if (mQty > 0)
{
try
{
csLog.SystemTotalDataLog(Config, SystemTotalData, cDate, Application.ExecutablePath, LogFileNameTotal);
bakDateTime = cDate;
}
catch (Exception)
{
}
}
}
//}
}
}
#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";
if (OnUpdate != null)
{
OnUpdate(this, String.Format("Logging: SHELFX_LOG_{0}.csv", LogFileName), true, Convert.ToInt16(cbLogTime.Text));
}
}
}
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,278 @@
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.AllowCustomization = false;
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.AllowCustomization = false;
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, 23);
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, 142);
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, 20);
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, 110);
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, 134);
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(692, 108);
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(692, 108);
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(688, 104);
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.Name = "layoutControlGroup2";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup2.Size = new System.Drawing.Size(789, 142);
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, 138);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 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, 114);
this.layoutControlItem14.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 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.TextSize = new System.Drawing.Size(0, 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.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.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.TextSize = new System.Drawing.Size(0, 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,54 @@
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 (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate ()
{
if (cbPacketLog.Checked)
meDataLog.Text = aEvent + meDataLog.Text;
}));
}
else
{
if (cbPacketLog.Checked)
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>

471
LFP_Manager/Controls/ucHistroy.Designer.cs generated Normal file
View File

@@ -0,0 +1,471 @@
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()
{
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();
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.pgChart = new DevExpress.XtraTab.XtraTabPage();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.chartVI = new DevExpress.XtraCharts.ChartControl();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.pgGrid = new DevExpress.XtraTab.XtraTabPage();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
this.btnExportExcel = new DevExpress.XtraEditors.SimpleButton();
this.gridSearchResult = new System.Windows.Forms.DataGridView();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
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.pgChart.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((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.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
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.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).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,
this.pgChart});
//
// pgChart
//
this.pgChart.Controls.Add(this.layoutControl2);
this.pgChart.Name = "pgChart";
this.pgChart.Size = new System.Drawing.Size(834, 516);
this.pgChart.Text = "Result Chart";
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.chartVI);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.Location = new System.Drawing.Point(0, 0);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.Root = this.layoutControlGroup2;
this.layoutControl2.Size = new System.Drawing.Size(834, 516);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// 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(828, 510);
this.chartVI.TabIndex = 4;
//
// 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.layoutControlItem7});
this.layoutControlGroup2.Name = "layoutControlGroup2";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup2.Size = new System.Drawing.Size(834, 516);
this.layoutControlGroup2.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.chartVI;
this.layoutControlItem7.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(832, 514);
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// 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.btnExportExcel);
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.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1120, 298, 650, 400);
this.layoutControl3.Root = this.Root;
this.layoutControl3.Size = new System.Drawing.Size(834, 516);
this.layoutControl3.TabIndex = 0;
this.layoutControl3.Text = "layoutControl3";
//
// btnExportExcel
//
this.btnExportExcel.Location = new System.Drawing.Point(728, 481);
this.btnExportExcel.Name = "btnExportExcel";
this.btnExportExcel.Size = new System.Drawing.Size(103, 32);
this.btnExportExcel.StyleController = this.layoutControl3;
this.btnExportExcel.TabIndex = 5;
this.btnExportExcel.Text = "Export Excel";
this.btnExportExcel.Click += new System.EventHandler(this.btnExportExcel_Click);
//
// 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, 474);
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.layoutControlItem6,
this.emptySpaceItem1});
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.MinSize = new System.Drawing.Size(104, 24);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(832, 478);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.btnExportExcel;
this.layoutControlItem6.Location = new System.Drawing.Point(725, 478);
this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(107, 36);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 478);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(725, 36);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// 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.pgChart.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((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.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
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.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).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 pgChart;
private DevExpress.XtraTab.XtraTabPage pgGrid;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
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;
private DevExpress.XtraEditors.SimpleButton btnExportExcel;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraCharts.ChartControl chartVI;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
}
}

View File

@@ -0,0 +1,563 @@
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 DevExpress.XtraCharts;
using System.Data.SQLite;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Utils;
namespace LFP_Manager.Controls
{
public partial class ucHistroy : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
CommConfig Config;
DataTable dtHistory;
Series seriesVolt;
Series seriesCurr;
Series seriesTemp;
Series seriesSoc;
LineSeriesView currLineView;
LineSeriesView tempLineView;
LineSeriesView socLineView;
SecondaryAxisY currAxisY;
SecondaryAxisY tempAxisY;
SecondaryAxisY socAxisY;
#endregion
#region CONSTRUCTOR
public ucHistroy()
{
InitializeComponent();
dtHistory = new DataTable();
InitChart();
gridSearchResult.CellFormatting += gridSearchResult_CellFormatting;
}
public void SetCommCofig(CommConfig aConfig)
{
Config = aConfig;
}
private void InitChart()
{
chartVI.Series.Clear();
chartVI.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
if (chartVI.Titles.Count > 0)
chartVI.Titles[0].Visibility = DevExpress.Utils.DefaultBoolean.False;
//-------------------- Series Volt -----------------------//
seriesVolt = new Series(String.Format("Volt"), ViewType.Line)
{
DataSource = dtHistory,
CrosshairLabelVisibility = DevExpress.Utils.DefaultBoolean.True,
CrosshairLabelPattern = "{S} : {V:F1}V",
// Specify data members to bind the series.
ArgumentScaleType = ScaleType.DateTime,
ArgumentDataMember = "create_date",
ValueScaleType = ScaleType.Numerical,
};
seriesVolt.ValueDataMembers.AddRange(new string[] { String.Format("module_voltage") });
chartVI.Series.Add(seriesVolt);
//-------------------- Series Current -----------------------//
seriesCurr = new Series(String.Format("Curr"), ViewType.Line)
{
DataSource = dtHistory,
CrosshairLabelVisibility = DevExpress.Utils.DefaultBoolean.True,
CrosshairLabelPattern = "{S} : {V:F1}A",
// Specify data members to bind the series.
ArgumentScaleType = ScaleType.DateTime,
ArgumentDataMember = "create_date",
ValueScaleType = ScaleType.Numerical,
};
seriesCurr.ValueDataMembers.AddRange(new string[] { String.Format("module_current") });
chartVI.Series.Add(seriesCurr);
//-------------------- Series Temperature -----------------------//
seriesTemp = new Series(String.Format("Temp"), ViewType.Line)
{
DataSource = dtHistory,
CrosshairLabelVisibility = DevExpress.Utils.DefaultBoolean.True,
CrosshairLabelPattern = "{S} : {V:F1}C",
// Specify data members to bind the series.
ArgumentScaleType = ScaleType.DateTime,
ArgumentDataMember = "create_date",
ValueScaleType = ScaleType.Numerical,
};
seriesTemp.ValueDataMembers.AddRange(new string[] { String.Format("temperature_01") });
chartVI.Series.Add(seriesTemp);
//-------------------- Series SOC -----------------------//
seriesSoc = new Series(String.Format("SOC"), ViewType.Line)
{
DataSource = dtHistory,
CrosshairLabelVisibility = DevExpress.Utils.DefaultBoolean.True,
CrosshairLabelPattern = "{S} : {V:F1}%",
// Specify data members to bind the series.
ValueScaleType = ScaleType.Numerical,
ArgumentScaleType = ScaleType.DateTime,
ArgumentDataMember = "create_date",
};
seriesSoc.ValueDataMembers.AddRange(new string[] { String.Format("module_soc") });
chartVI.Series.Add(seriesSoc);
XYDiagram diagram = (XYDiagram)chartVI.Diagram;
diagram.AxisX.DateTimeScaleOptions.AggregateFunction = AggregateFunction.Sum;
diagram.AxisX.DateTimeScaleOptions.MeasureUnit = DateTimeMeasureUnit.Second;
diagram.AxisX.VisualRange.Auto = true;
diagram.AxisX.VisualRange.AutoSideMargins = false;
diagram.AxisX.VisualRange.SideMarginsValue = 0;
diagram.AxisX.VisualRange.StartSideMargin = 0;
diagram.AxisX.VisualRange.EndSideMargin = 0;
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.TextPattern = "{A:HH:mm:ss}";
// Axis Y - Voltage
diagram.AxisY.VisualRange.Auto = false;
diagram.AxisY.VisualRange.AutoSideMargins = false;
diagram.AxisY.VisualRange.StartSideMargin = 0;
diagram.AxisY.VisualRange.EndSideMargin = 0;
diagram.AxisY.VisualRange.MaxValue = 60.0;
diagram.AxisY.VisualRange.MinValue = 40.0;
diagram.AxisY.WholeRange.MaxValue = 60.0;
diagram.AxisY.WholeRange.MinValue = 40.0;
diagram.AxisY.Title.Text = "Voltage (V)";
diagram.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
diagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Regular);
chartVI.Diagram.Assign(diagram);
// Axis Y - Current
currAxisY = new SecondaryAxisY("Current Y-Axis");
((XYDiagram)chartVI.Diagram).SecondaryAxesY.Add(currAxisY);
currAxisY.VisualRange.Auto = false;
currAxisY.VisualRange.AutoSideMargins = false;
currAxisY.VisualRange.StartSideMargin = 0;
currAxisY.VisualRange.EndSideMargin = 0;
currAxisY.VisualRange.MaxValue = 300.0;
currAxisY.VisualRange.MinValue = -300.0;
currAxisY.WholeRange.MaxValue = 300.0;
currAxisY.WholeRange.MinValue = -300.0;
currAxisY.Visibility = DevExpress.Utils.DefaultBoolean.True;
currAxisY.Title.Text = "Current (A)";
currAxisY.Title.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Regular);
currAxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
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;
// Axis Y - Temperature
tempAxisY = new SecondaryAxisY("Temperature Y-Axis");
((XYDiagram)chartVI.Diagram).SecondaryAxesY.Add(tempAxisY);
tempAxisY.VisualRange.Auto = false;
tempAxisY.VisualRange.AutoSideMargins = false;
tempAxisY.VisualRange.StartSideMargin = 0;
tempAxisY.VisualRange.EndSideMargin = 0;
tempAxisY.VisualRange.MaxValue = 80.0;
tempAxisY.VisualRange.MinValue = -30.0;
tempAxisY.WholeRange.MaxValue = 80.0;
tempAxisY.WholeRange.MinValue = -30.0;
tempAxisY.Visibility = DevExpress.Utils.DefaultBoolean.True;
tempAxisY.Title.Text = "Temperature (C)";
tempAxisY.Title.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Regular);
tempAxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
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;
// Axis Y - SOC
socAxisY = new SecondaryAxisY("SOC Y-Axis");
((XYDiagram)chartVI.Diagram).SecondaryAxesY.Add(socAxisY);
socAxisY.VisualRange.Auto = false;
socAxisY.VisualRange.AutoSideMargins = false;
socAxisY.VisualRange.StartSideMargin = 0;
socAxisY.VisualRange.EndSideMargin = 0;
socAxisY.VisualRange.MaxValue = 105.0;
socAxisY.VisualRange.MinValue = -5.0;
socAxisY.WholeRange.MaxValue = 105;
socAxisY.WholeRange.MinValue = -5.0;
socAxisY.Visibility = DevExpress.Utils.DefaultBoolean.True;
socAxisY.Title.Text = "SOC (%)";
socAxisY.Title.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Regular);
socAxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
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;
}
#endregion
#region UPDATE DATA
private void UpdateChart(DataTable dt)
{
chartVI.Series.Clear();
InitChart();
}
#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);
dtHistory = aT;
//RealGridView.DataSource = dt;
DbWaitForm.CloseWaitForm();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
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;
int sDay = start.DayOfYear;
int eDay = end.DayOfYear;
dtHistory.Clear();
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
{
dtHistory = dDt[0];
dtHistory.TableName = "THistory";
gridSearchResult.DataSource = dtHistory;
//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
{
dtHistory = bDt;
dtHistory.TableName = String.Format("THistory_{0:yyMMdd_HHmmss}", DateTime.Now);
gridSearchResult.DataSource = dtHistory;
UpdateChart(dtHistory);
//gridSearchResult.();
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void btnExportExcel_Click(object sender, EventArgs e)
{
SaveFileDialog sDialog = new SaveFileDialog();
sDialog.Title = "Select save file";
sDialog.DefaultExt = "xlsx";
sDialog.Filter = "Excel files 2003 (*.xls)|*.xls|All files (*.*)|*.*";
if (sDialog.ShowDialog() == DialogResult.OK)
{
string filename = sDialog.FileName;
try
{
csExcelExport.ExportToExcelExt(dtHistory, filename);
MessageBox.Show("Complete Export Excel File", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
#region GRID FORMATTING
private void gridSearchResult_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.Value == null || e.Value == DBNull.Value || e.RowIndex < 0) return;
string colName = gridSearchResult.Columns[e.ColumnIndex].Name;
if (colName == "op_status")
{
if (short.TryParse(e.Value.ToString(), out short val))
{
e.Value = GetOpStatusDisplayText(val);
e.FormattingApplied = true;
}
}
else if (colName == "alarm_status")
{
if (short.TryParse(e.Value.ToString(), out short val))
{
e.Value = GetAlarmStatusDisplayText(val);
e.FormattingApplied = true;
}
}
else if (colName == "warning")
{
if (short.TryParse(e.Value.ToString(), out short val))
{
e.Value = GetWarningDisplayText(val);
e.FormattingApplied = true;
}
}
else if (colName == "fault")
{
if (short.TryParse(e.Value.ToString(), out short val))
{
e.Value = GetFaultDisplayText(val);
e.FormattingApplied = true;
}
}
else if (colName == "error_code")
{
if (short.TryParse(e.Value.ToString(), out short val))
{
e.Value = GetErrorCodeDisplayText(val);
e.FormattingApplied = true;
}
}
}
private string GetOpStatusDisplayText(short val)
{
switch ((ushort)val)
{
case 0x0000: return "STANDBY (0x0000)";
case 0x0001: return "CHARGING (0x0001)";
case 0x0002: return "DISCHARGING (0x0002)";
case 0x0003: return "FLOATING (0x0003)";
case 0x0004: return "TRIP (0x0004)";
case 0x0008: return "CHG-LIMIT (0x0008)";
case 0x0032: return "POWER-ON (0x0032)";
case 0x8000: return "STANDBY-HEAT (0x8000)";
case 0x8001: return "CHARGING-HEAT (0x8001)";
case 0x8002: return "DISCHARGING-HEAT (0x8002)";
case 0x8004: return "TRIP-HEAT (0x8004)";
case 0x8008: return "CHG-LIMIT-HEAT (0x8008)";
default: return string.Format("UNKNOWN (0x{0:X4})", (ushort)val);
}
}
private string GetAlarmStatusDisplayText(short val)
{
switch (val)
{
case 0: return "NORMAL (0)";
case 1: return "WARNING (1)";
case 2: return "FAULT (2)";
case 3: return "WARMING UP (3)";
default: return string.Format("UNKNOWN ({0})", val);
}
}
private string GetWarningDisplayText(short val)
{
if (val == 0) return "0x0000";
List<string> list = new List<string>();
bool[] b = csUtils.Int16ToBitArray(val);
if (b[0]) list.Add("HighTemp");
if (b[1]) list.Add("LowTemp");
if (b[2]) list.Add("PackOV");
if (b[3]) list.Add("PackUV");
if (b[4]) list.Add("CellOV");
if (b[5]) list.Add("CellUV");
if (b[6]) list.Add("ChaOC");
if (b[7]) list.Add("DchOC");
if (b[8]) list.Add("PcbHighTemp");
if (b[9]) list.Add("CvDiff");
if (b[11]) list.Add("LowSOC");
string str = list.Count > 0 ? string.Join(", ", list) : "";
return string.IsNullOrEmpty(str) ? string.Format("0x{0:X4}", (ushort)val) : string.Format("0x{0:X4} ({1})", (ushort)val, str);
}
private string GetFaultDisplayText(short val)
{
if (val == 0) return "0x0000";
List<string> list = new List<string>();
bool[] b = csUtils.Int16ToBitArray(val);
if (b[0]) list.Add("HighTemp");
if (b[1]) list.Add("LowTemp");
if (b[2]) list.Add("PackOV");
if (b[3]) list.Add("PackUV");
if (b[4]) list.Add("CellOV");
if (b[5]) list.Add("CellUV");
if (b[6]) list.Add("ChaOC");
if (b[7]) list.Add("DchOC");
if (b[8]) list.Add("PcbHighTemp");
if (b[9]) list.Add("ShortCircuit");
string str = list.Count > 0 ? string.Join(", ", list) : "";
return string.IsNullOrEmpty(str) ? string.Format("0x{0:X4}", (ushort)val) : string.Format("0x{0:X4} ({1})", (ushort)val, str);
}
private string GetErrorCodeDisplayText(short val)
{
if (val == 0) return "0x0000";
List<string> list = new List<string>();
bool[] b = csUtils.Int16ToBitArray(val);
if (b[0]) list.Add("VoltError");
if (b[1]) list.Add("TempError");
if (b[2]) list.Add("CurrCheckError");
if (b[3]) list.Add("CellUnbalance");
if (b[14]) list.Add("AntiTheftGyro");
string str = list.Count > 0 ? string.Join(", ", list) : "";
return string.IsNullOrEmpty(str) ? string.Format("0x{0:X4}", (ushort)val) : string.Format("0x{0:X4} ({1})", (ushort)val, str);
}
#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,821 @@
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()
{
this.components = new System.ComponentModel.Container();
DevExpress.XtraCharts.XYDiagram xyDiagram3 = new DevExpress.XtraCharts.XYDiagram();
DevExpress.XtraCharts.Series series5 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.LineSeriesView lineSeriesView5 = new DevExpress.XtraCharts.LineSeriesView();
DevExpress.XtraCharts.Series series6 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.LineSeriesView lineSeriesView6 = new DevExpress.XtraCharts.LineSeriesView();
DevExpress.XtraCharts.ChartTitle chartTitle3 = new DevExpress.XtraCharts.ChartTitle();
this.tmrDisplay = new System.Windows.Forms.Timer(this.components);
this.rtGraph = new DevExpress.XtraEditors.GroupControl();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.btnChartClear = new DevExpress.XtraEditors.SimpleButton();
this.chartVI = new DevExpress.XtraCharts.ChartControl();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.groupControl1 = new DevExpress.XtraEditors.GroupControl();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
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.lcGroupSystemValue = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcItemTotalVoltage = new DevExpress.XtraLayout.LayoutControlItem();
this.lcItemTotalCurrent = new DevExpress.XtraLayout.LayoutControlItem();
this.lcItemTemp = new DevExpress.XtraLayout.LayoutControlItem();
this.lcItemSOC = new DevExpress.XtraLayout.LayoutControlItem();
this.lcGroupRoot = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.gbModuleMain = new DevExpress.XtraEditors.GroupControl();
this.lcModuleMain = new DevExpress.XtraLayout.LayoutControl();
this.lcgbModuleMain = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcMain = new DevExpress.XtraLayout.LayoutControl();
this.gaugeControl5 = new DevExpress.XtraGauges.Win.GaugeControl();
this.lcItemSOH = new DevExpress.XtraLayout.LayoutControlItem();
this.dgTotalSOH = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent5 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.panelControl11 = new DevExpress.XtraEditors.PanelControl();
this.lbStatus = new DevExpress.XtraEditors.LabelControl();
this.lcitemStatus = new DevExpress.XtraLayout.LayoutControlItem();
this.panelControl2 = new DevExpress.XtraEditors.PanelControl();
this.lbAlarm = new DevExpress.XtraEditors.LabelControl();
this.lcitemAlarm = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.rtGraph)).BeginInit();
this.rtGraph.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.chartVI)).BeginInit();
((System.ComponentModel.ISupportInitialize)(xyDiagram3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.groupControl1)).BeginInit();
this.groupControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit();
this.layoutControl3.SuspendLayout();
((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.lcGroupSystemValue)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTotalVoltage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTotalCurrent)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTemp)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemSOC)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcGroupRoot)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbModuleMain)).BeginInit();
this.gbModuleMain.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.lcModuleMain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbModuleMain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcMain)).BeginInit();
this.lcMain.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.lcItemSOH)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalSOH)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl11)).BeginInit();
this.panelControl11.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl2)).BeginInit();
this.panelControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
this.SuspendLayout();
//
// tmrDisplay
//
this.tmrDisplay.Interval = 500;
this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick);
//
// rtGraph
//
this.rtGraph.Controls.Add(this.layoutControl2);
this.rtGraph.Location = new System.Drawing.Point(206, 413);
this.rtGraph.Name = "rtGraph";
this.rtGraph.Size = new System.Drawing.Size(1093, 158);
this.rtGraph.TabIndex = 5;
this.rtGraph.Text = "Real Time Graph";
//
// layoutControl2
//
this.layoutControl2.AllowCustomization = false;
this.layoutControl2.Controls.Add(this.btnChartClear);
this.layoutControl2.Controls.Add(this.chartVI);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.HiddenItems.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem3,
this.layoutControlItem5});
this.layoutControl2.Location = new System.Drawing.Point(2, 23);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1232, 92, 650, 400);
this.layoutControl2.Root = this.layoutControlGroup2;
this.layoutControl2.Size = new System.Drawing.Size(1089, 133);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// btnChartClear
//
this.btnChartClear.Location = new System.Drawing.Point(3, 3);
this.btnChartClear.Name = "btnChartClear";
this.btnChartClear.Size = new System.Drawing.Size(1083, 127);
this.btnChartClear.StyleController = this.layoutControl2;
this.btnChartClear.TabIndex = 5;
this.btnChartClear.Text = "Clear";
//
// chartVI
//
xyDiagram3.AxisX.NumericScaleOptions.AutoGrid = false;
xyDiagram3.AxisX.VisibleInPanesSerializable = "-1";
xyDiagram3.AxisX.VisualRange.Auto = false;
xyDiagram3.AxisX.VisualRange.AutoSideMargins = false;
xyDiagram3.AxisX.VisualRange.EndSideMargin = 0D;
xyDiagram3.AxisX.VisualRange.MaxValueSerializable = "9";
xyDiagram3.AxisX.VisualRange.MinValueSerializable = "0";
xyDiagram3.AxisX.VisualRange.StartSideMargin = 0D;
xyDiagram3.AxisY.VisibleInPanesSerializable = "-1";
xyDiagram3.DefaultPane.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
this.chartVI.Diagram = xyDiagram3;
this.chartVI.Legend.Name = "Default Legend";
this.chartVI.Location = new System.Drawing.Point(3, 3);
this.chartVI.Name = "chartVI";
series5.Name = "Series 1";
series5.View = lineSeriesView5;
series6.Name = "Series 2";
series6.View = lineSeriesView6;
this.chartVI.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
series5,
series6};
this.chartVI.Size = new System.Drawing.Size(1083, 101);
this.chartVI.TabIndex = 4;
this.chartVI.Titles.AddRange(new DevExpress.XtraCharts.ChartTitle[] {
chartTitle3});
//
// 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, 105);
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.btnChartClear;
this.layoutControlItem5.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(1087, 131);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// layoutControlGroup2
//
this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2";
this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup2.GroupBordersVisible = false;
this.layoutControlGroup2.Name = "Root";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup2.Size = new System.Drawing.Size(1089, 133);
this.layoutControlGroup2.TextVisible = false;
//
// 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, 564);
this.groupControl1.TabIndex = 5;
this.groupControl1.Text = "System Value";
//
// layoutControl3
//
this.layoutControl3.AllowCustomization = false;
this.layoutControl3.Controls.Add(this.gaugeControl5);
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.Controls.Add(this.panelControl11);
this.layoutControl3.Controls.Add(this.panelControl2);
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.lcGroupSystemValue;
this.layoutControl3.Size = new System.Drawing.Size(195, 539);
this.layoutControl3.TabIndex = 0;
this.layoutControl3.Text = "layoutControl3";
//
// gaugeControl4
//
this.gaugeControl4.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.dgTotalSOC});
this.gaugeControl4.Location = new System.Drawing.Point(3, 281);
this.gaugeControl4.Name = "gaugeControl4";
this.gaugeControl4.Size = new System.Drawing.Size(189, 66);
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, 54);
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, 194);
this.gaugeControl3.Name = "gaugeControl3";
this.gaugeControl3.Size = new System.Drawing.Size(189, 66);
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, 54);
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, 107);
this.gaugeControl2.Name = "gaugeControl2";
this.gaugeControl2.Size = new System.Drawing.Size(189, 66);
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, 54);
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, 66);
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, 54);
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;
//
// lcGroupSystemValue
//
this.lcGroupSystemValue.CustomizationFormText = "layoutControlGroup3";
this.lcGroupSystemValue.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.lcGroupSystemValue.GroupBordersVisible = false;
this.lcGroupSystemValue.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcItemTotalVoltage,
this.lcItemTotalCurrent,
this.lcItemTemp,
this.lcItemSOC,
this.lcItemSOH,
this.layoutControlGroup1});
this.lcGroupSystemValue.Name = "lcGroupSystemValue";
this.lcGroupSystemValue.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcGroupSystemValue.Size = new System.Drawing.Size(195, 539);
this.lcGroupSystemValue.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(0, 87);
this.lcItemTotalVoltage.MinSize = new System.Drawing.Size(109, 87);
this.lcItemTotalVoltage.Name = "lcItemTotalVoltage";
this.lcItemTotalVoltage.Size = new System.Drawing.Size(193, 87);
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);
//
// 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, 87);
this.lcItemTotalCurrent.MaxSize = new System.Drawing.Size(0, 87);
this.lcItemTotalCurrent.MinSize = new System.Drawing.Size(109, 87);
this.lcItemTotalCurrent.Name = "lcItemTotalCurrent";
this.lcItemTotalCurrent.Size = new System.Drawing.Size(193, 87);
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, 174);
this.lcItemTemp.MaxSize = new System.Drawing.Size(0, 87);
this.lcItemTemp.MinSize = new System.Drawing.Size(109, 87);
this.lcItemTemp.Name = "lcItemTemp";
this.lcItemTemp.Size = new System.Drawing.Size(193, 87);
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, 261);
this.lcItemSOC.MaxSize = new System.Drawing.Size(0, 87);
this.lcItemSOC.MinSize = new System.Drawing.Size(109, 87);
this.lcItemSOC.Name = "lcItemSOC";
this.lcItemSOC.Size = new System.Drawing.Size(193, 87);
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);
//
// lcGroupRoot
//
this.lcGroupRoot.CustomizationFormText = "layoutControlGroup1";
this.lcGroupRoot.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.lcGroupRoot.GroupBordersVisible = false;
this.lcGroupRoot.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1,
this.layoutControlItem6});
this.lcGroupRoot.Name = "Root";
this.lcGroupRoot.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcGroupRoot.Size = new System.Drawing.Size(1302, 570);
this.lcGroupRoot.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, 568);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.gbModuleMain;
this.layoutControlItem6.Location = new System.Drawing.Point(203, 0);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(1097, 568);
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// gbModuleMain
//
this.gbModuleMain.Controls.Add(this.lcModuleMain);
this.gbModuleMain.Location = new System.Drawing.Point(206, 3);
this.gbModuleMain.Name = "gbModuleMain";
this.gbModuleMain.Size = new System.Drawing.Size(1093, 564);
this.gbModuleMain.TabIndex = 6;
this.gbModuleMain.Text = "Module";
//
// lcModuleMain
//
this.lcModuleMain.AllowCustomization = false;
this.lcModuleMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.lcModuleMain.Location = new System.Drawing.Point(2, 23);
this.lcModuleMain.Name = "lcModuleMain";
this.lcModuleMain.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1270, 115, 650, 400);
this.lcModuleMain.Root = this.lcgbModuleMain;
this.lcModuleMain.Size = new System.Drawing.Size(1089, 539);
this.lcModuleMain.TabIndex = 0;
this.lcModuleMain.Text = "layoutControl5";
//
// lcgbModuleMain
//
this.lcgbModuleMain.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.lcgbModuleMain.GroupBordersVisible = false;
this.lcgbModuleMain.Name = "Root";
this.lcgbModuleMain.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.lcgbModuleMain.Size = new System.Drawing.Size(1089, 539);
this.lcgbModuleMain.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.rtGraph;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(203, 410);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(1097, 162);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// lcMain
//
this.lcMain.AllowCustomization = false;
this.lcMain.Controls.Add(this.gbModuleMain);
this.lcMain.Controls.Add(this.groupControl1);
this.lcMain.Controls.Add(this.rtGraph);
this.lcMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.lcMain.HiddenItems.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2});
this.lcMain.Location = new System.Drawing.Point(0, 0);
this.lcMain.Name = "lcMain";
this.lcMain.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(955, 282, 650, 400);
this.lcMain.Root = this.lcGroupRoot;
this.lcMain.Size = new System.Drawing.Size(1302, 570);
this.lcMain.TabIndex = 0;
this.lcMain.Text = "layoutControl1";
//
// gaugeControl5
//
this.gaugeControl5.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.dgTotalSOH});
this.gaugeControl5.Location = new System.Drawing.Point(3, 368);
this.gaugeControl5.Name = "gaugeControl5";
this.gaugeControl5.Size = new System.Drawing.Size(189, 66);
this.gaugeControl5.TabIndex = 8;
//
// lcItemSOH
//
this.lcItemSOH.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold);
this.lcItemSOH.AppearanceItemCaption.Options.UseFont = true;
this.lcItemSOH.Control = this.gaugeControl5;
this.lcItemSOH.Location = new System.Drawing.Point(0, 348);
this.lcItemSOH.MaxSize = new System.Drawing.Size(0, 87);
this.lcItemSOH.MinSize = new System.Drawing.Size(109, 87);
this.lcItemSOH.Name = "lcItemSOH";
this.lcItemSOH.Size = new System.Drawing.Size(193, 87);
this.lcItemSOH.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemSOH.Text = " SOH";
this.lcItemSOH.TextLocation = DevExpress.Utils.Locations.Top;
this.lcItemSOH.TextSize = new System.Drawing.Size(82, 14);
//
// dgTotalSOH
//
this.dgTotalSOH.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.dgTotalSOH.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.dgTotalSOH.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent5});
this.dgTotalSOH.Bounds = new System.Drawing.Rectangle(6, 6, 177, 54);
this.dgTotalSOH.DigitCount = 5;
this.dgTotalSOH.Name = "dgTotalSOH";
this.dgTotalSOH.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.dgTotalSOH.Text = "00,000";
//
// digitalBackgroundLayerComponent5
//
this.digitalBackgroundLayerComponent5.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F);
this.digitalBackgroundLayerComponent5.Name = "digitalBackgroundLayerComponent1";
this.digitalBackgroundLayerComponent5.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18;
this.digitalBackgroundLayerComponent5.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F);
this.digitalBackgroundLayerComponent5.ZOrder = 1000;
//
// panelControl11
//
this.panelControl11.Controls.Add(this.lbStatus);
this.panelControl11.Location = new System.Drawing.Point(49, 464);
this.panelControl11.Name = "panelControl11";
this.panelControl11.Size = new System.Drawing.Size(138, 31);
this.panelControl11.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, 27);
this.lbStatus.TabIndex = 0;
this.lbStatus.Text = "Status";
//
// lcitemStatus
//
this.lcitemStatus.Control = this.panelControl11;
this.lcitemStatus.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
this.lcitemStatus.CustomizationFormText = "Status";
this.lcitemStatus.Location = new System.Drawing.Point(0, 0);
this.lcitemStatus.MinSize = new System.Drawing.Size(64, 26);
this.lcitemStatus.Name = "lcitemStatus";
this.lcitemStatus.Size = new System.Drawing.Size(183, 35);
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;
//
// panelControl2
//
this.panelControl2.Controls.Add(this.lbAlarm);
this.panelControl2.Location = new System.Drawing.Point(49, 499);
this.panelControl2.Name = "panelControl2";
this.panelControl2.Size = new System.Drawing.Size(138, 32);
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, 28);
this.lbAlarm.TabIndex = 0;
this.lbAlarm.Text = "Alarm";
//
// lcitemAlarm
//
this.lcitemAlarm.Control = this.panelControl2;
this.lcitemAlarm.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
this.lcitemAlarm.CustomizationFormText = "Alarm";
this.lcitemAlarm.Location = new System.Drawing.Point(0, 35);
this.lcitemAlarm.MinSize = new System.Drawing.Size(64, 26);
this.lcitemAlarm.Name = "lcitemAlarm";
this.lcitemAlarm.Size = new System.Drawing.Size(183, 36);
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;
//
// layoutControlGroup4
//
this.layoutControlGroup4.CustomizationFormText = "layoutControlGroup3";
this.layoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup4.GroupBordersVisible = false;
this.layoutControlGroup4.Name = "Root";
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;
//
// layoutControlGroup1
//
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcitemStatus,
this.lcitemAlarm});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 435);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup1.Size = new System.Drawing.Size(193, 102);
this.layoutControlGroup1.Text = "Operating Status";
//
// layoutControlItem7
//
this.layoutControlItem7.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold);
this.layoutControlItem7.AppearanceItemCaption.Options.UseFont = true;
this.layoutControlItem7.Control = this.gaugeControl5;
this.layoutControlItem7.Location = new System.Drawing.Point(0, 344);
this.layoutControlItem7.MinSize = new System.Drawing.Size(109, 41);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(193, 86);
this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem7.Text = " SOH";
this.layoutControlItem7.TextLocation = DevExpress.Utils.Locations.Top;
this.layoutControlItem7.TextSize = new System.Drawing.Size(82, 14);
//
// ucMainStatus
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.lcMain);
this.Name = "ucMainStatus";
this.Size = new System.Drawing.Size(1302, 570);
((System.ComponentModel.ISupportInitialize)(this.rtGraph)).EndInit();
this.rtGraph.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(xyDiagram3)).EndInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView5)).EndInit();
((System.ComponentModel.ISupportInitialize)(series5)).EndInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView6)).EndInit();
((System.ComponentModel.ISupportInitialize)(series6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.chartVI)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.groupControl1)).EndInit();
this.groupControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit();
this.layoutControl3.ResumeLayout(false);
((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.lcGroupSystemValue)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTotalVoltage)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTotalCurrent)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemTemp)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemSOC)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcGroupRoot)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbModuleMain)).EndInit();
this.gbModuleMain.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.lcModuleMain)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcgbModuleMain)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcMain)).EndInit();
this.lcMain.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.lcItemSOH)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalSOH)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl11)).EndInit();
this.panelControl11.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl2)).EndInit();
this.panelControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Timer tmrDisplay;
private DevExpress.XtraEditors.GroupControl rtGraph;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraEditors.SimpleButton btnChartClear;
private DevExpress.XtraCharts.ChartControl chartVI;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraEditors.GroupControl groupControl1;
private DevExpress.XtraLayout.LayoutControl layoutControl3;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl4;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalSOC;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent4;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl3;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalTemp;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent3;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl2;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalCurrent;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent2;
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.LayoutControlGroup lcGroupSystemValue;
private DevExpress.XtraLayout.LayoutControlItem lcItemTotalVoltage;
private DevExpress.XtraLayout.LayoutControlItem lcItemTotalCurrent;
private DevExpress.XtraLayout.LayoutControlItem lcItemTemp;
private DevExpress.XtraLayout.LayoutControlItem lcItemSOC;
private DevExpress.XtraLayout.LayoutControlGroup lcGroupRoot;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraEditors.GroupControl gbModuleMain;
private DevExpress.XtraLayout.LayoutControl lcMain;
private DevExpress.XtraLayout.LayoutControl lcModuleMain;
private DevExpress.XtraLayout.LayoutControlGroup lcgbModuleMain;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl5;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalSOH;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent5;
private DevExpress.XtraLayout.LayoutControlItem lcItemSOH;
private DevExpress.XtraEditors.PanelControl panelControl11;
private DevExpress.XtraEditors.LabelControl lbStatus;
private DevExpress.XtraLayout.LayoutControlItem lcitemStatus;
private DevExpress.XtraEditors.PanelControl panelControl2;
private DevExpress.XtraEditors.LabelControl lbAlarm;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraLayout.LayoutControlItem lcitemAlarm;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
}
}

View File

@@ -0,0 +1,329 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Threading;
using System.Windows.Forms;
using DevExpress.XtraCharts;
using LFP_Manager.DataStructure;
namespace LFP_Manager.Controls
{
public delegate void CommandEvent(int sId, int cmd, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib);
public partial class ucMainStatus : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
private CommConfig Config;
private DeviceSystemTotalData SystemTotalData;
private DeviceSystemData SystemData;
private DeviceParamData Param;
private DeviceCalibration Calib;
private ucModuleMainHeader ModuleMainHeader;
private ucModuleMainB[] ModuleMain;
private DevExpress.XtraLayout.LayoutControlItem[] lcitemModuleMain;
private DevExpress.XtraLayout.EmptySpaceItem[] emptySpaceItem;
private int mQty;
private double TotalVoltage;
private double TotalCurrent;
private double TotalTemperature;
private double TotalSoc;
private double TotalSoh;
private bool active = false;
public event CommandEvent OnCommand = null;
#endregion
#region CONSTRUCTORS
public ucMainStatus()
{
InitializeComponent();
mQty = csConstData.SystemInfo.MAX_MODULE_SIZE;
}
#endregion
public void UpdateMainConfig(ref CommConfig aConfig, ref DeviceSystemData mSystemData)
{
Config = aConfig;
SystemData = mSystemData;
mQty = Config.ModuleQty;
LoadModuleMain(mQty);
lcgbModuleMain.Invalidate();
}
private void LoadModuleMain(int mQty)
{
lcModuleMain.Controls.Clear();
lcgbModuleMain.Items.Clear();
ModuleMainHeader = new ucModuleMainHeader();
ModuleMain = new ucModuleMainB[mQty];
lcitemModuleMain = new DevExpress.XtraLayout.LayoutControlItem[mQty + 1];
int empsize = csConstData.SystemInfo.MAX_MODULE_SIZE - mQty;
if (empsize > 0)
{
emptySpaceItem = new DevExpress.XtraLayout.EmptySpaceItem[empsize];
}
int tWidth = lcgbModuleMain.Size.Width;
int tHeight = lcgbModuleMain.Size.Height;
lcitemModuleMain[0] = new DevExpress.XtraLayout.LayoutControlItem
{
Control = ModuleMainHeader,
Name = String.Format("lcitemModuleMainHeader"),
Size = new Size(tWidth - 4, 30),
Location = new Point(2, 2),
TextVisible = false,
Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
};
int emp = 0;
for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_SIZE; i++)
{
if (i < mQty)
{
ModuleMain[i] = new ucModuleMainB(Config, i + 1, ref SystemData);
ModuleMain[i].OnCommand += SetCmdEvent;
lcitemModuleMain[i + 1] = new DevExpress.XtraLayout.LayoutControlItem
{
Control = ModuleMain[i],
Name = String.Format("lcitemModuleMain_{0}", i + 1),
Size = new Size(tWidth - 4, 60),
Location = new Point(2, 2 + 30 + (i * 60)),
TextVisible = false,
Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0)
};
}
else
{
emptySpaceItem[emp] = new DevExpress.XtraLayout.EmptySpaceItem
{
Size = new Size(tWidth - 4, 60),
Location = new Point(2, 2 + 30 + (i * 60))
};
emp++;
}
}
lcModuleMain.Controls.Add(ModuleMainHeader);
for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_SIZE; i++)
{
if (i < mQty)
lcModuleMain.Controls.Add(ModuleMain[i]);
}
DevExpress.XtraLayout.BaseLayoutItem[] abase = new DevExpress.XtraLayout.BaseLayoutItem[csConstData.SystemInfo.MAX_MODULE_SIZE + 1];
emp = 0;
for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_SIZE + 1; i++)
{
if (i < (mQty + 1))
abase[i] = lcitemModuleMain[i];
else
abase[i] = emptySpaceItem[emp++];
}
lcgbModuleMain.Items.AddRange(abase);
lcgbModuleMain.Invalidate();
}
public void Start(ref CommConfig aConfig, ref DeviceSystemTotalData aSystemTotalData, ref DeviceSystemData aSystemData)
{
Config = aConfig;
SystemTotalData = aSystemTotalData;
SystemData = aSystemData;
switch (Config.CommType)
{
case csConstData.CommType.COMM_UART_MULTI:
switch (Config.SnmpModelIndex)
{
case 0: // LFPR-481000S-J
mQty = Config.ModuleQty;
break;
default:
mQty = 1;
break;
}
break;
default:
mQty = 1;
break;
}
active = true;
tmrDisplay.Start();
}
public void Stop()
{
active = false;
tmrDisplay.Stop();
}
public void UpdateData(ref DeviceSystemTotalData aSystemTotalData, ref DeviceSystemData aSystemData)
{
if (active)
{
SystemTotalData = aSystemTotalData;
SystemData = aSystemData;
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate ()
{
//mQty = SystemTotalData.IdentData.ModuleQuantity;
LoadModuleMain(mQty);
OnCommand?.Invoke(0, 1, mQty, 1, ref Param, ref Calib);
}));
}
else
{
//mQty = SystemTotalData.IdentData.ModuleQuantity;
LoadModuleMain(mQty);
OnCommand?.Invoke(0, 1, mQty, 1, ref Param, ref Calib);
}
TotalVoltage = (double)SystemTotalData.ValueData.TotalVoltage / 10;
TotalCurrent = (double)SystemTotalData.ValueData.TotalCurrent / 10;
TotalSoc = (double)SystemTotalData.ValueData.TotalSOC / 10;
TotalSoh = (double)SystemTotalData.ValueData.TotalSOH / 10;
TotalTemperature = (double)SystemTotalData.ValueData.TotalTemp / 10;
for (int i = 0; i < ModuleMain.Length; i++)
{
ModuleMain[i].UpdateData(ref SystemData);
}
}
}
#region ON EVENT FUNCTION
private void SetCmdEvent(int sId, int cmd, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib)
{
OnCommand?.Invoke(sId, cmd, index, flag, ref aParam, ref aCalib);
}
#endregion
#region BUTTON EVENT
#endregion
#region TIMER EVENT
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayTotalValue();
DisplayStatusAndAlarm();
}
#endregion
#region DISPLAY FUNCTION
private void DisplayTotalValue()
{
if (active)
{
rtGraph.Text = String.Format("Real Time Graph - {0} - {1} Modules"
, String.Format("V{0}", SystemTotalData.IdentData.FwVerStr)
, Config.ModuleQty);
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);
dgTotalSOH.Text = String.Format("{0:0.0}", TotalSoh);
chartVI.Invalidate();
}
}
private void DisplayStatusAndAlarm()
{
if (SystemTotalData.CommFail == false)
{
// Operating Status
if (SystemTotalData.StatusData.status == 0)
{
lbStatus.Text = "STANDBY";
lbStatus.ForeColor = System.Drawing.Color.Black;
}
else if (SystemTotalData.StatusData.status == 1)
{
lbStatus.Text = "CHARGING";
lbStatus.ForeColor = System.Drawing.Color.Blue;
}
else if (SystemTotalData.StatusData.status == 2)
{
lbStatus.Text = "DISCHARGING";
lbStatus.ForeColor = System.Drawing.Color.Magenta;
}
else if (SystemTotalData.StatusData.status == 3)
{
lbStatus.Text = "FLOATING";
lbStatus.ForeColor = System.Drawing.Color.Black;
}
else
{
lbStatus.Text = string.Format("UNKNOWN(0x{0:X4})", (ushort)SystemTotalData.StatusData.status);
lbStatus.ForeColor = System.Drawing.Color.Black;
}
// Alarm Display
if (SystemTotalData.StatusData.batteryStatus == 0)
{
lbAlarm.Text = "NORMAL";
lbAlarm.ForeColor = System.Drawing.Color.Green;
}
else if (SystemTotalData.StatusData.batteryStatus == 1)
{
lbAlarm.Text = "WARNING";
lbAlarm.ForeColor = System.Drawing.Color.Orange;
}
else if (SystemTotalData.StatusData.batteryStatus == 2)
{
lbAlarm.Text = "FAULT";
lbAlarm.ForeColor = System.Drawing.Color.Red;
}
else if (SystemTotalData.StatusData.batteryStatus == 3)
{
lbAlarm.Text = "WARMING UP";
lbAlarm.ForeColor = System.Drawing.Color.Green;
}
else
{
lbAlarm.Text = string.Format("UNKNOWN(0x{0:X4})", (ushort)SystemTotalData.StatusData.batteryStatus);
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;
}
}
#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="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,670 @@
namespace LFP_Manager.Controls
{
partial class ucModuleMainA
{
/// <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 Windows Form 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();
DevExpress.XtraGauges.Core.Model.ScaleLabel scaleLabel2 = new DevExpress.XtraGauges.Core.Model.ScaleLabel();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState21 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState22 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState23 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState24 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState25 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState26 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState27 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState28 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState29 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState30 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState31 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState32 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState33 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState34 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState35 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState36 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState37 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState38 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState39 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState40 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState();
this.tabbedView = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(this.components);
this.gbModuleMain = new DevExpress.XtraEditors.GroupControl();
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.gaugeControl1 = new DevExpress.XtraGauges.Win.GaugeControl();
this.lcitemSOC = new DevExpress.XtraLayout.LayoutControlItem();
this.Level_Bars = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearGauge();
this.linearScaleComponent1 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleComponent();
this.linearScaleBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleBackgroundLayerComponent();
this.linearScaleStateIndicatorComponent1 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.linearScaleStateIndicatorComponent2 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.linearScaleStateIndicatorComponent3 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.linearScaleStateIndicatorComponent4 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.linearScaleStateIndicatorComponent5 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.linearScaleStateIndicatorComponent6 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.linearScaleStateIndicatorComponent7 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.linearScaleStateIndicatorComponent8 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.linearScaleStateIndicatorComponent9 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.linearScaleStateIndicatorComponent10 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent();
this.gaugeControl2 = new DevExpress.XtraGauges.Win.GaugeControl();
this.digitalGauge4 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.lcitemMVolt = new DevExpress.XtraLayout.LayoutControlItem();
this.gaugeControl3 = new DevExpress.XtraGauges.Win.GaugeControl();
this.lcitemCurrent = new DevExpress.XtraLayout.LayoutControlItem();
this.digitalGauge1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent2 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.gaugeControl4 = new DevExpress.XtraGauges.Win.GaugeControl();
this.lcitemAvgTemp = new DevExpress.XtraLayout.LayoutControlItem();
this.digitalGauge2 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent3 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.btnDetailView = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
((System.ComponentModel.ISupportInitialize)(this.tabbedView)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbModuleMain)).BeginInit();
this.gbModuleMain.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemSOC)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Level_Bars)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleComponent1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleBackgroundLayerComponent1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent10)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemMVolt)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemCurrent)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemAvgTemp)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
this.SuspendLayout();
//
// gbModuleMain
//
this.gbModuleMain.AppearanceCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.gbModuleMain.AppearanceCaption.Options.UseFont = true;
this.gbModuleMain.Controls.Add(this.layoutControl1);
this.gbModuleMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.gbModuleMain.Location = new System.Drawing.Point(0, 0);
this.gbModuleMain.Name = "gbModuleMain";
this.gbModuleMain.Size = new System.Drawing.Size(314, 258);
this.gbModuleMain.TabIndex = 0;
this.gbModuleMain.Text = "Module - #0";
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnDetailView);
this.layoutControl1.Controls.Add(this.gaugeControl4);
this.layoutControl1.Controls.Add(this.gaugeControl3);
this.layoutControl1.Controls.Add(this.gaugeControl2);
this.layoutControl1.Controls.Add(this.gaugeControl1);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(2, 23);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1209, 352, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(310, 233);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcitemSOC,
this.lcitemMVolt,
this.lcitemCurrent,
this.lcitemAvgTemp,
this.layoutControlItem5,
this.emptySpaceItem1});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(310, 233);
this.Root.TextVisible = false;
//
// gaugeControl1
//
this.gaugeControl1.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.Level_Bars});
this.gaugeControl1.Location = new System.Drawing.Point(3, 22);
this.gaugeControl1.Name = "gaugeControl1";
this.gaugeControl1.Size = new System.Drawing.Size(105, 208);
this.gaugeControl1.TabIndex = 4;
//
// lcitemSOC
//
this.lcitemSOC.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcitemSOC.AppearanceItemCaption.Options.UseFont = true;
this.lcitemSOC.AppearanceItemCaption.Options.UseTextOptions = true;
this.lcitemSOC.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lcitemSOC.Control = this.gaugeControl1;
this.lcitemSOC.Location = new System.Drawing.Point(0, 0);
this.lcitemSOC.MinSize = new System.Drawing.Size(109, 50);
this.lcitemSOC.Name = "lcitemSOC";
this.lcitemSOC.Size = new System.Drawing.Size(109, 231);
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(25, 16);
//
// Level_Bars
//
this.Level_Bars.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleBackgroundLayerComponent[] {
this.linearScaleBackgroundLayerComponent1});
this.Level_Bars.Bounds = new System.Drawing.Rectangle(6, 6, 93, 196);
this.Level_Bars.Indicators.AddRange(new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent[] {
this.linearScaleStateIndicatorComponent1,
this.linearScaleStateIndicatorComponent2,
this.linearScaleStateIndicatorComponent3,
this.linearScaleStateIndicatorComponent4,
this.linearScaleStateIndicatorComponent5,
this.linearScaleStateIndicatorComponent6,
this.linearScaleStateIndicatorComponent7,
this.linearScaleStateIndicatorComponent8,
this.linearScaleStateIndicatorComponent9,
this.linearScaleStateIndicatorComponent10});
this.Level_Bars.Name = "Level_Bars";
this.Level_Bars.Scales.AddRange(new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleComponent[] {
this.linearScaleComponent1});
//
// linearScaleComponent1
//
this.linearScaleComponent1.AppearanceTickmarkText.TextBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:Black");
this.linearScaleComponent1.EndPoint = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 225F);
scaleLabel2.AppearanceText.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold);
scaleLabel2.AppearanceText.TextBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:White");
scaleLabel2.FormatString = "{0} {2:P0}";
scaleLabel2.Name = "Label0";
scaleLabel2.Position = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 125F);
scaleLabel2.Size = new System.Drawing.SizeF(100F, 30F);
scaleLabel2.Text = "";
scaleLabel2.TextOrientation = DevExpress.XtraGauges.Core.Model.LabelOrientation.LeftToRight;
this.linearScaleComponent1.Labels.AddRange(new DevExpress.XtraGauges.Core.Model.ILabel[] {
scaleLabel2});
this.linearScaleComponent1.MajorTickCount = 2;
this.linearScaleComponent1.MajorTickmark.FormatString = "{0:F0}";
this.linearScaleComponent1.MajorTickmark.ShapeOffset = -20F;
this.linearScaleComponent1.MajorTickmark.ShapeType = DevExpress.XtraGauges.Core.Model.TickmarkShapeType.Linear_Style1_1;
this.linearScaleComponent1.MajorTickmark.ShowText = false;
this.linearScaleComponent1.MajorTickmark.ShowTick = false;
this.linearScaleComponent1.MajorTickmark.TextOffset = -32F;
this.linearScaleComponent1.MaxValue = 100F;
this.linearScaleComponent1.MinorTickCount = 0;
this.linearScaleComponent1.MinorTickmark.ShapeOffset = -14F;
this.linearScaleComponent1.MinorTickmark.ShapeType = DevExpress.XtraGauges.Core.Model.TickmarkShapeType.Linear_Style1_2;
this.linearScaleComponent1.MinorTickmark.ShowTick = false;
this.linearScaleComponent1.Name = "scale1";
this.linearScaleComponent1.StartPoint = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 25F);
this.linearScaleComponent1.Value = 75F;
//
// linearScaleBackgroundLayerComponent1
//
this.linearScaleBackgroundLayerComponent1.LinearScale = this.linearScaleComponent1;
this.linearScaleBackgroundLayerComponent1.Name = "bg1";
this.linearScaleBackgroundLayerComponent1.ScaleEndPos = new DevExpress.XtraGauges.Core.Base.PointF2D(0.5F, 0.1F);
this.linearScaleBackgroundLayerComponent1.ScaleStartPos = new DevExpress.XtraGauges.Core.Base.PointF2D(0.5F, 0.9F);
this.linearScaleBackgroundLayerComponent1.ShapeType = DevExpress.XtraGauges.Core.Model.BackgroundLayerShapeType.Linear_Style10;
this.linearScaleBackgroundLayerComponent1.ZOrder = 1000;
//
// linearScaleStateIndicatorComponent1
//
this.linearScaleStateIndicatorComponent1.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 225F);
this.linearScaleStateIndicatorComponent1.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent1.Name = "Indicator0";
this.linearScaleStateIndicatorComponent1.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState21.IntervalLength = 100F;
scaleIndicatorState21.Name = "Colored";
scaleIndicatorState21.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer2;
scaleIndicatorState21.StartValue = 0.01F;
scaleIndicatorState22.IntervalLength = 0F;
scaleIndicatorState22.Name = "Empty";
scaleIndicatorState22.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent1.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState21,
scaleIndicatorState22});
this.linearScaleStateIndicatorComponent1.ZOrder = 100;
//
// linearScaleStateIndicatorComponent2
//
this.linearScaleStateIndicatorComponent2.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 202.7778F);
this.linearScaleStateIndicatorComponent2.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent2.Name = "Indicator1";
this.linearScaleStateIndicatorComponent2.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState23.IntervalLength = 90F;
scaleIndicatorState23.Name = "Colored";
scaleIndicatorState23.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer2;
scaleIndicatorState23.StartValue = 10F;
scaleIndicatorState24.IntervalLength = 10F;
scaleIndicatorState24.Name = "Empty";
scaleIndicatorState24.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent2.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState23,
scaleIndicatorState24});
this.linearScaleStateIndicatorComponent2.ZOrder = 99;
//
// linearScaleStateIndicatorComponent3
//
this.linearScaleStateIndicatorComponent3.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 180.5556F);
this.linearScaleStateIndicatorComponent3.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent3.Name = "Indicator2";
this.linearScaleStateIndicatorComponent3.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState25.IntervalLength = 80F;
scaleIndicatorState25.Name = "Colored";
scaleIndicatorState25.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer2;
scaleIndicatorState25.StartValue = 20F;
scaleIndicatorState26.IntervalLength = 20F;
scaleIndicatorState26.Name = "Empty";
scaleIndicatorState26.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent3.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState25,
scaleIndicatorState26});
this.linearScaleStateIndicatorComponent3.ZOrder = 98;
//
// linearScaleStateIndicatorComponent4
//
this.linearScaleStateIndicatorComponent4.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 158.3333F);
this.linearScaleStateIndicatorComponent4.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent4.Name = "Indicator3";
this.linearScaleStateIndicatorComponent4.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState27.IntervalLength = 70F;
scaleIndicatorState27.Name = "Colored";
scaleIndicatorState27.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer3;
scaleIndicatorState27.StartValue = 30F;
scaleIndicatorState28.IntervalLength = 30F;
scaleIndicatorState28.Name = "Empty";
scaleIndicatorState28.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent4.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState27,
scaleIndicatorState28});
this.linearScaleStateIndicatorComponent4.ZOrder = 97;
//
// linearScaleStateIndicatorComponent5
//
this.linearScaleStateIndicatorComponent5.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 136.1111F);
this.linearScaleStateIndicatorComponent5.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent5.Name = "Indicator4";
this.linearScaleStateIndicatorComponent5.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState29.IntervalLength = 60F;
scaleIndicatorState29.Name = "Colored";
scaleIndicatorState29.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer3;
scaleIndicatorState29.StartValue = 40F;
scaleIndicatorState30.IntervalLength = 40F;
scaleIndicatorState30.Name = "Empty";
scaleIndicatorState30.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent5.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState29,
scaleIndicatorState30});
this.linearScaleStateIndicatorComponent5.ZOrder = 96;
//
// linearScaleStateIndicatorComponent6
//
this.linearScaleStateIndicatorComponent6.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 113.8889F);
this.linearScaleStateIndicatorComponent6.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent6.Name = "Indicator5";
this.linearScaleStateIndicatorComponent6.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState31.IntervalLength = 50F;
scaleIndicatorState31.Name = "Colored";
scaleIndicatorState31.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer3;
scaleIndicatorState31.StartValue = 50F;
scaleIndicatorState32.IntervalLength = 50F;
scaleIndicatorState32.Name = "Empty";
scaleIndicatorState32.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent6.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState31,
scaleIndicatorState32});
this.linearScaleStateIndicatorComponent6.ZOrder = 95;
//
// linearScaleStateIndicatorComponent7
//
this.linearScaleStateIndicatorComponent7.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 91.66667F);
this.linearScaleStateIndicatorComponent7.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent7.Name = "Indicator6";
this.linearScaleStateIndicatorComponent7.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState33.IntervalLength = 40F;
scaleIndicatorState33.Name = "Colored";
scaleIndicatorState33.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer4;
scaleIndicatorState33.StartValue = 60F;
scaleIndicatorState34.IntervalLength = 60F;
scaleIndicatorState34.Name = "Empty";
scaleIndicatorState34.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent7.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState33,
scaleIndicatorState34});
this.linearScaleStateIndicatorComponent7.ZOrder = 94;
//
// linearScaleStateIndicatorComponent8
//
this.linearScaleStateIndicatorComponent8.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 69.44444F);
this.linearScaleStateIndicatorComponent8.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent8.Name = "Indicator7";
this.linearScaleStateIndicatorComponent8.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState35.IntervalLength = 30F;
scaleIndicatorState35.Name = "Colored";
scaleIndicatorState35.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer4;
scaleIndicatorState35.StartValue = 70F;
scaleIndicatorState36.IntervalLength = 70F;
scaleIndicatorState36.Name = "Empty";
scaleIndicatorState36.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent8.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState35,
scaleIndicatorState36});
this.linearScaleStateIndicatorComponent8.ZOrder = 93;
//
// linearScaleStateIndicatorComponent9
//
this.linearScaleStateIndicatorComponent9.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 47.22222F);
this.linearScaleStateIndicatorComponent9.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent9.Name = "Indicator8";
this.linearScaleStateIndicatorComponent9.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState37.IntervalLength = 20F;
scaleIndicatorState37.Name = "Colored";
scaleIndicatorState37.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer4;
scaleIndicatorState37.StartValue = 80F;
scaleIndicatorState38.IntervalLength = 80F;
scaleIndicatorState38.Name = "Empty";
scaleIndicatorState38.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent9.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState37,
scaleIndicatorState38});
this.linearScaleStateIndicatorComponent9.ZOrder = 92;
//
// linearScaleStateIndicatorComponent10
//
this.linearScaleStateIndicatorComponent10.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 25F);
this.linearScaleStateIndicatorComponent10.IndicatorScale = this.linearScaleComponent1;
this.linearScaleStateIndicatorComponent10.Name = "Indicator9";
this.linearScaleStateIndicatorComponent10.Size = new System.Drawing.SizeF(58.5702F, 18.94918F);
scaleIndicatorState39.IntervalLength = 10F;
scaleIndicatorState39.Name = "Colored";
scaleIndicatorState39.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer4;
scaleIndicatorState39.StartValue = 90F;
scaleIndicatorState40.IntervalLength = 90F;
scaleIndicatorState40.Name = "Empty";
scaleIndicatorState40.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0;
this.linearScaleStateIndicatorComponent10.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
scaleIndicatorState39,
scaleIndicatorState40});
this.linearScaleStateIndicatorComponent10.ZOrder = 91;
//
// gaugeControl2
//
this.gaugeControl2.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.digitalGauge4});
this.gaugeControl2.Location = new System.Drawing.Point(167, 3);
this.gaugeControl2.Name = "gaugeControl2";
this.gaugeControl2.Size = new System.Drawing.Size(140, 56);
this.gaugeControl2.TabIndex = 0;
//
// digitalGauge4
//
this.digitalGauge4.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.digitalGauge4.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.digitalGauge4.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent1});
this.digitalGauge4.Bounds = new System.Drawing.Rectangle(6, 6, 128, 44);
this.digitalGauge4.DigitCount = 5;
this.digitalGauge4.Name = "digitalGauge4";
this.digitalGauge4.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.digitalGauge4.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;
//
// lcitemMVolt
//
this.lcitemMVolt.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcitemMVolt.AppearanceItemCaption.Options.UseFont = true;
this.lcitemMVolt.Control = this.gaugeControl2;
this.lcitemMVolt.Location = new System.Drawing.Point(109, 0);
this.lcitemMVolt.MinSize = new System.Drawing.Size(100, 24);
this.lcitemMVolt.Name = "lcitemMVolt";
this.lcitemMVolt.Size = new System.Drawing.Size(199, 60);
this.lcitemMVolt.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemMVolt.Text = " Volt";
this.lcitemMVolt.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.lcitemMVolt.TextSize = new System.Drawing.Size(50, 16);
this.lcitemMVolt.TextToControlDistance = 5;
//
// gaugeControl3
//
this.gaugeControl3.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.digitalGauge1});
this.gaugeControl3.Location = new System.Drawing.Point(167, 63);
this.gaugeControl3.Name = "gaugeControl3";
this.gaugeControl3.Size = new System.Drawing.Size(140, 56);
this.gaugeControl3.TabIndex = 5;
//
// lcitemCurrent
//
this.lcitemCurrent.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcitemCurrent.AppearanceItemCaption.Options.UseFont = true;
this.lcitemCurrent.Control = this.gaugeControl3;
this.lcitemCurrent.Location = new System.Drawing.Point(109, 60);
this.lcitemCurrent.MinSize = new System.Drawing.Size(100, 24);
this.lcitemCurrent.Name = "lcitemCurrent";
this.lcitemCurrent.Size = new System.Drawing.Size(199, 60);
this.lcitemCurrent.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemCurrent.Text = " Curr";
this.lcitemCurrent.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.lcitemCurrent.TextSize = new System.Drawing.Size(50, 20);
this.lcitemCurrent.TextToControlDistance = 5;
//
// digitalGauge1
//
this.digitalGauge1.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.digitalGauge1.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.digitalGauge1.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent2});
this.digitalGauge1.Bounds = new System.Drawing.Rectangle(6, 6, 128, 44);
this.digitalGauge1.DigitCount = 5;
this.digitalGauge1.Name = "digitalGauge1";
this.digitalGauge1.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.digitalGauge1.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;
//
// gaugeControl4
//
this.gaugeControl4.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.digitalGauge2});
this.gaugeControl4.Location = new System.Drawing.Point(167, 123);
this.gaugeControl4.Name = "gaugeControl4";
this.gaugeControl4.Size = new System.Drawing.Size(140, 56);
this.gaugeControl4.TabIndex = 6;
//
// lcitemAvgTemp
//
this.lcitemAvgTemp.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcitemAvgTemp.AppearanceItemCaption.Options.UseFont = true;
this.lcitemAvgTemp.Control = this.gaugeControl4;
this.lcitemAvgTemp.Location = new System.Drawing.Point(109, 120);
this.lcitemAvgTemp.MinSize = new System.Drawing.Size(100, 24);
this.lcitemAvgTemp.Name = "lcitemAvgTemp";
this.lcitemAvgTemp.Size = new System.Drawing.Size(199, 60);
this.lcitemAvgTemp.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemAvgTemp.Text = " Temp";
this.lcitemAvgTemp.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.lcitemAvgTemp.TextSize = new System.Drawing.Size(50, 16);
this.lcitemAvgTemp.TextToControlDistance = 5;
//
// digitalGauge2
//
this.digitalGauge2.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.digitalGauge2.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.digitalGauge2.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent3});
this.digitalGauge2.Bounds = new System.Drawing.Rectangle(6, 6, 128, 44);
this.digitalGauge2.DigitCount = 5;
this.digitalGauge2.Name = "digitalGauge2";
this.digitalGauge2.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.digitalGauge2.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;
//
// btnDetailView
//
this.btnDetailView.Appearance.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnDetailView.Appearance.Options.UseFont = true;
this.btnDetailView.Location = new System.Drawing.Point(222, 183);
this.btnDetailView.Name = "btnDetailView";
this.btnDetailView.Size = new System.Drawing.Size(85, 47);
this.btnDetailView.StyleController = this.layoutControl1;
this.btnDetailView.TabIndex = 7;
this.btnDetailView.Text = "Detail View";
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.btnDetailView;
this.layoutControlItem5.Location = new System.Drawing.Point(219, 180);
this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(89, 51);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(109, 180);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(110, 51);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// ucModuleMainA
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.gbModuleMain);
this.MinimumSize = new System.Drawing.Size(300, 0);
this.Name = "ucModuleMainA";
this.Size = new System.Drawing.Size(314, 258);
((System.ComponentModel.ISupportInitialize)(this.tabbedView)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbModuleMain)).EndInit();
this.gbModuleMain.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemSOC)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Level_Bars)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleComponent1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleBackgroundLayerComponent1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent10)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemMVolt)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemCurrent)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemAvgTemp)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView tabbedView;
private DevExpress.XtraEditors.GroupControl gbModuleMain;
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraEditors.SimpleButton btnDetailView;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl4;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge digitalGauge2;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent3;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl3;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge digitalGauge1;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent2;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl2;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge digitalGauge4;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent1;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl1;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearGauge Level_Bars;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleBackgroundLayerComponent linearScaleBackgroundLayerComponent1;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleComponent linearScaleComponent1;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent1;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent2;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent3;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent4;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent5;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent6;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent7;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent8;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent9;
private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent10;
private DevExpress.XtraLayout.LayoutControlItem lcitemSOC;
private DevExpress.XtraLayout.LayoutControlItem lcitemMVolt;
private DevExpress.XtraLayout.LayoutControlItem lcitemCurrent;
private DevExpress.XtraLayout.LayoutControlItem lcitemAvgTemp;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
}
}

View File

@@ -0,0 +1,21 @@
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;
namespace LFP_Manager.Controls
{
public partial class ucModuleMainA : DevExpress.XtraEditors.XtraUserControl
{
public ucModuleMainA()
{
InitializeComponent();
}
}
}

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,665 @@
namespace LFP_Manager.Controls
{
partial class ucModuleMainB
{
/// <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.pnModuleNumber = new DevExpress.XtraEditors.PanelControl();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.lbModuleNumber = new DevExpress.XtraEditors.LabelControl();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcitemModuleNumber = new DevExpress.XtraLayout.LayoutControlItem();
this.gaugeControl4 = new DevExpress.XtraGauges.Win.GaugeControl();
this.gaugeSOH = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent4 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.btnModuleDetail = new DevExpress.XtraEditors.SimpleButton();
this.gaugeControl3 = new DevExpress.XtraGauges.Win.GaugeControl();
this.gaugeSOC = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent3 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.gaugeControl2 = new DevExpress.XtraGauges.Win.GaugeControl();
this.gaugeCurrent = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent2 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.gaugeControl1 = new DevExpress.XtraGauges.Win.GaugeControl();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.tmrDisplay = new System.Windows.Forms.Timer(this.components);
this.digitalGauge1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent5 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.lcItemModuleDetail = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.slbOpStatus = new DevExpress.XtraLayout.SimpleLabelItem();
this.slbAlarm = new DevExpress.XtraLayout.SimpleLabelItem();
this.lcitemVolt = new DevExpress.XtraLayout.LayoutControlItem();
this.lcitemCurrent = new DevExpress.XtraLayout.LayoutControlItem();
this.lcitemSOC = new DevExpress.XtraLayout.LayoutControlItem();
this.lcitemSOH = new DevExpress.XtraLayout.LayoutControlItem();
this.gaugeControl5 = new DevExpress.XtraGauges.Win.GaugeControl();
this.gaugeGapV = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent6 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.gaugeControl6 = new DevExpress.XtraGauges.Win.GaugeControl();
this.gaugeTempMax = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent7 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.gaugeVoltage = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pnModuleNumber)).BeginInit();
this.pnModuleNumber.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemModuleNumber)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeSOH)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeSOC)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeCurrent)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemModuleDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbOpStatus)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.slbAlarm)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemVolt)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemCurrent)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemSOC)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemSOH)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeGapV)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeTempMax)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeVoltage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.AllowCustomization = false;
this.layoutControl1.Controls.Add(this.gaugeControl6);
this.layoutControl1.Controls.Add(this.gaugeControl5);
this.layoutControl1.Controls.Add(this.pnModuleNumber);
this.layoutControl1.Controls.Add(this.gaugeControl4);
this.layoutControl1.Controls.Add(this.btnModuleDetail);
this.layoutControl1.Controls.Add(this.gaugeControl3);
this.layoutControl1.Controls.Add(this.gaugeControl2);
this.layoutControl1.Controls.Add(this.gaugeControl1);
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(775, 363, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(888, 54);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// pnModuleNumber
//
this.pnModuleNumber.Controls.Add(this.layoutControl2);
this.pnModuleNumber.Location = new System.Drawing.Point(29, 6);
this.pnModuleNumber.Name = "pnModuleNumber";
this.pnModuleNumber.Size = new System.Drawing.Size(50, 41);
this.pnModuleNumber.TabIndex = 9;
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.lbModuleNumber);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.Location = new System.Drawing.Point(2, 2);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(735, 214, 650, 400);
this.layoutControl2.Root = this.layoutControlGroup1;
this.layoutControl2.Size = new System.Drawing.Size(46, 37);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// lbModuleNumber
//
this.lbModuleNumber.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbModuleNumber.Appearance.Options.UseFont = true;
this.lbModuleNumber.Appearance.Options.UseTextOptions = true;
this.lbModuleNumber.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbModuleNumber.Location = new System.Drawing.Point(3, 3);
this.lbModuleNumber.Name = "lbModuleNumber";
this.lbModuleNumber.Size = new System.Drawing.Size(40, 31);
this.lbModuleNumber.StyleController = this.layoutControl2;
this.lbModuleNumber.TabIndex = 4;
this.lbModuleNumber.Text = "#01";
//
// layoutControlGroup1
//
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcitemModuleNumber});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(46, 37);
this.layoutControlGroup1.TextVisible = false;
//
// lcitemModuleNumber
//
this.lcitemModuleNumber.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lcitemModuleNumber.AppearanceItemCaption.Options.UseFont = true;
this.lcitemModuleNumber.AppearanceItemCaption.Options.UseTextOptions = true;
this.lcitemModuleNumber.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lcitemModuleNumber.Control = this.lbModuleNumber;
this.lcitemModuleNumber.CustomizationFormText = "lcitemModuleNumber";
this.lcitemModuleNumber.Location = new System.Drawing.Point(0, 0);
this.lcitemModuleNumber.MinSize = new System.Drawing.Size(40, 18);
this.lcitemModuleNumber.Name = "lcitemModuleNumber";
this.lcitemModuleNumber.Size = new System.Drawing.Size(44, 35);
this.lcitemModuleNumber.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemModuleNumber.TextSize = new System.Drawing.Size(0, 0);
this.lcitemModuleNumber.TextVisible = false;
//
// gaugeControl4
//
this.gaugeControl4.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.gaugeSOH});
this.gaugeControl4.Location = new System.Drawing.Point(537, 6);
this.gaugeControl4.Name = "gaugeControl4";
this.gaugeControl4.Size = new System.Drawing.Size(94, 41);
this.gaugeControl4.TabIndex = 8;
//
// gaugeSOH
//
this.gaugeSOH.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.gaugeSOH.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.gaugeSOH.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent4});
this.gaugeSOH.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29);
this.gaugeSOH.DigitCount = 4;
this.gaugeSOH.Name = "gaugeSOH";
this.gaugeSOH.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.gaugeSOH.Text = "00,000";
//
// digitalBackgroundLayerComponent4
//
this.digitalBackgroundLayerComponent4.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 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;
//
// btnModuleDetail
//
this.btnModuleDetail.Location = new System.Drawing.Point(831, 6);
this.btnModuleDetail.Name = "btnModuleDetail";
this.btnModuleDetail.Size = new System.Drawing.Size(50, 41);
this.btnModuleDetail.StyleController = this.layoutControl1;
this.btnModuleDetail.TabIndex = 7;
this.btnModuleDetail.Text = "Detail";
this.btnModuleDetail.Click += new System.EventHandler(this.btnModuleDetail_Click);
//
// gaugeControl3
//
this.gaugeControl3.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.gaugeSOC});
this.gaugeControl3.Location = new System.Drawing.Point(439, 6);
this.gaugeControl3.Name = "gaugeControl3";
this.gaugeControl3.Size = new System.Drawing.Size(94, 41);
this.gaugeControl3.TabIndex = 6;
//
// gaugeSOC
//
this.gaugeSOC.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.gaugeSOC.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.gaugeSOC.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent3});
this.gaugeSOC.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29);
this.gaugeSOC.DigitCount = 4;
this.gaugeSOC.Name = "gaugeSOC";
this.gaugeSOC.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.gaugeSOC.Text = "00,000";
//
// digitalBackgroundLayerComponent3
//
this.digitalBackgroundLayerComponent3.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 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.gaugeCurrent});
this.gaugeControl2.Location = new System.Drawing.Point(341, 6);
this.gaugeControl2.Name = "gaugeControl2";
this.gaugeControl2.Size = new System.Drawing.Size(94, 41);
this.gaugeControl2.TabIndex = 5;
//
// gaugeCurrent
//
this.gaugeCurrent.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.gaugeCurrent.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.gaugeCurrent.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent2});
this.gaugeCurrent.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29);
this.gaugeCurrent.DigitCount = 4;
this.gaugeCurrent.Name = "gaugeCurrent";
this.gaugeCurrent.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.gaugeCurrent.Text = "00,000";
//
// digitalBackgroundLayerComponent2
//
this.digitalBackgroundLayerComponent2.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 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.gaugeVoltage});
this.gaugeControl1.Location = new System.Drawing.Point(243, 6);
this.gaugeControl1.Name = "gaugeControl1";
this.gaugeControl1.Size = new System.Drawing.Size(94, 41);
this.gaugeControl1.TabIndex = 4;
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlGroup2});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(888, 54);
this.Root.TextVisible = false;
//
// tmrDisplay
//
this.tmrDisplay.Enabled = true;
this.tmrDisplay.Interval = 500;
this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick);
//
// digitalGauge1
//
this.digitalGauge1.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.digitalGauge1.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.digitalGauge1.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent5});
this.digitalGauge1.Bounds = new System.Drawing.Rectangle(6, 6, 204, 35);
this.digitalGauge1.DigitCount = 4;
this.digitalGauge1.Name = "digitalGauge1";
this.digitalGauge1.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.digitalGauge1.Text = "00,000";
//
// digitalBackgroundLayerComponent5
//
this.digitalBackgroundLayerComponent5.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F);
this.digitalBackgroundLayerComponent5.Name = "digitalBackgroundLayerComponent1";
this.digitalBackgroundLayerComponent5.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18;
this.digitalBackgroundLayerComponent5.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F);
this.digitalBackgroundLayerComponent5.ZOrder = 1000;
//
// lcItemModuleDetail
//
this.lcItemModuleDetail.Control = this.btnModuleDetail;
this.lcItemModuleDetail.Location = new System.Drawing.Point(802, 0);
this.lcItemModuleDetail.MinSize = new System.Drawing.Size(41, 26);
this.lcItemModuleDetail.Name = "lcItemModuleDetail";
this.lcItemModuleDetail.OptionsTableLayoutItem.ColumnIndex = 1;
this.lcItemModuleDetail.OptionsTableLayoutItem.RowIndex = 2;
this.lcItemModuleDetail.Size = new System.Drawing.Size(54, 45);
this.lcItemModuleDetail.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemModuleDetail.TextSize = new System.Drawing.Size(0, 0);
this.lcItemModuleDetail.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.pnModuleNumber;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem2.MinSize = new System.Drawing.Size(54, 5);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.OptionsTableLayoutItem.ColumnIndex = 1;
this.layoutControlItem2.OptionsTableLayoutItem.RowIndex = 3;
this.layoutControlItem2.Size = new System.Drawing.Size(54, 45);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// slbOpStatus
//
this.slbOpStatus.AllowHotTrack = false;
this.slbOpStatus.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.slbOpStatus.AppearanceItemCaption.Options.UseFont = true;
this.slbOpStatus.AppearanceItemCaption.Options.UseTextOptions = true;
this.slbOpStatus.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.slbOpStatus.Location = new System.Drawing.Point(54, 0);
this.slbOpStatus.MinSize = new System.Drawing.Size(80, 18);
this.slbOpStatus.Name = "slbOpStatus";
this.slbOpStatus.Size = new System.Drawing.Size(80, 45);
this.slbOpStatus.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbOpStatus.Text = "DCH";
this.slbOpStatus.TextSize = new System.Drawing.Size(48, 18);
//
// slbAlarm
//
this.slbAlarm.AllowHotTrack = false;
this.slbAlarm.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.slbAlarm.AppearanceItemCaption.Options.UseFont = true;
this.slbAlarm.AppearanceItemCaption.Options.UseTextOptions = true;
this.slbAlarm.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.slbAlarm.Location = new System.Drawing.Point(134, 0);
this.slbAlarm.MinSize = new System.Drawing.Size(80, 18);
this.slbAlarm.Name = "slbAlarm";
this.slbAlarm.OptionsTableLayoutItem.RowIndex = 2;
this.slbAlarm.Size = new System.Drawing.Size(80, 45);
this.slbAlarm.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbAlarm.Text = "WARN";
this.slbAlarm.TextSize = new System.Drawing.Size(48, 18);
//
// lcitemVolt
//
this.lcitemVolt.Control = this.gaugeControl1;
this.lcitemVolt.Location = new System.Drawing.Point(214, 0);
this.lcitemVolt.MinSize = new System.Drawing.Size(98, 41);
this.lcitemVolt.Name = "lcitemVolt";
this.lcitemVolt.OptionsTableLayoutItem.ColumnIndex = 1;
this.lcitemVolt.Size = new System.Drawing.Size(98, 45);
this.lcitemVolt.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemVolt.Text = "Voltage";
this.lcitemVolt.TextLocation = DevExpress.Utils.Locations.Top;
this.lcitemVolt.TextSize = new System.Drawing.Size(0, 0);
this.lcitemVolt.TextVisible = false;
//
// lcitemCurrent
//
this.lcitemCurrent.Control = this.gaugeControl2;
this.lcitemCurrent.Location = new System.Drawing.Point(312, 0);
this.lcitemCurrent.MinSize = new System.Drawing.Size(98, 41);
this.lcitemCurrent.Name = "lcitemCurrent";
this.lcitemCurrent.OptionsTableLayoutItem.RowIndex = 1;
this.lcitemCurrent.Size = new System.Drawing.Size(98, 45);
this.lcitemCurrent.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemCurrent.Text = "Current";
this.lcitemCurrent.TextLocation = DevExpress.Utils.Locations.Top;
this.lcitemCurrent.TextSize = new System.Drawing.Size(0, 0);
this.lcitemCurrent.TextVisible = false;
//
// lcitemSOC
//
this.lcitemSOC.Control = this.gaugeControl3;
this.lcitemSOC.Location = new System.Drawing.Point(410, 0);
this.lcitemSOC.MinSize = new System.Drawing.Size(98, 41);
this.lcitemSOC.Name = "lcitemSOC";
this.lcitemSOC.OptionsTableLayoutItem.ColumnIndex = 1;
this.lcitemSOC.OptionsTableLayoutItem.RowIndex = 1;
this.lcitemSOC.Size = new System.Drawing.Size(98, 45);
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(0, 0);
this.lcitemSOC.TextVisible = false;
//
// lcitemSOH
//
this.lcitemSOH.Control = this.gaugeControl4;
this.lcitemSOH.Location = new System.Drawing.Point(508, 0);
this.lcitemSOH.MinSize = new System.Drawing.Size(98, 41);
this.lcitemSOH.Name = "lcitemSOH";
this.lcitemSOH.OptionsTableLayoutItem.RowIndex = 3;
this.lcitemSOH.Size = new System.Drawing.Size(98, 45);
this.lcitemSOH.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemSOH.Text = "SOH";
this.lcitemSOH.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.lcitemSOH.TextLocation = DevExpress.Utils.Locations.Left;
this.lcitemSOH.TextSize = new System.Drawing.Size(0, 0);
this.lcitemSOH.TextToControlDistance = 0;
this.lcitemSOH.TextVisible = false;
//
// gaugeControl5
//
this.gaugeControl5.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.gaugeGapV});
this.gaugeControl5.Location = new System.Drawing.Point(733, 6);
this.gaugeControl5.Name = "gaugeControl5";
this.gaugeControl5.Size = new System.Drawing.Size(94, 41);
this.gaugeControl5.TabIndex = 10;
//
// gaugeGapV
//
this.gaugeGapV.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.gaugeGapV.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.gaugeGapV.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent6});
this.gaugeGapV.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29);
this.gaugeGapV.DigitCount = 4;
this.gaugeGapV.Name = "gaugeGapV";
this.gaugeGapV.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.gaugeGapV.Text = "00,000";
//
// digitalBackgroundLayerComponent6
//
this.digitalBackgroundLayerComponent6.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F);
this.digitalBackgroundLayerComponent6.Name = "digitalBackgroundLayerComponent1";
this.digitalBackgroundLayerComponent6.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18;
this.digitalBackgroundLayerComponent6.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F);
this.digitalBackgroundLayerComponent6.ZOrder = 1000;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.gaugeControl5;
this.layoutControlItem1.Location = new System.Drawing.Point(704, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(98, 41);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(98, 45);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.Text = "GapV";
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// layoutControlGroup2
//
this.layoutControlGroup2.AppearanceGroup.Options.UseTextOptions = true;
this.layoutControlGroup2.AppearanceGroup.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.layoutControlGroup2.AppearanceItemCaption.Options.UseTextOptions = true;
this.layoutControlGroup2.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.layoutControlGroup2.AppearanceItemCaption.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Center;
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2,
this.slbOpStatus,
this.slbAlarm,
this.lcitemVolt,
this.lcitemCurrent,
this.lcitemSOC,
this.lcitemSOH,
this.layoutControlItem1,
this.lcItemModuleDetail,
this.layoutControlItem3});
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(886, 52);
this.layoutControlGroup2.Text = "MD";
this.layoutControlGroup2.TextLocation = DevExpress.Utils.Locations.Left;
//
// gaugeControl6
//
this.gaugeControl6.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.gaugeTempMax});
this.gaugeControl6.Location = new System.Drawing.Point(635, 6);
this.gaugeControl6.Name = "gaugeControl6";
this.gaugeControl6.Size = new System.Drawing.Size(94, 41);
this.gaugeControl6.TabIndex = 11;
//
// gaugeTempMax
//
this.gaugeTempMax.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.gaugeTempMax.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.gaugeTempMax.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent7});
this.gaugeTempMax.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29);
this.gaugeTempMax.DigitCount = 4;
this.gaugeTempMax.Name = "gaugeTempMax";
this.gaugeTempMax.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.gaugeTempMax.Text = "00,000";
//
// digitalBackgroundLayerComponent7
//
this.digitalBackgroundLayerComponent7.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F);
this.digitalBackgroundLayerComponent7.Name = "digitalBackgroundLayerComponent1";
this.digitalBackgroundLayerComponent7.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18;
this.digitalBackgroundLayerComponent7.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F);
this.digitalBackgroundLayerComponent7.ZOrder = 1000;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.gaugeControl6;
this.layoutControlItem3.CustomizationFormText = "Temp Max.";
this.layoutControlItem3.Location = new System.Drawing.Point(606, 0);
this.layoutControlItem3.MinSize = new System.Drawing.Size(98, 41);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(98, 45);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// gaugeVoltage
//
this.gaugeVoltage.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA");
this.gaugeVoltage.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F");
this.gaugeVoltage.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] {
this.digitalBackgroundLayerComponent1});
this.gaugeVoltage.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29);
this.gaugeVoltage.DigitCount = 4;
this.gaugeVoltage.Name = "gaugeVoltage";
this.gaugeVoltage.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20);
this.gaugeVoltage.Text = "00,000";
//
// digitalBackgroundLayerComponent1
//
this.digitalBackgroundLayerComponent1.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 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;
//
// ucModuleMainB
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Margin = new System.Windows.Forms.Padding(0);
this.MinimumSize = new System.Drawing.Size(840, 54);
this.Name = "ucModuleMainB";
this.Size = new System.Drawing.Size(888, 54);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pnModuleNumber)).EndInit();
this.pnModuleNumber.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemModuleNumber)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeSOH)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeSOC)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeCurrent)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemModuleDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbOpStatus)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.slbAlarm)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemVolt)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemCurrent)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemSOC)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemSOH)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeGapV)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeTempMax)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeVoltage)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl1;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl2;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeCurrent;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent2;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl3;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeSOC;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent3;
private DevExpress.XtraEditors.SimpleButton btnModuleDetail;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl4;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeSOH;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent4;
private DevExpress.XtraEditors.PanelControl pnModuleNumber;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraEditors.LabelControl lbModuleNumber;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraLayout.LayoutControlItem lcitemModuleNumber;
private System.Windows.Forms.Timer tmrDisplay;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge digitalGauge1;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent5;
private DevExpress.XtraLayout.LayoutControlItem lcItemModuleDetail;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.SimpleLabelItem slbOpStatus;
private DevExpress.XtraLayout.SimpleLabelItem slbAlarm;
private DevExpress.XtraLayout.LayoutControlItem lcitemVolt;
private DevExpress.XtraLayout.LayoutControlItem lcitemCurrent;
private DevExpress.XtraLayout.LayoutControlItem lcitemSOC;
private DevExpress.XtraLayout.LayoutControlItem lcitemSOH;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl5;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeGapV;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent6;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraGauges.Win.GaugeControl gaugeControl6;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeTempMax;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent7;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeVoltage;
private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent1;
}
}

View File

@@ -0,0 +1,189 @@
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 DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
namespace LFP_Manager.Controls
{
public partial class ucModuleMainB : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
private int mID = 0;
private CommConfig Config;
private DeviceSystemData SystemData;
private DeviceParamData ParamData;
private DeviceCalibration CalibData;
public event CommandEvent OnCommand = null;
#endregion
#region CONSTRUCTORS
public ucModuleMainB()
{
InitializeComponent();
}
public ucModuleMainB(CommConfig aConfig, int aID, ref DeviceSystemData mSystemData)
{
InitializeComponent();
Config = aConfig;
mID = aID;
SystemData = mSystemData;
lbModuleNumber.Text = String.Format("#{0:00}", mID);
}
#endregion
#region PUBLIC FUNCTION
public void UpdateData(ref DeviceSystemData mSystemData)
{
SystemData = mSystemData;
}
#endregion
#region TIMER EVENT
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayValue();
DisplayStatusAndAlarm();
}
#endregion
#region BUTTON EVENT
private void btnModuleDetail_Click(object sender, EventArgs e)
{
OnCommand?.Invoke(mID, 2, 0, 1, ref ParamData, ref CalibData);
}
#endregion
#region DISPLAY DATA
private void DisplayMainStatus()
{
if (SystemData.CommFail == false)
{
}
else
{
pnModuleNumber.BackColor = System.Drawing.Color.Orange;
}
}
private void DisplayValue()
{
gaugeVoltage.Text = String.Format("{0:0.0}", (double)SystemData.ValueData.voltageOfPack / 10);
gaugeCurrent.Text = String.Format("{0:0.0}", (double)SystemData.ValueData.current / 10);
gaugeSOC.Text = String.Format("{0:0.0}", (double)SystemData.ValueData.rSOC / 10);
gaugeSOH.Text = String.Format("{0:0.0}", (double)SystemData.ValueData.stateOfHealth / 10);
gaugeTempMax.Text = String.Format("{0:0.0}", (double)SystemData.AvgData.maxTemp / 10);
gaugeGapV.Text = String.Format("{0:0.000}", (double)SystemData.AvgData.diffCellVoltage / 1000);
}
private void DisplayStatusAndAlarm()
{
if (SystemData.CommFail == false)
{
if (SystemData.ShelfCommFail == false)
{
switch (SystemData.StatusData.status)
{
case 0x0000: // Stand by
slbOpStatus.Text = "STANDBY";
slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black;
break;
case 0x0001: // Charging
slbOpStatus.Text = "CHARGING";
slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Blue;
break;
case 0x0002: // Discharging
slbOpStatus.Text = "DISCHARGING";
slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Magenta;
break;
case 0x0003: // Float Charging
slbOpStatus.Text = "FLOATING";
slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black;
break;
case 0x0004: // Warming Up
slbOpStatus.Text = "WARMING UP";
slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black;
break;
default:
slbOpStatus.Text = "UNKNOWN";
slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black;
break;
}
// Alarm Display
if (SystemData.StatusData.batteryStatus == 0)
{
slbAlarm.Text = "NORMAL";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Green;
pnModuleNumber.BackColor = System.Drawing.Color.Green;
}
else if (SystemData.StatusData.batteryStatus == 1)
{
slbAlarm.Text = "WARNING";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Orange;
pnModuleNumber.BackColor = System.Drawing.Color.Orange;
}
else if (SystemData.StatusData.batteryStatus == 2)
{
slbAlarm.Text = "FAULT";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
pnModuleNumber.BackColor = System.Drawing.Color.Red;
}
else if (SystemData.StatusData.batteryStatus == 3)
{
slbAlarm.Text = "WARMING UP";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Green;
pnModuleNumber.BackColor = System.Drawing.Color.Green;
}
else
{
slbAlarm.Text = "UNKNOWN";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
pnModuleNumber.BackColor = System.Drawing.Color.Orange;
}
}
else
{
slbOpStatus.Text = "COMM FAIL";
slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
slbAlarm.Text = "COMM FAIL";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
pnModuleNumber.BackColor = System.Drawing.Color.Orange;
}
}
else
{
slbOpStatus.Text = "OFF LINE";
slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
slbAlarm.Text = "OFF LINE";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
pnModuleNumber.BackColor = System.Drawing.Color.Orange;
}
// Charge Relay Status Display
}
#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="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,279 @@
namespace LFP_Manager.Controls
{
partial class ucModuleMainHeader
{
/// <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.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem4 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem3 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem5 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem6 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem7 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem8 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem9 = new DevExpress.XtraLayout.SimpleLabelItem();
this.simpleLabelItem10 = new DevExpress.XtraLayout.SimpleLabelItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem10)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
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(1132, 485, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(888, 30);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlGroup1});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(3, 3, 3, 3);
this.Root.Size = new System.Drawing.Size(888, 30);
this.Root.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.AppearanceGroup.Options.UseTextOptions = true;
this.layoutControlGroup1.AppearanceGroup.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.layoutControlGroup1.CustomizationFormText = "MD";
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.simpleLabelItem1,
this.simpleLabelItem2,
this.simpleLabelItem4,
this.simpleLabelItem3,
this.simpleLabelItem5,
this.simpleLabelItem6,
this.simpleLabelItem7,
this.simpleLabelItem8,
this.simpleLabelItem9,
this.simpleLabelItem10});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.layoutControlGroup1.Size = new System.Drawing.Size(882, 24);
this.layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.layoutControlGroup1.Text = "-";
this.layoutControlGroup1.TextLocation = DevExpress.Utils.Locations.Left;
//
// simpleLabelItem1
//
this.simpleLabelItem1.AllowHotTrack = false;
this.simpleLabelItem1.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem1.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem1.Location = new System.Drawing.Point(0, 0);
this.simpleLabelItem1.MinSize = new System.Drawing.Size(54, 1);
this.simpleLabelItem1.Name = "simpleLabelItem1";
this.simpleLabelItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.simpleLabelItem1.Size = new System.Drawing.Size(54, 23);
this.simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem1.Text = "NO";
this.simpleLabelItem1.TextSize = new System.Drawing.Size(82, 14);
//
// simpleLabelItem2
//
this.simpleLabelItem2.AllowHotTrack = false;
this.simpleLabelItem2.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem2.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem2.Location = new System.Drawing.Point(54, 0);
this.simpleLabelItem2.MinSize = new System.Drawing.Size(80, 1);
this.simpleLabelItem2.Name = "simpleLabelItem2";
this.simpleLabelItem2.Size = new System.Drawing.Size(80, 23);
this.simpleLabelItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem2.Text = "Status";
this.simpleLabelItem2.TextSize = new System.Drawing.Size(82, 14);
//
// simpleLabelItem4
//
this.simpleLabelItem4.AllowHotTrack = false;
this.simpleLabelItem4.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem4.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem4.Location = new System.Drawing.Point(214, 0);
this.simpleLabelItem4.MinSize = new System.Drawing.Size(98, 1);
this.simpleLabelItem4.Name = "simpleLabelItem4";
this.simpleLabelItem4.Size = new System.Drawing.Size(98, 23);
this.simpleLabelItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem4.Text = "Voltage [V]";
this.simpleLabelItem4.TextSize = new System.Drawing.Size(82, 14);
//
// simpleLabelItem3
//
this.simpleLabelItem3.AllowHotTrack = false;
this.simpleLabelItem3.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem3.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem3.Location = new System.Drawing.Point(134, 0);
this.simpleLabelItem3.MinSize = new System.Drawing.Size(80, 1);
this.simpleLabelItem3.Name = "simpleLabelItem3";
this.simpleLabelItem3.Size = new System.Drawing.Size(80, 23);
this.simpleLabelItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem3.Text = "Alarm";
this.simpleLabelItem3.TextSize = new System.Drawing.Size(82, 14);
//
// simpleLabelItem5
//
this.simpleLabelItem5.AllowHotTrack = false;
this.simpleLabelItem5.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem5.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem5.Location = new System.Drawing.Point(312, 0);
this.simpleLabelItem5.MinSize = new System.Drawing.Size(98, 1);
this.simpleLabelItem5.Name = "simpleLabelItem5";
this.simpleLabelItem5.Size = new System.Drawing.Size(98, 23);
this.simpleLabelItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem5.Text = "Current [A]";
this.simpleLabelItem5.TextSize = new System.Drawing.Size(82, 14);
//
// simpleLabelItem6
//
this.simpleLabelItem6.AllowHotTrack = false;
this.simpleLabelItem6.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem6.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem6.Location = new System.Drawing.Point(410, 0);
this.simpleLabelItem6.MinSize = new System.Drawing.Size(98, 1);
this.simpleLabelItem6.Name = "simpleLabelItem6";
this.simpleLabelItem6.Size = new System.Drawing.Size(98, 23);
this.simpleLabelItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem6.Text = "SOC [%]";
this.simpleLabelItem6.TextSize = new System.Drawing.Size(82, 14);
//
// simpleLabelItem7
//
this.simpleLabelItem7.AllowHotTrack = false;
this.simpleLabelItem7.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem7.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem7.Location = new System.Drawing.Point(508, 0);
this.simpleLabelItem7.MinSize = new System.Drawing.Size(98, 1);
this.simpleLabelItem7.Name = "simpleLabelItem7";
this.simpleLabelItem7.Size = new System.Drawing.Size(98, 23);
this.simpleLabelItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem7.Text = "SOH [%]";
this.simpleLabelItem7.TextSize = new System.Drawing.Size(82, 14);
//
// simpleLabelItem8
//
this.simpleLabelItem8.AllowHotTrack = false;
this.simpleLabelItem8.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem8.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem8.Location = new System.Drawing.Point(802, 0);
this.simpleLabelItem8.MinSize = new System.Drawing.Size(1, 1);
this.simpleLabelItem8.Name = "simpleLabelItem8";
this.simpleLabelItem8.Size = new System.Drawing.Size(56, 23);
this.simpleLabelItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem8.Text = "CMD";
this.simpleLabelItem8.TextSize = new System.Drawing.Size(82, 14);
//
// simpleLabelItem9
//
this.simpleLabelItem9.AllowHotTrack = false;
this.simpleLabelItem9.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem9.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem9.CustomizationFormText = "Temp Max. [C]";
this.simpleLabelItem9.Location = new System.Drawing.Point(606, 0);
this.simpleLabelItem9.MinSize = new System.Drawing.Size(98, 1);
this.simpleLabelItem9.Name = "simpleLabelItem9";
this.simpleLabelItem9.Size = new System.Drawing.Size(98, 23);
this.simpleLabelItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem9.Text = "Temp Max. [C]";
this.simpleLabelItem9.TextSize = new System.Drawing.Size(82, 14);
//
// simpleLabelItem10
//
this.simpleLabelItem10.AllowHotTrack = false;
this.simpleLabelItem10.AppearanceItemCaption.Options.UseTextOptions = true;
this.simpleLabelItem10.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.simpleLabelItem10.Location = new System.Drawing.Point(704, 0);
this.simpleLabelItem10.MinSize = new System.Drawing.Size(98, 1);
this.simpleLabelItem10.Name = "simpleLabelItem10";
this.simpleLabelItem10.Size = new System.Drawing.Size(98, 23);
this.simpleLabelItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem10.Text = "Cell V Gap [V]";
this.simpleLabelItem10.TextSize = new System.Drawing.Size(82, 14);
//
// ucModuleMainHeader
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Margin = new System.Windows.Forms.Padding(0);
this.MinimumSize = new System.Drawing.Size(0, 30);
this.Name = "ucModuleMainHeader";
this.Size = new System.Drawing.Size(888, 30);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem10)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem4;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem3;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem5;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem6;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem7;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem8;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem9;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem10;
}
}

View File

@@ -0,0 +1,21 @@
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;
namespace LFP_Manager.Controls
{
public partial class ucModuleMainHeader : DevExpress.XtraEditors.XtraUserControl
{
public ucModuleMainHeader()
{
InitializeComponent();
}
}
}

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,551 @@
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.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.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.lcTripParamNew = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcReleaseParamNew = 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.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.lcTripParamNew)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcReleaseParamNew)).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.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, 23);
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, 146);
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, 116);
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);
//
// 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.layoutControlItem5,
this.emptySpaceItem2,
this.lbTripUnit,
this.lbWarningUnit,
this.lbReleaseUnit,
this.lcTripParamNew,
this.layoutControlItem2,
this.lcReleaseParamNew,
this.lbCurr,
this.lbNew,
this.emptySpaceItem3,
this.emptySpaceItem4,
this.lbFault,
this.lbWarning,
this.lbRelease});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup1.Size = new System.Drawing.Size(215, 146);
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.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.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.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, 12);
this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.btnSet;
this.layoutControlItem5.CustomizationFormText = "layoutControlItem5";
this.layoutControlItem5.Location = new System.Drawing.Point(131, 112);
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.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2";
this.emptySpaceItem2.Location = new System.Drawing.Point(0, 112);
this.emptySpaceItem2.MinSize = new System.Drawing.Size(1, 1);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(131, 30);
this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
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);
//
// lcTripParamNew
//
this.lcTripParamNew.Control = this.edTripNew;
this.lcTripParamNew.CustomizationFormText = "layoutControlItem1";
this.lcTripParamNew.Location = new System.Drawing.Point(120, 25);
this.lcTripParamNew.MaxSize = new System.Drawing.Size(60, 25);
this.lcTripParamNew.MinSize = new System.Drawing.Size(60, 25);
this.lcTripParamNew.Name = "lcTripParamNew";
this.lcTripParamNew.Size = new System.Drawing.Size(60, 25);
this.lcTripParamNew.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcTripParamNew.TextSize = new System.Drawing.Size(0, 0);
this.lcTripParamNew.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.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// lcReleaseParamNew
//
this.lcReleaseParamNew.Control = this.edReleaseNew;
this.lcReleaseParamNew.CustomizationFormText = "layoutControlItem3";
this.lcReleaseParamNew.Location = new System.Drawing.Point(120, 75);
this.lcReleaseParamNew.MaxSize = new System.Drawing.Size(60, 25);
this.lcReleaseParamNew.MinSize = new System.Drawing.Size(60, 25);
this.lcReleaseParamNew.Name = "lcReleaseParamNew";
this.lcReleaseParamNew.Size = new System.Drawing.Size(60, 25);
this.lcReleaseParamNew.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcReleaseParamNew.TextSize = new System.Drawing.Size(0, 0);
this.lcReleaseParamNew.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.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.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.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.lcTripParamNew)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcReleaseParamNew)).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.XtraLayout.EmptySpaceItem emptySpaceItem1;
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 lcTripParamNew;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem lcReleaseParamNew;
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,284 @@
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 struct ParamData
{
public short Fault;
public short Warning;
public short Release;
public short Time;
}
public partial class ucParamSet : UserControl
{
#region VARIABLES
int id = 0;
ParamData rParam;
ParamData wParam;
public int wFlag = 0;
public event setCommand OnCommand = null;
#endregion
#region CONSTRUCTORS
public ucParamSet()
{
InitializeComponent();
}
#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;
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: // System Over Voltage
case 3: // System Under Voltage
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;
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: // PCB High Temperature
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) * 1);
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 VisibleItem(int item, bool flag)
{
switch (item)
{
case 0:
lbFault.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
lcTripParam.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
lcTripParamNew.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
lbTripUnit.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
break;
case 1:
edWarning.Enabled = flag;
edWarningNew.Enabled = flag;
break;
case 2:
lbRelease.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
lcReleaseParam.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
lcReleaseParamNew.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
lbReleaseUnit.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
break;
}
}
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;
if ((nm == "Charge Over Current") || (nm == "Discharge Over Current"))
{
lbFault.Text = "Fault 2";
lbWarning.Text = "Fault 1";
}
break;
case 1:
lbTripUnit.Text = nm;
lbWarningUnit.Text = nm;
if (nm == "A")
lbReleaseUnit.Text = "S";
else
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 / 10);
edWarning.Text = String.Format("{0:#0.0}", (float)Param.Warning / 10);
edRelease.Text = String.Format("{0:#0.0}", (float)Param.Release / 10);
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: // Charge Over Current
case 9: // Discharge Over Current
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}", (float)Param.Release / 1);
break;
}
}
private void UpdateNewParam()
{
if (wFlag == 0)
{
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 / 10);
edWarningNew.Text = String.Format("{0:#0.0}", (float)Param.Warning / 10);
edReleaseNew.Text = String.Format("{0:#0.0}", (float)Param.Release / 10);
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}", (float)Param.Release / 1);
break;
}
wFlag = 1;
}
}
#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>

View File

@@ -0,0 +1,37 @@
namespace LFP_Manager.Controls
{
partial class ucSerialProcess
{
/// <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()
{
components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
}
#endregion
}
}

View File

@@ -0,0 +1,283 @@
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.IO.Ports;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Utils;
namespace LFP_Manager.Controls
{
public delegate void DataUpdate(object sender, DeviceSystemData[] aSystemData);
public partial class ucSerialProcess : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
DeviceSystemData[] SystemData;
//Thread serialComm = null;
SerialPort sPort = null;
//string CommPort = null;
bool SerialPortThreadEnd = false;
public event DataUpdate OnUpdate = null;
#endregion
#region CONSTRUCTORS
public ucSerialProcess(DeviceSystemData[] aSystemData)
{
InitializeComponent();
SystemData = aSystemData;
}
#endregion
#region COMMPORT CONTROLS
private bool Open(string cPort, int cBaudrate)
{
bool result = false;
sPort = new SerialPort();
sPort.PortName = cPort;
sPort.BaudRate = cBaudrate;
try
{
sPort.Open();
result = true;
}
catch (Exception)
{
}
return result;
}
private void Close()
{
if (sPort != null)
{
if (sPort.IsOpen)
{
sPort.Close();
}
sPort = null;
}
}
#endregion
#region Serial Comm Thread
ushort RequestRegAddr = 0x0000;
ushort RequestRegLen = 50;
int SS, bakSS;
private int SerialTxProcess()
{
byte[] sData;
SS = DateTime.Now.Second;
if ((SS == 58) && (bakSS != SS))
{
// Write
RequestRegAddr = 19;
RequestRegLen = 5;
sData = csSerialCommFunction.MakeWriteRegisterData(0xFF, RequestRegAddr, RequestRegLen);
sPort.Write(sData, 0, sData.Length);
bakSS = SS;
return 0;
}
else
{
// Read
RequestRegAddr = 0x0000;
RequestRegLen = 50;
sData = csSerialCommFunction.MakeReadRegisterData(0x01, RequestRegAddr, RequestRegLen);
sPort.Write(sData, 0, sData.Length);
bakSS = SS;
return 1;
}
}
#region Serial Buffering
private void PutBuff(byte c)
{
rBuffer[rBufStart++] = c;
rBufStart %= BUFFER_SIZE;
if (rBufStart == rBufEnd)
{
rBufEnd++;
rBufEnd %= BUFFER_SIZE;
}
}
private int GetBuff()
{
int result = 0;
if (rBufStart != rBufEnd)
{
result = 0x0100 + rBuffer[rBufEnd++];
rBufEnd %= BUFFER_SIZE;
}
return result;
}
#endregion
const int BUFFER_SIZE = 512;
byte[] rBuffer = new byte[BUFFER_SIZE];
int rBufStart = 0;
int rBufEnd = 0;
byte[] ReadBuf = new byte[BUFFER_SIZE];
ushort rPosition = 0;
bool Commfail = true;
bool disCommfail = false;
ushort BTCU_ID = 1;
private void serialRecvThread()
{
int getData = 0;
byte cData = 0;
bool BuffStart = false;
int TimeOutCount = 0;
while (SerialPortThreadEnd == false)
{
StartSend:
if (sPort.IsOpen)
{
if (SerialTxProcess() == 1)
{
int rTimeOut = 100;
BuffStart = false;
rPosition = 0;
while (rTimeOut > 0)
{
if (((getData = GetBuff()) & 0x0100) != 0x0000)
{
rTimeOut = 100;
TimeOutCount = 0;
cData = (byte)(getData & 0x00FF);
if (rPosition >= BUFFER_SIZE)
{
BuffStart = false;
rPosition = 0;
}
if (BuffStart == false)
{
rPosition = 0;
if (cData == 0x01)
{
ReadBuf[rPosition++] = cData;
BuffStart = true;
}
}
else
{
ReadBuf[rPosition++] = cData;
switch (csSerialCommFunction.ModbusPacketFromSlaveCheck(ReadBuf, rPosition))
{
case 0: // Need more data
break;
case 1: // Packet OK, no error
byte[] cdata = csUtils.StrToByteArray(ReadBuf, 0, rPosition - 2);
Commfail = false;
SystemData[0] = csSerialCommFunction.SerialRxProcess(ReadBuf, RequestRegAddr, rPosition, SystemData[0]);
if (OnUpdate != null)
{
OnUpdate(this, SystemData);
}
Thread.Sleep(100);
goto StartSend;
case -1: // Packet error
rPosition = 0;
BuffStart = false;
Thread.Sleep(100);
goto StartSend;
default:
break;
}
}
}
else
{
Thread.Sleep(1);
if (rTimeOut > 0) rTimeOut--;
}
}
if (rPosition > 0)
{
Thread.Sleep(100);
}
else
{
TimeOutCount++;
if (TimeOutCount >= 5)
{
TimeOutCount = 5;
Commfail = true;
}
//if (Commfail == true)
//{
// BTCU_ID++;
// BTCU_ID %= 31;
// if (BTCU_ID == 0) BTCU_ID = 1;
//}
Thread.Sleep(100);
}
}
else
{
Thread.Sleep(100);
}
rPosition = 0;
}
else
{
Thread.Sleep(500);
}
}
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,960 @@
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 DevExpress.XtraCharts;
using LFP_Manager.Forms;
using LFP_Manager.DataStructure;
using LFP_Manager.Utils;
using DevExpress.Utils.Text;
namespace LFP_Manager.Controls
{
public delegate void paramCommand(int sId, int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib);
public partial class ucShelfStatus : DevExpress.XtraEditors.XtraUserControl
{
const int STATUS_QTY = 10;
int SystemId = 0;
bool start = false;
UInt32 tempQty = csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE;
CommConfig Config;
DeviceSystemData SystemData;
DataTable[] dtVolt;
DataTable[] dtTemp;
Series[] seriesVolt;
Series[] seriesTemp;
ucStatus[] alarmTrip;
Palette paletteV;
Palette paletteT;
public event paramCommand OnCommand = null;
public ucShelfStatus()
{
InitializeComponent();
InitStatusName();
}
public void UpdateSystemId(int sId)
{
SystemId = sId;
}
public void Start(int sId, ref CommConfig aConfig, ref DeviceSystemData aSystemData)
{
SystemId = sId;
Config = aConfig;
SystemData = aSystemData;
switch (Config.CommType)
{
case csConstData.CommType.COMM_UART:
tempQty = 4;
btnParam.Enabled = true;
break;
}
InitDataTableVolt();
InitDataTableTemp();
vSeriesInit();
tSeriesInit();
tmrDisplay.Start();
start = true;
}
public void Stop()
{
start = false;
tmrDisplay.Stop();
}
public void SystemIdSet(int sId)
{
SystemId = sId;
}
public int SystemIdGet()
{
return SystemId;
}
public void UpdateData(ref DeviceSystemData aSystemData)
{
SystemData = aSystemData;
}
#region INIT_COMPONENT
private void InitStatusName()
{
ucHighTemp.SetName("High Temp");
//ucHighTemp.SetTextWidth(80);
ucLowTemp.SetName("Low Temp");
//ucLowTemp.SetTextWidth(80);
ucOverVolt.SetName("Pack OV");
//ucOverVolt.SetTextWidth(80);
ucUnderVolt.SetName("Pack UV");
//ucUnderVolt.SetTextWidth(80);
ucCellOverVolt.SetName("Cell OV");
//ucOverVolt.SetTextWidth(80);
ucCellUnderVolt.SetName("Cell UV");
//ucUnderVolt.SetTextWidth(80);
ucChaOverCurr.SetName("Cha OC");
//ucChaOverCurr.SetTextWidth(110);
ucDchOverCurr.SetName("Dch OC");
//ucDchOverCurr.SetTextWidth(110);
ucLowSOC.SetName("Low SOC");
//ucLowSOC.SetTextWidth(80);
ucCvDiff.SetName("ETC. Alarm");
//ucMdComm.SetTextWidth(80);
alarmTrip = new ucStatus[STATUS_QTY];
alarmTrip[0] = ucHighTemp;
alarmTrip[1] = ucLowTemp;
alarmTrip[2] = ucOverVolt;
alarmTrip[3] = ucUnderVolt;
alarmTrip[4] = ucCellOverVolt;
alarmTrip[5] = ucCellUnderVolt;
alarmTrip[6] = ucChaOverCurr;
alarmTrip[7] = ucDchOverCurr;
alarmTrip[8] = ucLowSOC;
alarmTrip[9] = ucCvDiff;
}
private void InitDataTableVolt()
{
dtVolt = new DataTable[csConstData.SystemInfo.MAX_MODULE_CELL_SIZE];
for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; i++)
{
dtVolt[i] = new DataTable();
dtVolt[i].Columns.Add("C_No", typeof(Int32));
dtVolt[i].Columns.Add("Alarm", typeof(Int32));
dtVolt[i].Columns.Add("Value", typeof(double));
// Add data rows to the table.
DataRow row = null;
row = dtVolt[i].NewRow();
row["C_No"] = i + 1;
row["Alarm"] = 0;
row["Value"] = 3.2;
dtVolt[i].Rows.Add(row);
}
}
private void InitDataTableTemp()
{
dtTemp = new DataTable[tempQty];
for (int i = 0; i < tempQty; i++)
{
dtTemp[i] = new DataTable();
dtTemp[i].Columns.Add("T_No", typeof(Int32));
dtTemp[i].Columns.Add("Alarm", typeof(Int32));
dtTemp[i].Columns.Add("Value", typeof(double));
// Add data rows to the table.
DataRow row = null;
row = dtTemp[i].NewRow();
row["T_No"] = i + 1;
row["Alarm"] = 0;
row["Value"] = 25.4;
dtTemp[i].Rows.Add(row);
}
}
private Palette vPaletteInit(string bName, short bValue)
{
paletteV = new Palette(bName);
for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; i++)
{
if (((bValue >> i) & 0x0001) == 0x0001)
paletteV.Add(Color.Orange);
else
paletteV.Add(Color.Green);
}
return paletteV;
}
private void vPaletteUpdate(short bValue)
{
paletteV.Clear();
for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; i++)
{
if (((bValue >> i) & 0x0001) == 0x0001)
paletteV.Add(Color.Orange);
else
paletteV.Add(Color.Green);
}
}
private Palette tPaletteInit(string bName, short bValue)
{
paletteT = new Palette(bName);
for (int i = 0; i < tempQty; i++)
{
if (((bValue >> i) & 0x0001) == 0x0001)
paletteT.Add(Color.Orange);
else
paletteT.Add(Color.Green);
}
return paletteT;
}
private void tPaletteUpdate(short bValue)
{
paletteT.Clear();
for (int i = 0; i < tempQty; i++)
{
if (((bValue >> i) & 0x0001) == 0x0001)
paletteT.Add(Color.Orange);
else
paletteT.Add(Color.Green);
}
}
private void vSeriesInit()
{
VChart.Series.Clear();
VChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
seriesVolt = new Series[csConstData.SystemInfo.MAX_MODULE_CELL_SIZE];
for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; i++)
{
seriesVolt[i] = new Series(String.Format("C_{0:00}", i + 1), ViewType.Bar)
{
DataSource = dtVolt[i],
//Label.PointOptions.PointView = PointView.ArgumentAndValues,
//Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number,
//Label.PointOptions.ValueNumericOptions.Precision = 3,
CrosshairLabelPattern = "C_{A:00} : {V:F3}",
// Specify data members to bind the series.
ArgumentScaleType = ScaleType.Numerical,
ArgumentDataMember = "C_No",
ValueScaleType = ScaleType.Numerical,
};
((SideBySideBarSeriesView)(seriesVolt[i].View)).BarWidth = 10.0;
seriesVolt[i].ValueDataMembers.AddRange(new string[] { "Value" });
VChart.Series.Add(seriesVolt[i]);
}
VChart.PaletteRepository.Clear();
VChart.PaletteRepository.Add("V Palette", vPaletteInit("V Palette", 0));
VChart.PaletteName = "V Palette";
// Cast the chart's diagram to the XYDiagram type, to access its axes.
XYDiagram diagram = (XYDiagram)VChart.Diagram;
if (diagram.AxisY.ConstantLines.Count > 0)
diagram.AxisY.ConstantLines.Clear();
// Create a constant line.
ConstantLine constantLineMax = new ConstantLine("Limit(Max)");
ConstantLine constantLineMin = new ConstantLine("Limit(Min)");
ConstantLine constantDataMax = new ConstantLine(
String.Format(" Max({0:#0.000}V:{1:00})", 0, 0));
ConstantLine constantDataAvg = new ConstantLine(
String.Format(" Avg({0:#0.000}V) - ({1:#0.000}V)", 0, 0));
ConstantLine constantDataMin = new ConstantLine(
String.Format("Min({0:#0.000}V:{1:00})", 0, 0));
constantLineMax.Color = Color.Red;
constantLineMin.Color = Color.Red;
// Customize the behavior of the constant line.
constantLineMax.Visible = true;
constantLineMax.ShowInLegend = true;
constantLineMax.LegendText = "Limit(Max)";
constantLineMax.ShowBehind = false;
constantLineMin.Visible = true;
constantLineMin.ShowInLegend = true;
constantLineMin.LegendText = "Limit(Min)";
constantLineMin.ShowBehind = false;
constantDataMax.Visible = true;
constantDataMax.ShowInLegend = true;
constantDataMax.LegendText = "Max";
constantDataMax.ShowBehind = false;
constantDataMax.Color = Color.MediumVioletRed;
constantDataMax.Title.TextColor = Color.Black;
constantDataMax.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
constantDataAvg.Visible = true;
constantDataAvg.ShowInLegend = true;
constantDataAvg.LegendText = "Avg";
constantDataAvg.ShowBehind = false;
constantDataAvg.Color = Color.LawnGreen;
constantDataAvg.Title.TextColor = Color.Black;
constantDataAvg.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
constantDataMin.Visible = true;
constantDataMin.ShowInLegend = true;
constantDataMin.LegendText = "Min";
constantDataMin.ShowBehind = false;
constantDataMin.Color = Color.BlueViolet;
constantDataMin.Title.TextColor = Color.Black;
constantDataMin.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
// Define its axis value.
constantLineMax.AxisValue = 3.85;
constantLineMin.AxisValue = 2.5;
constantDataMax.AxisValue = 0;
constantDataAvg.AxisValue = 0;
constantDataMin.AxisValue = 0;
diagram.AxisY.ConstantLines.Add(constantLineMax);
diagram.AxisY.ConstantLines.Add(constantLineMin);
diagram.AxisY.ConstantLines.Add(constantDataMax);
diagram.AxisY.ConstantLines.Add(constantDataAvg);
diagram.AxisY.ConstantLines.Add(constantDataMin);
// Axis Y
diagram.AxisY.VisualRange.Auto = false;
diagram.AxisY.VisualRange.AutoSideMargins = false;
diagram.AxisY.VisualRange.StartSideMargin = 0;
diagram.AxisY.VisualRange.EndSideMargin = 0;
diagram.AxisY.VisualRange.MaxValue = 4.0;
diagram.AxisY.VisualRange.MinValue = 2.0;
diagram.AxisY.WholeRange.MaxValue = 4.0;
diagram.AxisY.WholeRange.MinValue = 2.0;
diagram.AxisY.NumericScaleOptions.AutoGrid = false;
diagram.AxisY.NumericScaleOptions.GridAlignment = NumericGridAlignment.Ones;
diagram.AxisY.NumericScaleOptions.GridOffset = 0;
diagram.AxisY.NumericScaleOptions.GridSpacing = 0.1;
//diagram.AxisY.GridSpacing = 0.1;
diagram.AxisY.Title.Text = "Voltage(V)";
//diagram.AxisY.Label.NumericOptions.Precision = 3;
diagram.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
diagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular);
// Axis X
diagram.AxisX.VisualRange.MaxValue = csConstData.SystemInfo.MAX_MODULE_CELL_SIZE;
diagram.AxisX.VisualRange.MinValue = 1;
diagram.AxisX.VisualRange.Auto = false;
diagram.AxisX.VisualRange.AutoSideMargins = false;
diagram.AxisX.VisualRange.SideMarginsValue = 0.5;
diagram.AxisX.Title.Text = "Cell No";
diagram.AxisX.Title.Visibility = DevExpress.Utils.DefaultBoolean.False;
diagram.AxisX.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular);
}
private void tSeriesInit()
{
TChart.Series.Clear();
TChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
seriesTemp = new Series[tempQty];
for (int i = 0; i < tempQty; i++)
{
seriesTemp[i] = new Series(String.Format("T_{0:00}", i + 1), ViewType.Bar)
{
DataSource = dtTemp[i],
//Label.PointOptions.PointView = PointView.ArgumentAndValues,
//Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number,
//Label.PointOptions.ValueNumericOptions.Precision = 3,
CrosshairLabelPattern = "T_{A:00} : {V:F1}",
// Specify data members to bind the series.
ArgumentScaleType = ScaleType.Numerical,
ArgumentDataMember = "T_No",
ValueScaleType = ScaleType.Numerical,
};
((SideBySideBarSeriesView)(seriesTemp[i].View)).BarWidth = 2.5;
seriesTemp[i].ValueDataMembers.AddRange(new string[] { "Value" });
TChart.Series.Add(seriesTemp[i]);
}
TChart.PaletteRepository.Clear();
TChart.PaletteRepository.Add("T Palette", tPaletteInit("T Palette", 0));
TChart.PaletteName = "T Palette";
// Cast the chart's diagram to the XYDiagram type, to access its axes.
XYDiagram diagram = (XYDiagram)TChart.Diagram;
if (diagram.AxisY.ConstantLines.Count > 0)
diagram.AxisY.ConstantLines.Clear();
diagram.Margins.All = 0;
ConstantLine constantLineMax = new ConstantLine("Limit(Max)");
ConstantLine constantLineMin = new ConstantLine("Limit(Min)");
ConstantLine constantDataMax = new ConstantLine(String.Format(" Max({0:#0.0}C)", 0));
ConstantLine constantDataAvg = new ConstantLine(String.Format(" Avg({0:#0.0}C)", 0));
ConstantLine constantDataMin = new ConstantLine(String.Format("Min({0:#0.0}C)", 0));
constantLineMax.Color = Color.Red;
constantLineMin.Color = Color.Red;
// Customize the behavior of the constant line.
constantLineMax.Visible = true;
constantLineMax.ShowInLegend = true;
constantLineMax.LegendText = "Limit(Max)";
constantLineMax.ShowBehind = false;
constantLineMin.Visible = true;
constantLineMin.ShowInLegend = true;
constantLineMin.LegendText = "Limit(Min)";
constantLineMin.ShowBehind = false;
constantDataMax.Visible = true;
constantDataMax.ShowInLegend = true;
constantDataMax.LegendText = "Max";
constantDataMax.ShowBehind = false;
constantDataMax.Color = Color.MediumVioletRed;
constantDataMax.Title.TextColor = Color.Black;
constantDataMax.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
constantDataAvg.Visible = true;
constantDataAvg.ShowInLegend = true;
constantDataAvg.LegendText = "Avg";
constantDataAvg.ShowBehind = false;
constantDataAvg.Color = Color.LawnGreen;
constantDataAvg.Title.TextColor = Color.Black;
constantDataAvg.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
constantDataMin.Visible = true;
constantDataMin.ShowInLegend = true;
constantDataMin.LegendText = "Min";
constantDataMin.ShowBehind = false;
constantDataMin.Color = Color.BlueViolet;
constantDataMin.Title.TextColor = Color.Black;
constantDataMin.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold);
// Define its axis value.
constantLineMax.AxisValue = 60.0;
constantLineMin.AxisValue = -20.0;
constantDataMax.AxisValue = 0;
constantDataAvg.AxisValue = 0;
constantDataMin.AxisValue = 0;
diagram.AxisY.ConstantLines.Add(constantLineMax);
diagram.AxisY.ConstantLines.Add(constantLineMin);
diagram.AxisY.ConstantLines.Add(constantDataMax);
diagram.AxisY.ConstantLines.Add(constantDataAvg);
diagram.AxisY.ConstantLines.Add(constantDataMin);
// Axis Y
diagram.AxisY.VisualRange.Auto = false;
diagram.AxisY.VisualRange.AutoSideMargins = false;
diagram.AxisY.VisualRange.StartSideMargin = 0;
diagram.AxisY.VisualRange.EndSideMargin = 0;
diagram.AxisY.VisualRange.MaxValue = 80.0;
diagram.AxisY.VisualRange.MinValue = -30.0;
diagram.AxisY.WholeRange.MaxValue = 80.0;
diagram.AxisY.WholeRange.MinValue = -30.0;
diagram.AxisY.NumericScaleOptions.AutoGrid = false;
diagram.AxisY.NumericScaleOptions.GridAlignment = NumericGridAlignment.Ones;
diagram.AxisY.NumericScaleOptions.GridOffset = 0;
diagram.AxisY.NumericScaleOptions.GridSpacing = 5;
diagram.AxisY.Title.Text = "Temperature(C)";
diagram.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True;
diagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular);
// Axis X
diagram.AxisX.VisualRange.MaxValue = tempQty;
diagram.AxisX.VisualRange.MinValue = 1;
diagram.AxisX.VisualRange.Auto = false;
diagram.AxisX.VisualRange.AutoSideMargins = false;
diagram.AxisX.VisualRange.SideMarginsValue = 0.5;
diagram.AxisX.Title.Text = "Temperature No";
diagram.AxisX.Title.Visibility = DevExpress.Utils.DefaultBoolean.False;
diagram.AxisX.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular);
}
#endregion
#region DISPLAY DATA
private void tmrDisplay_Tick(object sender, EventArgs e)
{
if (start)
{
DisplayInformation();
dgVoltage.Text = String.Format("{0:0.0}", Convert.ToDouble(SystemData.ValueData.voltageOfPack) / 10);
dgCurrent.Text = String.Format("{0:0.0}", Convert.ToDouble(SystemData.ValueData.current) / 10);
dgSOC.Text = String.Format("{0:0.0}", Convert.ToDouble(SystemData.ValueData.rSOC) / 10);
dgSOH.Text = String.Format("{0:0.0}", Convert.ToDouble(SystemData.ValueData.stateOfHealth) / 10);
dgTemperature.Text = String.Format("{0:0.0}", Convert.ToDouble(SystemData.AvgData.maxTemp) / 10); //Byul 21.08.09 "maxTemp"
lbFetTemp.Text = String.Format(" FET: {0:##0.0}C", Convert.ToDouble(SystemData.ValueData.Ext1Temperature) / 10);
lbAmbTemp.Text = String.Format(" AMB: {0:##0.0}C", Convert.ToDouble(SystemData.ValueData.Ext2Temperature) / 10);
//lbFetTemp.Text = String.Format(" FAULT: 0x{0:X4}", SystemData.StatusData.protection);
lbHeatbeat.Text = String.Format("Cycle: {0}", SystemData.ValueData.cycleCount);
DisplayCellVoltage();
DisplayCellTemperature();
DisplayAlarm();
if (Config.CommType == csConstData.CommType.COMM_UART)
{
DisplayStatusStrUart();
DisplayAlarmStr();
}
else
{
DisplayStatusStr();
DisplayAlarmStr();
}
}
}
private void DisplayInformation()
{
//string strInfor = string.Format("V: {0} - Model: {1} - SN: {2} - Time: {3}"
// , SystemData.Information.FwVer_Str
// , SystemData.Information.Model_Str
// , SystemData.Information.BMS_SN_Str
// , SystemData.BmsDateTime
// );
string strInfor = string.Format("V: {0} - Model: {1} - SN: {2}"
, SystemData.Information.FwVer_Str
, SystemData.Information.Model_Str
, SystemData.Information.BMS_SN_Str
);
gbValue.Text = "Value - " + strInfor;
}
private void DisplayCellVoltage()
{
try
{
for (int i = 0; i < seriesVolt.Length; i++)
seriesVolt[i].DataSource = null;
for (int i = 0; i < seriesVolt.Length; i++)
dtVolt[i].Rows[0]["Value"] = Convert.ToDouble(SystemData.ValueData.CellVoltage[i]) / 1000;
for (int i = 0; i < seriesVolt.Length; i++)
seriesVolt[i].DataSource = dtVolt[i];
if (SystemData.StatusData.cellBallanceStatus != 0x0000)
vPaletteUpdate(SystemData.StatusData.cellBallanceStatus);
else
vPaletteUpdate(0);
double maxValue = Convert.ToDouble(SystemData.AvgData.maxCellVoltage) / 1000;
double avgValue = Convert.ToDouble(SystemData.AvgData.avgCellVoltage) / 1000;
double minValue = Convert.ToDouble(SystemData.AvgData.minCellVoltage) / 1000;
double gapValue = Convert.ToDouble(SystemData.AvgData.diffCellVoltage) / 1000;
int maxCno = Convert.ToInt32(SystemData.AvgData.maxCellNum);
int minCno = Convert.ToInt32(SystemData.AvgData.minCellNum);
// Cast the chart's diagram to the XYDiagram type, to access its axes.
((XYDiagram)VChart.Diagram).AxisY.ConstantLines[2].Name =
String.Format(" Max({0:#0.000}V:{1:00})", maxValue, maxCno);
((XYDiagram)VChart.Diagram).AxisY.ConstantLines[3].Name =
String.Format(" Avg({0:#0.000}V) - ({1:#0.000}V)", avgValue, gapValue);
((XYDiagram)VChart.Diagram).AxisY.ConstantLines[4].Name =
String.Format("Min({0:#0.000}V:{1:00})", minValue, minCno);
// Define its axis value.
((XYDiagram)VChart.Diagram).AxisY.ConstantLines[2].AxisValue = maxValue;
((XYDiagram)VChart.Diagram).AxisY.ConstantLines[3].AxisValue = avgValue;
((XYDiagram)VChart.Diagram).AxisY.ConstantLines[4].AxisValue = minValue;
//VChart.Legend.Visible = true;
//VChart.Titles[0].Text =
// String.Format("Voltage Status");
//VChart.Invalidate();
}
catch (Exception)
{
//MsgBox.ErrorShow(ex);
}
}
private void DisplayCellTemperature()
{
try
{
for (int i = 0; i < seriesTemp.Length; i++)
seriesTemp[i].DataSource = null;
for (int i = 0; i < tempQty; i++)
dtTemp[i].Rows[0]["Value"] = Convert.ToDouble(SystemData.ValueData.CellTemperature[i]) / 10;
for (int i = 0; i < seriesTemp.Length; i++)
seriesTemp[i].DataSource = dtTemp[i];
double maxValue = Convert.ToDouble(SystemData.AvgData.maxTemp) / 10;
double avgValue = Convert.ToDouble(SystemData.AvgData.avgTemp) / 10;
double minValue = Convert.ToDouble(SystemData.AvgData.minTemp) / 10;
int maxCno = Convert.ToInt32(SystemData.AvgData.maxTempNum);
int minCno = Convert.ToInt32(SystemData.AvgData.minTempNum);
((XYDiagram)TChart.Diagram).AxisY.ConstantLines[2].Name = String.Format(" Max({0:#0.0}C:{1:00})", maxValue, maxCno);
((XYDiagram)TChart.Diagram).AxisY.ConstantLines[3].Name = String.Format(" Avg({0:#0.0}C)", avgValue);
((XYDiagram)TChart.Diagram).AxisY.ConstantLines[4].Name = String.Format("Min({0:#0.0}C:{1:00})", minValue, minCno);
// Define its axis value.
((XYDiagram)TChart.Diagram).AxisY.ConstantLines[2].AxisValue = maxValue;
((XYDiagram)TChart.Diagram).AxisY.ConstantLines[3].AxisValue = avgValue;
((XYDiagram)TChart.Diagram).AxisY.ConstantLines[4].AxisValue = minValue;
//TChart.Legend.Visible = true;
//TChart.Titles[0].Text =
// String.Format("Temperature Status");
}
catch (Exception)
{
//MsgBox.ErrorShow(ex);
}
}
private void DisplayStatusStr()
{
if (SystemData.CommFail == false)
{
if (SystemData.ShelfCommFail == false)
{
switch (SystemData.StatusData.status)
{
case 0x0000: // Stand by
lbStatus.Text = "STANDBY";
lbStatus.ForeColor = Color.Black;
break;
case 0x0001: // Charging
lbStatus.Text = "CHARGING";
lbStatus.ForeColor = Color.Blue;
break;
case 0x0002: // Discharging
lbStatus.Text = "DISCHARGING";
lbStatus.ForeColor = Color.Magenta;
break;
case 0x0003: // Float Charging
lbStatus.Text = "FLOATING";
lbStatus.ForeColor = Color.Black;
break;
case 0x0004: // Warming Up
lbStatus.Text = "WARMING UP";
lbStatus.ForeColor = Color.Black;
break;
default:
lbStatus.Text = string.Format("UNKNOWN(0x{0:X4})", (ushort)SystemData.StatusData.status);
lbStatus.ForeColor = Color.Black;
break;
}
}
else
{
lbStatus.Text = "COMM FAIL";
lbStatus.ForeColor = Color.Red;
}
}
else
{
lbStatus.Text = "OFF LINE";
lbStatus.ForeColor = Color.Red;
}
}
private void DisplayStatusStrUart()
{
if (SystemData.CommFail == false)
{
if (SystemData.ShelfCommFail == false)
{
switch ((int)SystemData.StatusData.status)
{
case 0x0000: // Stand by
lbStatus.Text = "STANDBY";
lbStatus.ForeColor = System.Drawing.Color.Black;
break;
case 0x0001: // Charging
lbStatus.Text = "CHARGING";
lbStatus.ForeColor = System.Drawing.Color.Blue;
break;
case 0x0002: // Discharging
lbStatus.Text = "DISCHARGING";
lbStatus.ForeColor = System.Drawing.Color.Magenta;
break;
case 0x0004: // TRIP
if (SystemData.StatusData.protection == 0)
{
lbStatus.Text = "TRIP (Anti-Theft)";
lbStatus.ForeColor = Color.Red;
}
else
{
lbStatus.Text = "TRIP";
lbStatus.ForeColor = Color.Red;
}
break;
case 0x0008: // Chg-Lmt
lbStatus.Text = "CHG-LIMIT";
lbStatus.ForeColor = System.Drawing.Color.Blue;
break;
case 0x8000: // Stand by - Heat
lbStatus.Text = "STANDBY-HEAT";
lbStatus.ForeColor = System.Drawing.Color.Blue;
break;
case 0x8001: // Charging
lbStatus.Text = "CHARGING-HEAT";
lbStatus.ForeColor = System.Drawing.Color.Blue;
break;
case 0x8002: // Discharging
lbStatus.Text = "DISCHARGING-HEAT";
lbStatus.ForeColor = System.Drawing.Color.Magenta;
break;
case 0x8004: // TRIP
lbStatus.Text = "TRIP-HEAT";
lbStatus.ForeColor = System.Drawing.Color.Red;
break;
case 0x8008: // Chg-Lmt
lbStatus.Text = "CHG-LIMIT-HEAT";
lbStatus.ForeColor = System.Drawing.Color.Blue;
break;
default:
lbStatus.Text = string.Format("UNKNOWN(0x{0:X4})", (ushort)SystemData.StatusData.status);
lbStatus.ForeColor = System.Drawing.Color.Black;
break;
}
}
else
{
lbStatus.Text = "COMM FAIL";
lbStatus.ForeColor = System.Drawing.Color.Red;
}
}
else
{
lbStatus.Text = "OFF LINE";
lbStatus.ForeColor = System.Drawing.Color.Red;
}
}
private void DisplayAlarmStr()
{
if (SystemData.CommFail == false)
{
if (SystemData.ShelfCommFail == false)
{
// Alarm Display
if (SystemData.StatusData.protection != 0)
{
lbAlarm.Text = "FAULT";
lbAlarm.ForeColor = Color.Red;
}
else if (SystemData.StatusData.warning != 0)
{
lbAlarm.Text = "WARNING";
lbAlarm.ForeColor = Color.Orange;
}
else
{
lbAlarm.Text = "NORMAL";
lbAlarm.ForeColor = Color.Green;
}
}
else
{
lbAlarm.Text = "COMM FAIL";
lbAlarm.ForeColor = Color.Red;
}
}
else
{
lbAlarm.Text = "OFF LINE";
lbAlarm.ForeColor = Color.Red;
}
}
private void DisplayAlarmStrUart()
{
if (SystemData.CommFail == false)
{
if (SystemData.ShelfCommFail == false)
{
// Alarm Display
if (SystemData.StatusData.batteryStatus == 0)
{
lbAlarm.Text = "NORMAL";
lbAlarm.ForeColor = System.Drawing.Color.Green;
}
else if (SystemData.StatusData.batteryStatus == 1)
{
lbAlarm.Text = "WARNING";
lbAlarm.ForeColor = System.Drawing.Color.Orange;
}
else if (SystemData.StatusData.batteryStatus == 2)
{
lbAlarm.Text = "FAULT";
lbAlarm.ForeColor = System.Drawing.Color.Red;
}
else if (SystemData.StatusData.batteryStatus == 3)
{
lbAlarm.Text = "WARMING UP";
lbAlarm.ForeColor = System.Drawing.Color.Green;
}
else
{
lbAlarm.Text = string.Format("UNKNOWN(0x{0:X4})", (ushort)SystemData.StatusData.batteryStatus);
lbAlarm.ForeColor = System.Drawing.Color.Red;
}
}
else
{
lbAlarm.Text = "COMM FAIL";
lbAlarm.ForeColor = System.Drawing.Color.Red;
}
}
else
{
lbAlarm.Text = "OFF LINE";
lbAlarm.ForeColor = System.Drawing.Color.Red;
}
}
private void DisplayAlarm()
{
gbAlarm.Text = string.Format("Alarm && Fault ( ERROR: 0x{0:X4} )", (ushort)SystemData.StatusData.errorCode);
bool[] aFault = csUtils.Int16ToBitArray(SystemData.StatusData.protection);
bool[] aWarining = csUtils.Int16ToBitArray(SystemData.StatusData.warning);
bool aCommfail;
if (Config.CommType == 0)
{
aCommfail = SystemData.ShelfCommFail;
}
else
{
aCommfail = SystemData.CommFail;
}
for (int i = 0; i < 8; i++)
{
if (aFault[i] == true)
alarmTrip[i].SetValue(2);
else if (aWarining[i] == true)
alarmTrip[i].SetValue(1);
else
alarmTrip[i].SetValue(0);
// Charge Over Current protect
if (i == 6)
{
if ((aFault[i] == true) && (aFault[i]))
alarmTrip[i].SetValue(2);
else if (aWarining[i] == true)
alarmTrip[i].SetValue(1);
else
alarmTrip[i].SetValue(0);
}
}
// ETC Alarm (Cell Voltage Difference, PCB High Temp
if ((aFault[8] == true) || (aFault[9] == true))
alarmTrip[9].SetValue(2);
else if ((aWarining[8] == true) || (aWarining[9] == true))
alarmTrip[9].SetValue(1);
else
alarmTrip[9].SetValue(0);
// Low SOC
if (aWarining[11] == true)
alarmTrip[8].SetValue(1);
else
alarmTrip[8].SetValue(0);
}
#endregion
#region BUTTON EVENT
private void btnParam_Click(object sender, EventArgs e)
{
foreach (Form frm in Application.OpenForms)
{
if (frm.Name == "fmxParamConfig")
{
frm.Activate();
return;
}
}
fmxParamConfig ParamConfigForm = new fmxParamConfig(SystemId, SystemData.ParamData);
ParamConfigForm.OnUpdate += UpdateParam;
ParamConfigForm.OnCommand += ParamSetCmd;
ParamConfigForm.Show();
}
private void btnCalibration_Click(object sender, EventArgs e)
{
switch (Config.CommType)
{
case csConstData.CommType.COMM_UART:
foreach (Form frm in Application.OpenForms)
{
if (frm.Name == "fmxCalibration")
{
frm.Activate();
return;
}
}
fmxCalibration CalibrationForm = new fmxCalibration(0, Config, SystemData.ParamData, SystemData.CalibriationData);
CalibrationForm.OnUpdate += UpdateCalibration;
CalibrationForm.OnCommand += ParamSetCmd;
CalibrationForm.ShowDialog();
break;
}
}
#endregion
#region CONTROL EVENT FUNCTION
private void UpdateParam(object sendor)
{
((fmxParamConfig)sendor).UpdateData(SystemData.ParamData, SystemData.CalibriationData);
}
private void UpdateCalibration(object sendor)
{
((fmxCalibration)sendor).UpdateData(SystemData.ParamData, SystemData.CalibriationData, SystemData);
}
private void ParamSetCmd(int sId, int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib)
{
OnCommand?.Invoke(SystemId, mode, index, flag, ref aParam, ref aCalib);
}
#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="tmrDisplay.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

188
LFP_Manager/Controls/ucStatus.Designer.cs generated Normal file
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.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.pcStatus = new DevExpress.XtraEditors.PanelControl();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcStatus = new DevExpress.XtraEditors.LabelControl();
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.pcStatus)).BeginInit();
this.pcStatus.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).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";
//
// 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;
//
// 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;
//
// 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;
//
// 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";
//
// 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;
//
// 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";
//
// 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;
//
// 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.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pcStatus)).EndInit();
this.pcStatus.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).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,298 @@
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.AllowCustomization = false;
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.AllowCustomization = false;
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, 23);
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, 30);
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.Options.UseFont = true;
this.lbStatus.Appearance.Options.UseTextOptions = true;
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, 22);
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.Appearance.Options.UseFont = true;
this.lbTargetInfo.Location = new System.Drawing.Point(78, 4);
this.lbTargetInfo.Name = "lbTargetInfo";
this.lbTargetInfo.Size = new System.Drawing.Size(444, 22);
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, 22);
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, 22);
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.Options.UseTextOptions = true;
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, 22);
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.Name = "Root";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup2.Size = new System.Drawing.Size(793, 30);
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, 26);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 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, 26);
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.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, 26);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 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, 26);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 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, 26);
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.layoutControlItem1});
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.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.TextSize = new System.Drawing.Size(0, 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 partial class ucTargetControl : DevExpress.XtraEditors.XtraUserControl
{
public delegate void ButtonEvent(object sender, EventArgs e);
#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(ref CommConfig Config)
{
string info = "";
switch (Config.CommType)
{
case csConstData.CommType.COMM_UART:
if (Config.UartModelIndex >= csConstData.UART_MODEL.Length)
{
Config.UartModelIndex = 0;
}
info = String.Format("INTERFACE: RS-232 - {0}, MODEL: {1}" //, M-QTY: {2}, PROTOCOL: {2}"
, Config.UartPort
, csConstData.UART_MODEL[Config.UartModelIndex]
//, Config.ModuleQty
//, csConstData.UART_PROTOCOL[Config.UartProtocol]
//, csCanConstData.DEVICE_NAME[Config.CanDevice]
//, Config.CanIndex
//, Config.CanNo
//, csCanConstData.CAN_BAUDRATE_STR[Config.CanBaudrate]
//, csConstData.CAN_MODEL[Config.CanModelIndex]
);
break;
}
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)
{
OnConfig?.Invoke(sender, e);
}
private void btnStart_Click(object sender, EventArgs e)
{
OnStart?.Invoke(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,386 @@
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.btnSystemReset = 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.btnSystemReset);
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, 23);
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, 217);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// btnSystemReset
//
this.btnSystemReset.Location = new System.Drawing.Point(3, 185);
this.btnSystemReset.Name = "btnSystemReset";
this.btnSystemReset.Size = new System.Drawing.Size(140, 29);
this.btnSystemReset.StyleController = this.layoutControl1;
this.btnSystemReset.TabIndex = 14;
this.btnSystemReset.Text = "System Reset";
this.btnSystemReset.Click += new System.EventHandler(this.btnLcdHistoryDelete_Click);
//
// btnReset
//
this.btnReset.Location = new System.Drawing.Point(354, 185);
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 = "RBMS 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.Options.UseTextOptions = true;
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, 79);
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.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(458, 217);
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.TextSize = new System.Drawing.Size(0, 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.TextSize = new System.Drawing.Size(0, 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.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(144, 182);
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.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.TextSize = new System.Drawing.Size(0, 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.TextSize = new System.Drawing.Size(0, 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, 83);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 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.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem9.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.btnReset;
this.layoutControlItem7.CustomizationFormText = "layoutControlItem7";
this.layoutControlItem7.Location = new System.Drawing.Point(351, 182);
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.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.btnSystemReset;
this.layoutControlItem8.CustomizationFormText = "layoutControlItem8";
this.layoutControlItem8.Location = new System.Drawing.Point(0, 182);
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.TextSize = new System.Drawing.Size(0, 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 btnSystemReset;
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, UInt32 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, 1, csConstData.ResetCommandFlag.SystemReset);
}
private void btnLcdHistoryDelete_Click(object sender, EventArgs e)
{
OnResetEvent(this, 1, csConstData.ResetCommandFlag.SystemResetAll);
}
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>

View File

@@ -0,0 +1,49 @@
/*
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* Table Name : TInventoryData
* Description : BMS Inventory Data
* createAt : 2020.12.02
* createBy : JK.Woo
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
drop table if exists TInventoryData;
--drop sequence if exists inventory_data_seq;
--create sequence inventory_data_seq start 1;
create table TInventoryData
(
manufacture_date integer not null ,
pcb_sn varchar(20) not null ,
module_sn varchar(32) null ,
create_date timestamp not null ,
modify_date timestamp not null ,
primary key (pcb_sn)
);
create index inventory_data_idx1 on TInventoryData (pcb_sn);
create index inventory_data_idx2 on TInventoryData (module_sn);
/*
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* Table Name : TErrorLogTable
* Description : Error Message Log Table
* createAt : 2019.11.04
* createBy : JK.Woo
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
drop table if exists TErrorLogTable;
--drop sequence if exists module_group_seq;
--create sequence module_group_seq start 1;
create table TErrorLogTable
(
create_date timestamp not null ,
pcb_sn varchar(20) not null ,
module_sn varchar(32) null ,
PROCESS varchar(20) not null ,
ERROR_TYPE varchar(100) not null ,
ERROR_MSG varchar(200) not null
);

View File

@@ -0,0 +1,59 @@
/********************************** BATTERY VALUE TABLE **************************************************/
/*
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
* Table Name : TModuleValue
* Description : Battery Module Value and Status Table
* createAt : 2021.03.04
* createBy : JK.Woo
* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/
drop table if exists TModuleValue;
create table TModuleValue
(
create_date timestamp not null ,
module_no smallint not null ,
model_name varchar(32) null ,
module_sn varchar(32) null ,
fw_ver varchar(10) null , -- "V2.4.1.4"
comm_fail BOOLEAN null ,
op_status smallint null ,
alarm_status smallint null ,
warning smallint null ,
fault smallint null ,
error_code smallint null ,
module_voltage NUMERIC null ,
module_current NUMERIC null ,
module_soc NUMERIC null ,
module_soh NUMERIC null ,
module_cyclecount NUMERIC null ,
cv_diff NUMERIC null ,
cell_voltage_01 NUMERIC null ,
cell_voltage_02 NUMERIC null ,
cell_voltage_03 NUMERIC null ,
cell_voltage_04 NUMERIC null ,
cell_voltage_05 NUMERIC null ,
cell_voltage_06 NUMERIC null ,
cell_voltage_07 NUMERIC null ,
cell_voltage_08 NUMERIC null ,
cell_voltage_09 NUMERIC null ,
cell_voltage_10 NUMERIC null ,
cell_voltage_11 NUMERIC null ,
cell_voltage_12 NUMERIC null ,
cell_voltage_13 NUMERIC null ,
cell_voltage_14 NUMERIC null ,
cell_voltage_15 NUMERIC null ,
tp_diff NUMERIC null ,
temperature_01 NUMERIC null ,
temperature_02 NUMERIC null ,
temperature_03 NUMERIC null ,
temperature_04 NUMERIC null ,
temperature_05 NUMERIC null ,
temperature_06 NUMERIC null ,
chg_option smallint null ,
primary key (create_date, module_no)
);
create index ModuleValue_data_idx1 on TModuleValue (create_date);

View File

@@ -0,0 +1,192 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LFP_Manager.DataStructure
{
class csCanConstData
{
public class CanDeviceInfo
{
public const int VCI_PCI5121 = 1;
public const int VCI_PCI9810 = 2;
public const int VCI_USBCAN1 = 3;
public const int VCI_USBCAN2 = 4;
public const int VCI_USBCAN2A = 4;
public const int VCI_PCI9820 = 5;
public const int VCI_CAN232 = 6;
public const int VCI_PCI5110 = 7;
public const int VCI_CANLITE = 8;
public const int VCI_ISA9620 = 9;
public const int VCI_ISA5420 = 10;
public const int VCI_PC104CAN = 11;
public const int VCI_CANETUDP = 12;
public const int VCI_CANETE = 12;
public const int VCI_DNP9810 = 13;
public const int VCI_PCI9840 = 14;
public const int VCI_PC104CAN2 = 15;
public const int VCI_PCI9820I = 16;
public const int VCI_CANETTCP = 17;
public const int VCI_PEC9920 = 18;
public const int VCI_PCI5010U = 19;
public const int VCI_USBCAN_E_U = 20;
public const int VCI_USBCAN_2E_U = 21;
public const int VCI_PCI5020U = 22;
public const int VCI_EG20T_CAN = 23;
/// <summary>
///
/// </summary>
/// <param name="DeviceType"></param>
/// <param name="DeviceInd"></param>
/// <param name="Reserved"></param>
/// <returns></returns>
}
public static readonly string[] DEVICE_NAME =
{
"PCI5121",
"PCI9810",
"USBCAN1",
"USBCAN2",
"USBCAN2A",
"PCI9820",
"CAN232",
"PCI5110",
"CANLITE",
"ISA9620",
"ISA5420",
"PC104CAN",
"CANETUDP",
"CANETE",
"DNP9810",
"PCI9840",
"PC104CAN2",
"PCI9820I",
"CANETTCP",
"PEC9920",
"PCI5010U",
"USBCAN_E_U",
"USBCAN_2E_U",
"PCI5020U",
"EG20T_CAN",
/// <summary>
///
/// </summary>
/// <param name="DeviceType"></param>
/// <param name="DeviceInd"></param>
/// <param name="Reserved"></param>
/// <returns></returns>
};
public static readonly int[] DEVICE_ID =
{
1,
2,
3,
4,
4,
5,
6,
7,
8,
9,
10,
11,
12,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
/// <summary>
///
/// </summary>
/// <param name="DeviceType"></param>
/// <param name="DeviceInd"></param>
/// <param name="Reserved"></param>
/// <returns></returns>
};
//0x060003--1000Kbps
//0x060004--800Kbps
//0x060007--500Kbps
//0x1C0008--250Kbps
//0x1C0011--125Kbps
//0x160023--100Kbps
//0x1C002C--50Kbps
//0x1600B3--20Kbps
//0x1C00E0--10Kbps
//0x1C01C1--5Kbps
public static readonly int[] CAN_BAUDRATE =
{
0x060003,
0x060004,
0x060007,
0x1C0008,
0x1C0011,
0x160023,
0x1C002C,
0x1600B3,
0x1C00E0,
0x1C01C1
};
//USBCAN II Baudrate
public static readonly int[] CAN_BAUDRATE_OTHER = // Timer 0 + Timer 1
{
0x0014, // 1000Kbps
0x0016, // 800Kbps
0x001C, // 500Kbps
0x011C, // 250Kbps
0x031C, // 125Kbps
0x041C, // 100Kbps
0x091C, // 50Kbps
0x181C, // 20Kbps
0x311C, // 10Kbps
0xBFFF // 5Kbps
};
public static readonly string[] CAN_BAUDRATE_STR =
{
"1000Kbps",
"800Kbps",
"500Kbps",
"250Kbps",
"125Kbps",
"100Kbps",
"50Kbps",
"20Kbps",
"10Kbps",
"5Kbps"
};
public class SendType
{
public const int Normal = 0;
public const int Single_Normal = 1;
public const int Loop_Back = 2;
public const int Single_Loop_Back = 3;
}
public class FrameType
{
public const int Standard = 0;
public const int Extended = 1;
}
public class FrameFormat
{
public const int Data_Frame = 0;
public const int Remote_Frame = 1;
}
}
}

View File

@@ -0,0 +1,208 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LFP_Manager.DataStructure
{
class csConstData
{
public class SystemInfo
{
public const int BASE_CAN_TARGET_ADDR = 200;
public const int MAX_MODULE_SIZE = 16;
public const int MAX_MODULE_CELL_SIZE = 15;
public const int MAX_MODULE_TEMP_SIZE = 4; //Byul 21.08.09 Initial : 8
public static readonly int FLOATING_VOLTAGE = (int)(3.55 * MAX_MODULE_CELL_SIZE * 10);
public static readonly string[] CHG_MODE =
{
"NO CURR LMT", // 0
"ALWAYS CURR LMT", // 1
"PRE-CHG PROTECT", // 2
"Unknown3", // 3
"AFTER CHG LMT", // 4
"Unknown5", // 5
"Unknown6", // 6
"Unknown7", // 7
"PRE-CHG + LMT", // 8
};
}
public class CommType
{
public const int COMM_UART = 0;
public const int COMM_UART_MULTI = 9;
}
public static readonly string[] UART_MODEL =
{
"LFPM-48100T",
"LFPM-48150T",
"LFPM-48200T",
"LFPM-48250T",
"LFPM-48300T",
};
public static readonly string[] UART_PROTOCOL =
{
"AMG",
"ELTEK",
};
public class UART_PARAM_LIST
{
public const int DEFAULT_PARAM = 0;
public const int CELL_UNDER_VOLTAGE = 61; //67
public const int PACK_UNDER_VOLTAGE = 64; //64
public const int CELL_OVER_VOLTAGE = 67; //
public const int PACK_OVER_VOLTAGE = 70; //61
public const int CHG_OVER_CURRENT2 = 83;
public const int DCH_OVER_CURRENT2 = 84;
public const int CHG_OVER_CURRENT = 78;
public const int DCH_OVER_CURRENT = 79;
public const int CHG_LOW_TEMPERATURE = 90;
public const int CHG_HIGH_TEMPERATURE = 93; //93
public const int DCH_LOW_TEMPERATURE = 96;
public const int DCH_HIGH_TEMPERATURE = 99; //99
public const int PCB_HIGH_TEMPERATURE = 102; //0x66 - 0x68
public const int LOW_CAPACITY = 58;
public const int DESIGN_CAPACITY = 37;
public const int SOC_VALUE = 24;
public const int CYCLE_COUNT = 29;
}
public class UART_CALIB_ADDR_LIST
{
public const int LIMIT_CHARGE = 0x502E; //
public const int BMS_DATETIME = 0x002D;
public const int CHAGE_MODE = 0x002F; //
public const int ANTI_THEFT = 0x0088;
}
public class UART_PARAM_DEFAULT
{
public const int Warn_Cell_UV = 2800;
public const int Protect_Cell_UV = 2500;
public const int Release_Cell_UV = 3000;
public const int Warn_Pack_UV = 4300;
public const int Protect_Pack_UV = 4200;
public const int Release_Pack_UV = 4500;
public const int Warn_Cell_OV = 3750;
public const int Protect_Cell_OV = 3850;
public const int Release_Cell_OV = 3580;
public const int Warn_Pack_OV = 5600;
public const int Protect_Pack_OV = 5700;
public const int Release_Pack_OV = 5400;
public const int Protect_Charge_OC1 = 11000;
public const int Protect_Discharge_OC1 = 11000;
public const int Protect_Charge_OC2 = 12000;
public const int Protect_Discharge_OC2 = 12000;
public const int ReleaseTime_Charge_OC = 60;
public const int ReleaseTime_Discharge_OC = 60;
public const int Delay_Charge_OC1 = 5;
public const int Delay_Discharge_OC1 = 5;
public const int Delay_Charge_OC2 = 1;
public const int Delay_Discharge_OC2 = 1;
public const int Times_Charge_OC = 5;
public const int Times_Discharge_OC = 5;
public const int Warn_Charge_UT = -5;
public const int Protect_Charge_UT = -10;
public const int Release_Charge_UT = -3;
public const int Warn_Charge_OT = 60;
public const int Protect_Charge_OT = 65;
public const int Release_Charge_OT = 55;
public const int Warn_Discharge_UT = -25;
public const int Protect_Discharge_UT = -30;
public const int Release_Discharge_UT = -20;
public const int Warn_Discharge_OT = 65;
public const int Protect_Discharge_OT = 70;
public const int Release_Discharge_OT = 60;
public const int Warn_PCB_OT = 100;
public const int Protect_PCB_OT = 105;
public const int Release_PCB_OT = 90;
public const int Warn_Low_Capacity = 5;
}
public class ResetCommandFlag
{
public static readonly ushort SystemReset = 0x0001;
public static readonly ushort LcdHistoryDelete = 0x0002;
public static readonly ushort SystemResetAll = 0x0003;
}
public class Eltek_Data
{
public static readonly ushort MD_BASE_REG = 4000;
public static readonly ushort MD_OFFSET = 400;
public static readonly ushort OpDataRegAddr = 0;
public static readonly ushort OpDataRegSize = 15;
public static readonly ushort ParaDataRegAddr = 200;
public static readonly ushort ParaDataRegSize = 71;
public static ushort GetOpDataRegAddr(int mID)
{
return (ushort)(MD_BASE_REG + (MD_OFFSET * mID) + OpDataRegAddr);
}
public static ushort GetParamDataRegAddr(int mID)
{
return (ushort)(MD_BASE_REG + (MD_OFFSET * mID) + ParaDataRegAddr);
}
}
public class CRC_Data
{
public static readonly byte[] auchCRCHi =
{
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,
0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40
};
public static readonly byte[] auchCRCLo =
{
0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,
0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,
0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,
0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,
0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,
0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,
0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,
0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,
0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,0x40
};
}
}
}

View File

@@ -0,0 +1,733 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using static DevExpress.Utils.MVVM.Internal.ILReader;
namespace LFP_Manager.DataStructure
{
public class CommConfig
{
public int CommType;
public string SnmpIP;
public int SnmpModelIndex;
public int ModuleQty;
public int RecvWaitTime;
public int CanDevice;
public int CanIndex;
public int CanNo;
public int CanBaudrate;
public int CanModelIndex;
public string UartPort;
public int UartBaudrate;
public int UartModelIndex;
public int UartProtocol;
public int DbLogPeriod;
public int RealTimeChartMaxCount;
public int GyroSensitive;
public string EnablePassword;
public string DisablePassword;
}
public class TMinMax
{
public short value;
public short num;
}
public class DeviceSystemTotalData
{
public bool CommFail;
public DeviceSystemIdent IdentData;
public DeviceValueTotalData ValueData;
public DeviceStatusTotalData StatusData;
public DeviceSystemTotalData()
{
IdentData = new DeviceSystemIdent();
ValueData = new DeviceValueTotalData();
StatusData = new DeviceStatusTotalData();
}
}
public class DeviceSystemIdent
{
public string Manufacturer;
public string DeviceModel;
//public int ModuleQuantity;
public byte[] fw_ver;
public string FwVerStr;
public int AlarmOutputMode;
public UInt32 ManufactureDate;
public string SerialNumber;
public DeviceSystemIdent()
{
Manufacturer = "";
DeviceModel = "";
//ModuleQuantity = 1;
fw_ver = new byte[4];
FwVerStr = "";
AlarmOutputMode = 0;
ManufactureDate = 0;
SerialNumber = "";
}
}
public class DeviceSystemData
{
public int mNo;
public int cellQty;
public int tempQty;
public int ChargeVoltage;
public int DOD;
public int MaxChaCurrent;
public int MaxDchCurrent;
public UInt32 heatbeat;
public bool CommFail;
public bool ShelfCommFail;
public DateTime LastRxTime;
public Int32 BmsDateTimeInt;
public ushort BmsDateTimeShort1;
public ushort BmsDateTimeShort2;
public DateTime BmsDateTime;
public DeviceValueData ValueData;
public DeviceAvgData AvgData;
public DeviceStatusData StatusData;
public DeviceParamData ParamData;
public DeviceCalibration CalibriationData;
public DeviceInforation Information;
public DeviceEtcStatus EtcStatus;
public DeviceSystemData()
{
mNo = 0;
cellQty = 15;
tempQty = 4;
ChargeVoltage = 0;
DOD = 0;
MaxChaCurrent = 0;
MaxDchCurrent = 0;
heatbeat = 0;
CommFail = false;
ShelfCommFail = false;
LastRxTime = DateTime.MinValue;
BmsDateTimeInt = 0;
BmsDateTime = DateTime.MinValue;
ValueData = new DeviceValueData();
AvgData = new DeviceAvgData();
StatusData = new DeviceStatusData();
ParamData = new DeviceParamData();
CalibriationData = new DeviceCalibration();
Information = new DeviceInforation();
EtcStatus = new DeviceEtcStatus();
}
}
public class DeviceValueTotalData
{
public short TotalVoltage;
public short TotalCurrent;
public short TotalSOC;
public short TotalSOH;
public short TotalTemp;
public DeviceValueTotalData()
{
TotalVoltage = 0;
TotalCurrent = 0;
TotalSOC = 0;
TotalSOH = 0;
TotalTemp = 0;
}
}
public class DeviceValueData
{
public byte[] fw_ver;
public short voltageOfPack;
public short current;
public short cha_current;
public short dch_current;
public short averageCurrent;
public short rSOC;
public ushort[] CellVoltage;
public short[] CellTemperature;
public short Ext1Temperature;
public short Ext2Temperature;
public short remainingCapacity;
public short stateOfHealth;
public int cycleCount;
public int fullChargeCapacity;
public int designedCapacity;
public int TimeLeft;
public int Ah_Charged;
public int Ah_Discharged;
public int NoOfDischargeCycles;
public int NoOfChargeCycles;
public int ModuleAlarms;
public int ModuleWarnings;
public int ModuleStatus;
public int ModuleVoltage_int;
public int ModBusDocVersion;
public int ParametersChanged;
public int MaxBattChargeCurr;
public int MaxBattDischargeCurr;
public int BatteryProdDateYear;
public int BatteryProdDateMonth;
public int BatteryProdDateDay;
public int BatteryModelDescription;
public int BatteryType;
public DeviceValueData()
{
fw_ver = new byte[6];
CellVoltage = new ushort[csConstData.SystemInfo.MAX_MODULE_CELL_SIZE];
CellTemperature = new short[csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE];
}
}
public class DeviceAvgData
{
public short maxCellVoltage;
public short minCellVoltage;
public short avgCellVoltage;
public short diffCellVoltage;
public short maxCellNum;
public short minCellNum;
public short maxTemp;
public short minTemp;
public short avgTemp;
public short diffTemp;
public short maxTempNum;
public short minTempNum;
public DeviceAvgData()
{
}
}
public class DeviceStatusTotalData
{
public short batteryStatus;
public short warning;
public short protection;
public short errorCode;
public short status;
}
public class DeviceStatusData
{
public short batteryStatus;
public short batteryStatus1;
public short warning;
public short protection;
public short protection1;
public short errorCode;
public short status;
public short relayStatus;
public short cellBallanceStatus;
public short cellBalanceValue;
public short cellBalanceFlag;
}
public class DeviceCommStatus
{
public DateTime LastRxTime;
public bool CommFail;
}
public class DeviceParamData
{
public short CellOverVoltageTrip;
public short CellOverVoltageWarning;
public short CellOverVoltageRelease;
public short CellUnderVoltageTrip;
public short CellUnderVoltageWarning;
public short CellUnderVoltageRelease;
public short SysOverVoltageTrip;
public short SysOverVoltageWarning;
public short SysOverVoltageRelease;
public short SysUnderVoltageTrip;
public short SysUnderVoltageWarning;
public short SysUnderVoltageRelease;
public short ChaHighTempTrip;
public short ChaHighTempWarning;
public short ChaHighTempRelease;
public short ChaLowTempTrip;
public short ChaLowTempWarning;
public short ChaLowTempRelease;
public short DchHighTempTrip;
public short DchHighTempWarning;
public short DchHighTempRelease;
public short DchLowTempTrip;
public short DchLowTempWarning;
public short DchLowTempRelease;
public short ChaOverCurrentTrip1;
public short ChaOverCurrentTrip2;
public short ChaOverCurrentWarning;
public short ChaOverCurrentReleaseTime;
public short ChaOverCurrentTimes;
public short ChaOverCurrentDelay1;
public short ChaOverCurrentDelay2;
public short DchOverCurrentTrip1;
public short DchOverCurrentTrip2;
public short DchOverCurrentWarning;
public short DchOverCurrentReleaseTime;
public short DchOverCurrentTimes;
public short DchOverCurrentDelay1;
public short DchOverCurrentDelay2;
public short PcbHighTempTrip;
public short PcbHighTempWarning;
public short PcbHighTempRelease;
public short ShortCircuit;
public short LowSocTrip;
public short LowSocWarning;
public short LowSocRelease;
public short CellVoltageDifferenceTrip;
public short CellVoltageDifferenceWarning;
public short CellVoltageDifferenceRelease;
public short CellVoltageDifferenceTime;
public short DefalutParamOption;
public short DefalutParamAll;
public ushort ReadParamAll;
public DeviceParamData DeepCopy()
{
DeviceParamData newCopy = new DeviceParamData
{
CellOverVoltageTrip = CellOverVoltageTrip,
CellOverVoltageWarning = CellOverVoltageWarning,
CellOverVoltageRelease = CellOverVoltageRelease,
CellUnderVoltageTrip = CellUnderVoltageTrip,
CellUnderVoltageWarning = CellUnderVoltageWarning,
CellUnderVoltageRelease = CellUnderVoltageRelease,
SysOverVoltageTrip = SysOverVoltageTrip,
SysOverVoltageWarning = SysOverVoltageWarning,
SysOverVoltageRelease = SysOverVoltageRelease,
SysUnderVoltageTrip = SysUnderVoltageTrip,
SysUnderVoltageWarning = SysUnderVoltageWarning,
SysUnderVoltageRelease = SysUnderVoltageRelease,
ChaHighTempTrip = ChaHighTempTrip,
ChaHighTempWarning = ChaHighTempWarning,
ChaHighTempRelease = ChaHighTempRelease,
ChaLowTempTrip = ChaLowTempTrip,
ChaLowTempWarning = ChaLowTempWarning,
ChaLowTempRelease = ChaLowTempRelease,
DchHighTempTrip = DchHighTempTrip,
DchHighTempWarning = DchHighTempWarning,
DchHighTempRelease = DchHighTempRelease,
DchLowTempTrip = DchLowTempTrip,
DchLowTempWarning = DchLowTempWarning,
DchLowTempRelease = DchLowTempRelease,
ChaOverCurrentTrip1 = ChaOverCurrentTrip1,
ChaOverCurrentTrip2 = ChaOverCurrentTrip2,
ChaOverCurrentWarning = ChaOverCurrentWarning,
ChaOverCurrentReleaseTime = ChaOverCurrentReleaseTime,
ChaOverCurrentTimes = ChaOverCurrentTimes,
ChaOverCurrentDelay1 = ChaOverCurrentDelay1,
ChaOverCurrentDelay2 = ChaOverCurrentDelay2,
DchOverCurrentTrip1 = DchOverCurrentTrip1,
DchOverCurrentTrip2 = DchOverCurrentTrip2,
DchOverCurrentWarning = DchOverCurrentWarning,
DchOverCurrentReleaseTime = DchOverCurrentReleaseTime,
DchOverCurrentTimes = DchOverCurrentTimes,
DchOverCurrentDelay1 = DchOverCurrentDelay1,
DchOverCurrentDelay2 = DchOverCurrentDelay2,
PcbHighTempTrip = PcbHighTempTrip,
PcbHighTempWarning = PcbHighTempWarning,
PcbHighTempRelease = PcbHighTempRelease,
ShortCircuit = ShortCircuit,
LowSocTrip = LowSocTrip,
LowSocWarning = LowSocWarning,
LowSocRelease = LowSocRelease,
CellVoltageDifferenceTrip = CellVoltageDifferenceTrip,
CellVoltageDifferenceWarning = CellVoltageDifferenceWarning,
CellVoltageDifferenceRelease = CellVoltageDifferenceRelease,
CellVoltageDifferenceTime = CellVoltageDifferenceTime,
DefalutParamOption = DefalutParamOption,
DefalutParamAll = DefalutParamAll,
ReadParamAll = ReadParamAll,
};
return newCopy;
}
}
public class DeviceCalibration
{
public CellVoltageCalib CellVoltge;
public SystemVoltageCalib SystemVoltage;
public ForcedBalControl ForcedBalancing;
public BatteryParameter Battery;
public CurrentCalib Current;
public SystemInfor SystemInfo;
public CapCalibration CapCalib;
public FetCalibration FetCalib;
public ChargeMode ChaMode;
public TAntiTheft AntiTheft;
public TBmsDateTime BmsDateTime;
public DeviceInforation InvData;
public DeviceCalibration()
{
CellVoltge = new CellVoltageCalib();
SystemVoltage = new SystemVoltageCalib();
ForcedBalancing = new ForcedBalControl();
Battery = new BatteryParameter();
Current = new CurrentCalib();
SystemInfo = new SystemInfor();
CapCalib = new CapCalibration();
FetCalib = new FetCalibration();
ChaMode = new ChargeMode();
AntiTheft = new TAntiTheft();
BmsDateTime = new TBmsDateTime();
InvData = new DeviceInforation();
}
public DeviceCalibration DeepCopy()
{
DeviceCalibration newCopy = new DeviceCalibration
{
CellVoltge = CellVoltge,
SystemVoltage = SystemVoltage,
ForcedBalancing = ForcedBalancing,
Battery = Battery,
Current = Current,
SystemInfo = SystemInfo,
CapCalib = CapCalib.DeepCopy(),
AntiTheft = AntiTheft.DeepCopy(),
FetCalib = FetCalib,
ChaMode = ChaMode.DeepCopy(),
};
return newCopy;
}
}
public class CellVoltageCalib
{
public short CurrentCellNo; // 0: ODD, 1: EVEN
public short OddCellVoltageCalibration_K;
public short OddCellVoltageCalibration_B;
public short EvenCellVoltageCalibration_K;
public short EvenCellVoltageCalibration_B;
}
public class SystemVoltageCalib
{
[MarshalAs(UnmanagedType.I2, SizeConst = 2)]
public short Calibration_K;
public short Calibration_B;
}
public class ForcedBalControl
{
public short Control;
public short CellNo;
public bool AutoB;
}
public class BatteryParameter
{
public short CellQty;
public short TempQty;
public UInt32 Capacity;
}
public class CurrentCalib
{
public short SelectSubItem;
public short ShuntRange;
public short CurrentZero;
public short VoltageZero;
public Int32 ChgCalibration_K;
public Int32 DchCalibration_K;
public short ChaAndDchSelect;
public short ChargeOption;
}
public class SystemInfor
{
//public short Id;
public DateTime devTime;
public ushort LastRebootCause;
}
public class CapCalibration
{
public int DesignCapacity;
public int SocValue;
public int CycleCount;
public CapCalibration()
{
DesignCapacity = 0;
SocValue = 0;
CycleCount = 0;
}
public CapCalibration DeepCopy()
{
CapCalibration newCopy = new CapCalibration
{
DesignCapacity = DesignCapacity,
SocValue = SocValue,
CycleCount = CycleCount,
};
return newCopy;
}
}
public class ChargeMode
{
public int Mode;
public int Value;
public ChargeMode()
{
Mode = 0;
Value = 0;
}
public ChargeMode DeepCopy()
{
ChargeMode newCopy = new ChargeMode
{
Mode = Mode,
Value = Value,
};
return newCopy;
}
}
public class TAntiTheft
{
public int Comm;
public int GyroScope;
public TAntiTheft()
{
Comm = 0;
GyroScope = 0;
}
public TAntiTheft DeepCopy()
{
TAntiTheft newCopy = new TAntiTheft
{
Comm = Comm,
GyroScope = GyroScope,
};
return newCopy;
}
}
public class TBmsDateTime
{
public string Str;
public int lValue;
public short[] sValue;
public TBmsDateTime()
{
Str = "";
lValue = 0;
sValue = new short[2];
}
public TBmsDateTime DeepCopy()
{
TBmsDateTime newCopy = new TBmsDateTime
{
Str = Str,
lValue = lValue,
};
for (int i = 0; i < 2; i++)
{
newCopy.sValue[i] = sValue[i];
}
return newCopy;
}
}
public class FetCalibration
{
public short FetStatus;
public short DchFetOff; // 6010
public short ChaFetOff; // 6011
public short LmtChaFetOff; // 6012
public short PreChaFetOn; // 6013
public short HeaterFetOn; // 6014
public short ChaFetOn; // 6015
}
public class DeviceInforation
{
public UInt32 ManufactureDate;
public byte[] Model_Byte;
public byte[] FwVer_Byte;
public string Model_Str;
public string FwVer_Str;
public byte[] BMS_SN;
public string BMS_SN_Str;
public byte[] Module_SN;
public DeviceInforation()
{
Model_Byte = new byte[24];
FwVer_Byte = new byte[6];
Model_Str = " ";
FwVer_Str = " ";
BMS_SN = new byte[32];
BMS_SN_Str = " ";
Module_SN = new byte[32];
}
}
public class DeviceEtcStatus
{
public short SwitchHW;
public short SwitchWarning;
public short SwitchProtect;
public ushort LogDurationIdle; // min
public ushort LogDurationActive; // min
public UInt32 DataAndTime;
public ushort ChgOCPModel; /* 充电限流
0:不限流保护
1:始终限流充电
2:预充保护
4:充电过流后限流
8:预充+充电过流后限流 */
public short ChgLmtVoltage; // mv
public short SOC_StopFloat; // % 暂停浮充Soc
public short SOC_RecvFloat; // % 恢复浮充电压
public short DurationFloat; // sec
public short DurationIdle; // sec
public short VoltageStopFloat; // 0.1V
public short VoltageRecvFloat; // 0.1V
public short FloatMode; /* 0000: 持续浮充
0001:检测电压
0002:定时浮充
0003:检测SOC */
public short BalanceVoltage; // mV 均衡启动电压
public short BalanceDeltaV; // mV 均衡启动压差
public short WarnLowCapacity; // 低容量告警
public short HistroyDelete; // 删除数据记录
}
public class TUartTRxData
{
public int type;
public int length;
public byte[] data;
public TUartTRxData()
{
type = 0;
length = 0;
data = new byte[256];
}
public TUartTRxData DeepCopy()
{
TUartTRxData newCopy = new TUartTRxData
{
type = type,
length = length,
data = data
};
for (int i = 0; i < data.Length; i++)
{
newCopy.data[i] = data[i];
}
return newCopy;
}
}
public class TUartTxBuff
{
public int InPos;
public int OutPos;
public TUartTRxData[] Buf;
public TUartTxBuff()
{
InPos = 0;
OutPos = 0;
Buf = new TUartTRxData[50];
for (int i = 0; i < 50; i++)
{
Buf[i] = new TUartTRxData();
}
}
public bool CheckBuff()
{
if (InPos != OutPos) { return true; }
else { return false; }
}
public void PutBuff(TUartTRxData UartTxData)
{
if (UartTxData != null)
{
Buf[InPos++] = UartTxData.DeepCopy();
InPos %= 50;
}
}
public TUartTRxData GetBuff()
{
TUartTRxData result = null;
if (InPos != OutPos)
{
result = Buf[OutPos++].DeepCopy();
OutPos %= 50;
}
return result;
}
}
}

View File

@@ -0,0 +1,67 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LFP_Manager.DataStructure
{
class csDbConstData
{
public class DataBase
{
public static string FileName = @"\db\AlamrHistory.db";
public static string TableName = "History";
public static string CreateTable =
"CREATE TABLE " + TableName + " ("
+ "HTime DateTime NOT NULL, "
+ "model varchar(10), "
+ "sno int, "
+ "alarm_name varchar(20), "
+ "alarm_code int, "
+ "flag_name varchar(20), "
+ "flag int, "
+ "param1 float, "
+ "param2 float, "
+ ");";
}
public static readonly int ALARM_NAME_SIZE = 9;
public class DB_ALARM
{
public static int CELL_UNDER_VOLTAGE = 0;
public static int CELL_OVER_VOLTAGE = 1;
public static int SYSTEM_UNDER_VOLTAGE = 2;
public static int SYSTEM_OVER_VOLTAGAE = 3;
public static int HIGH_TEMPERATURE = 4;
public static int LOW_TEMPERATURE = 5;
public static int CHARGE_OVER_CURRENT = 6;
public static int DISCHARGE_OVER_CURRENT = 7;
public static int LOW_SOC = 8;
public static readonly string[] ALARM_NAME =
{
"CELL UNDER VOLTAGE",
"CELL OVER VOLTAGE",
"SYSTEM UNDER VOLTAGE",
"SYSTEM OVER VOLTAGAE",
"HIGH TEMPERATURE",
"LOW TEMPERATURE",
"CHARGE OVER CURRENT",
"DISCHARGE OVER CURRENT",
"LOW SOC",
};
public static int FLAG_RELEASE = 0;
public static int FLAG_WARNING = 1;
public static int FLAG_TRIP = 2;
public static readonly string[] FLAG_NAME =
{
"RELEASE",
"WARNING",
"FAULT",
};
}
}
}

47
LFP_Manager/Form1.Designer.cs generated Normal file
View File

@@ -0,0 +1,47 @@
namespace snmp_sim
{
partial class fmMain
{
/// <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 Windows Form 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.SuspendLayout();
//
// fmMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 262);
this.Name = "fmMain";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
}
}

19
LFP_Manager/Form1.cs Normal file
View File

@@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace snmp_sim
{
public partial class fmMain : Form
{
public fmMain()
{
InitializeComponent();
}
}
}

120
LFP_Manager/Form1.resx Normal file
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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,232 @@
namespace LFP_Manager.Forms
{
partial class FmxChangePassword
{
/// <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 Windows Form 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.gcPassword = new DevExpress.XtraEditors.GroupControl();
this.lblPasswordType = new DevExpress.XtraEditors.LabelControl();
this.cbPasswordType = new DevExpress.XtraEditors.ComboBoxEdit();
this.lblCurrentPassword = new DevExpress.XtraEditors.LabelControl();
this.teCurrentPassword = new DevExpress.XtraEditors.TextEdit();
this.lblNewPassword = new DevExpress.XtraEditors.LabelControl();
this.teNewPassword = new DevExpress.XtraEditors.TextEdit();
this.lblConfirmPassword = new DevExpress.XtraEditors.LabelControl();
this.teConfirmPassword = new DevExpress.XtraEditors.TextEdit();
this.ceShowPassword = new DevExpress.XtraEditors.CheckEdit();
this.btnOk = new DevExpress.XtraEditors.SimpleButton();
this.btnCancel = new DevExpress.XtraEditors.SimpleButton();
((System.ComponentModel.ISupportInitialize)(this.gcPassword)).BeginInit();
this.gcPassword.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.cbPasswordType.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.teCurrentPassword.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.teNewPassword.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.teConfirmPassword.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ceShowPassword.Properties)).BeginInit();
this.SuspendLayout();
//
// gcPassword
//
this.gcPassword.AppearanceCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold);
this.gcPassword.AppearanceCaption.Options.UseFont = true;
this.gcPassword.Controls.Add(this.lblPasswordType);
this.gcPassword.Controls.Add(this.cbPasswordType);
this.gcPassword.Controls.Add(this.lblCurrentPassword);
this.gcPassword.Controls.Add(this.teCurrentPassword);
this.gcPassword.Controls.Add(this.lblNewPassword);
this.gcPassword.Controls.Add(this.teNewPassword);
this.gcPassword.Controls.Add(this.lblConfirmPassword);
this.gcPassword.Controls.Add(this.teConfirmPassword);
this.gcPassword.Controls.Add(this.ceShowPassword);
this.gcPassword.Location = new System.Drawing.Point(14, 12);
this.gcPassword.Name = "gcPassword";
this.gcPassword.Size = new System.Drawing.Size(402, 222);
this.gcPassword.TabIndex = 0;
this.gcPassword.Text = "Password Settings";
//
// lblPasswordType
//
this.lblPasswordType.Appearance.Font = new System.Drawing.Font("Tahoma", 9.25F);
this.lblPasswordType.Appearance.Options.UseFont = true;
this.lblPasswordType.Location = new System.Drawing.Point(18, 42);
this.lblPasswordType.Name = "lblPasswordType";
this.lblPasswordType.Size = new System.Drawing.Size(89, 14);
this.lblPasswordType.TabIndex = 0;
this.lblPasswordType.Text = "Password Type:";
//
// cbPasswordType
//
this.cbPasswordType.Location = new System.Drawing.Point(144, 38);
this.cbPasswordType.Name = "cbPasswordType";
this.cbPasswordType.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 9.25F);
this.cbPasswordType.Properties.Appearance.Options.UseFont = true;
this.cbPasswordType.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbPasswordType.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.DisableTextEditor;
this.cbPasswordType.Size = new System.Drawing.Size(238, 22);
this.cbPasswordType.TabIndex = 1;
this.cbPasswordType.SelectedIndexChanged += new System.EventHandler(this.CbPasswordType_SelectedIndexChanged);
//
// lblCurrentPassword
//
this.lblCurrentPassword.Appearance.Font = new System.Drawing.Font("Tahoma", 9.25F);
this.lblCurrentPassword.Appearance.Options.UseFont = true;
this.lblCurrentPassword.Location = new System.Drawing.Point(18, 78);
this.lblCurrentPassword.Name = "lblCurrentPassword";
this.lblCurrentPassword.Size = new System.Drawing.Size(102, 14);
this.lblCurrentPassword.TabIndex = 2;
this.lblCurrentPassword.Text = "Current Password:";
//
// teCurrentPassword
//
this.teCurrentPassword.Location = new System.Drawing.Point(144, 74);
this.teCurrentPassword.Name = "teCurrentPassword";
this.teCurrentPassword.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 9.25F);
this.teCurrentPassword.Properties.Appearance.Options.UseFont = true;
this.teCurrentPassword.Properties.PasswordChar = '*';
this.teCurrentPassword.Size = new System.Drawing.Size(238, 22);
this.teCurrentPassword.TabIndex = 3;
//
// lblNewPassword
//
this.lblNewPassword.Appearance.Font = new System.Drawing.Font("Tahoma", 9.25F);
this.lblNewPassword.Appearance.Options.UseFont = true;
this.lblNewPassword.Location = new System.Drawing.Point(18, 114);
this.lblNewPassword.Name = "lblNewPassword";
this.lblNewPassword.Size = new System.Drawing.Size(86, 14);
this.lblNewPassword.TabIndex = 4;
this.lblNewPassword.Text = "New Password:";
//
// teNewPassword
//
this.teNewPassword.Location = new System.Drawing.Point(144, 110);
this.teNewPassword.Name = "teNewPassword";
this.teNewPassword.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 9.25F);
this.teNewPassword.Properties.Appearance.Options.UseFont = true;
this.teNewPassword.Properties.PasswordChar = '*';
this.teNewPassword.Size = new System.Drawing.Size(238, 22);
this.teNewPassword.TabIndex = 5;
//
// lblConfirmPassword
//
this.lblConfirmPassword.Appearance.Font = new System.Drawing.Font("Tahoma", 9.25F);
this.lblConfirmPassword.Appearance.Options.UseFont = true;
this.lblConfirmPassword.Location = new System.Drawing.Point(18, 150);
this.lblConfirmPassword.Name = "lblConfirmPassword";
this.lblConfirmPassword.Size = new System.Drawing.Size(102, 14);
this.lblConfirmPassword.TabIndex = 6;
this.lblConfirmPassword.Text = "Confirm Password:";
//
// teConfirmPassword
//
this.teConfirmPassword.Location = new System.Drawing.Point(144, 146);
this.teConfirmPassword.Name = "teConfirmPassword";
this.teConfirmPassword.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 9.25F);
this.teConfirmPassword.Properties.Appearance.Options.UseFont = true;
this.teConfirmPassword.Properties.PasswordChar = '*';
this.teConfirmPassword.Size = new System.Drawing.Size(238, 22);
this.teConfirmPassword.TabIndex = 7;
//
// ceShowPassword
//
this.ceShowPassword.Location = new System.Drawing.Point(144, 180);
this.ceShowPassword.Name = "ceShowPassword";
this.ceShowPassword.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 9F);
this.ceShowPassword.Properties.Appearance.Options.UseFont = true;
this.ceShowPassword.Properties.Caption = "Show Password";
this.ceShowPassword.Size = new System.Drawing.Size(120, 20);
this.ceShowPassword.TabIndex = 8;
this.ceShowPassword.CheckedChanged += new System.EventHandler(this.CeShowPassword_CheckedChanged);
//
// btnOk
//
this.btnOk.Appearance.Font = new System.Drawing.Font("Tahoma", 9.5F, System.Drawing.FontStyle.Bold);
this.btnOk.Appearance.Options.UseFont = true;
this.btnOk.Location = new System.Drawing.Point(214, 246);
this.btnOk.Name = "btnOk";
this.btnOk.Size = new System.Drawing.Size(96, 32);
this.btnOk.TabIndex = 9;
this.btnOk.Text = "Save";
this.btnOk.Click += new System.EventHandler(this.BtnOk_Click);
//
// btnCancel
//
this.btnCancel.Appearance.Font = new System.Drawing.Font("Tahoma", 9.5F);
this.btnCancel.Appearance.Options.UseFont = true;
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Location = new System.Drawing.Point(320, 246);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(96, 32);
this.btnCancel.TabIndex = 10;
this.btnCancel.Text = "Cancel";
this.btnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
//
// FmxChangePassword
//
this.AcceptButton = this.btnOk;
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnCancel;
this.ClientSize = new System.Drawing.Size(430, 290);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnOk);
this.Controls.Add(this.gcPassword);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FmxChangePassword";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Change Password";
((System.ComponentModel.ISupportInitialize)(this.gcPassword)).EndInit();
this.gcPassword.ResumeLayout(false);
this.gcPassword.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.cbPasswordType.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.teCurrentPassword.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.teNewPassword.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.teConfirmPassword.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ceShowPassword.Properties)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraEditors.GroupControl gcPassword;
private DevExpress.XtraEditors.LabelControl lblPasswordType;
private DevExpress.XtraEditors.ComboBoxEdit cbPasswordType;
private DevExpress.XtraEditors.LabelControl lblCurrentPassword;
private DevExpress.XtraEditors.TextEdit teCurrentPassword;
private DevExpress.XtraEditors.LabelControl lblNewPassword;
private DevExpress.XtraEditors.TextEdit teNewPassword;
private DevExpress.XtraEditors.LabelControl lblConfirmPassword;
private DevExpress.XtraEditors.TextEdit teConfirmPassword;
private DevExpress.XtraEditors.CheckEdit ceShowPassword;
private DevExpress.XtraEditors.SimpleButton btnOk;
private DevExpress.XtraEditors.SimpleButton btnCancel;
}
}

View File

@@ -0,0 +1,114 @@
using System;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
namespace LFP_Manager.Forms
{
public partial class FmxChangePassword : XtraForm
{
private CommConfig Config;
public FmxChangePassword(CommConfig aConfig)
{
InitializeComponent();
Config = aConfig;
cbPasswordType.Properties.Items.Clear();
cbPasswordType.Properties.Items.Add("Anti-Theft Enable Password");
cbPasswordType.Properties.Items.Add("Anti-Theft Disable Password");
cbPasswordType.SelectedIndex = 0;
}
private void CbPasswordType_SelectedIndexChanged(object sender, EventArgs e)
{
teCurrentPassword.Text = string.Empty;
teNewPassword.Text = string.Empty;
teConfirmPassword.Text = string.Empty;
teCurrentPassword.Focus();
}
private void CeShowPassword_CheckedChanged(object sender, EventArgs e)
{
char pChar = ceShowPassword.Checked ? '\0' : '*';
teCurrentPassword.Properties.PasswordChar = pChar;
teNewPassword.Properties.PasswordChar = pChar;
teConfirmPassword.Properties.PasswordChar = pChar;
}
private void BtnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
private void BtnOk_Click(object sender, EventArgs e)
{
string currentInput = teCurrentPassword.Text;
string newInput = teNewPassword.Text;
string confirmInput = teConfirmPassword.Text;
bool isEnablePw = (cbPasswordType.SelectedIndex == 0);
string actualCurrentPw = isEnablePw ? Config.EnablePassword : Config.DisablePassword;
// 1. 현재 비밀번호 확인
if (currentInput != actualCurrentPw)
{
MessageBox.Show("Current password is incorrect.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
teCurrentPassword.Focus();
teCurrentPassword.SelectAll();
return;
}
// 2. 새 비밀번호 공백 확인
if (string.IsNullOrWhiteSpace(newInput))
{
MessageBox.Show("New password cannot be empty.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
teNewPassword.Focus();
return;
}
// 3. 새 비밀번호와 현재 비밀번호 동일 여부 확인
if (newInput == actualCurrentPw)
{
MessageBox.Show("New password cannot be the same as current password.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
teNewPassword.Focus();
teNewPassword.SelectAll();
return;
}
// 4. 새 비밀번호 일치 확인
if (newInput != confirmInput)
{
MessageBox.Show("New password and confirm password do not match.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
teConfirmPassword.Focus();
teConfirmPassword.SelectAll();
return;
}
// 5. 비밀번호 업데이트 및 ini 파일 저장 (자동 암호화)
if (isEnablePw)
{
Config.EnablePassword = newInput;
}
else
{
Config.DisablePassword = newInput;
}
try
{
csIniControlFunction.IniSave(Application.ExecutablePath, Config);
string pwTypeName = isEnablePw ? "Anti-Theft Enable Password" : "Anti-Theft Disable Password";
MessageBox.Show(string.Format("{0} has been changed successfully.", pwTypeName), "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.DialogResult = DialogResult.OK;
this.Close();
}
catch (Exception ex)
{
MessageBox.Show(string.Format("Failed to save password: {0}", ex.Message), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}

View File

@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<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>

241
LFP_Manager/Forms/FmxPassword.Designer.cs generated Normal file
View File

@@ -0,0 +1,241 @@
namespace LFP_Manager.Forms
{
partial class FmxPassword
{
/// <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 Windows Form 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.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.TePassword = new DevExpress.XtraEditors.TextEdit();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem();
this.BtnOk = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.BtnCancel = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.TePassword.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.BtnCancel);
this.layoutControl1.Controls.Add(this.BtnOk);
this.layoutControl1.Controls.Add(this.TePassword);
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(804, 0, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(500, 207);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1,
this.emptySpaceItem1,
this.emptySpaceItem2,
this.emptySpaceItem3,
this.emptySpaceItem4,
this.layoutControlItem2,
this.layoutControlItem3});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(500, 207);
this.Root.TextVisible = false;
//
// TePassword
//
this.TePassword.Location = new System.Drawing.Point(186, 57);
this.TePassword.Name = "TePassword";
this.TePassword.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F);
this.TePassword.Properties.Appearance.Options.UseFont = true;
this.TePassword.Properties.Appearance.Options.UseTextOptions = true;
this.TePassword.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.TePassword.Properties.PasswordChar = '*';
this.TePassword.Size = new System.Drawing.Size(207, 26);
this.TePassword.StyleController = this.layoutControl1;
this.TePassword.TabIndex = 4;
//
// layoutControlItem1
//
this.layoutControlItem1.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F);
this.layoutControlItem1.AppearanceItemCaption.Options.UseFont = true;
this.layoutControlItem1.Control = this.TePassword;
this.layoutControlItem1.Location = new System.Drawing.Point(104, 54);
this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 31);
this.layoutControlItem1.MinSize = new System.Drawing.Size(133, 31);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(290, 31);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.Text = "Password";
this.layoutControlItem1.TextSize = new System.Drawing.Size(67, 19);
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 85);
this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(498, 82);
this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.Location = new System.Drawing.Point(0, 0);
this.emptySpaceItem2.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(498, 54);
this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem3
//
this.emptySpaceItem3.AllowHotTrack = false;
this.emptySpaceItem3.Location = new System.Drawing.Point(0, 54);
this.emptySpaceItem3.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem3.Name = "emptySpaceItem3";
this.emptySpaceItem3.Size = new System.Drawing.Size(104, 31);
this.emptySpaceItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem4
//
this.emptySpaceItem4.AllowHotTrack = false;
this.emptySpaceItem4.Location = new System.Drawing.Point(394, 54);
this.emptySpaceItem4.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem4.Name = "emptySpaceItem4";
this.emptySpaceItem4.Size = new System.Drawing.Size(104, 31);
this.emptySpaceItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0);
//
// BtnOk
//
this.BtnOk.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.BtnOk.Appearance.Options.UseFont = true;
this.BtnOk.Location = new System.Drawing.Point(3, 170);
this.BtnOk.Name = "BtnOk";
this.BtnOk.Size = new System.Drawing.Size(245, 34);
this.BtnOk.StyleController = this.layoutControl1;
this.BtnOk.TabIndex = 5;
this.BtnOk.Text = "OK";
this.BtnOk.Click += new System.EventHandler(this.BtnOk_Click);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.BtnOk;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 167);
this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(249, 38);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// BtnCancel
//
this.BtnCancel.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.BtnCancel.Appearance.Options.UseFont = true;
this.BtnCancel.Location = new System.Drawing.Point(252, 170);
this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.Size = new System.Drawing.Size(245, 34);
this.BtnCancel.StyleController = this.layoutControl1;
this.BtnCancel.TabIndex = 6;
this.BtnCancel.Text = "CANCEL";
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.BtnCancel;
this.layoutControlItem3.Location = new System.Drawing.Point(249, 167);
this.layoutControlItem3.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(249, 38);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// FmxPassword
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(500, 207);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1;
this.Name = "FmxPassword";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Required Password";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FmxPassword_FormClosed);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.TePassword.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraEditors.SimpleButton BtnOk;
private DevExpress.XtraEditors.TextEdit TePassword;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraEditors.SimpleButton BtnCancel;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
}
}

View File

@@ -0,0 +1,98 @@
using DevExpress.Pdf.Native;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
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;
namespace LFP_Manager.Forms
{
public partial class FmxPassword : DevExpress.XtraEditors.XtraForm
{
#region DELEGATE
public delegate void PasswordResut(int result);
#endregion
#region VARIABLES
private CommConfig Config;
private int result = -1;
private int mode = 0;
public event PasswordResut OnResult = null;
#endregion
#region CONSTRUCTORS
public FmxPassword(CommConfig aConfig, int aMode)
{
InitializeComponent();
Config = aConfig;
mode = aMode;
}
#endregion
#region FORM EVENT
private void FmxPassword_FormClosed(object sender, FormClosedEventArgs e)
{
OnResult?.Invoke(result);
}
#endregion
#region BUTTON EVENT
private void BtnCancel_Click(object sender, EventArgs e)
{
Close();
}
private void BtnOk_Click(object sender, EventArgs e)
{
if (mode == 0)
{
if (Config.DisablePassword == TePassword.Text)
{
result = 1;
MessageBox.Show("Anti-Theft Protect Clear Success", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
Close();
}
else
{
MessageBox.Show("Wrong Password - Try again", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (mode == 1)
{
if (Config.EnablePassword == TePassword.Text)
{
result = 1;
MessageBox.Show("Enable Success", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
Close();
}
else
{
MessageBox.Show("Wrong Password - Try again", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (mode == 2)
{
if (Config.DisablePassword == TePassword.Text)
{
result = 1;
MessageBox.Show("Disable Success", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
Close();
}
else
{
MessageBox.Show("Wrong Password - Try again", "Result", 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,152 @@
namespace LFP_Manager.Forms
{
partial class fmxCalibration
{
/// <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 Windows Form 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();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxCalibration));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.ucCalibration1 = new LFP_Manager.Controls.ucCalibration();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.tmrDisplay = new System.Windows.Forms.Timer(this.components);
((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.btnClose);
this.layoutControl1.Controls.Add(this.ucCalibration1);
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(668, 306, 250, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(612, 485);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// 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.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Size = new System.Drawing.Size(612, 485);
this.layoutControlGroup1.Text = "layoutControlGroup1";
this.layoutControlGroup1.TextVisible = false;
//
// ucCalibration1
//
this.ucCalibration1.Location = new System.Drawing.Point(12, 12);
this.ucCalibration1.Name = "ucCalibration1";
this.ucCalibration1.Size = new System.Drawing.Size(588, 423);
this.ucCalibration1.TabIndex = 4;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.ucCalibration1;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(104, 24);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(592, 427);
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;
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(12, 439);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(588, 34);
this.btnClose.StyleController = this.layoutControl1;
this.btnClose.TabIndex = 5;
this.btnClose.Text = "Close";
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.btnClose;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(0, 427);
this.layoutControlItem2.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(592, 38);
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;
//
// tmrDisplay
//
this.tmrDisplay.Interval = 500;
this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick);
//
// fmxCalibration
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(612, 485);
this.Controls.Add(this.layoutControl1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "fmxCalibration";
this.Text = "Calibration";
((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 btnClose;
private Controls.ucCalibration ucCalibration1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private System.Windows.Forms.Timer tmrDisplay;
}
}

View File

@@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Controls;
namespace LFP_Manager.Forms
{
public delegate void CalibUpdateEvent(object sendor);
public delegate void CalibCmdEvent(int sId, int mode, int flag, DeviceParamData aParam, DeviceCalibration aCalib);
public partial class fmxCalibration : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
int SystemId = 0;
DeviceParamData Param;
DeviceCalibration Calib;
public event CalibUpdateEvent OnUpdate = null;
public event CalibCmdEvent OnCommand = null;
#endregion
#region CONSTRUCTORS
public fmxCalibration()
{
InitializeComponent();
}
public fmxCalibration(int sId, DeviceCalibration aCalib)
{
InitializeComponent();
SystemId = sId;
Calib = aCalib;
tmrDisplay.Enabled = true;
}
#endregion
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
#region TIMER EVENT
private void tmrDisplay_Tick(object sender, EventArgs e)
{
if (OnUpdate != null)
{
OnUpdate(this);
}
}
#endregion
#region PUBLIC FUCTIONS
public void UpdateData(DeviceParamData aParam, DeviceCalibration aCalib)
{
Param = aParam;
Calib = aCalib;
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,162 @@
namespace LFP_Manager.Forms
{
partial class fmxCalibration
{
/// <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 Windows Form 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();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxCalibration));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.tmrDisplay = new System.Windows.Forms.Timer(this.components);
this.ucCalibrationConfig = new LFP_Manager.Controls.ucCalibration();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnClose);
this.layoutControl1.Controls.Add(this.ucCalibrationConfig);
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(1265, 291, 250, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(814, 444);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(714, 403);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(96, 37);
this.btnClose.StyleController = this.layoutControl1;
this.btnClose.TabIndex = 5;
this.btnClose.Text = "Close";
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// 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.emptySpaceItem1});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup1.Size = new System.Drawing.Size(814, 444);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.btnClose;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(710, 399);
this.layoutControlItem2.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(100, 41);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 399);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(710, 41);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// tmrDisplay
//
this.tmrDisplay.Interval = 500;
this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick);
//
// ucCalibrationConfig
//
this.ucCalibrationConfig.Location = new System.Drawing.Point(4, 4);
this.ucCalibrationConfig.Name = "ucCalibrationConfig";
this.ucCalibrationConfig.Size = new System.Drawing.Size(806, 395);
this.ucCalibrationConfig.TabIndex = 4;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.ucCalibrationConfig;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(104, 24);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(810, 399);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// fmxCalibration
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(814, 444);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxCalibration.IconOptions.Icon")));
this.Name = "fmxCalibration";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Calibration";
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.SimpleButton btnClose;
private Controls.ucCalibration ucCalibrationConfig;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private System.Windows.Forms.Timer tmrDisplay;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
}
}

View File

@@ -0,0 +1,116 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Controls;
using static DevExpress.XtraPrinting.Export.Pdf.PdfImageCache;
namespace LFP_Manager.Forms
{
public delegate void CalibUpdateEvent(object sendor);
public delegate void CalibCmdEvent(int sId, int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib);
public partial class fmxCalibration : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
int SystemId = 0;
DeviceSystemData SystemData;
DeviceParamData Param;
DeviceCalibration Calib;
public event CalibUpdateEvent OnUpdate = null;
public event CalibCmdEvent OnCommand = null;
#endregion
#region CONSTRUCTORS
public fmxCalibration()
{
InitializeComponent();
}
public fmxCalibration(int sId, CommConfig aConfig, DeviceParamData aParam, DeviceCalibration aCalib)
{
InitializeComponent();
InitComponent();
ucCalibrationConfig.UpdateConfig(aConfig);
SystemId = sId;
Param = aParam;
Calib = aCalib;
tmrDisplay.Enabled = true;
}
public void InitComponent()
{
// Cell Voltage Calibration
ucCalibrationConfig.OnCommand += OnCmdEvent;
}
#endregion
#region COMMAND EVENT
private void OnCmdEvent(int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib)
{
OnCommand?.Invoke(SystemId, mode, index, flag, ref aParam, ref aCalib);
}
#endregion
#region BUTTON EVENT
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
#endregion
#region TIMER EVENT
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayValue();
if (OnUpdate != null)
{
OnUpdate(this);
}
}
#endregion
#region DISPLAY DATA
private void DisplayValue()
{
// Cell Voltage Parameter
ucCalibrationConfig.UpdateData(SystemData, Calib);
}
#endregion
#region PUBLIC FUCTIONS
public void UpdateData(DeviceParamData aParam, DeviceCalibration aCalib, DeviceSystemData aSystemData)
{
SystemData = aSystemData;
Param = aParam;
Calib = aCalib;
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,108 @@
namespace LFP_Manager.Forms
{
partial class fmxCommConfig
{
/// <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 Windows Form 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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxCommConfig));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.ucCommConfig1 = new LFP_Manager.Controls.ucCommConfig();
this.layoutControlItem1 = 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();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.ucCommConfig1);
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(404, 596);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// 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.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(404, 596);
this.layoutControlGroup1.TextVisible = false;
//
// ucCommConfig1
//
this.ucCommConfig1.Location = new System.Drawing.Point(3, 3);
this.ucCommConfig1.Name = "ucCommConfig1";
this.ucCommConfig1.Size = new System.Drawing.Size(398, 590);
this.ucCommConfig1.TabIndex = 4;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.ucCommConfig1;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(402, 594);
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// fmxCommConfig
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(404, 596);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxCommConfig.IconOptions.Icon")));
this.Name = "fmxCommConfig";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Communication Config";
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((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 Controls.ucCommConfig ucCommConfig1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
}
}

View File

@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
namespace LFP_Manager.Forms
{
public delegate void UpdateEvent(object aConfig);
public partial class fmxCommConfig : DevExpress.XtraEditors.XtraForm
{
public event UpdateEvent OnUpdate = null;
public fmxCommConfig()
{
InitializeComponent();
ucCommConfig1.OnClose += FormClose;
}
private void FormClose(object Config, bool saved)
{
if (OnUpdate != null)
{
if (saved == true)
{
OnUpdate(Config);
}
}
Close();
}
}
}

File diff suppressed because it is too large Load Diff

152
LFP_Manager/Forms/fmxEtcStatus.Designer.cs generated Normal file
View File

@@ -0,0 +1,152 @@
namespace LFP_Manager.Forms
{
partial class fmxEtcStatus
{
/// <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 Windows Form 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();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxEtcStatus));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.EtcStatusView = new LFP_Manager.Controls.ucEtcStatusView();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.tmrDisplay = new System.Windows.Forms.Timer(this.components);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnClose);
this.layoutControl1.Controls.Add(this.EtcStatusView);
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(916, 145, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(612, 406);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1,
this.layoutControlItem2,
this.emptySpaceItem1});
this.Root.Name = "Root";
this.Root.Size = new System.Drawing.Size(612, 406);
this.Root.TextVisible = false;
//
// EtcStatusView
//
this.EtcStatusView.Location = new System.Drawing.Point(12, 12);
this.EtcStatusView.Name = "EtcStatusView";
this.EtcStatusView.Size = new System.Drawing.Size(588, 347);
this.EtcStatusView.TabIndex = 4;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.EtcStatusView;
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(592, 351);
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(495, 363);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(105, 31);
this.btnClose.StyleController = this.layoutControl1;
this.btnClose.TabIndex = 5;
this.btnClose.Text = "Close";
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.btnClose;
this.layoutControlItem2.Location = new System.Drawing.Point(483, 351);
this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(109, 35);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
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, 351);
this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(483, 35);
this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// fmxEtcStatus
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(612, 406);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Image = ((System.Drawing.Image)(resources.GetObject("fmxEtcStatus.IconOptions.Image")));
this.Name = "fmxEtcStatus";
this.Text = "fmxEtcStatus";
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraEditors.SimpleButton btnClose;
private Controls.ucEtcStatusView EtcStatusView;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private System.Windows.Forms.Timer tmrDisplay;
}
}

View File

@@ -0,0 +1,100 @@
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.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Controls;
namespace LFP_Manager.Forms
{
public partial class fmxEtcStatus : DevExpress.XtraEditors.XtraForm
{
public delegate void UpdateEvent(object sendor);
public delegate void CmdEvent(int sId, int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib);
#region VARIABLES
int SystemId = 0;
DeviceSystemData SystemData;
DeviceParamData Param;
DeviceCalibration Calib;
public event UpdateEvent OnUpdate = null;
public event CmdEvent OnCommand = null;
#endregion
#region CONSTRUCTORS
public fmxEtcStatus()
{
InitializeComponent();
}
public fmxEtcStatus(int sId, DeviceCalibration aCalib)
{
InitializeComponent();
InitComponent();
SystemId = sId;
Calib = aCalib;
tmrDisplay.Enabled = true;
}
public void InitComponent()
{
EtcStatusView.OnCommand += OnCmdEvent;
}
#endregion
#region BUTTON EVENT
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
#endregion
#region COMMAND EVENT
private void OnCmdEvent(int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib)
{
OnCommand?.Invoke(SystemId, mode, index, flag, ref aParam, ref aCalib);
}
#endregion
#region TIMER EVENT
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayValue();
OnUpdate?.Invoke(this);
}
#endregion
#region DISPLAY DATA
private void DisplayValue()
{
// Cell Voltage Parameter
EtcStatusView.UpdateData(SystemData);
}
#endregion
}
}

View File

@@ -0,0 +1,151 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="fmxEtcStatus.IconOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAATMSURBVFhH5VVrbBVVED63bUr4pTESFWPE+Idf2qAxiqiF
giAV0fiIGgJq4g/wkUiMlWI0kj5oS61VUwWurUDRiAUqmAhBHq2t+CgqhRJoCzWt+Kj0Wnqh79txvtmd
7V66d7v4hxgnmZzdPTNnvvlmzqyhSyz/HQAjIyPO6qdqE1QCAXAfGPM53L0XFMRFMaCHRqJ91HW219Ez
3b3Ufb5f9tx2QWRcAHrg0HBM3nc3tNGkhe/QpMffpysfK3N08qNldPhkp9gMs21QIL4A9IBYLEbDrH0D
QzT12Qoy6avJ3PcWmbnFluL5rjyamfUZvMQ2SHBIIAY0+1UfHyRzZy4lL3jbCjq/xFJ+Tr6fvzGITXub
xBY+QVhICECdQSeaq+XXCE3MLKGQZsyBQ3gXAPY6u4iueeIDivT0CQvChH1WIhm3BJr9A29Wk7k7n5Iy
rewl4L1ruASsNgtJYGFGHr207oD4DNos+IknAM1+cGhY3j8/2EpmVoFFswbiUixfu58eyd0pQeUb9hjM
BF61IccrxRgAaojGg/O53gG68akwheYUcfYW1aE5a+gq7nw0ZcvpCKXOK6YkDuqAm1lA6Vlb7CT8WRgL
AMoOSn32R3VxjSfrPfm0Yc9R2Ye8WvG1NKBjAxD8Xrn3mOz7sRAHQI30Hh9v77KyY/XKDgej0Xp4CE1Z
sl6Y0cYM2Q35Nw8t2IBRjeEWzxIAAGT+69usxnPqy9nxLfip9U8HgPbJlprjYpvKQwoMYMX7CmYHoixc
KA4AbOqhkO31LXbXJ+hwDozMYI9ewIpBZNLe4JLlkZmeS+aOHDK351BNYwfbjjLrBiIA9INMPDaKnh+g
KYvXk8kotOi0Kb1u0To6e65fArOT+LgF/4VsBphdUSeZr9xQR6+U7aPqb1pl34uFOAaUzqzy2virhZXZ
+JRphgAkhk1D8x+059AvVLH7CJVsbaDwl430xfenaMe3rXJ1oTu/O0mffNVE9U2nLV8G72bB6IvSc7Tt
L7nHqLcEx+Dhrp+dXSVZqx3AdjMbHZ09dOBwO73GGV+/aK1VAqYdgKUUM7gU03Po8ofepd/ORMc0JAOw
HnAwJGNFFQdcPZo9K27CkbZOGckKwEvwvXxXI13Nf0bDcyN1YSml8DkTHrQacnHxLrFzl4JLMNp4m/cd
4/ub70w8uddcCtxzCLJWR6yqyAp7mtmJjghNffpDq4e0ibHOKqT9P7eLjYIweMABqOm1TzKFGUWjjcdZ
3LAkTFGehrCBQhQEREHo88DgkDw388/rMr6KSfO0lAwgvYBuXraRbfgGcVwANr39lsNy7l7UzKEeDlz7
bfXNsq/Zu4O7Rfbstd8GUVr949hm5veS7YdkH9dXbkHjqU5pvBTOGoFTFpRKzeau3CqGXtfHS9QGmcEH
etPSjTI9UU6cncz9dMXD79HvXVG24xLgXk97vtLqXK4ZjBE8hSfeiY6uuMYLCgJqgSaq5SEkN4Lpl7N5
npjbVlEmT1mIyQrXUtpzm2jaC5UC5NYXN1MaN1Bh1Q9i4Nf1fgIf7ZmXwzWU9ky5nI0Yt7Ai5g785lGH
RILsNfjFgHD7+Pmh/5xRjGCq8s71UfE7JJGoj57lFQPiTEIvhej6b+TC87zU+RdcKvm/AyD6B4yX+amq
vYT8AAAAAElFTkSuQmCC
</value>
</data>
</root>

776
LFP_Manager/Forms/fmxExcelFile.Designer.cs generated Normal file
View File

@@ -0,0 +1,776 @@
namespace LFP_Manager
{
partial class fmxExcelFile
{
/// <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 Windows Form 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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxExcelFile));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.tbPcbSn = new DevExpress.XtraEditors.TextEdit();
this.btnOpenDbFolder = new DevExpress.XtraEditors.SimpleButton();
this.edResultCount = new DevExpress.XtraEditors.TextEdit();
this.btnResultListClear = new DevExpress.XtraEditors.SimpleButton();
this.btnSearchPcbSn = new DevExpress.XtraEditors.SimpleButton();
this.btnOutputAll = new DevExpress.XtraEditors.SimpleButton();
this.btnDeleteQuery = new DevExpress.XtraEditors.SimpleButton();
this.btnCreateNewDb = new DevExpress.XtraEditors.SimpleButton();
this.btnCheckGroupData = new DevExpress.XtraEditors.SimpleButton();
this.cbResultList = new DevExpress.XtraEditors.ComboBoxEdit();
this.cbLotNo = new DevExpress.XtraEditors.ComboBoxEdit();
this.btnExcuteTCell = new DevExpress.XtraEditors.SimpleButton();
this.gbDbCommnad = new DevExpress.XtraEditors.GroupControl();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.btnOpenSchema = new DevExpress.XtraEditors.SimpleButton();
this.btnDbMerge = new DevExpress.XtraEditors.SimpleButton();
this.btnQueryExcute = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.tbSchema = new System.Windows.Forms.TextBox();
this.gridCell = new System.Windows.Forms.DataGridView();
this.btnFindFile = new DevExpress.XtraEditors.SimpleButton();
this.edFileName = new DevExpress.XtraEditors.TextEdit();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcitemLot = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem18 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.btnDbFileFind = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem20 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tbPcbSn.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edResultCount.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbResultList.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.cbLotNo.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbDbCommnad)).BeginInit();
this.gbDbCommnad.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gridCell)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edFileName.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemLot)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnDbFileFind);
this.layoutControl1.Controls.Add(this.tbPcbSn);
this.layoutControl1.Controls.Add(this.btnOpenDbFolder);
this.layoutControl1.Controls.Add(this.edResultCount);
this.layoutControl1.Controls.Add(this.btnResultListClear);
this.layoutControl1.Controls.Add(this.btnSearchPcbSn);
this.layoutControl1.Controls.Add(this.btnOutputAll);
this.layoutControl1.Controls.Add(this.btnDeleteQuery);
this.layoutControl1.Controls.Add(this.btnCreateNewDb);
this.layoutControl1.Controls.Add(this.btnCheckGroupData);
this.layoutControl1.Controls.Add(this.cbResultList);
this.layoutControl1.Controls.Add(this.cbLotNo);
this.layoutControl1.Controls.Add(this.btnExcuteTCell);
this.layoutControl1.Controls.Add(this.gbDbCommnad);
this.layoutControl1.Controls.Add(this.tbSchema);
this.layoutControl1.Controls.Add(this.gridCell);
this.layoutControl1.Controls.Add(this.btnFindFile);
this.layoutControl1.Controls.Add(this.edFileName);
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(1347, 290, 250, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(999, 578);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// tbPcbSn
//
this.tbPcbSn.Location = new System.Drawing.Point(681, 265);
this.tbPcbSn.Name = "tbPcbSn";
this.tbPcbSn.Size = new System.Drawing.Size(163, 20);
this.tbPcbSn.StyleController = this.layoutControl1;
this.tbPcbSn.TabIndex = 23;
//
// btnOpenDbFolder
//
this.btnOpenDbFolder.Location = new System.Drawing.Point(894, 12);
this.btnOpenDbFolder.Name = "btnOpenDbFolder";
this.btnOpenDbFolder.Size = new System.Drawing.Size(93, 22);
this.btnOpenDbFolder.StyleController = this.layoutControl1;
this.btnOpenDbFolder.TabIndex = 22;
this.btnOpenDbFolder.Text = "Open DB Folder";
this.btnOpenDbFolder.Click += new System.EventHandler(this.btnOpenDbFolder_Click);
//
// edResultCount
//
this.edResultCount.Location = new System.Drawing.Point(89, 265);
this.edResultCount.Name = "edResultCount";
this.edResultCount.Size = new System.Drawing.Size(59, 20);
this.edResultCount.StyleController = this.layoutControl1;
this.edResultCount.TabIndex = 21;
//
// btnResultListClear
//
this.btnResultListClear.Location = new System.Drawing.Point(402, 265);
this.btnResultListClear.Name = "btnResultListClear";
this.btnResultListClear.Size = new System.Drawing.Size(89, 22);
this.btnResultListClear.StyleController = this.layoutControl1;
this.btnResultListClear.TabIndex = 20;
this.btnResultListClear.Text = "Clear";
this.btnResultListClear.Click += new System.EventHandler(this.btnResultListClear_Click);
//
// btnSearchPcbSn
//
this.btnSearchPcbSn.Location = new System.Drawing.Point(848, 265);
this.btnSearchPcbSn.Name = "btnSearchPcbSn";
this.btnSearchPcbSn.Size = new System.Drawing.Size(139, 22);
this.btnSearchPcbSn.StyleController = this.layoutControl1;
this.btnSearchPcbSn.TabIndex = 19;
this.btnSearchPcbSn.Text = "Search PCB SN";
this.btnSearchPcbSn.Click += new System.EventHandler(this.btnModuleResult_Click);
//
// btnOutputAll
//
this.btnOutputAll.Location = new System.Drawing.Point(897, 229);
this.btnOutputAll.Name = "btnOutputAll";
this.btnOutputAll.Size = new System.Drawing.Size(90, 32);
this.btnOutputAll.StyleController = this.layoutControl1;
this.btnOutputAll.TabIndex = 18;
this.btnOutputAll.Text = "Output All";
this.btnOutputAll.Click += new System.EventHandler(this.btnOutputAll_Click);
//
// btnDeleteQuery
//
this.btnDeleteQuery.Location = new System.Drawing.Point(740, 229);
this.btnDeleteQuery.Name = "btnDeleteQuery";
this.btnDeleteQuery.Size = new System.Drawing.Size(123, 32);
this.btnDeleteQuery.StyleController = this.layoutControl1;
this.btnDeleteQuery.TabIndex = 17;
this.btnDeleteQuery.Text = "Delete Query";
this.btnDeleteQuery.Click += new System.EventHandler(this.btnCheckMeasData_Click);
//
// btnCreateNewDb
//
this.btnCreateNewDb.Location = new System.Drawing.Point(867, 197);
this.btnCreateNewDb.Name = "btnCreateNewDb";
this.btnCreateNewDb.Size = new System.Drawing.Size(120, 28);
this.btnCreateNewDb.StyleController = this.layoutControl1;
this.btnCreateNewDb.TabIndex = 16;
this.btnCreateNewDb.Text = "Create New DB";
this.btnCreateNewDb.Click += new System.EventHandler(this.btnCreateNewDb_Click);
//
// btnCheckGroupData
//
this.btnCheckGroupData.Location = new System.Drawing.Point(740, 197);
this.btnCheckGroupData.Name = "btnCheckGroupData";
this.btnCheckGroupData.Size = new System.Drawing.Size(123, 28);
this.btnCheckGroupData.StyleController = this.layoutControl1;
this.btnCheckGroupData.TabIndex = 15;
this.btnCheckGroupData.Text = "Select All";
this.btnCheckGroupData.Click += new System.EventHandler(this.btnCheckGroupData_Click);
//
// cbResultList
//
this.cbResultList.Location = new System.Drawing.Point(237, 265);
this.cbResultList.Name = "cbResultList";
this.cbResultList.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.cbResultList.Properties.Appearance.Options.UseFont = true;
this.cbResultList.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbResultList.Size = new System.Drawing.Size(161, 22);
this.cbResultList.StyleController = this.layoutControl1;
this.cbResultList.TabIndex = 14;
this.cbResultList.SelectedIndexChanged += new System.EventHandler(this.cbResultList_SelectedIndexChanged);
//
// cbLotNo
//
this.cbLotNo.Location = new System.Drawing.Point(805, 147);
this.cbLotNo.Name = "cbLotNo";
this.cbLotNo.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.cbLotNo.Size = new System.Drawing.Size(182, 20);
this.cbLotNo.StyleController = this.layoutControl1;
this.cbLotNo.TabIndex = 13;
//
// btnExcuteTCell
//
this.btnExcuteTCell.Location = new System.Drawing.Point(740, 171);
this.btnExcuteTCell.Name = "btnExcuteTCell";
this.btnExcuteTCell.Size = new System.Drawing.Size(247, 22);
this.btnExcuteTCell.StyleController = this.layoutControl1;
this.btnExcuteTCell.TabIndex = 12;
this.btnExcuteTCell.Text = "SQL Excute";
this.btnExcuteTCell.Click += new System.EventHandler(this.btnExcuteTCell_Click);
//
// gbDbCommnad
//
this.gbDbCommnad.Controls.Add(this.layoutControl2);
this.gbDbCommnad.Location = new System.Drawing.Point(740, 38);
this.gbDbCommnad.Name = "gbDbCommnad";
this.gbDbCommnad.Size = new System.Drawing.Size(247, 105);
this.gbDbCommnad.TabIndex = 11;
this.gbDbCommnad.Text = "Management DB";
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.btnOpenSchema);
this.layoutControl2.Controls.Add(this.btnDbMerge);
this.layoutControl2.Controls.Add(this.btnQueryExcute);
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(243, 80);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// btnOpenSchema
//
this.btnOpenSchema.Location = new System.Drawing.Point(3, 3);
this.btnOpenSchema.Name = "btnOpenSchema";
this.btnOpenSchema.Size = new System.Drawing.Size(237, 22);
this.btnOpenSchema.StyleController = this.layoutControl2;
this.btnOpenSchema.TabIndex = 8;
this.btnOpenSchema.Text = "Open Schema";
this.btnOpenSchema.Click += new System.EventHandler(this.btnOpenSchema_Click);
//
// btnDbMerge
//
this.btnDbMerge.Location = new System.Drawing.Point(3, 55);
this.btnDbMerge.Name = "btnDbMerge";
this.btnDbMerge.Size = new System.Drawing.Size(237, 22);
this.btnDbMerge.StyleController = this.layoutControl2;
this.btnDbMerge.TabIndex = 10;
this.btnDbMerge.Text = "BMS Data Merse";
this.btnDbMerge.Click += new System.EventHandler(this.btnBmsBmsDataMerse_Click);
//
// btnQueryExcute
//
this.btnQueryExcute.Location = new System.Drawing.Point(3, 29);
this.btnQueryExcute.Name = "btnQueryExcute";
this.btnQueryExcute.Size = new System.Drawing.Size(237, 22);
this.btnQueryExcute.StyleController = this.layoutControl2;
this.btnQueryExcute.TabIndex = 9;
this.btnQueryExcute.Text = "Query Excute";
this.btnQueryExcute.Click += new System.EventHandler(this.btnQueryExcute_Click);
//
// 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.layoutControlItem5,
this.layoutControlItem6,
this.layoutControlItem7});
this.layoutControlGroup2.Name = "layoutControlGroup2";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup2.Size = new System.Drawing.Size(243, 80);
this.layoutControlGroup2.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.btnOpenSchema;
this.layoutControlItem5.CustomizationFormText = "layoutControlItem5";
this.layoutControlItem5.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(241, 26);
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.btnQueryExcute;
this.layoutControlItem6.CustomizationFormText = "layoutControlItem6";
this.layoutControlItem6.Location = new System.Drawing.Point(0, 26);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(241, 26);
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.btnDbMerge;
this.layoutControlItem7.CustomizationFormText = "layoutControlItem7";
this.layoutControlItem7.Location = new System.Drawing.Point(0, 52);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(241, 26);
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// tbSchema
//
this.tbSchema.Location = new System.Drawing.Point(12, 38);
this.tbSchema.Multiline = true;
this.tbSchema.Name = "tbSchema";
this.tbSchema.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.tbSchema.Size = new System.Drawing.Size(724, 223);
this.tbSchema.TabIndex = 7;
//
// gridCell
//
this.gridCell.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.gridCell.Location = new System.Drawing.Point(12, 291);
this.gridCell.Name = "gridCell";
this.gridCell.RowTemplate.Height = 23;
this.gridCell.Size = new System.Drawing.Size(975, 275);
this.gridCell.TabIndex = 6;
//
// btnFindFile
//
this.btnFindFile.Location = new System.Drawing.Point(712, 12);
this.btnFindFile.Name = "btnFindFile";
this.btnFindFile.Size = new System.Drawing.Size(89, 22);
this.btnFindFile.StyleController = this.layoutControl1;
this.btnFindFile.TabIndex = 5;
this.btnFindFile.Text = "Excel File ....";
this.btnFindFile.Click += new System.EventHandler(this.btnFindFile_Click);
//
// edFileName
//
this.edFileName.Location = new System.Drawing.Point(89, 12);
this.edFileName.Name = "edFileName";
this.edFileName.Size = new System.Drawing.Size(619, 20);
this.edFileName.StyleController = this.layoutControl1;
this.edFileName.TabIndex = 4;
//
// 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.emptySpaceItem1,
this.layoutControlItem3,
this.layoutControlItem4,
this.layoutControlItem8,
this.layoutControlItem9,
this.lcitemLot,
this.layoutControlItem10,
this.emptySpaceItem2,
this.layoutControlItem11,
this.layoutControlItem12,
this.layoutControlItem13,
this.layoutControlItem14,
this.layoutControlItem15,
this.layoutControlItem16,
this.layoutControlItem18,
this.layoutControlItem17,
this.layoutControlItem19,
this.layoutControlItem20});
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Size = new System.Drawing.Size(999, 578);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.edFileName;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(162, 24);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(700, 26);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.Text = "File Name: ";
this.layoutControlItem1.TextSize = new System.Drawing.Size(74, 14);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.btnFindFile;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(700, 0);
this.layoutControlItem2.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(93, 26);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(855, 217);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(30, 36);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.gridCell;
this.layoutControlItem3.CustomizationFormText = "layoutControlItem3";
this.layoutControlItem3.Location = new System.Drawing.Point(0, 279);
this.layoutControlItem3.MinSize = new System.Drawing.Size(104, 24);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(979, 279);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.tbSchema;
this.layoutControlItem4.CustomizationFormText = "layoutControlItem4";
this.layoutControlItem4.Location = new System.Drawing.Point(0, 26);
this.layoutControlItem4.MinSize = new System.Drawing.Size(132, 24);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(728, 227);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.gbDbCommnad;
this.layoutControlItem8.CustomizationFormText = "layoutControlItem8";
this.layoutControlItem8.Location = new System.Drawing.Point(728, 26);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(251, 109);
this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem8.TextVisible = false;
//
// layoutControlItem9
//
this.layoutControlItem9.Control = this.btnExcuteTCell;
this.layoutControlItem9.CustomizationFormText = "layoutControlItem9";
this.layoutControlItem9.Location = new System.Drawing.Point(728, 159);
this.layoutControlItem9.Name = "layoutControlItem9";
this.layoutControlItem9.Size = new System.Drawing.Size(251, 26);
this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem9.TextVisible = false;
//
// lcitemLot
//
this.lcitemLot.Control = this.cbLotNo;
this.lcitemLot.CustomizationFormText = " Lot No";
this.lcitemLot.Location = new System.Drawing.Point(728, 135);
this.lcitemLot.Name = "lcitemLot";
this.lcitemLot.Size = new System.Drawing.Size(251, 24);
this.lcitemLot.Text = " Lot No";
this.lcitemLot.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.lcitemLot.TextSize = new System.Drawing.Size(60, 14);
this.lcitemLot.TextToControlDistance = 5;
//
// layoutControlItem10
//
this.layoutControlItem10.Control = this.cbResultList;
this.layoutControlItem10.CustomizationFormText = " Result List";
this.layoutControlItem10.Location = new System.Drawing.Point(140, 253);
this.layoutControlItem10.MaxSize = new System.Drawing.Size(0, 26);
this.layoutControlItem10.MinSize = new System.Drawing.Size(187, 26);
this.layoutControlItem10.Name = "layoutControlItem10";
this.layoutControlItem10.Size = new System.Drawing.Size(250, 26);
this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem10.Text = " Result List";
this.layoutControlItem10.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.layoutControlItem10.TextSize = new System.Drawing.Size(80, 14);
this.layoutControlItem10.TextToControlDistance = 5;
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2";
this.emptySpaceItem2.Location = new System.Drawing.Point(483, 253);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(109, 26);
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem11
//
this.layoutControlItem11.Control = this.btnCheckGroupData;
this.layoutControlItem11.CustomizationFormText = "layoutControlItem11";
this.layoutControlItem11.Location = new System.Drawing.Point(728, 185);
this.layoutControlItem11.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem11.Name = "layoutControlItem11";
this.layoutControlItem11.Size = new System.Drawing.Size(127, 32);
this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem11.TextVisible = false;
//
// layoutControlItem12
//
this.layoutControlItem12.Control = this.btnCreateNewDb;
this.layoutControlItem12.CustomizationFormText = "layoutControlItem12";
this.layoutControlItem12.Location = new System.Drawing.Point(855, 185);
this.layoutControlItem12.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem12.Name = "layoutControlItem12";
this.layoutControlItem12.Size = new System.Drawing.Size(124, 32);
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.btnDeleteQuery;
this.layoutControlItem13.CustomizationFormText = "layoutControlItem13";
this.layoutControlItem13.Location = new System.Drawing.Point(728, 217);
this.layoutControlItem13.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem13.Name = "layoutControlItem13";
this.layoutControlItem13.Size = new System.Drawing.Size(127, 36);
this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem13.TextVisible = false;
//
// layoutControlItem14
//
this.layoutControlItem14.Control = this.btnOutputAll;
this.layoutControlItem14.CustomizationFormText = "layoutControlItem14";
this.layoutControlItem14.Location = new System.Drawing.Point(885, 217);
this.layoutControlItem14.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem14.Name = "layoutControlItem14";
this.layoutControlItem14.Size = new System.Drawing.Size(94, 36);
this.layoutControlItem14.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem14.TextVisible = false;
//
// layoutControlItem15
//
this.layoutControlItem15.Control = this.btnSearchPcbSn;
this.layoutControlItem15.CustomizationFormText = "layoutControlItem15";
this.layoutControlItem15.Location = new System.Drawing.Point(836, 253);
this.layoutControlItem15.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem15.Name = "layoutControlItem15";
this.layoutControlItem15.Size = new System.Drawing.Size(143, 26);
this.layoutControlItem15.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem15.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem15.TextVisible = false;
//
// layoutControlItem16
//
this.layoutControlItem16.Control = this.btnResultListClear;
this.layoutControlItem16.CustomizationFormText = "layoutControlItem16";
this.layoutControlItem16.Location = new System.Drawing.Point(390, 253);
this.layoutControlItem16.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem16.Name = "layoutControlItem16";
this.layoutControlItem16.Size = new System.Drawing.Size(93, 26);
this.layoutControlItem16.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem16.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem16.TextVisible = false;
//
// layoutControlItem18
//
this.layoutControlItem18.Control = this.btnOpenDbFolder;
this.layoutControlItem18.CustomizationFormText = "layoutControlItem18";
this.layoutControlItem18.Location = new System.Drawing.Point(882, 0);
this.layoutControlItem18.Name = "layoutControlItem18";
this.layoutControlItem18.Size = new System.Drawing.Size(97, 26);
this.layoutControlItem18.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem18.TextVisible = false;
//
// layoutControlItem17
//
this.layoutControlItem17.Control = this.edResultCount;
this.layoutControlItem17.CustomizationFormText = "layoutControlItem17";
this.layoutControlItem17.Location = new System.Drawing.Point(0, 253);
this.layoutControlItem17.MinSize = new System.Drawing.Size(54, 24);
this.layoutControlItem17.Name = "layoutControlItem17";
this.layoutControlItem17.Size = new System.Drawing.Size(140, 26);
this.layoutControlItem17.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem17.Text = "Result Count ";
this.layoutControlItem17.TextSize = new System.Drawing.Size(74, 14);
//
// layoutControlItem19
//
this.layoutControlItem19.Control = this.tbPcbSn;
this.layoutControlItem19.CustomizationFormText = "PCB SN";
this.layoutControlItem19.Location = new System.Drawing.Point(592, 253);
this.layoutControlItem19.MinSize = new System.Drawing.Size(131, 24);
this.layoutControlItem19.Name = "layoutControlItem19";
this.layoutControlItem19.Size = new System.Drawing.Size(244, 26);
this.layoutControlItem19.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem19.Text = "PCB SN";
this.layoutControlItem19.TextSize = new System.Drawing.Size(74, 14);
//
// openFileDialog1
//
this.openFileDialog1.FileName = "openFileDialog1";
//
// btnDbFileFind
//
this.btnDbFileFind.Location = new System.Drawing.Point(805, 12);
this.btnDbFileFind.Name = "btnDbFileFind";
this.btnDbFileFind.Size = new System.Drawing.Size(85, 22);
this.btnDbFileFind.StyleController = this.layoutControl1;
this.btnDbFileFind.TabIndex = 24;
this.btnDbFileFind.Text = "DB Files ...";
this.btnDbFileFind.Click += new System.EventHandler(this.btnDbFileFind_Click);
//
// layoutControlItem20
//
this.layoutControlItem20.Control = this.btnDbFileFind;
this.layoutControlItem20.Location = new System.Drawing.Point(793, 0);
this.layoutControlItem20.Name = "layoutControlItem20";
this.layoutControlItem20.Size = new System.Drawing.Size(89, 26);
this.layoutControlItem20.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem20.TextVisible = false;
//
// fmxExcelFile
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(999, 578);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxExcelFile.IconOptions.Icon")));
this.Name = "fmxExcelFile";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Database Control";
this.Load += new System.EventHandler(this.fmxExcelFile_Load);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.tbPcbSn.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edResultCount.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbResultList.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.cbLotNo.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbDbCommnad)).EndInit();
this.gbDbCommnad.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gridCell)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edFileName.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemLot)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.SimpleButton btnFindFile;
private DevExpress.XtraEditors.TextEdit edFileName;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private System.Windows.Forms.DataGridView gridCell;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private System.Windows.Forms.TextBox tbSchema;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraEditors.SimpleButton btnOpenSchema;
private DevExpress.XtraEditors.SimpleButton btnQueryExcute;
private DevExpress.XtraEditors.GroupControl gbDbCommnad;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraEditors.SimpleButton btnExcuteTCell;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
private DevExpress.XtraEditors.ComboBoxEdit cbLotNo;
private DevExpress.XtraLayout.LayoutControlItem lcitemLot;
private DevExpress.XtraEditors.ComboBoxEdit cbResultList;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private DevExpress.XtraEditors.SimpleButton btnCheckGroupData;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11;
private DevExpress.XtraEditors.SimpleButton btnCreateNewDb;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
private DevExpress.XtraEditors.SimpleButton btnDeleteQuery;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13;
private DevExpress.XtraEditors.SimpleButton btnOutputAll;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14;
private DevExpress.XtraEditors.SimpleButton btnSearchPcbSn;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem15;
private DevExpress.XtraEditors.SimpleButton btnResultListClear;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem16;
private DevExpress.XtraEditors.TextEdit edResultCount;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem17;
private DevExpress.XtraEditors.SimpleButton btnOpenDbFolder;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem18;
private DevExpress.XtraEditors.TextEdit tbPcbSn;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem19;
private DevExpress.XtraEditors.SimpleButton btnDbMerge;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private DevExpress.XtraEditors.SimpleButton btnDbFileFind;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem20;
}
}

View File

@@ -0,0 +1,452 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.Data.SQLite;
using System.IO;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Utils;
namespace LFP_Manager
{
public partial class fmxExcelFile : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
string[] dbFiles;
//private string Excel03ConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
//private string Excel07ConString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'";
//Workbook workbook;
DataSet dsCell;
DataTable dtCell;
CommConfig Config;
#endregion
#region CONSTRUCTORS
public fmxExcelFile(CommConfig aConfig)
{
InitializeComponent();
Config = aConfig;
//tbSchema.Text = "select * from TInventoryData" + "\r\n" + "where pcb_sn like 'BMU18SA20120169%'";
}
#endregion
#region FORM EVENT
private void fmxExcelFile_Load(object sender, EventArgs e)
{
string dbfilePath = Path.GetDirectoryName(Application.ExecutablePath) + @"\db";
dbFiles = Directory.GetFiles(dbfilePath, "*.db", SearchOption.AllDirectories);
if (dbFiles.Length > 0)
{
for (int i = 0; i < dbFiles.Length; i++)
{
cbLotNo.Properties.Items.Add(Path.GetFileName(dbFiles[i]));
}
cbLotNo.SelectedIndex = 0;
}
}
#endregion
// Copy Table Value
// INSERT INTO TModuleResultBak SELECT * FROM TModuleResult
// INSERT INTO [TModuleBmsBak] (sn, result, module_ocv_b) SELECT sn, result, module_ocv_b FROM TModuleBms
#region BUTTON EVENT
private void btnFindFile_Click(object sender, EventArgs e)
{
OpenFileDialog oDialog = new OpenFileDialog();
oDialog.DefaultExt = "*.*";
oDialog.Filter = "excel files 2003 (*.xls)|*.xls|excel files 2007 (*.xlsx)|*.xlsx|All files (*.*)|*.*";
if (oDialog.ShowDialog() == DialogResult.OK)
{
edFileName.Text = oDialog.FileName;
try
{
dsCell = csExcelControl.OpenExcelDB(edFileName.Text);
cbResultList.Properties.Items.Clear();
for (int i = 0; i < dsCell.Tables.Count; i++)
{
cbResultList.Properties.Items.Add(dsCell.Tables[i].TableName);
}
cbResultList.SelectedIndex = 0;
dtCell = dsCell.Tables[0];
gridCell.DataSource = dtCell;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void btnDbFileFind_Click(object sender, EventArgs e)
{
OpenFileDialog oDialog = new OpenFileDialog();
oDialog.DefaultExt = "*.*";
oDialog.Filter = "db files (*.db)|*.db|All files (*.*)|*.*";
if (oDialog.ShowDialog() == DialogResult.OK)
{
Forms.fmxWait WaitForm = new Forms.fmxWait();
WaitForm.StartPosition = FormStartPosition.CenterScreen;
edFileName.Text = oDialog.FileName;
try
{
WaitForm.Show();
int count = 0;
DateTime bakTime = new DateTime();
DataTable dtRD = new DataTable();
DataTable dtWR = new DataTable();
if (csDbUtils.DbQuaryExcuteToDataTable(edFileName.Text, "select * from TModuleValue", ref dtRD) > 0)
{
string dbfilepath = Path.GetDirectoryName(edFileName.Text);
string dbfilename_new = dbfilepath + @"\" + Path.GetFileNameWithoutExtension(edFileName.Text) + @"_new.db";
csDbUtils.CreateLogDbFile(dbfilename_new);
foreach (DataRow aRow in dtRD.Rows)
{
DateTime bTime = Convert.ToDateTime(String.Format("{0:yyyy/MM/dd HH:mm:ss}", aRow["create_date"]));
if (bakTime != bTime)
{
csDbUtils.DbInsertDataToDbFile(dbfilename_new, aRow);
bakTime = bTime;
}
//aRow["create_date"] = String.Format("{0:yyyy/MM/dd HH:mm:ss}", aRow["create_date"]);
WaitForm.SetDescription(String.Format("{0}//{1}", count, dtRD.Rows.Count));
Application.DoEvents();
count++;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
if (WaitForm != null)
WaitForm.Close();
}
}
}
private void btnExcuteTCell_Click(object sender, EventArgs e)
{
if (tbSchema.Text != string.Empty)
{
try
{
//string path = cbLotNo.Text.Substring(0, 9);
//string path = cbLotNo.Text;
string path = dbFiles[cbLotNo.SelectedIndex];
DataTable aaa = csDbUtils.DbSqlExcuteA3(path, tbSchema.Text);
if (aaa != null)
{
gridCell.DataSource = aaa;
edResultCount.Text = String.Format("{0}", aaa.Rows.Count);
if (aaa.Rows.Count > 0)
{
var ddd = aaa.Rows[0]["module_sn"];
byte[] ccc = Encoding.UTF8.GetBytes(ddd.ToString());
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
}
private void btnOpenSchema_Click(object sender, EventArgs e)
{
OpenFileDialog oDialog = new OpenFileDialog();
oDialog.DefaultExt = "*.*";
oDialog.Filter = "sql files (*.sql)|*.sql|All files (*.*)|*.*";
if (oDialog.ShowDialog() == DialogResult.OK)
{
string text = System.IO.File.ReadAllText(oDialog.FileName);
tbSchema.Text = text;
}
}
private void btnQueryExcute_Click(object sender, EventArgs e)
{
if (tbSchema.Text != string.Empty)
{
gridCell.DataSource = csDbUtils.DbSqlExcuteA(Application.ExecutablePath, tbSchema.Text, "mBMS_16S");
}
}
private void btnInsertDbByTable_Click(object sender, EventArgs e)
{
}
private void btnCheckGroupData_Click(object sender, EventArgs e)
{
tbSchema.Text = "select * from TInventoryData";
}
private void btnCreateNewDb_Click(object sender, EventArgs e)
{
string ModelName;
ModelName = csConstData.UART_MODEL[Config.UartModelIndex];
csDbUtils.LogDbCreateNew(ModelName);
}
private void btnCheckMeasData_Click(object sender, EventArgs e)
{
tbSchema.Text = "delete from TInventoryData where pcb_sn=''";
}
private void btnOutputAll_Click(object sender, EventArgs e)
{
if (cbResultList.Properties.Items.Count > 0)
{
for (int i = 0; i < cbResultList.Properties.Items.Count; i++)
{
string sn = cbResultList.Properties.Items[i].ToString();
MakeOutpuDataExcel(sn, cbLotNo.Text);
}
}
}
private void btnModuleResult_Click(object sender, EventArgs e)
{
//
try
{
string dbFilePath = dbFiles[cbLotNo.SelectedIndex];
string sql = String.Format("SELECT * FROM TInventoryData")
+ String.Format(" where pcb_sn like '{0}%'", tbPcbSn.Text)
;
DataTable dtBmsData = csDbUtils.DbSqlExcuteA3(dbFilePath, sql);
dtBmsData.TableName = "TInventoryData";
if ((dtBmsData != null) && (dtBmsData.Rows.Count > 0))
{
cbResultList.Properties.Items.Clear();
for (int i = 0; i < dtBmsData.Rows.Count; i++)
{
cbResultList.Properties.Items.Add(String.Format("{0}", dtBmsData.Rows[i]["pcb_sn"]));
}
gridCell.DataSource = dtBmsData;
edResultCount.Text = dtBmsData.Rows.Count.ToString();
cbResultList.SelectedIndex = 0;
}
else
{
MessageBox.Show(String.Format("No TModuleResult data - {0}", dbFilePath));
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void btnResultListClear_Click(object sender, EventArgs e)
{
cbResultList.Properties.Items.Clear();
}
private void btnBmsBmsDataMerse_Click(object sender, EventArgs e)
{
string orgDbFileName;
string newDbFileName;
DataTable orgTable;
DataTable newTable;
string sql;
OpenFileDialog opFile = new OpenFileDialog();
opFile.InitialDirectory = Path.GetDirectoryName(Application.ExecutablePath) + @"\db";
opFile.Title = "Select Original Database File";
RetryOrg:
if (opFile.ShowDialog() == DialogResult.OK)
{
try
{
orgDbFileName = opFile.FileName;
sql = String.Format("SELECT * FROM TInventoryData")
;
orgTable = csDbUtils.DbSqlExcuteA3(orgDbFileName, sql);
orgTable.TableName = "Org InventoryData";
if ((orgTable == null) || (orgTable.Rows.Count == 0))
{
MessageBox.Show(String.Format("Not Inventory Data - please select again"));
goto RetryOrg;
}
opFile.Title = "Select New Database File";
if (opFile.ShowDialog() == DialogResult.OK)
{
try
{
newDbFileName = opFile.FileName;
sql = String.Format("SELECT * FROM TInventoryData")
;
newTable = csDbUtils.DbSqlExcuteA3(newDbFileName, sql);
newTable.TableName = "Org InventoryData";
int errCount = 0;
if ((newTable != null) || (newTable.Rows.Count > 0))
{
Forms.fmxWait WaitForm = new Forms.fmxWait();
WaitForm.StartPosition = FormStartPosition.CenterScreen;
WaitForm.Show();
for (int i = 0; i < newTable.Rows.Count; i++)
{
try
{
csDbUtils.BmsDataMerege(newTable.Rows[i], orgDbFileName);
}
catch (Exception)
{
//if (ex.Message != "")
//{
// errCount++;
// string msg = String.Format("{0} - ({1}) - SN {2}"
// , ex.Message
// , i
// , newTable.Rows[i]["pcb_sn"]
// );
// MessageBox.Show(msg);
//}
}
WaitForm.SetDescription(String.Format("{0}//{1}", i, newTable.Rows.Count));
System.Windows.Forms.Application.DoEvents();
}
if (WaitForm != null)
WaitForm.Close();
}
MessageBox.Show(String.Format("Merse Reult\r\n - Total Count: {0}\r\n - Error Count: {1}", newTable.Rows.Count, errCount)
, "Result"
, MessageBoxButtons.OK
, MessageBoxIcon.Information
);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
goto RetryOrg;
}
}
}
private void btnOpenDbFolder_Click(object sender, EventArgs e)
{
System.Diagnostics.Process ps = new System.Diagnostics.Process();
ps.StartInfo.FileName = "explorer.exe";
ps.StartInfo.Arguments = csLog.GetDbFolder(Application.ExecutablePath);
ps.StartInfo.WorkingDirectory = csLog.GetDbFolder(Application.ExecutablePath);
ps.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
ps.Start();
}
#endregion
#region COMPONENT EVETNT
private void cbResultList_SelectedIndexChanged(object sender, EventArgs e)
{
string tbName = "";
tbName = cbResultList.Text;
if ((dtCell != null) && (dtCell.Rows.Count > 0))
{
if (tbName != "")
{
int index = cbResultList.SelectedIndex;
dtCell = dsCell.Tables[index];
gridCell.DataSource = dtCell;
}
}
}
#endregion
#region MAKE OUTPUT FUNCTION
private void MakeOutpuDataExcel(string mSN, string dbFile)
{
DateTime aDate = DateTime.Now;
string filename = String.Format("{0}_PR_57150.xls", mSN);
string filepath =
Path.GetDirectoryName(Application.ExecutablePath)
+ String.Format(@"\output\{0}\", csDbUtils.MakeLotNumber(mSN))
+ filename;
DataTable dtModuleResult = new DataTable();
DataTable dtCellResult = new DataTable();
string sql;
sql = String.Format("SELECT * FROM TModuleResult where m_sn = {0}", mSN);
dtModuleResult = csDbUtils.GetDataTableBySelectFromDbName(dbFile, sql, "TModuleResult", "mBMS-16S");
dtModuleResult.TableName = "TModuleResult";
dtModuleResult.AcceptChanges();
sql = String.Format("SELECT * FROM TCellResult where m_sn = {0}", mSN);
dtCellResult = csDbUtils.GetDataTableBySelectFromDbName(dbFile, sql, "TCellResult", "mBMS-16S");
dtCellResult.TableName = "TCellResult";
dtCellResult.AcceptChanges();
if (dtModuleResult.Rows.Count == 0) throw new Exception(String.Format("No ModuleResult data ({0})", mSN));
if (dtCellResult.Rows.Count == 0) throw new Exception(String.Format("No CellResult data ({0})", mSN));
csExcelExport.ExportToExcel(dtModuleResult, filepath);
csExcelExport.ExportToExcel(dtCellResult, filepath, false);
}
private DataTable GetModuleResultTable(string dbFileName)
{
DateTime aDate = DateTime.Now;
DataTable dtModuleResult = new DataTable();
string sql;
sql = String.Format("SELECT * FROM TModuleResult");
dtModuleResult = csDbUtils.GetDataTableBySelectFromDbName(dbFileName, sql, "TModuleResult", "mBMS-16S");
dtModuleResult.TableName = "TModuleResult";
dtModuleResult.AcceptChanges();
if (dtModuleResult.Rows.Count == 0) throw new Exception(String.Format("No ModuleResult data ({0})", dbFileName));
return dtModuleResult;
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

643
LFP_Manager/Forms/fmxFwUpdate.Designer.cs generated Normal file
View File

@@ -0,0 +1,643 @@
namespace LFP_Manager
{
partial class fmxFwUpdate
{
/// <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 Windows Form 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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxFwUpdate));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.btnFlashWrite = new DevExpress.XtraEditors.SimpleButton();
this.btnFlashErase = new DevExpress.XtraEditors.SimpleButton();
this.btnGotoApp = new DevExpress.XtraEditors.SimpleButton();
this.btnGotoBoot = new DevExpress.XtraEditors.SimpleButton();
this.btnRestart = new DevExpress.XtraEditors.SimpleButton();
this.lbUpdateStatus = new DevExpress.XtraEditors.LabelControl();
this.lbUpdateProgress = new DevExpress.XtraEditors.LabelControl();
this.pgUpdate = new DevExpress.XtraEditors.ProgressBarControl();
this.lbUpdateTime = new DevExpress.XtraEditors.LabelControl();
this.lbFileInfo = new DevExpress.XtraEditors.LabelControl();
this.btnFwUpdate = new DevExpress.XtraEditors.SimpleButton();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.btnFind = new DevExpress.XtraEditors.SimpleButton();
this.edFilename = new DevExpress.XtraEditors.TextEdit();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcItemGotoBoot = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem5 = new DevExpress.XtraLayout.EmptySpaceItem();
this.lcItemGotoApp = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem6 = new DevExpress.XtraLayout.EmptySpaceItem();
this.lcItemFlashErase = new DevExpress.XtraLayout.LayoutControlItem();
this.lcItemFlashWrite = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
this.edTargetID = new DevExpress.XtraEditors.TextEdit();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pgUpdate.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edFilename.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemGotoBoot)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemGotoApp)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemFlashErase)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemFlashWrite)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edTargetID.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.edTargetID);
this.layoutControl1.Controls.Add(this.btnFlashWrite);
this.layoutControl1.Controls.Add(this.btnFlashErase);
this.layoutControl1.Controls.Add(this.btnGotoApp);
this.layoutControl1.Controls.Add(this.btnGotoBoot);
this.layoutControl1.Controls.Add(this.btnRestart);
this.layoutControl1.Controls.Add(this.lbUpdateStatus);
this.layoutControl1.Controls.Add(this.lbUpdateProgress);
this.layoutControl1.Controls.Add(this.pgUpdate);
this.layoutControl1.Controls.Add(this.lbUpdateTime);
this.layoutControl1.Controls.Add(this.lbFileInfo);
this.layoutControl1.Controls.Add(this.btnFwUpdate);
this.layoutControl1.Controls.Add(this.btnClose);
this.layoutControl1.Controls.Add(this.btnFind);
this.layoutControl1.Controls.Add(this.edFilename);
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(1101, 240, 600, 492);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(736, 478);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// btnFlashWrite
//
this.btnFlashWrite.Location = new System.Drawing.Point(567, 153);
this.btnFlashWrite.Name = "btnFlashWrite";
this.btnFlashWrite.Size = new System.Drawing.Size(162, 22);
this.btnFlashWrite.StyleController = this.layoutControl1;
this.btnFlashWrite.TabIndex = 21;
this.btnFlashWrite.Text = "Flash Write";
this.btnFlashWrite.Click += new System.EventHandler(this.btnFlashWrite_Click);
//
// btnFlashErase
//
this.btnFlashErase.Location = new System.Drawing.Point(567, 127);
this.btnFlashErase.Name = "btnFlashErase";
this.btnFlashErase.Size = new System.Drawing.Size(162, 22);
this.btnFlashErase.StyleController = this.layoutControl1;
this.btnFlashErase.TabIndex = 20;
this.btnFlashErase.Text = "Flash Erase";
this.btnFlashErase.Click += new System.EventHandler(this.btnFlashErase_Click);
//
// btnGotoApp
//
this.btnGotoApp.Location = new System.Drawing.Point(567, 220);
this.btnGotoApp.Name = "btnGotoApp";
this.btnGotoApp.Size = new System.Drawing.Size(162, 22);
this.btnGotoApp.StyleController = this.layoutControl1;
this.btnGotoApp.TabIndex = 19;
this.btnGotoApp.Text = "Goto Application";
this.btnGotoApp.Click += new System.EventHandler(this.btnGotoApp_Click);
//
// btnGotoBoot
//
this.btnGotoBoot.Location = new System.Drawing.Point(567, 194);
this.btnGotoBoot.Name = "btnGotoBoot";
this.btnGotoBoot.Size = new System.Drawing.Size(162, 22);
this.btnGotoBoot.StyleController = this.layoutControl1;
this.btnGotoBoot.TabIndex = 18;
this.btnGotoBoot.Text = "Goto Bootloader";
this.btnGotoBoot.Click += new System.EventHandler(this.btnGotoBoot_Click);
//
// btnRestart
//
this.btnRestart.Location = new System.Drawing.Point(567, 273);
this.btnRestart.Name = "btnRestart";
this.btnRestart.Size = new System.Drawing.Size(162, 29);
this.btnRestart.StyleController = this.layoutControl1;
this.btnRestart.TabIndex = 17;
this.btnRestart.Text = "Restart";
//
// lbUpdateStatus
//
this.lbUpdateStatus.Location = new System.Drawing.Point(7, 335);
this.lbUpdateStatus.Name = "lbUpdateStatus";
this.lbUpdateStatus.Size = new System.Drawing.Size(526, 14);
this.lbUpdateStatus.StyleController = this.layoutControl1;
this.lbUpdateStatus.TabIndex = 16;
this.lbUpdateStatus.Text = "Update Status : ";
//
// lbUpdateProgress
//
this.lbUpdateProgress.Appearance.Options.UseTextOptions = true;
this.lbUpdateProgress.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.lbUpdateProgress.Location = new System.Drawing.Point(537, 353);
this.lbUpdateProgress.Name = "lbUpdateProgress";
this.lbUpdateProgress.Size = new System.Drawing.Size(192, 14);
this.lbUpdateProgress.StyleController = this.layoutControl1;
this.lbUpdateProgress.TabIndex = 15;
this.lbUpdateProgress.Text = "0/0 bytes";
//
// pgUpdate
//
this.pgUpdate.Location = new System.Drawing.Point(7, 371);
this.pgUpdate.Name = "pgUpdate";
this.pgUpdate.Size = new System.Drawing.Size(722, 39);
this.pgUpdate.StyleController = this.layoutControl1;
this.pgUpdate.TabIndex = 14;
//
// lbUpdateTime
//
this.lbUpdateTime.Location = new System.Drawing.Point(7, 353);
this.lbUpdateTime.Name = "lbUpdateTime";
this.lbUpdateTime.Size = new System.Drawing.Size(526, 14);
this.lbUpdateTime.StyleController = this.layoutControl1;
this.lbUpdateTime.TabIndex = 13;
this.lbUpdateTime.Text = "00:00";
//
// lbFileInfo
//
this.lbFileInfo.Appearance.Options.UseTextOptions = true;
this.lbFileInfo.Appearance.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Top;
this.lbFileInfo.Location = new System.Drawing.Point(7, 106);
this.lbFileInfo.Name = "lbFileInfo";
this.lbFileInfo.Size = new System.Drawing.Size(556, 196);
this.lbFileInfo.StyleController = this.layoutControl1;
this.lbFileInfo.TabIndex = 12;
this.lbFileInfo.Text = "File Information";
//
// btnFwUpdate
//
this.btnFwUpdate.Location = new System.Drawing.Point(567, 54);
this.btnFwUpdate.Name = "btnFwUpdate";
this.btnFwUpdate.Size = new System.Drawing.Size(162, 22);
this.btnFwUpdate.StyleController = this.layoutControl1;
this.btnFwUpdate.TabIndex = 8;
this.btnFwUpdate.Text = "Firmware Update";
this.btnFwUpdate.Click += new System.EventHandler(this.btnFwUpdate_Click);
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(3, 418);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(730, 57);
this.btnClose.StyleController = this.layoutControl1;
this.btnClose.TabIndex = 6;
this.btnClose.Text = "CLOSE";
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// btnFind
//
this.btnFind.Location = new System.Drawing.Point(567, 28);
this.btnFind.Name = "btnFind";
this.btnFind.Size = new System.Drawing.Size(162, 22);
this.btnFind.StyleController = this.layoutControl1;
this.btnFind.TabIndex = 5;
this.btnFind.Text = "Find File...";
this.btnFind.Click += new System.EventHandler(this.btnFind_Click);
//
// edFilename
//
this.edFilename.Location = new System.Drawing.Point(87, 28);
this.edFilename.Name = "edFilename";
this.edFilename.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.edFilename.Properties.Appearance.Options.UseFont = true;
this.edFilename.Size = new System.Drawing.Size(476, 22);
this.edFilename.StyleController = this.layoutControl1;
this.edFilename.TabIndex = 4;
//
// 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.layoutControlItem3,
this.layoutControlGroup2,
this.layoutControlGroup3});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(736, 478);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.btnClose;
this.layoutControlItem3.CustomizationFormText = "layoutControlItem3";
this.layoutControlItem3.Location = new System.Drawing.Point(0, 415);
this.layoutControlItem3.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(734, 61);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlGroup2
//
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem4,
this.layoutControlItem8,
this.emptySpaceItem1,
this.emptySpaceItem4,
this.layoutControlItem5,
this.emptySpaceItem3,
this.layoutControlItem2,
this.layoutControlItem1,
this.lcItemGotoBoot,
this.emptySpaceItem5,
this.lcItemGotoApp,
this.emptySpaceItem6,
this.lcItemFlashErase,
this.lcItemFlashWrite,
this.layoutControlItem6});
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(734, 307);
this.layoutControlGroup2.Text = "Update Command";
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.btnRestart;
this.layoutControlItem4.CustomizationFormText = "layoutControlItem4";
this.layoutControlItem4.Location = new System.Drawing.Point(560, 245);
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 33);
this.layoutControlItem4.MinSize = new System.Drawing.Size(93, 33);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(166, 33);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.lbFileInfo;
this.layoutControlItem8.CustomizationFormText = "layoutControlItem8";
this.layoutControlItem8.Location = new System.Drawing.Point(0, 78);
this.layoutControlItem8.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(560, 200);
this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem8.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(560, 218);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(166, 27);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem4
//
this.emptySpaceItem4.AllowHotTrack = false;
this.emptySpaceItem4.CustomizationFormText = "emptySpaceItem4";
this.emptySpaceItem4.Location = new System.Drawing.Point(0, 52);
this.emptySpaceItem4.Name = "emptySpaceItem4";
this.emptySpaceItem4.Size = new System.Drawing.Size(560, 26);
this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.btnFwUpdate;
this.layoutControlItem5.CustomizationFormText = "layoutControlItem5";
this.layoutControlItem5.Location = new System.Drawing.Point(560, 26);
this.layoutControlItem5.MinSize = new System.Drawing.Size(108, 26);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(166, 26);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// emptySpaceItem3
//
this.emptySpaceItem3.AllowHotTrack = false;
this.emptySpaceItem3.CustomizationFormText = "emptySpaceItem3";
this.emptySpaceItem3.Location = new System.Drawing.Point(0, 26);
this.emptySpaceItem3.Name = "emptySpaceItem3";
this.emptySpaceItem3.Size = new System.Drawing.Size(405, 26);
this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.btnFind;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(560, 0);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(166, 26);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.edFilename;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(560, 26);
this.layoutControlItem1.Text = "File Name : ";
this.layoutControlItem1.TextSize = new System.Drawing.Size(68, 14);
//
// lcItemGotoBoot
//
this.lcItemGotoBoot.Control = this.btnGotoBoot;
this.lcItemGotoBoot.Location = new System.Drawing.Point(560, 166);
this.lcItemGotoBoot.MinSize = new System.Drawing.Size(89, 26);
this.lcItemGotoBoot.Name = "lcItemGotoBoot";
this.lcItemGotoBoot.Size = new System.Drawing.Size(166, 26);
this.lcItemGotoBoot.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemGotoBoot.TextSize = new System.Drawing.Size(0, 0);
this.lcItemGotoBoot.TextVisible = false;
//
// emptySpaceItem5
//
this.emptySpaceItem5.AllowHotTrack = false;
this.emptySpaceItem5.Location = new System.Drawing.Point(560, 52);
this.emptySpaceItem5.MinSize = new System.Drawing.Size(166, 24);
this.emptySpaceItem5.Name = "emptySpaceItem5";
this.emptySpaceItem5.Size = new System.Drawing.Size(166, 47);
this.emptySpaceItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem5.TextSize = new System.Drawing.Size(0, 0);
//
// lcItemGotoApp
//
this.lcItemGotoApp.Control = this.btnGotoApp;
this.lcItemGotoApp.Location = new System.Drawing.Point(560, 192);
this.lcItemGotoApp.MinSize = new System.Drawing.Size(89, 26);
this.lcItemGotoApp.Name = "lcItemGotoApp";
this.lcItemGotoApp.Size = new System.Drawing.Size(166, 26);
this.lcItemGotoApp.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemGotoApp.TextSize = new System.Drawing.Size(0, 0);
this.lcItemGotoApp.TextVisible = false;
this.lcItemGotoApp.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
//
// emptySpaceItem6
//
this.emptySpaceItem6.AllowHotTrack = false;
this.emptySpaceItem6.Location = new System.Drawing.Point(560, 151);
this.emptySpaceItem6.Name = "emptySpaceItem6";
this.emptySpaceItem6.Size = new System.Drawing.Size(166, 15);
this.emptySpaceItem6.TextSize = new System.Drawing.Size(0, 0);
//
// lcItemFlashErase
//
this.lcItemFlashErase.Control = this.btnFlashErase;
this.lcItemFlashErase.Location = new System.Drawing.Point(560, 99);
this.lcItemFlashErase.MinSize = new System.Drawing.Size(101, 26);
this.lcItemFlashErase.Name = "lcItemFlashErase";
this.lcItemFlashErase.Size = new System.Drawing.Size(166, 26);
this.lcItemFlashErase.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemFlashErase.TextSize = new System.Drawing.Size(0, 0);
this.lcItemFlashErase.TextVisible = false;
//
// lcItemFlashWrite
//
this.lcItemFlashWrite.Control = this.btnFlashWrite;
this.lcItemFlashWrite.Location = new System.Drawing.Point(560, 125);
this.lcItemFlashWrite.MinSize = new System.Drawing.Size(101, 26);
this.lcItemFlashWrite.Name = "lcItemFlashWrite";
this.lcItemFlashWrite.Size = new System.Drawing.Size(166, 26);
this.lcItemFlashWrite.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemFlashWrite.TextSize = new System.Drawing.Size(0, 0);
this.lcItemFlashWrite.TextVisible = false;
//
// layoutControlGroup3
//
this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem12,
this.emptySpaceItem2,
this.layoutControlItem9,
this.layoutControlItem11,
this.layoutControlItem10});
this.layoutControlGroup3.Location = new System.Drawing.Point(0, 307);
this.layoutControlGroup3.Name = "layoutControlGroup3";
this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup3.Size = new System.Drawing.Size(734, 108);
this.layoutControlGroup3.Text = "Update Status";
//
// layoutControlItem12
//
this.layoutControlItem12.Control = this.lbUpdateStatus;
this.layoutControlItem12.CustomizationFormText = "layoutControlItem12";
this.layoutControlItem12.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem12.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem12.Name = "layoutControlItem12";
this.layoutControlItem12.Size = new System.Drawing.Size(530, 18);
this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem12.TextVisible = false;
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2";
this.emptySpaceItem2.Location = new System.Drawing.Point(530, 0);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(196, 18);
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem9
//
this.layoutControlItem9.Control = this.lbUpdateTime;
this.layoutControlItem9.CustomizationFormText = "layoutControlItem9";
this.layoutControlItem9.Location = new System.Drawing.Point(0, 18);
this.layoutControlItem9.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem9.Name = "layoutControlItem9";
this.layoutControlItem9.Size = new System.Drawing.Size(530, 18);
this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem9.TextVisible = false;
//
// layoutControlItem11
//
this.layoutControlItem11.Control = this.lbUpdateProgress;
this.layoutControlItem11.CustomizationFormText = "layoutControlItem11";
this.layoutControlItem11.Location = new System.Drawing.Point(530, 18);
this.layoutControlItem11.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem11.Name = "layoutControlItem11";
this.layoutControlItem11.Size = new System.Drawing.Size(196, 18);
this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem11.TextVisible = false;
//
// layoutControlItem10
//
this.layoutControlItem10.Control = this.pgUpdate;
this.layoutControlItem10.CustomizationFormText = "layoutControlItem10";
this.layoutControlItem10.Location = new System.Drawing.Point(0, 36);
this.layoutControlItem10.MinSize = new System.Drawing.Size(54, 16);
this.layoutControlItem10.Name = "layoutControlItem10";
this.layoutControlItem10.Size = new System.Drawing.Size(726, 43);
this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem10.TextVisible = false;
//
// edTargetID
//
this.edTargetID.Location = new System.Drawing.Point(492, 54);
this.edTargetID.Name = "edTargetID";
this.edTargetID.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.edTargetID.Properties.Appearance.Options.UseFont = true;
this.edTargetID.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.edTargetID.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.edTargetID.Size = new System.Drawing.Size(71, 22);
this.edTargetID.StyleController = this.layoutControl1;
this.edTargetID.TabIndex = 22;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.edTargetID;
this.layoutControlItem6.Location = new System.Drawing.Point(405, 26);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(155, 26);
this.layoutControlItem6.Text = "Target ID";
this.layoutControlItem6.TextSize = new System.Drawing.Size(68, 14);
//
// fmxFwUpdate
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(736, 478);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxFwUpdate.IconOptions.Icon")));
this.Name = "fmxFwUpdate";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "fmFwUpdate";
this.Activated += new System.EventHandler(this.fmxFwUpdate_Activated);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.fmxFwUpdate_FormClosed);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.pgUpdate.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edFilename.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemGotoBoot)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemGotoApp)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemFlashErase)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemFlashWrite)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edTargetID.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.SimpleButton btnFind;
private DevExpress.XtraEditors.TextEdit edFilename;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraEditors.SimpleButton btnClose;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraEditors.SimpleButton btnFwUpdate;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4;
private DevExpress.XtraEditors.LabelControl lbFileInfo;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private DevExpress.XtraEditors.LabelControl lbUpdateTime;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
private DevExpress.XtraEditors.ProgressBarControl pgUpdate;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
private DevExpress.XtraEditors.LabelControl lbUpdateProgress;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11;
private DevExpress.XtraEditors.LabelControl lbUpdateStatus;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
private DevExpress.XtraEditors.SimpleButton btnRestart;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
private DevExpress.XtraEditors.SimpleButton btnGotoApp;
private DevExpress.XtraEditors.SimpleButton btnGotoBoot;
private DevExpress.XtraLayout.LayoutControlItem lcItemGotoBoot;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem5;
private DevExpress.XtraLayout.LayoutControlItem lcItemGotoApp;
private DevExpress.XtraEditors.SimpleButton btnFlashWrite;
private DevExpress.XtraEditors.SimpleButton btnFlashErase;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem6;
private DevExpress.XtraLayout.LayoutControlItem lcItemFlashErase;
private DevExpress.XtraLayout.LayoutControlItem lcItemFlashWrite;
private DevExpress.XtraEditors.TextEdit edTargetID;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
}
}

View File

@@ -0,0 +1,495 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading;
using LFP_Manager.Function;
using LFP_Manager.Utils;
namespace LFP_Manager
{
public delegate void AutoTxSetEnvent(bool autoTx);
public delegate void SendDataUartEvent(ushort dev_addr, byte[] data, bool ReplyFlag);
public partial class fmxFwUpdate : XtraForm
{
#region DEFINES
const int FW_UPDATE_START_ADDR = 0x08080000;
const int FW_UPDATE_END_ADDR = 0x080E0000 - 1;
const int FW_UPDATE_SECTOR_SIZE = 0x20000;
const int FW_UPDATE_PACKET_SIZE = 0x800;
const int APP_TO_BOOT = 0;
const int BOOT_TO_APP = 1;
#endregion
#region VARIABLES
private UInt32 SystemId = 0;
private byte[] fwdata;
private int fwsize;
private int FwStartAddr = 0;
private int FwCurrPosition = 0;
private int FwSentLength = 0;
private bool StopUpdate = true;
private UInt32 SectorEraseAddr = 0;
private UInt32 SetAddr = 0;
private UInt32 SetLength = 0;
private DateTime UpdateStartTime;
private TimeSpan UpdateTime;
public event AutoTxSetEnvent OnAutoTxSet = null;
public event SendDataUartEvent OnSendUartData = null;
#endregion
#region CONSTRUCTORS
public fmxFwUpdate(int sID)
{
InitializeComponent();
SystemId = (UInt32)sID;
edTargetID.Text = sID.ToString();
fwdata = null;
fwsize = 0;
btnFwUpdate.Enabled = false;
lcItemFlashErase.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
lcItemFlashWrite.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
lcItemGotoBoot.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
lcItemGotoApp.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
}
#endregion
#region BUTTON EVENTS
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
private void btnFwUpdate_Click(object sender, EventArgs e)
{
if (edTargetID.Text == "")
{
MessageBox.Show("Please check target id !!");
return;
}
SystemId = Convert.ToUInt32(edTargetID.Text);
if (StopUpdate == true)
{
// Working mode change (Application --> Boot) - It need to be wait more than 1.5sec
OnAutoTxSet?.Invoke(false);
DisplayLabelUpdate("Goto Bootloader Mode");
RequestModeChange(APP_TO_BOOT);
UpdateStartTime = DateTime.Now;
btnFwUpdate.Text = "Cancel Update";
btnFwUpdate.Enabled = false;
for (int i = 0; i < 2000; i += 100)
{
Thread.Sleep(100);
Application.DoEvents();
}
btnFwUpdate.Enabled = true;
// Flash Erase
RequestFlashErase();
}
else
{
StopFwUpdate();
}
}
private void StopFwUpdate()
{
StopUpdate = true;
btnFwUpdate.Text = "Firmware Update";
pgUpdate.Position = 0;
//pgUpdate.Properties.Maximum = 0;
//lbUpdateProgress.Text = "-/-";
lbUpdateStatus.Text = "Stop Update";
}
public static byte[] ToByteArray(String HexString)
{
int NumberChars = HexString.Length;
byte[] bytes = new byte[NumberChars / 2];
for (int i = 0; i < NumberChars; i += 2)
{
bytes[i / 2] = Convert.ToByte(HexString.Substring(i, 2), 16);
}
return bytes;
}
private void btnFind_Click(object sender, EventArgs e)
{
OpenFileDialog oDialog;
oDialog = new OpenFileDialog();
oDialog.DefaultExt = "*.*";
oDialog.Filter = "hex files (*.hex)|*.hex|All files (*.*)|*.*";
if (oDialog.ShowDialog() == DialogResult.OK)
{
edFilename.Text = oDialog.FileName;
int addr1 = 0;
int addr2 = 0;
string[] aline = File.ReadLines(edFilename.Text).ToArray();
for (int i = 0; i < aline.Length; i++)
{
byte[] a = ToByteArray(aline[i].Substring(1, aline[i].Length - 1));
switch (a[3])
{
case 0: // data record
addr2 = (int)((a[1] << 8) | a[2]) + a[0];
if (FwStartAddr == 0)
FwStartAddr = (int)((a[1] << 8) | a[2]);
break;
case 1: // End of file record. Usually, it is 00000001FF
break;
case 2: // Extended Segment address record. This indicates segment base address when 16 bits is not enough for addressing memory;
break;
case 3: // Start segment address record. Indicates initial segment base address.
break;
case 4: // Extended Linear Address Record – allows 32 bit addressing.
addr1 = (int)((a[4] << 8) | a[5]);
break;
case 5: // Start Linear Address Record.
break;
}
}
int FwImageSize = (int)((addr1 << 16) + addr2 - FwStartAddr);
if ((FwImageSize % 128) > 0)
{
FwImageSize = ((FwImageSize / 128) + 1) * 128;
}
else
{
FwImageSize = ((FwImageSize / 128) + 0) * 128;
}
addr1 = 0;
addr2 = 0;
fwsize = FwImageSize;
fwdata = new byte[fwsize];
for (int i = 0; i < fwdata.Length; i++)
{
fwdata[i] = 0xFF;
}
for (int i = 0; i < aline.Length; i++)
{
byte[] a = ToByteArray(aline[i].Substring(1, aline[i].Length - 1));
switch (a[3])
{
case 0: // data record
addr2 = (int)((a[1] << 8) | a[2]);
int len = a[0];
for (int j = 0; j < len; j++)
{
fwdata[((addr1 << 16) + addr2) - FwStartAddr + j] = a[4 + j];
}
break;
case 1: // End of file record. Usually, it is 00000001FF
break;
case 2: // Extended Segment address record. This indicates segment base address when 16 bits is not enough for addressing memory;
break;
case 3: // Start segment address record. Indicates initial segment base address.
break;
case 4: // Extended Linear Address Record – allows 32 bit addressing.
addr1 = (int)((a[4] << 8) | a[5]);
break;
case 5: // Start Linear Address Record.
break;
}
}
string strName = Path.GetFileName(edFilename.Text);
lbFileInfo.Text = string.Format("File Information");
lbFileInfo.Text += string.Format("\r\n - Filename: {0}", strName);
lbFileInfo.Text += string.Format("\r\n - File Version: {0}", strName.Substring(0, 12));
lbFileInfo.Text += string.Format("\r\n - File Size: {0:#,##0} bytes", fwsize);
lbFileInfo.Text += string.Format("\r\n - Packet Size: {0:#,##0} packets", fwsize / 128);
lbFileInfo.Text += string.Format("\r\n - Last packet: {0:#,##0}", fwsize % 128);
lbFileInfo.Text += string.Format("\r\n - Start Addr : 0x{0:X8}", FwStartAddr);
lbUpdateProgress.Text = string.Format("{0:#,##0}/{1:#,##0} bytes", 0, fwsize);
pgUpdate.Properties.Maximum = (int)fwsize;
btnFwUpdate.Enabled = true;
}
}
#endregion
#region FORM EVENT
private void fmxFwUpdate_Activated(object sender, EventArgs e)
{
//OnAutoTxSet?.Invoke(false);
}
private void fmxFwUpdate_FormClosed(object sender, FormClosedEventArgs e)
{
OnAutoTxSet?.Invoke(true);
}
#endregion
#region PUBLIC FUNCTION
void DisplayLabelUpdate(string msg)
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate ()
{
lbUpdateStatus.Text = string.Format("Update Status : {0}", msg);
}));
}
else
{
lbUpdateStatus.Text = string.Format("Update Status : {0}", msg);
}
}
void DisplayUpdateProgress()
{
if (this.InvokeRequired)
{
_ = this.Invoke(new MethodInvoker(delegate ()
{
lbUpdateProgress.Text = string.Format("{0:#,##0}/{1:#,##0} bytes", FwCurrPosition, fwsize);
pgUpdate.Position = FwCurrPosition;
UpdateTime = DateTime.Now - UpdateStartTime;
lbUpdateTime.Text = string.Format("{0:mm}:{0:ss}", UpdateTime);
}));
}
else
{
lbUpdateProgress.Text = string.Format("{0:#,##0}/{1:#,##0} bytes", FwCurrPosition, fwsize);
pgUpdate.Position = FwCurrPosition;
UpdateTime = DateTime.Now - UpdateStartTime;
lbUpdateTime.Text = string.Format("{0:mm}:{0:ss}", UpdateTime);
}
}
public void RecvData(byte[] rdata)
{
//lbUpdateStatus.Text = String.Format("Recv Data: 0x{0:X8} {1:X2} {2:X2} {3:X2} {4:X2} {5:X2} {6:X2} {7:X2} {8:X2}"
// , rhdr, rdata[0], rdata[1], rdata[2], rdata[3], rdata[4], rdata[5], rdata[6], rdata[7]);
if (StopUpdate == false)
{
if (rdata[0] == 0x7F)
{
switch (rdata[1])
{
case 0x43: // Erase Flash
if (rdata[2] == 0x79)
{
// Erase Success
DisplayLabelUpdate("Flash Erase Success");
byte[] sdata = new byte[128];
FwCurrPosition = 0;
for (int i = 0; i < sdata.Length; i++)
{
sdata[i] = fwdata[FwCurrPosition + i];
}
RequestFlashWrite(FwStartAddr + FwCurrPosition, sdata);
}
else if (rdata[2] == 0x1F)
{
// Erase Fail
DisplayLabelUpdate("Flash Erase Fail");
StopUpdate = true;
}
break;
case 0x31: // Write Flash
if (rdata[2] == 0x79)
{
// Write Success
string str = string.Format("Flash Write Success - {0}/{1}", FwCurrPosition, FwSentLength);
DisplayLabelUpdate(str);
DisplayUpdateProgress();
FwCurrPosition += FwSentLength;
int Remain = fwdata.Length - FwCurrPosition;
if (Remain > 0)
{
int len = (Remain > 128) ? 128 : Remain;
byte[] sdata = new byte[len];
for (int i = 0; i < sdata.Length; i++)
{
sdata[i] = fwdata[FwCurrPosition + i];
}
RequestFlashWrite(FwStartAddr + FwCurrPosition, sdata);
}
else
{
RequestModeChange(BOOT_TO_APP);
}
}
else if (rdata[2] == 0x1F)
{
// Write Fail
DisplayLabelUpdate("Flash Write Fail");
StopUpdate = true;
}
break;
}
}
}
}
#endregion
#region UART PACKET FUNCTION
private void RequestModeChange(int mode)
{
byte[] sdata = null;
byte[] crc;
if (mode == 0)
{
// Normal mode --> Bootloader mode
sdata = new byte[8];
sdata[0] = (byte)SystemId; // Dev Address
sdata[1] = 0x50; // Function Code
sdata[2] = 0x80; // Address H
sdata[3] = 0x00; // Address L
sdata[4] = 0x00; // Number of Register H
sdata[5] = 0x00; // Number of Register L
crc = csSerialCommFunction.GetCRC(sdata, 6);
sdata[6] = crc[1]; // CRCH
sdata[7] = crc[0]; // CRCL
StopUpdate = false;
}
else if (mode == 1)
{
// Bootloader mode --> Normal mode
sdata = new byte[5];
sdata[0] = 0x7F; // Dev Address
sdata[1] = 0x21; // Function Code,,+
sdata[2] = 0xDE; // Sub Code
crc = csSerialCommFunction.GetCRC(sdata, 3);
sdata[3] = crc[1]; // CRCH
sdata[4] = crc[0]; // CRCL
StopFwUpdate();
}
OnSendUartData?.Invoke((ushort)SystemId, sdata, false);
}
private void RequestFlashErase()
{
byte[] sdata = null;
byte[] crc;
// Flash Erase
sdata = new byte[5];
sdata[0] = 0x7F; // Dev Address
sdata[1] = 0x43; // Function Code
sdata[2] = 0xBC; // Sub Code
crc = csSerialCommFunction.GetCRC(sdata, 3);
sdata[3] = crc[1]; // CRCH
sdata[4] = crc[0]; // CRCL
OnSendUartData?.Invoke((ushort)SystemId, sdata, true);
}
private void RequestFlashWrite(int addr, byte[] data)
{
byte[] sdata = null;
byte[] crc;
// Flash Write
sdata = new byte[6 + 128 + 2];
for (int i = 0; i < sdata.Length; i++)
{
sdata[i] = 0xFF;
}
sdata[0] = 0x7F; // Dev Address
sdata[1] = 0x31; // Function Code
sdata[2] = 0xCE; // Sub Code
sdata[3] = (byte)(addr >> 16); // Addr H
sdata[4] = (byte)(addr >> 8); // Addr L MSB
sdata[5] = (byte)(addr & 0xff); // Addr L LSB
for (int i = 0; i < data.Length; i++)
{
sdata[6 + i] = data[i];
}
crc = csSerialCommFunction.GetCRC(sdata, sdata.Length - 2);
sdata[sdata.Length - 2] = crc[1]; // CRCH
sdata[sdata.Length - 1] = crc[0]; // CRCL
FwSentLength = data.Length;
OnSendUartData?.Invoke((ushort)SystemId, sdata, false);
}
#endregion
#region BUTTON EVENT
private void btnGotoBoot_Click(object sender, EventArgs e)
{
OnAutoTxSet?.Invoke(false);
RequestModeChange(APP_TO_BOOT);
UpdateStartTime = DateTime.Now;
}
private void btnGotoApp_Click(object sender, EventArgs e)
{
RequestModeChange(BOOT_TO_APP);
}
private void btnFlashErase_Click(object sender, EventArgs e)
{
RequestFlashErase();
}
private void btnFlashWrite_Click(object sender, EventArgs e)
{
byte[] sdata = new byte[128];
FwCurrPosition = 0;
for (int i = 0; i < sdata.Length; i++)
{
sdata[i] = fwdata[FwCurrPosition + i];
}
RequestFlashWrite(FwStartAddr + FwCurrPosition, sdata);
}
#endregion
}
}

File diff suppressed because it is too large Load Diff

935
LFP_Manager/Forms/fmxHistory.Designer.cs generated Normal file
View File

@@ -0,0 +1,935 @@
namespace LFP_Manager.Forms
{
partial class fmxHistory
{
/// <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 Windows Form 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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxHistory));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.tabHistory = new DevExpress.XtraTab.XtraTabControl();
this.pgGuiHistory = new DevExpress.XtraTab.XtraTabPage();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.ucHistroy1 = new LFP_Manager.Controls.ucHistroy();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.pgBmsHistory = new DevExpress.XtraTab.XtraTabPage();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
this.btnExportExcel = new DevExpress.XtraEditors.SimpleButton();
this.btnBmsHistoryReq = new DevExpress.XtraEditors.SimpleButton();
this.gcBmsHistory = new DevExpress.XtraGrid.GridControl();
this.gvBmsHistory = new DevExpress.XtraGrid.Views.Grid.GridView();
this.gcHistDateTime = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcStatus = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcWarning = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcProtect = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcError = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcVoltage = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcCurrent = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcSOC = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcSOH = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcTemp1 = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcTemp2 = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcTemp3 = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcTemp4 = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcTemp5 = new DevExpress.XtraGrid.Columns.GridColumn();
this.gcTemp6 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_1 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_2 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_3 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_4 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_5 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_6 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_7 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_8 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_9 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_10 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_11 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_12 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_13 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_14 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_15 = new DevExpress.XtraGrid.Columns.GridColumn();
this.cell_v_16 = new DevExpress.XtraGrid.Columns.GridColumn();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.gcNo = new DevExpress.XtraGrid.Columns.GridColumn();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tabHistory)).BeginInit();
this.tabHistory.SuspendLayout();
this.pgGuiHistory.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
this.pgBmsHistory.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit();
this.layoutControl3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gcBmsHistory)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gvBmsHistory)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.tabHistory);
this.layoutControl1.Controls.Add(this.btnClose);
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(1215, 341, 650, 400);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(911, 602);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// tabHistory
//
this.tabHistory.Location = new System.Drawing.Point(3, 3);
this.tabHistory.Name = "tabHistory";
this.tabHistory.SelectedTabPage = this.pgGuiHistory;
this.tabHistory.Size = new System.Drawing.Size(905, 552);
this.tabHistory.TabIndex = 6;
this.tabHistory.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
this.pgGuiHistory,
this.pgBmsHistory});
//
// pgGuiHistory
//
this.pgGuiHistory.Controls.Add(this.layoutControl2);
this.pgGuiHistory.Name = "pgGuiHistory";
this.pgGuiHistory.Size = new System.Drawing.Size(903, 526);
this.pgGuiHistory.Text = "GUI History";
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.ucHistroy1);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.Location = new System.Drawing.Point(0, 0);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.Root = this.Root;
this.layoutControl2.Size = new System.Drawing.Size(903, 526);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// ucHistroy1
//
this.ucHistroy1.Location = new System.Drawing.Point(3, 3);
this.ucHistroy1.Name = "ucHistroy1";
this.ucHistroy1.Size = new System.Drawing.Size(897, 520);
this.ucHistroy1.TabIndex = 4;
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(903, 526);
this.Root.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.ucHistroy1;
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(901, 524);
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// pgBmsHistory
//
this.pgBmsHistory.Controls.Add(this.layoutControl3);
this.pgBmsHistory.Name = "pgBmsHistory";
this.pgBmsHistory.Size = new System.Drawing.Size(903, 526);
this.pgBmsHistory.Text = "BMS History";
//
// layoutControl3
//
this.layoutControl3.Controls.Add(this.btnExportExcel);
this.layoutControl3.Controls.Add(this.btnBmsHistoryReq);
this.layoutControl3.Controls.Add(this.gcBmsHistory);
this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl3.Location = new System.Drawing.Point(0, 0);
this.layoutControl3.Name = "layoutControl3";
this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1211, 293, 650, 400);
this.layoutControl3.Root = this.layoutControlGroup2;
this.layoutControl3.Size = new System.Drawing.Size(903, 526);
this.layoutControl3.TabIndex = 0;
this.layoutControl3.Text = "layoutControl3";
//
// btnExportExcel
//
this.btnExportExcel.Location = new System.Drawing.Point(782, 485);
this.btnExportExcel.Name = "btnExportExcel";
this.btnExportExcel.Size = new System.Drawing.Size(113, 33);
this.btnExportExcel.StyleController = this.layoutControl3;
this.btnExportExcel.TabIndex = 6;
this.btnExportExcel.Text = "Export Excel";
this.btnExportExcel.Click += new System.EventHandler(this.btnExportExcel_Click);
//
// btnBmsHistoryReq
//
this.btnBmsHistoryReq.Location = new System.Drawing.Point(781, 29);
this.btnBmsHistoryReq.Name = "btnBmsHistoryReq";
this.btnBmsHistoryReq.Size = new System.Drawing.Size(114, 31);
this.btnBmsHistoryReq.StyleController = this.layoutControl3;
this.btnBmsHistoryReq.TabIndex = 5;
this.btnBmsHistoryReq.Text = "Request";
this.btnBmsHistoryReq.Click += new System.EventHandler(this.btnBmsHistoryReq_Click);
//
// gcBmsHistory
//
this.gcBmsHistory.Location = new System.Drawing.Point(8, 93);
this.gcBmsHistory.MainView = this.gvBmsHistory;
this.gcBmsHistory.Name = "gcBmsHistory";
this.gcBmsHistory.Size = new System.Drawing.Size(887, 388);
this.gcBmsHistory.TabIndex = 4;
this.gcBmsHistory.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] {
this.gvBmsHistory});
//
// gvBmsHistory
//
this.gvBmsHistory.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
this.gcNo,
this.gcHistDateTime,
this.gcStatus,
this.gcWarning,
this.gcProtect,
this.gcError,
this.gcVoltage,
this.gcCurrent,
this.gcSOC,
this.gcSOH,
this.gcTemp1,
this.gcTemp2,
this.gcTemp3,
this.gcTemp4,
this.gcTemp5,
this.gcTemp6,
this.cell_v_1,
this.cell_v_2,
this.cell_v_3,
this.cell_v_4,
this.cell_v_5,
this.cell_v_6,
this.cell_v_7,
this.cell_v_8,
this.cell_v_9,
this.cell_v_10,
this.cell_v_11,
this.cell_v_12,
this.cell_v_13,
this.cell_v_14,
this.cell_v_15,
this.cell_v_16});
this.gvBmsHistory.GridControl = this.gcBmsHistory;
this.gvBmsHistory.Name = "gvBmsHistory";
this.gvBmsHistory.OptionsView.ColumnAutoWidth = false;
this.gvBmsHistory.OptionsView.ShowGroupPanel = false;
this.gvBmsHistory.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(this.gvBmsHistory_CustomColumnDisplayText);
//
// gcHistDateTime
//
this.gcHistDateTime.AppearanceHeader.Options.UseTextOptions = true;
this.gcHistDateTime.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcHistDateTime.Caption = "DateTime";
this.gcHistDateTime.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss";
this.gcHistDateTime.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime;
this.gcHistDateTime.FieldName = "datetime";
this.gcHistDateTime.Name = "gcHistDateTime";
this.gcHistDateTime.Visible = true;
this.gcHistDateTime.VisibleIndex = 1;
//
// gcStatus
//
this.gcStatus.AppearanceCell.Options.UseTextOptions = true;
this.gcStatus.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcStatus.AppearanceHeader.Options.UseTextOptions = true;
this.gcStatus.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcStatus.Caption = "Status";
this.gcStatus.FieldName = "status";
this.gcStatus.Name = "gcStatus";
this.gcStatus.Visible = true;
this.gcStatus.VisibleIndex = 2;
//
// gcWarning
//
this.gcWarning.AppearanceCell.Options.UseTextOptions = true;
this.gcWarning.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcWarning.AppearanceHeader.Options.UseTextOptions = true;
this.gcWarning.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcWarning.Caption = "Warning";
this.gcWarning.FieldName = "warning";
this.gcWarning.Name = "gcWarning";
this.gcWarning.Visible = true;
this.gcWarning.VisibleIndex = 3;
//
// gcProtect
//
this.gcProtect.AppearanceCell.Options.UseTextOptions = true;
this.gcProtect.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcProtect.AppearanceHeader.Options.UseTextOptions = true;
this.gcProtect.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcProtect.Caption = "Protect";
this.gcProtect.FieldName = "protect";
this.gcProtect.Name = "gcProtect";
this.gcProtect.Visible = true;
this.gcProtect.VisibleIndex = 4;
//
// gcError
//
this.gcError.AppearanceCell.Options.UseTextOptions = true;
this.gcError.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcError.AppearanceHeader.Options.UseTextOptions = true;
this.gcError.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcError.Caption = "Error";
this.gcError.FieldName = "error";
this.gcError.Name = "gcError";
this.gcError.Visible = true;
this.gcError.VisibleIndex = 5;
//
// gcVoltage
//
this.gcVoltage.AppearanceCell.Options.UseTextOptions = true;
this.gcVoltage.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcVoltage.AppearanceHeader.Options.UseTextOptions = true;
this.gcVoltage.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcVoltage.Caption = "Voltage";
this.gcVoltage.DisplayFormat.FormatString = "0.00";
this.gcVoltage.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.gcVoltage.FieldName = "voltage";
this.gcVoltage.Name = "gcVoltage";
this.gcVoltage.Visible = true;
this.gcVoltage.VisibleIndex = 6;
//
// gcCurrent
//
this.gcCurrent.AppearanceCell.Options.UseTextOptions = true;
this.gcCurrent.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcCurrent.AppearanceHeader.Options.UseTextOptions = true;
this.gcCurrent.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcCurrent.Caption = "Current";
this.gcCurrent.DisplayFormat.FormatString = "0.00";
this.gcCurrent.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.gcCurrent.FieldName = "current";
this.gcCurrent.Name = "gcCurrent";
this.gcCurrent.Visible = true;
this.gcCurrent.VisibleIndex = 7;
//
// gcSOC
//
this.gcSOC.AppearanceCell.Options.UseTextOptions = true;
this.gcSOC.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcSOC.AppearanceHeader.Options.UseTextOptions = true;
this.gcSOC.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcSOC.Caption = "SOC";
this.gcSOC.DisplayFormat.FormatString = "0.0";
this.gcSOC.FieldName = "SOC";
this.gcSOC.Name = "gcSOC";
this.gcSOC.Visible = true;
this.gcSOC.VisibleIndex = 8;
//
// gcSOH
//
this.gcSOH.AppearanceCell.Options.UseTextOptions = true;
this.gcSOH.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcSOH.AppearanceHeader.Options.UseTextOptions = true;
this.gcSOH.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcSOH.Caption = "SOH";
this.gcSOH.DisplayFormat.FormatString = "0.0";
this.gcSOH.FieldName = "SOH";
this.gcSOH.Name = "gcSOH";
this.gcSOH.Visible = true;
this.gcSOH.VisibleIndex = 9;
//
// gcTemp1
//
this.gcTemp1.AppearanceCell.Options.UseTextOptions = true;
this.gcTemp1.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcTemp1.AppearanceHeader.Options.UseTextOptions = true;
this.gcTemp1.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcTemp1.Caption = "Temp1";
this.gcTemp1.DisplayFormat.FormatString = "0.0";
this.gcTemp1.FieldName = "temp_01";
this.gcTemp1.Name = "gcTemp1";
this.gcTemp1.Visible = true;
this.gcTemp1.VisibleIndex = 10;
//
// gcTemp2
//
this.gcTemp2.AppearanceCell.Options.UseTextOptions = true;
this.gcTemp2.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcTemp2.AppearanceHeader.Options.UseTextOptions = true;
this.gcTemp2.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcTemp2.Caption = "Temp2";
this.gcTemp2.DisplayFormat.FormatString = "0.0";
this.gcTemp2.FieldName = "temp_02";
this.gcTemp2.Name = "gcTemp2";
this.gcTemp2.Visible = true;
this.gcTemp2.VisibleIndex = 11;
//
// gcTemp3
//
this.gcTemp3.AppearanceCell.Options.UseTextOptions = true;
this.gcTemp3.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcTemp3.AppearanceHeader.Options.UseTextOptions = true;
this.gcTemp3.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcTemp3.Caption = "Temp3";
this.gcTemp3.DisplayFormat.FormatString = "0.0";
this.gcTemp3.FieldName = "temp_03";
this.gcTemp3.Name = "gcTemp3";
this.gcTemp3.Visible = true;
this.gcTemp3.VisibleIndex = 12;
//
// gcTemp4
//
this.gcTemp4.AppearanceCell.Options.UseTextOptions = true;
this.gcTemp4.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcTemp4.AppearanceHeader.Options.UseTextOptions = true;
this.gcTemp4.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcTemp4.Caption = "Temp4";
this.gcTemp4.DisplayFormat.FormatString = "0.0";
this.gcTemp4.FieldName = "temp_04";
this.gcTemp4.Name = "gcTemp4";
this.gcTemp4.Visible = true;
this.gcTemp4.VisibleIndex = 13;
//
// gcTemp5
//
this.gcTemp5.AppearanceCell.Options.UseTextOptions = true;
this.gcTemp5.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcTemp5.AppearanceHeader.Options.UseTextOptions = true;
this.gcTemp5.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcTemp5.Caption = "Temp5";
this.gcTemp5.DisplayFormat.FormatString = "0.0";
this.gcTemp5.FieldName = "temp_05";
this.gcTemp5.Name = "gcTemp5";
this.gcTemp5.Visible = true;
this.gcTemp5.VisibleIndex = 14;
//
// gcTemp6
//
this.gcTemp6.AppearanceCell.Options.UseTextOptions = true;
this.gcTemp6.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.gcTemp6.AppearanceHeader.Options.UseTextOptions = true;
this.gcTemp6.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcTemp6.Caption = "Temp6";
this.gcTemp6.DisplayFormat.FormatString = "0.0";
this.gcTemp6.FieldName = "temp_06";
this.gcTemp6.Name = "gcTemp6";
this.gcTemp6.Visible = true;
this.gcTemp6.VisibleIndex = 15;
//
// cell_v_1
//
this.cell_v_1.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_1.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_1.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_1.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_1.Caption = "cell_v_1";
this.cell_v_1.DisplayFormat.FormatString = "0.000";
this.cell_v_1.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_1.FieldName = "cell_v_01";
this.cell_v_1.Name = "cell_v_1";
this.cell_v_1.Visible = true;
this.cell_v_1.VisibleIndex = 16;
//
// cell_v_2
//
this.cell_v_2.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_2.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_2.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_2.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_2.Caption = "cell_v_2";
this.cell_v_2.DisplayFormat.FormatString = "0.000";
this.cell_v_2.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_2.FieldName = "cell_v_02";
this.cell_v_2.Name = "cell_v_2";
this.cell_v_2.Visible = true;
this.cell_v_2.VisibleIndex = 17;
//
// cell_v_3
//
this.cell_v_3.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_3.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_3.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_3.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_3.Caption = "cell_v_3";
this.cell_v_3.DisplayFormat.FormatString = "0.000";
this.cell_v_3.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_3.FieldName = "cell_v_03";
this.cell_v_3.Name = "cell_v_3";
this.cell_v_3.Visible = true;
this.cell_v_3.VisibleIndex = 18;
//
// cell_v_4
//
this.cell_v_4.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_4.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_4.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_4.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_4.Caption = "cell_v_4";
this.cell_v_4.DisplayFormat.FormatString = "0.000";
this.cell_v_4.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_4.FieldName = "cell_v_04";
this.cell_v_4.Name = "cell_v_4";
this.cell_v_4.Visible = true;
this.cell_v_4.VisibleIndex = 19;
//
// cell_v_5
//
this.cell_v_5.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_5.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_5.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_5.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_5.Caption = "cell_v_5";
this.cell_v_5.DisplayFormat.FormatString = "0.000";
this.cell_v_5.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_5.FieldName = "cell_v_05";
this.cell_v_5.Name = "cell_v_5";
this.cell_v_5.Visible = true;
this.cell_v_5.VisibleIndex = 20;
//
// cell_v_6
//
this.cell_v_6.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_6.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_6.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_6.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_6.Caption = "cell_v_6";
this.cell_v_6.DisplayFormat.FormatString = "0.000";
this.cell_v_6.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_6.FieldName = "cell_v_06";
this.cell_v_6.Name = "cell_v_6";
this.cell_v_6.Visible = true;
this.cell_v_6.VisibleIndex = 21;
//
// cell_v_7
//
this.cell_v_7.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_7.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_7.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_7.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_7.Caption = "cell_v_7";
this.cell_v_7.DisplayFormat.FormatString = "0.000";
this.cell_v_7.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_7.FieldName = "cell_v_07";
this.cell_v_7.Name = "cell_v_7";
this.cell_v_7.Visible = true;
this.cell_v_7.VisibleIndex = 22;
//
// cell_v_8
//
this.cell_v_8.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_8.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_8.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_8.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_8.Caption = "cell_v_8";
this.cell_v_8.DisplayFormat.FormatString = "0.000";
this.cell_v_8.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_8.FieldName = "cell_v_08";
this.cell_v_8.Name = "cell_v_8";
this.cell_v_8.Visible = true;
this.cell_v_8.VisibleIndex = 23;
//
// cell_v_9
//
this.cell_v_9.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_9.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_9.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_9.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_9.Caption = "cell_v_9";
this.cell_v_9.DisplayFormat.FormatString = "0.000";
this.cell_v_9.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_9.FieldName = "cell_v_09";
this.cell_v_9.Name = "cell_v_9";
this.cell_v_9.Visible = true;
this.cell_v_9.VisibleIndex = 24;
//
// cell_v_10
//
this.cell_v_10.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_10.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_10.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_10.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_10.Caption = "cell_v_10";
this.cell_v_10.DisplayFormat.FormatString = "0.000";
this.cell_v_10.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_10.FieldName = "cell_v_10";
this.cell_v_10.Name = "cell_v_10";
this.cell_v_10.Visible = true;
this.cell_v_10.VisibleIndex = 25;
//
// cell_v_11
//
this.cell_v_11.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_11.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_11.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_11.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_11.Caption = "cell_v_11";
this.cell_v_11.DisplayFormat.FormatString = "0.000";
this.cell_v_11.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_11.FieldName = "cell_v_11";
this.cell_v_11.Name = "cell_v_11";
this.cell_v_11.Visible = true;
this.cell_v_11.VisibleIndex = 26;
//
// cell_v_12
//
this.cell_v_12.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_12.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_12.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_12.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_12.Caption = "cell_v_12";
this.cell_v_12.DisplayFormat.FormatString = "0.000";
this.cell_v_12.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_12.FieldName = "cell_v_12";
this.cell_v_12.Name = "cell_v_12";
this.cell_v_12.Visible = true;
this.cell_v_12.VisibleIndex = 27;
//
// cell_v_13
//
this.cell_v_13.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_13.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_13.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_13.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_13.Caption = "cell_v_13";
this.cell_v_13.DisplayFormat.FormatString = "0.000";
this.cell_v_13.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_13.FieldName = "cell_v_13";
this.cell_v_13.Name = "cell_v_13";
this.cell_v_13.Visible = true;
this.cell_v_13.VisibleIndex = 28;
//
// cell_v_14
//
this.cell_v_14.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_14.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_14.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_14.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_14.Caption = "cell_v_14";
this.cell_v_14.DisplayFormat.FormatString = "0.000";
this.cell_v_14.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_14.FieldName = "cell_v_14";
this.cell_v_14.Name = "cell_v_14";
this.cell_v_14.Visible = true;
this.cell_v_14.VisibleIndex = 29;
//
// cell_v_15
//
this.cell_v_15.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_15.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_15.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_15.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_15.Caption = "cell_v_15";
this.cell_v_15.DisplayFormat.FormatString = "0.000";
this.cell_v_15.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_15.FieldName = "cell_v_15";
this.cell_v_15.Name = "cell_v_15";
this.cell_v_15.Visible = true;
this.cell_v_15.VisibleIndex = 30;
//
// cell_v_16
//
this.cell_v_16.AppearanceCell.Options.UseTextOptions = true;
this.cell_v_16.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.cell_v_16.AppearanceHeader.Options.UseTextOptions = true;
this.cell_v_16.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.cell_v_16.Caption = "cell_v_16";
this.cell_v_16.DisplayFormat.FormatString = "0.000";
this.cell_v_16.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.cell_v_16.FieldName = "cell_v_16";
this.cell_v_16.Name = "cell_v_16";
this.cell_v_16.Visible = true;
this.cell_v_16.VisibleIndex = 31;
//
// layoutControlGroup2
//
this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup2.GroupBordersVisible = false;
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlGroup3,
this.layoutControlGroup4});
this.layoutControlGroup2.Name = "Root";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup2.Size = new System.Drawing.Size(903, 526);
this.layoutControlGroup2.TextVisible = false;
//
// layoutControlGroup3
//
this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.emptySpaceItem1,
this.layoutControlItem5});
this.layoutControlGroup3.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup3.Name = "layoutControlGroup3";
this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup3.Size = new System.Drawing.Size(899, 64);
this.layoutControlGroup3.Text = "Command";
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 0);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(773, 35);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.btnBmsHistoryReq;
this.layoutControlItem5.Location = new System.Drawing.Point(773, 0);
this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(118, 35);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// layoutControlGroup4
//
this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem4,
this.layoutControlItem6,
this.emptySpaceItem2});
this.layoutControlGroup4.Location = new System.Drawing.Point(0, 64);
this.layoutControlGroup4.Name = "layoutControlGroup4";
this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup4.Size = new System.Drawing.Size(899, 458);
this.layoutControlGroup4.Text = "Result";
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.gcBmsHistory;
this.layoutControlItem4.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem4.MinSize = new System.Drawing.Size(104, 24);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(891, 392);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.btnExportExcel;
this.layoutControlItem6.Location = new System.Drawing.Point(774, 392);
this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(117, 37);
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, 392);
this.emptySpaceItem2.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(774, 37);
this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(3, 559);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(905, 40);
this.btnClose.StyleController = this.layoutControl1;
this.btnClose.TabIndex = 5;
this.btnClose.Text = "Close";
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// 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.layoutControlItem3});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(911, 602);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.btnClose;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 556);
this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(909, 44);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.tabHistory;
this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(909, 556);
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// gcNo
//
this.gcNo.AppearanceCell.Options.UseTextOptions = true;
this.gcNo.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcNo.AppearanceHeader.Options.UseTextOptions = true;
this.gcNo.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.gcNo.Caption = "No";
this.gcNo.DisplayFormat.FormatString = "0";
this.gcNo.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
this.gcNo.FieldName = "no";
this.gcNo.Name = "gcNo";
this.gcNo.Visible = true;
this.gcNo.VisibleIndex = 0;
//
// fmxHistory
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(911, 602);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Image = ((System.Drawing.Image)(resources.GetObject("fmxHistory.IconOptions.Image")));
this.Name = "fmxHistory";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "History";
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.tabHistory)).EndInit();
this.tabHistory.ResumeLayout(false);
this.pgGuiHistory.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
this.pgBmsHistory.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit();
this.layoutControl3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gcBmsHistory)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gvBmsHistory)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private Controls.ucHistroy ucHistroy1;
private DevExpress.XtraEditors.SimpleButton btnClose;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraTab.XtraTabControl tabHistory;
private DevExpress.XtraTab.XtraTabPage pgGuiHistory;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraTab.XtraTabPage pgBmsHistory;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControl layoutControl3;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraGrid.GridControl gcBmsHistory;
private DevExpress.XtraGrid.Views.Grid.GridView gvBmsHistory;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraEditors.SimpleButton btnBmsHistoryReq;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
private DevExpress.XtraGrid.Columns.GridColumn gcHistDateTime;
private DevExpress.XtraGrid.Columns.GridColumn gcStatus;
private DevExpress.XtraGrid.Columns.GridColumn gcWarning;
private DevExpress.XtraGrid.Columns.GridColumn gcProtect;
private DevExpress.XtraGrid.Columns.GridColumn gcError;
private DevExpress.XtraGrid.Columns.GridColumn gcVoltage;
private DevExpress.XtraGrid.Columns.GridColumn gcCurrent;
private DevExpress.XtraGrid.Columns.GridColumn gcSOC;
private DevExpress.XtraGrid.Columns.GridColumn gcSOH;
private DevExpress.XtraGrid.Columns.GridColumn gcTemp1;
private DevExpress.XtraGrid.Columns.GridColumn gcTemp2;
private DevExpress.XtraGrid.Columns.GridColumn gcTemp3;
private DevExpress.XtraGrid.Columns.GridColumn gcTemp4;
private DevExpress.XtraGrid.Columns.GridColumn gcTemp5;
private DevExpress.XtraGrid.Columns.GridColumn gcTemp6;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_1;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_2;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_3;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_4;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_5;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_6;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_7;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_8;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_9;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_10;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_11;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_12;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_13;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_14;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_15;
private DevExpress.XtraGrid.Columns.GridColumn cell_v_16;
private DevExpress.XtraEditors.SimpleButton btnExportExcel;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private DevExpress.XtraGrid.Columns.GridColumn gcNo;
}
}

View File

@@ -0,0 +1,348 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using static LFP_Manager.Forms.fmxParamConfig;
using LFP_Manager.Function;
using DevExpress.Pdf.Native;
using DevExpress.XtraGrid.Columns;
namespace LFP_Manager.Forms
{
public partial class fmxHistory : DevExpress.XtraEditors.XtraForm
{
#region DELEGATE
public delegate void UpdateEvent(object sendor);
public delegate void CmdEvent(int sId, int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib);
#endregion
#region VARIABLES
private int SystemId = 0;
private byte[] rData = null;
private ushort curr_addr = 0;
private int hist_no = 0;
private bool bms_history_req = false;
private bool bms_history_stop = false;
private DataTable BmsHistoryTable = null;
private DevExpress.XtraGrid.Columns.GridColumn[] TpCol;
private DevExpress.XtraGrid.Columns.GridColumn[] CvCol;
public event AutoTxSetEnvent OnAutoTxSet = null;
public event SendDataUartEvent OnSendUartData = null;
public event UpdateEvent OnUpdate = null;
public event CmdEvent OnCommand = null;
#endregion
#region CONTRUCTORS
//public fmxHistory()
//{
// InitializeComponent();
//}
public fmxHistory(CommConfig aConfig, int systemId)
{
InitializeComponent();
CreateColomnInGridView();
ucHistroy1.SetCommCofig(aConfig);
SystemId = systemId;
CreateHistoryColomn(ref BmsHistoryTable);
}
#endregion
#region INITIALIZE COMPONENT
private void CreateColomnInGridView()
{
//TpCol = new DevExpress.XtraGrid.Columns.GridColumn[6];
//for (int i = 0; i < TpCol.Length; i++)
//{
// TpCol[i] = new DevExpress.XtraGrid.Columns.GridColumn();
// TpCol[i].Name = string.Format("gcTemp_{0:00}", i + 1);
// TpCol[i].Caption = string.Format("gcTemp_{0:00}", i + 1);
// TpCol[i].FieldName = string.Format("temp_{0:00}", i + 1);
// TpCol[i].DisplayFormat.FormatString = "0.0";
// gvBmsHistory.Columns.Add(TpCol[i]);
//}
//CvCol = new DevExpress.XtraGrid.Columns.GridColumn[16];
//for (int i = 0; i < CvCol.Length; i++)
//{
// CvCol[i] = new DevExpress.XtraGrid.Columns.GridColumn();
// CvCol[i].FieldName = string.Format("cell_v_{0:00}", i + 1);
// CvCol[i].DisplayFormat.FormatString = "0.000";
// gvBmsHistory.Columns.Add(CvCol[i]);
//}
}
private void CreateHistoryColomn(ref DataTable hDT)
{
hDT = new DataTable();
hDT.Columns.Add("no", typeof(int));
hDT.Columns.Add("datetime", typeof(string));
hDT.Columns.Add("status", typeof(int));
hDT.Columns.Add("warning", typeof(short));
hDT.Columns.Add("protect", typeof(short));
hDT.Columns.Add("error", typeof(short));
hDT.Columns.Add("voltage", typeof(float));
hDT.Columns.Add("current", typeof(float));
hDT.Columns.Add("SOC", typeof(float));
hDT.Columns.Add("SOH", typeof(float));
for (int i = 0; i < 6; i++)
{
hDT.Columns.Add(string.Format("temp_{0:00}", i + 1), typeof(float));
}
for (int i = 0; i < 16; i++)
{
hDT.Columns.Add(string.Format("cell_v_{0:00}", i + 1), typeof(float));
}
gcBmsHistory.DataSource = hDT;
}
#endregion
#region PUBLIC FUNCTIONS
private short[] ByteArrTo2Short(byte[] bytes)
{
short[] result = null;
if (bytes != null)
{
int len = bytes[2];
result = new short[len / 2];
for (int i = 0; i < result.Length; i++)
{
result[i] = (short)((bytes[3 + (i * 2) + 0] << 8) + bytes[3 + (i * 2) + 1]);
}
}
return result;
}
public void RecvUardData(byte[] data)
{
if (bms_history_req == false || data == null) return;
// BMS History response packet: Addr(1) + Func(1) + ByteCount(1 = 58) + Data(58) + CRC(2) = 63 bytes
if (data.Length >= 63 && data[1] == 0x03 && data[2] == 58)
{
try
{
rData = data;
DataRow hRow = BmsHistoryTable.NewRow();
short[] shorts = ByteArrTo2Short(data);
int pos = 0;
int yy, MM, dd, HH, mm, ss;
Int32 iDateTime = (rData[3 + 2] << 24) | (rData[3 + 3] << 16) | (rData[3 + 0] << 8) | (rData[3 + 1] << 0);
//Int32 iDateTime = (Int32)((shorts[pos + 1] << 16) | (shorts[pos + 0] << 0));
yy = (iDateTime >> 26) & 0x003F;
MM = (iDateTime >> 22) & 0x000F;
dd = (iDateTime >> 17) & 0x001F;
HH = (iDateTime >> 12) & 0x001F;
mm = (iDateTime >> 6) & 0x003F;
ss = (iDateTime >> 0) & 0x003F;
hRow["no"] = hist_no;
string stDateTime = string.Format("20{0:00}-{1:00}-{2:00} {3:00}:{4:00}:{5:00}"
, yy
, MM
, dd
, HH
, mm
, ss
);
if (DateTime.TryParse(stDateTime, out DateTime aDateTime))
{
stDateTime = aDateTime.ToString("yyyy-MM-dd HH:mm:ss");
}
hRow["datetime"] = stDateTime;
pos = 2;
hRow["status"] = shorts[pos++];
hRow["warning"] = shorts[pos++];
hRow["protect"] = shorts[pos++];
hRow["error"] = shorts[pos++];
hRow["voltage"] = string.Format("{0:0.00}", Convert.ToDouble(shorts[pos++]) / 100);
hRow["current"] = string.Format("{0:0.00}", Convert.ToDouble(shorts[pos++]) / 100);
hRow["SOC"] = string.Format("{0:0.0}", Convert.ToDouble(shorts[pos++]) / 1);
// Temperature
for (int i = 0; i < 3; i++)
{
hRow[string.Format("temp_{0:00}", (i * 2) + 1)] = Convert.ToDouble((byte)(shorts[pos] >> 8));
hRow[string.Format("temp_{0:00}", (i * 2) + 2)] = Convert.ToDouble((byte)(shorts[pos++] >> 0));
}
// Cell Voltage
for (int i = 0; i < 16; i++)
{
hRow[string.Format("cell_v_{0:00}", i + 1)] = Convert.ToDouble(shorts[pos++]) / 1000;
}
hRow["SOH"] = string.Format("{0:0.0}", Convert.ToDouble(shorts[pos++]) / 1);
BmsHistoryTable.Rows.Add(hRow);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
gvBmsHistory.BestFitColumns();
gvBmsHistory.ClearSelection();
if (bms_history_stop == false)
{
hist_no++;
curr_addr += 0x20;
RequestHistoryData(curr_addr);
}
}
}
#endregion
#region BUTTON EVENT
private void btnClose_Click(object sender, EventArgs e)
{
if (bms_history_req)
{
bms_history_req = false;
bms_history_stop = true;
OnAutoTxSet?.Invoke(true);
}
Close();
}
#endregion
private void btnBmsHistoryReq_Click(object sender, EventArgs e)
{
if (bms_history_req == false)
{
OnAutoTxSet?.Invoke(false);
bms_history_req = true;
bms_history_stop = false;
btnBmsHistoryReq.Text = "Stop";
BmsHistoryTable.Rows.Clear();
hist_no = 1;
curr_addr = 0x0200;
RequestHistoryData(curr_addr);
}
else
{
bms_history_req = false;
bms_history_stop = true;
OnAutoTxSet?.Invoke(true);
btnBmsHistoryReq.Text = "Request";
}
}
private void RequestHistoryData(ushort haddr)
{
byte[] crc;
ushort addr = haddr;
// Normal mode --> Bootloader mode
byte[] sdata = new byte[8];
sdata[0] = (byte)SystemId; // Dev Address
sdata[1] = 0x03; // Function Code
sdata[2] = (byte)(addr >> 8); // Address H
sdata[3] = (byte)(addr >> 0); // Address L
sdata[4] = 0x00; // Number of Register H
sdata[5] = 0x1D; // Number of Register L
crc = csSerialCommFunction.GetCRC(sdata, 6);
sdata[6] = crc[1]; // CRCH
sdata[7] = crc[0]; // CRCL
OnSendUartData?.Invoke(addr, sdata, false);
}
private void gvBmsHistory_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
if (e.Value == null || e.Value == DBNull.Value) return;
if (e.Column.FieldName == "status")
{
int status = Convert.ToInt32(e.Value);
switch ((ushort)status)
{
case 0x0000: e.DisplayText = "STANDBY (0x0000)"; break;
case 0x0001: e.DisplayText = "CHARGING (0x0001)"; break;
case 0x0002: e.DisplayText = "DISCHARGING (0x0002)"; break;
case 0x0003: e.DisplayText = "FLOATING (0x0003)"; break;
case 0x0004: e.DisplayText = "TRIP (0x0004)"; break;
case 0x0008: e.DisplayText = "CHG-LIMIT (0x0008)"; break;
case 0x0032: e.DisplayText = "POWER-ON (0x0032)"; break;
case 0x8000: e.DisplayText = "STANDBY-HEAT (0x8000)"; break;
case 0x8001: e.DisplayText = "CHARGING-HEAT (0x8001)"; break;
case 0x8002: e.DisplayText = "DISCHARGING-HEAT (0x8002)"; break;
case 0x8004: e.DisplayText = "TRIP-HEAT (0x8004)"; break;
case 0x8008: e.DisplayText = "CHG-LIMIT-HEAT (0x8008)"; break;
default: e.DisplayText = string.Format("UNKNOWN (0x{0:X4})", status); break;
}
}
else if (e.Column.FieldName == "warning" || e.Column.FieldName == "protect" || e.Column.FieldName == "fault" || e.Column.FieldName == "error")
{
if (short.TryParse(e.Value.ToString(), out short val))
{
e.DisplayText = string.Format("0x{0:X4}", (ushort)val);
}
}
}
private void btnExportExcel_Click(object sender, EventArgs e)
{
SaveFileDialog sDialog = new SaveFileDialog();
sDialog.Title = "Select save file";
sDialog.DefaultExt = "xlsx";
sDialog.Filter = "Excel files 2003 (*.xls)|*.xls|All files (*.*)|*.*";
if (sDialog.ShowDialog() == DialogResult.OK)
{
string filename = sDialog.FileName;
try
{
csExcelExport.ExportToExcelExt(BmsHistoryTable, filename);
MessageBox.Show("Complete Export Excel File", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
}

View File

@@ -0,0 +1,148 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="fmxHistory.IconOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAABMxJREFUWEflVWtsFVUQPrdtSvilMRIVY8T4h1/aoDGKqIWCIBXR+IgaAmriD/CR
SIyVYjSSPmhLrVVTBa6tQNGIBSqYCEEera34KCqFEmgLNa34qPRaeqHv23G+2Z3tXrp3u/iHGCeZnN09
M2e++WbOrKFLLP8dACMjI87qp2oTVAIBcB8Y8zncvRcUxEUxoIdGon3UdbbX0TPdvdR9vl/23HZBZFwA
euDQcEzedze00aSF79Ckx9+nKx8rc3Tyo2V0+GSn2AyzbVAgvgD0gFgsRsOsfQNDNPXZCjLpq8nc9xaZ
ucWW4vmuPJqZ9Rm8xDZIcEggBjT7VR8fJHNnLiUveNsKOr/EUn5Ovp+/MYhNe5vEFj5BWEgIQJ1BJ5qr
5dcITcwsoZBmzIFDeBcA9jq7iK554gOK9PQJC8KEfVYiGbcEmv0Db1aTuTufkjKt7CXgvWu4BKw2C0lg
YUYevbTugPgM2iz4iScAzX5waFjePz/YSmZWgUWzBuJSLF+7nx7J3SlB5Rv2GMwEXrUhxyvFGABqiMaD
87neAbrxqTCF5hRx9hbVoTlr6CrufDRly+kIpc4rpiQO6oCbWUDpWVvsJPxZGAsAyg5KffZHdXGNJ+s9
+bRhz1HZh7xa8bU0oGMDEPxeufeY7PuxEAdAjfQeH2/vsrJj9coOB6PRengITVmyXpjRxgzZDfk3Dy3Y
gFGN4RbPEgAAZP7r26zGc+rL2fEt+Kn1TweA9smWmuNim8pDCgxgxfsKZgeiLFwoDgBs6qGQ7fUtdtcn
6HAOjMxgj17AikFk0t7gkuWRmZ5L5o4cMrfnUE1jB9uOMusGIgD0g0w8NoqeH6Api9eTySi06LQpvW7R
Ojp7rl8Cs5P4uAX/hWwGmF1RJ5mv3FBHr5Tto+pvWmXfi4U4BpTOrPLa+KuFldn4lGmGACSGTUPzH7Tn
0C9UsfsIlWxtoPCXjfTF96dox7etcnWhO787SZ981UT1TactXwbvZsHoi9JztO0vuceotwTH4OGun51d
JVmrHcB2MxsdnT104HA7vcYZX79orVUCph2ApRQzuBTTc+jyh96l385ExzQkA7AecDAkY0UVB1w9mj0r
bsKRtk4ZyQrAS/C9fFcjXc1/RsNzI3VhKaXwORMetBpycfEusXOXgksw2nib9x3j+5vvTDy511wK3HMI
slZHrKrICnua2YmOCE19+kOrh7SJsc4qpP0/t4uNgjB4wAGo6bVPMoUZRaONx1ncsCRMUZ6GsIFCFARE
QejzwOCQPDfzz+syvopJ87SUDCC9gG5etpFt+AZxXAA2vf2Ww3LuXtTMoR4OXPtt9c2yr9m7g7tF9uy1
3wZRWv3j2Gbm95Lth2Qf11duQeOpTmm8FM4agVMWlErN5q7cKoZe18dL1AaZwQd609KNMj1RTpydzP10
xcPv0e9dUbbjEuBeT3u+0upcrhmMETyFJ96Jjq64xgsKAmqBJqrlISQ3gumXs3memNtWUSZPWYjJCtdS
2nObaNoLlQLk1hc3Uxo3UGHVD2Lg1/V+Ah/tmZfDNZT2TLmcjRi3sCLmDvzmUYdEguw1+MWAcPv4+aH/
nFGMYKryzvVR8TskkaiPnuUVA+JMQi+F6Ppv5MLzvNT5F1wq+b8DIPoHjJf5qaq9hPwAAAAASUVORK5C
YII=
</value>
</data>
</root>

View File

@@ -0,0 +1,398 @@
namespace LFP_Manager.Forms
{
partial class fmxInventoryConfig
{
/// <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 Windows Form 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();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxInventoryConfig));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.btnInvWrite = new DevExpress.XtraEditors.SimpleButton();
this.gbSerialNo = new DevExpress.XtraEditors.GroupControl();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.nSerialNo = new DevExpress.XtraEditors.TextEdit();
this.lbSerialNo = new DevExpress.XtraEditors.LabelControl();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.gbMDate = new DevExpress.XtraEditors.GroupControl();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
this.lbMDate = new DevExpress.XtraEditors.LabelControl();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.tmrDisplay = new System.Windows.Forms.Timer(this.components);
this.tmrCmd = new System.Windows.Forms.Timer(this.components);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gbSerialNo)).BeginInit();
this.gbSerialNo.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nSerialNo.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbMDate)).BeginInit();
this.gbMDate.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit();
this.layoutControl3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnClose);
this.layoutControl1.Controls.Add(this.btnInvWrite);
this.layoutControl1.Controls.Add(this.gbSerialNo);
this.layoutControl1.Controls.Add(this.gbMDate);
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(999, 164, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(720, 425);
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(362, 373);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(354, 48);
this.btnClose.StyleController = this.layoutControl1;
this.btnClose.TabIndex = 7;
this.btnClose.Text = "Close";
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// btnInvWrite
//
this.btnInvWrite.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnInvWrite.Appearance.Options.UseFont = true;
this.btnInvWrite.Location = new System.Drawing.Point(4, 373);
this.btnInvWrite.Name = "btnInvWrite";
this.btnInvWrite.Size = new System.Drawing.Size(354, 48);
this.btnInvWrite.StyleController = this.layoutControl1;
this.btnInvWrite.TabIndex = 6;
this.btnInvWrite.Text = "Apply";
this.btnInvWrite.Click += new System.EventHandler(this.btnInvWrite_Click);
//
// gbSerialNo
//
this.gbSerialNo.Controls.Add(this.layoutControl2);
this.gbSerialNo.Location = new System.Drawing.Point(4, 139);
this.gbSerialNo.Name = "gbSerialNo";
this.gbSerialNo.Size = new System.Drawing.Size(712, 200);
this.gbSerialNo.TabIndex = 5;
this.gbSerialNo.Text = "Serial Number";
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.nSerialNo);
this.layoutControl2.Controls.Add(this.lbSerialNo);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.Location = new System.Drawing.Point(2, 23);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(993, 64, 650, 400);
this.layoutControl2.Root = this.layoutControlGroup1;
this.layoutControl2.Size = new System.Drawing.Size(708, 175);
this.layoutControl2.TabIndex = 0;
this.layoutControl2.Text = "layoutControl2";
//
// nSerialNo
//
this.nSerialNo.Location = new System.Drawing.Point(7, 105);
this.nSerialNo.Name = "nSerialNo";
this.nSerialNo.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.nSerialNo.Properties.Appearance.Options.UseFont = true;
this.nSerialNo.Properties.Appearance.Options.UseTextOptions = true;
this.nSerialNo.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.nSerialNo.Size = new System.Drawing.Size(694, 64);
this.nSerialNo.StyleController = this.layoutControl2;
this.nSerialNo.TabIndex = 5;
//
// lbSerialNo
//
this.lbSerialNo.Appearance.Font = new System.Drawing.Font("Tahoma", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbSerialNo.Appearance.Options.UseFont = true;
this.lbSerialNo.Location = new System.Drawing.Point(7, 7);
this.lbSerialNo.Name = "lbSerialNo";
this.lbSerialNo.Size = new System.Drawing.Size(694, 94);
this.lbSerialNo.StyleController = this.layoutControl2;
this.lbSerialNo.TabIndex = 4;
this.lbSerialNo.Text = "Serial No:";
//
// 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.layoutControlItem3,
this.layoutControlItem4});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
this.layoutControlGroup1.Size = new System.Drawing.Size(708, 175);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.lbSerialNo;
this.layoutControlItem3.CustomizationFormText = "layoutControlItem3";
this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem3.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(698, 98);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.nSerialNo;
this.layoutControlItem4.CustomizationFormText = "layoutControlItem4";
this.layoutControlItem4.Location = new System.Drawing.Point(0, 98);
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 67);
this.layoutControlItem4.MinSize = new System.Drawing.Size(171, 67);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(698, 67);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// gbMDate
//
this.gbMDate.Controls.Add(this.layoutControl3);
this.gbMDate.Location = new System.Drawing.Point(4, 4);
this.gbMDate.Name = "gbMDate";
this.gbMDate.Size = new System.Drawing.Size(712, 131);
this.gbMDate.TabIndex = 4;
this.gbMDate.Text = "Manufacture Date";
//
// layoutControl3
//
this.layoutControl3.Controls.Add(this.lbMDate);
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(993, 0, 650, 400);
this.layoutControl3.Root = this.layoutControlGroup2;
this.layoutControl3.Size = new System.Drawing.Size(708, 106);
this.layoutControl3.TabIndex = 0;
this.layoutControl3.Text = "layoutControl3";
//
// lbMDate
//
this.lbMDate.Appearance.Font = new System.Drawing.Font("Tahoma", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbMDate.Appearance.Options.UseFont = true;
this.lbMDate.Location = new System.Drawing.Point(7, 7);
this.lbMDate.Name = "lbMDate";
this.lbMDate.Size = new System.Drawing.Size(694, 92);
this.lbMDate.StyleController = this.layoutControl3;
this.lbMDate.TabIndex = 6;
this.lbMDate.Text = "Manufacture Date:";
//
// layoutControlGroup2
//
this.layoutControlGroup2.CustomizationFormText = "Root";
this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup2.GroupBordersVisible = false;
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem9});
this.layoutControlGroup2.Name = "Root";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5);
this.layoutControlGroup2.Size = new System.Drawing.Size(708, 106);
this.layoutControlGroup2.TextVisible = false;
//
// layoutControlItem9
//
this.layoutControlItem9.Control = this.lbMDate;
this.layoutControlItem9.CustomizationFormText = "layoutControlItem9";
this.layoutControlItem9.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem9.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem9.Name = "layoutControlItem9";
this.layoutControlItem9.Size = new System.Drawing.Size(698, 96);
this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem9.TextVisible = false;
//
// Root
//
this.Root.CustomizationFormText = "Root";
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1,
this.layoutControlItem2,
this.layoutControlItem5,
this.layoutControlItem6,
this.emptySpaceItem1});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.Root.Size = new System.Drawing.Size(720, 425);
this.Root.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.gbMDate;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(716, 135);
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.gbSerialNo;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(0, 135);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(716, 204);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.btnInvWrite;
this.layoutControlItem5.CustomizationFormText = "layoutControlItem5";
this.layoutControlItem5.Location = new System.Drawing.Point(0, 369);
this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(358, 52);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.btnClose;
this.layoutControlItem6.CustomizationFormText = "layoutControlItem6";
this.layoutControlItem6.Location = new System.Drawing.Point(358, 369);
this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(358, 52);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 339);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(716, 30);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// tmrDisplay
//
this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick);
//
// tmrCmd
//
this.tmrCmd.Interval = 500;
this.tmrCmd.Tick += new System.EventHandler(this.tmrCmd_Tick);
//
// fmxInventoryConfig
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(720, 425);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxInventoryConfig.IconOptions.Icon")));
this.Name = "fmxInventoryConfig";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Inventory Config";
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gbSerialNo)).EndInit();
this.gbSerialNo.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit();
this.layoutControl2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.nSerialNo.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbMDate)).EndInit();
this.gbMDate.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit();
this.layoutControl3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).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 gbMDate;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraEditors.GroupControl gbSerialNo;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.TextEdit nSerialNo;
private DevExpress.XtraEditors.LabelControl lbSerialNo;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraEditors.SimpleButton btnClose;
private DevExpress.XtraEditors.SimpleButton btnInvWrite;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private System.Windows.Forms.Timer tmrDisplay;
private DevExpress.XtraLayout.LayoutControl layoutControl3;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraEditors.LabelControl lbMDate;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
private System.Windows.Forms.Timer tmrCmd;
}
}

View File

@@ -0,0 +1,371 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Controls;
using LFP_Manager.Utils;
namespace LFP_Manager.Forms
{
public delegate void InvDataUpdateEvent(object sendor);
public delegate void InvDateCmdEvent(int sId, int mode, int index, int flag, ref DeviceInforation wData);
public delegate void InvDateCmdEventBySnmp(int mode, string wData);
public partial class fmxInventoryConfig : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
int SystemId = 0;
int CmdResult = 0;
CommConfig Config;
DeviceSystemData SystemData;
DeviceSystemTotalData SystemTotalData;
DeviceInforation wInvData;
public event InvDataUpdateEvent OnUpdate = null;
public event InvDateCmdEvent OnCommand = null;
public event InvDateCmdEventBySnmp OnCommandBySnmp = null;
#endregion
public fmxInventoryConfig()
{
InitializeComponent();
}
public fmxInventoryConfig(int sId, ref CommConfig aConfig, ref DeviceSystemData aSystemData)
{
InitializeComponent();
SystemId = sId;
SystemData = aSystemData;
Config = aConfig;
tmrDisplay.Enabled = true;
tmrCmd.Enabled = true;
}
void InitData()
{
wInvData = new DeviceInforation
{
BMS_SN = new byte[16],
Module_SN = new byte[24]
}; //22.06.30 Byul 32->16, 32->24
}
#region DISPLAY DATA
private void DisplayValue()
{
}
private void DisplayInvDataByCAN()
{
// Manufacture Date
lbMDate.Text = String.Format("Manufacture Date: {0} ({0:X8})", SystemData.Information.ManufactureDate)
+ "\r\n"
+ DisplayManufactureDate(SystemData.Information.ManufactureDate)
;
// Device Address%
string strSerial = Encoding.UTF8.GetString(SystemData.Information.BMS_SN);
lbSerialNo.Text = String.Format("Serial No: {0}", strSerial);
}
private void DisplayInvDataBySNMP()
{
// Manufacture Date
lbMDate.Text = String.Format("Manufacture Date: {0} ({0:X8})", SystemTotalData.IdentData.ManufactureDate)
+ "\r\n"
+ DisplayManufactureDate(SystemTotalData.IdentData.ManufactureDate)
;
// Device Address%
string strSerial = SystemTotalData.IdentData.SerialNumber;
lbSerialNo.Text = String.Format("Serial No: {0}", strSerial);
}
private string DisplayManufactureDate(UInt32 mDate)
{
DateTime dtDate = csUtils.ConvertTimeStampToDateTime(mDate);
return String.Format("{0:yyyy-MM-dd HH:mm:ss}", dtDate);
}
#endregion
#region TIMER ENVENT
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayValue();
if (OnUpdate != null)
{
OnUpdate(this);
}
}
#endregion
#region PUBLIC FUCTIONS
public void UpdateData(ref DeviceSystemTotalData aSystemTotalData, ref DeviceSystemData aSystemData)
{
SystemTotalData = aSystemTotalData;
SystemData = aSystemData;
}
public void RecvData(string result, bool error)
{
Cmd_Result(result, error);
}
public void Cmd_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
#region BUTTON EVENT
private void btnMDateRead_Click(object sender, EventArgs e)
{
OnCommand?.Invoke(SystemId, 900, 1, 0, ref wInvData);
OnCommand?.Invoke(SystemId, 901, 1, 0, ref wInvData);
OnCommand?.Invoke(SystemId, 902, 1, 0, ref wInvData);
}
private void btnWrite_Click(object sender, EventArgs e)
{
}
private void btnInvWrite_Click(object sender, EventArgs e)
{
}
private void InvWriteCmdByCAN()
{
if (nSerialNo.Text.Length != 15)
{
MessageBox.Show(String.Format("BMS serial number length error - [{0}]", nSerialNo.Text.Length)
, "Warning"
, MessageBoxButtons.OK
, MessageBoxIcon.Warning
);
}
csDbUtils.DbCreate(nSerialNo.Text, "mBMS_16S");
if (CheckBmsSerialNo(nSerialNo.Text, "mBMS_16S") == false)
{
byte[] bSN = Encoding.UTF8.GetBytes(nSerialNo.Text);
if (wInvData.BMS_SN == null) wInvData.BMS_SN = new byte[16]; //22.06.30 Byul 32->16
for (int i = 0; i < 16; i++) wInvData.BMS_SN[i] = 0;
for (int i = 0; i < bSN.Length; i++)
{
wInvData.BMS_SN[i] = bSN[i];
}
OnCommand?.Invoke(SystemId, 901, 1, 1, ref wInvData);
OnCommand?.Invoke(SystemId, 902, 1, 1, ref wInvData);
CmdMDateWrite();
CmdResult = 1;
}
else
{
MessageBox.Show(String.Format("Already used BMS serial number - [{0}]", nSerialNo.Text)
, "Warning"
, MessageBoxButtons.OK
, MessageBoxIcon.Warning
);
}
}
private void InvWriteCmdBySNMP()
{
if ((nSerialNo.Text.Length < 14) && (nSerialNo.Text.Length > 16))
{
MessageBox.Show(String.Format("BMS serial number length error - [{0}]", nSerialNo.Text.Length)
, "Warning"
, MessageBoxButtons.OK
, MessageBoxIcon.Warning
);
}
string wSN = nSerialNo.Text;
csDbUtils.DbCreate(wSN, "BMCB_J");
if (CheckBmsSerialNo(wSN, "BMCB_J") == false)
{
OnCommandBySnmp?.Invoke(5, wSN);
CmdMDateWrite();
CmdResult = 1;
}
else
{
MessageBox.Show(String.Format("Already used BMS serial number - [{0}]", nSerialNo.Text)
, "Warning"
, MessageBoxButtons.OK
, MessageBoxIcon.Warning
);
}
}
#endregion
#region PROCESSING DATA
private bool CheckBmsSerialNo(string bSN, string bName)
{
bool result = false;
DataTable dtBmsData = new DataTable();
DataTable dtBmsMatch = new DataTable();
DataTable dtErrorLog = new DataTable();
//string sql = String.Format("SELECT * FROM TInventoryData WHERE pcb_sn = {0}", bSN);
string sql = String.Format("SELECT * FROM TInventoryData");
dtBmsData = csDbUtils.GetDataTableBySelect(bSN, sql, "TInventoryData", bName);
if (dtBmsData != null)
{
if (dtBmsData.Rows.Count > 0)
{
DataRow[] arrRows = null;
arrRows = dtBmsData.Select(String.Format("pcb_sn = '{0}'", bSN));
if (arrRows.Length > 0)
result = true;
}
}
return result;
}
private void CmdMDateWrite()
{
UInt32 mTimeStamp = csUtils.CalcKKTimeStamp(DateTime.Now);
wInvData.ManufactureDate = mTimeStamp;
}
private void CheckResult()
{
}
private void CheckResultByCAN()
{
if (CmdResult == 1)
{
bool result = false;
byte[] a = Encoding.UTF8.GetBytes(nSerialNo.Text);
byte[] b = SystemData.Information.BMS_SN;
for (int i = 0; i < a.Length; i++)
{
if (a[i] == b[i]) continue;
result = true;
}
if ((result == false) && (wInvData.ManufactureDate == SystemData.Information.ManufactureDate))
{
CmdResult = 0;
try
{
csDbUtils.BmsDataInsert(SystemData, nSerialNo.Text, "mBMS_16S");
MessageBox.Show(String.Format("BMS data insert complete - [{0}]", nSerialNo.Text)
, "Information"
, MessageBoxButtons.OK
, MessageBoxIcon.Information
);
}
catch (Exception ex)
{
MessageBox.Show(String.Format("BMS data insert fail - [{0}] \r\n{1}", nSerialNo.Text, ex.Message)
, "Warning"
, MessageBoxButtons.OK
, MessageBoxIcon.Warning
);
}
}
}
}
private void CheckResultBySNMP()
{
if (CmdResult == 1)
{
bool result = false;
byte[] a = Encoding.UTF8.GetBytes(nSerialNo.Text);
byte[] b = Encoding.UTF8.GetBytes(SystemTotalData.IdentData.SerialNumber);
if (a.Length != b.Length) return;
for (int i = 0; i < a.Length; i++)
{
if (a[i] == b[i]) continue;
result = true;
}
if ((result == false) && (wInvData.ManufactureDate == SystemTotalData.IdentData.ManufactureDate))
{
CmdResult = 0;
try
{
csDbUtils.BmsDataInsert(SystemTotalData, nSerialNo.Text, "BMCB_J");
MessageBox.Show(String.Format("BMS data insert complete - [{0}]", nSerialNo.Text)
, "Information"
, MessageBoxButtons.OK
, MessageBoxIcon.Information
);
}
catch (Exception ex)
{
MessageBox.Show(String.Format("BMS data insert fail - [{0}] \r\n{1}", nSerialNo.Text, ex.Message)
, "Warning"
, MessageBoxButtons.OK
, MessageBoxIcon.Warning
);
}
}
}
}
#endregion
private void tmrCmd_Tick(object sender, EventArgs e)
{
CheckResult();
}
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
}
}

File diff suppressed because it is too large Load Diff

449
LFP_Manager/Forms/fmxMain.Designer.cs generated Normal file
View File

@@ -0,0 +1,449 @@
namespace LFP_Manager.Forms
{
partial class fmxMain
{
/// <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 Windows Form 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();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxMain));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.chbPolling = new DevExpress.XtraEditors.CheckEdit();
this.edSystemId = new DevExpress.XtraEditors.TextEdit();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.CommStatusBar = new System.Windows.Forms.ToolStripStatusLabel();
this.HeatBeatStatusBar = new System.Windows.Forms.ToolStripStatusLabel();
this.LogStatusBar = new System.Windows.Forms.ToolStripStatusLabel();
this.uDataLog = new LFP_Manager.Controls.ucDataLog();
this.uEventLog = new LFP_Manager.Controls.ucEventLog();
this.tabStatus = new DevExpress.XtraTab.XtraTabControl();
this.pgMain = new DevExpress.XtraTab.XtraTabPage();
this.uTarget = new LFP_Manager.Controls.ucTargetControl();
this.layoutControlMain = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcitemSystemId = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem();
this.tmrDisplay = new System.Windows.Forms.Timer(this.components);
this.mnMain = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.historyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.historyViewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.updateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.firmwareUpdateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.changePasswordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.chbPolling.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edSystemId.Properties)).BeginInit();
this.statusStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tabStatus)).BeginInit();
this.tabStatus.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlMain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemSystemId)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit();
this.mnMain.SuspendLayout();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.AllowCustomization = false;
this.layoutControl1.Controls.Add(this.chbPolling);
this.layoutControl1.Controls.Add(this.edSystemId);
this.layoutControl1.Controls.Add(this.statusStrip1);
this.layoutControl1.Controls.Add(this.uDataLog);
this.layoutControl1.Controls.Add(this.uEventLog);
this.layoutControl1.Controls.Add(this.tabStatus);
this.layoutControl1.Controls.Add(this.uTarget);
this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl1.Location = new System.Drawing.Point(0, 24);
this.layoutControl1.Name = "layoutControl1";
this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(577, 118, 783, 350);
this.layoutControl1.Root = this.layoutControlMain;
this.layoutControl1.Size = new System.Drawing.Size(1314, 857);
this.layoutControl1.TabIndex = 1;
this.layoutControl1.Text = "layoutControl1";
//
// chbPolling
//
this.chbPolling.Location = new System.Drawing.Point(1254, 660);
this.chbPolling.Name = "chbPolling";
this.chbPolling.Properties.Caption = "Polling";
this.chbPolling.Size = new System.Drawing.Size(57, 20);
this.chbPolling.StyleController = this.layoutControl1;
this.chbPolling.TabIndex = 5;
this.chbPolling.CheckedChanged += new System.EventHandler(this.chbPolling_CheckedChanged);
//
// edSystemId
//
this.edSystemId.EditValue = "1";
this.edSystemId.Location = new System.Drawing.Point(1181, 660);
this.edSystemId.Name = "edSystemId";
this.edSystemId.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.edSystemId.Properties.Appearance.Options.UseFont = true;
this.edSystemId.Properties.Appearance.Options.UseTextOptions = true;
this.edSystemId.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.edSystemId.Size = new System.Drawing.Size(69, 22);
this.edSystemId.StyleController = this.layoutControl1;
this.edSystemId.TabIndex = 4;
this.edSystemId.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.edSystemId_KeyPress);
//
// statusStrip1
//
this.statusStrip1.AutoSize = false;
this.statusStrip1.Dock = System.Windows.Forms.DockStyle.None;
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.CommStatusBar,
this.HeatBeatStatusBar,
this.LogStatusBar});
this.statusStrip1.Location = new System.Drawing.Point(3, 834);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(1308, 20);
this.statusStrip1.TabIndex = 1;
this.statusStrip1.Text = "statusStrip1";
//
// CommStatusBar
//
this.CommStatusBar.AutoSize = false;
this.CommStatusBar.ForeColor = System.Drawing.Color.Black;
this.CommStatusBar.Name = "CommStatusBar";
this.CommStatusBar.Size = new System.Drawing.Size(200, 15);
this.CommStatusBar.Text = "Comm: OFF";
this.CommStatusBar.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// HeatBeatStatusBar
//
this.HeatBeatStatusBar.AutoSize = false;
this.HeatBeatStatusBar.ForeColor = System.Drawing.Color.Black;
this.HeatBeatStatusBar.Name = "HeatBeatStatusBar";
this.HeatBeatStatusBar.Size = new System.Drawing.Size(200, 15);
this.HeatBeatStatusBar.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// LogStatusBar
//
this.LogStatusBar.AutoSize = false;
this.LogStatusBar.Name = "LogStatusBar";
this.LogStatusBar.Size = new System.Drawing.Size(650, 15);
this.LogStatusBar.Text = "Log Stop";
this.LogStatusBar.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// uDataLog
//
this.uDataLog.Location = new System.Drawing.Point(1149, 686);
this.uDataLog.Name = "uDataLog";
this.uDataLog.Size = new System.Drawing.Size(162, 144);
this.uDataLog.TabIndex = 6;
//
// uEventLog
//
this.uEventLog.Location = new System.Drawing.Point(3, 660);
this.uEventLog.Name = "uEventLog";
this.uEventLog.Size = new System.Drawing.Size(1142, 170);
this.uEventLog.TabIndex = 3;
//
// tabStatus
//
this.tabStatus.Location = new System.Drawing.Point(3, 68);
this.tabStatus.Name = "tabStatus";
this.tabStatus.SelectedTabPage = this.pgMain;
this.tabStatus.Size = new System.Drawing.Size(1308, 588);
this.tabStatus.TabIndex = 2;
this.tabStatus.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
this.pgMain});
//
// pgMain
//
this.pgMain.Name = "pgMain";
this.pgMain.Size = new System.Drawing.Size(1306, 562);
this.pgMain.Text = "RealTime Data";
//
// uTarget
//
this.uTarget.Location = new System.Drawing.Point(3, 3);
this.uTarget.Name = "uTarget";
this.uTarget.Size = new System.Drawing.Size(1308, 61);
this.uTarget.TabIndex = 0;
//
// layoutControlMain
//
this.layoutControlMain.CustomizationFormText = "layoutControlGroup1";
this.layoutControlMain.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlMain.GroupBordersVisible = false;
this.layoutControlMain.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1,
this.layoutControlItem2,
this.layoutControlItem6,
this.layoutControlItem7,
this.layoutControlItem8,
this.lcitemSystemId,
this.layoutControlItem16});
this.layoutControlMain.Name = "Root";
this.layoutControlMain.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlMain.Size = new System.Drawing.Size(1314, 857);
this.layoutControlMain.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.uTarget;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 65);
this.layoutControlItem1.MinSize = new System.Drawing.Size(350, 65);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(1312, 65);
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.tabStatus;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(0, 65);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(1312, 592);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.uEventLog;
this.layoutControlItem6.CustomizationFormText = "layoutControlItem6";
this.layoutControlItem6.Location = new System.Drawing.Point(0, 657);
this.layoutControlItem6.MaxSize = new System.Drawing.Size(0, 174);
this.layoutControlItem6.MinSize = new System.Drawing.Size(209, 174);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(1146, 174);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.uDataLog;
this.layoutControlItem7.CustomizationFormText = "layoutControlItem7";
this.layoutControlItem7.Location = new System.Drawing.Point(1146, 683);
this.layoutControlItem7.MaxSize = new System.Drawing.Size(166, 0);
this.layoutControlItem7.MinSize = new System.Drawing.Size(166, 24);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(166, 148);
this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.statusStrip1;
this.layoutControlItem8.CustomizationFormText = "layoutControlItem8";
this.layoutControlItem8.Location = new System.Drawing.Point(0, 831);
this.layoutControlItem8.MaxSize = new System.Drawing.Size(0, 24);
this.layoutControlItem8.MinSize = new System.Drawing.Size(104, 24);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(1312, 24);
this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem8.TextVisible = false;
//
// lcitemSystemId
//
this.lcitemSystemId.Control = this.edSystemId;
this.lcitemSystemId.CustomizationFormText = "System Id";
this.lcitemSystemId.Location = new System.Drawing.Point(1146, 657);
this.lcitemSystemId.MinSize = new System.Drawing.Size(57, 26);
this.lcitemSystemId.Name = "lcitemSystemId";
this.lcitemSystemId.Size = new System.Drawing.Size(105, 26);
this.lcitemSystemId.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemSystemId.Text = " ID ";
this.lcitemSystemId.TextSize = new System.Drawing.Size(20, 14);
//
// layoutControlItem16
//
this.layoutControlItem16.Control = this.chbPolling;
this.layoutControlItem16.CustomizationFormText = "layoutControlItem16";
this.layoutControlItem16.Location = new System.Drawing.Point(1251, 657);
this.layoutControlItem16.Name = "layoutControlItem16";
this.layoutControlItem16.Size = new System.Drawing.Size(61, 26);
this.layoutControlItem16.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem16.TextVisible = false;
//
// tmrDisplay
//
this.tmrDisplay.Enabled = true;
this.tmrDisplay.Interval = 500;
this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick);
//
// mnMain
//
this.mnMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem,
this.historyToolStripMenuItem,
this.updateToolStripMenuItem,
this.settingsToolStripMenuItem});
this.mnMain.Location = new System.Drawing.Point(0, 0);
this.mnMain.Name = "mnMain";
this.mnMain.Size = new System.Drawing.Size(1314, 24);
this.mnMain.TabIndex = 2;
this.mnMain.Text = "menuStrip1";
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.exitToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "File";
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(93, 22);
this.exitToolStripMenuItem.Text = "Exit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// historyToolStripMenuItem
//
this.historyToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.historyViewToolStripMenuItem});
this.historyToolStripMenuItem.Name = "historyToolStripMenuItem";
this.historyToolStripMenuItem.Size = new System.Drawing.Size(57, 20);
this.historyToolStripMenuItem.Text = "History";
//
// historyViewToolStripMenuItem
//
this.historyViewToolStripMenuItem.Name = "historyViewToolStripMenuItem";
this.historyViewToolStripMenuItem.Size = new System.Drawing.Size(142, 22);
this.historyViewToolStripMenuItem.Text = "History View";
this.historyViewToolStripMenuItem.Click += new System.EventHandler(this.historyViewToolStripMenuItem_Click);
//
// updateToolStripMenuItem
//
this.updateToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.firmwareUpdateToolStripMenuItem});
this.updateToolStripMenuItem.Name = "updateToolStripMenuItem";
this.updateToolStripMenuItem.Size = new System.Drawing.Size(57, 20);
this.updateToolStripMenuItem.Text = "Update";
//
// firmwareUpdateToolStripMenuItem
//
this.firmwareUpdateToolStripMenuItem.Name = "firmwareUpdateToolStripMenuItem";
this.firmwareUpdateToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.firmwareUpdateToolStripMenuItem.Text = "Firmware Update";
this.firmwareUpdateToolStripMenuItem.Click += new System.EventHandler(this.firmwareUpdateToolStripMenuItem_Click);
//
// settingsToolStripMenuItem
//
this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.changePasswordToolStripMenuItem});
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
this.settingsToolStripMenuItem.Text = "Settings";
//
// changePasswordToolStripMenuItem
//
this.changePasswordToolStripMenuItem.Name = "changePasswordToolStripMenuItem";
this.changePasswordToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.changePasswordToolStripMenuItem.Text = "Change Password";
this.changePasswordToolStripMenuItem.Click += new System.EventHandler(this.changePasswordToolStripMenuItem_Click);
//
// fmxMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1314, 881);
this.Controls.Add(this.layoutControl1);
this.Controls.Add(this.mnMain);
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxMain.IconOptions.Icon")));
this.Name = "fmxMain";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "LFP SYSTEM";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.fmxMain_FormClosing);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.chbPolling.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edSystemId.Properties)).EndInit();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.tabStatus)).EndInit();
this.tabStatus.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlMain)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemSystemId)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit();
this.mnMain.ResumeLayout(false);
this.mnMain.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlMain;
private Controls.ucTargetControl uTarget;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraTab.XtraTabControl tabStatus;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private Controls.ucEventLog uEventLog;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private Controls.ucDataLog uDataLog;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
private System.Windows.Forms.StatusStrip statusStrip1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
private System.Windows.Forms.ToolStripStatusLabel CommStatusBar;
private System.Windows.Forms.ToolStripStatusLabel LogStatusBar;
private System.Windows.Forms.ToolStripStatusLabel HeatBeatStatusBar;
private DevExpress.XtraEditors.TextEdit edSystemId;
private DevExpress.XtraLayout.LayoutControlItem lcitemSystemId;
private DevExpress.XtraTab.XtraTabPage pgMain;
//private Controls.ucMainStatus ucMsGraph;
private DevExpress.XtraEditors.CheckEdit chbPolling;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem16;
private System.Windows.Forms.Timer tmrDisplay;
private System.Windows.Forms.MenuStrip mnMain;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem historyToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem historyViewToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem updateToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem firmwareUpdateToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem changePasswordToolStripMenuItem;
}
}

1005
LFP_Manager/Forms/fmxMain.cs Normal file

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,210 @@
namespace LFP_Manager.Forms
{
partial class fmxModuleDetail
{
/// <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 Windows Form 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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxModuleDetail));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.btnNext = new DevExpress.XtraEditors.SimpleButton();
this.btnPrev = new DevExpress.XtraEditors.SimpleButton();
this.ShelfStatus = new LFP_Manager.Controls.ucShelfStatus();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.btnClose);
this.layoutControl1.Controls.Add(this.btnNext);
this.layoutControl1.Controls.Add(this.btnPrev);
this.layoutControl1.Controls.Add(this.ShelfStatus);
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(1270, 387, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(1078, 648);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(929, 604);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(146, 41);
this.btnClose.StyleController = this.layoutControl1;
this.btnClose.TabIndex = 7;
this.btnClose.Text = "CLOSE";
this.btnClose.Click += new System.EventHandler(this.btnClose_Click);
//
// btnNext
//
this.btnNext.Location = new System.Drawing.Point(153, 604);
this.btnNext.Name = "btnNext";
this.btnNext.Size = new System.Drawing.Size(146, 41);
this.btnNext.StyleController = this.layoutControl1;
this.btnNext.TabIndex = 6;
this.btnNext.Text = "NEXT";
this.btnNext.Click += new System.EventHandler(this.btnNext_Click);
//
// btnPrev
//
this.btnPrev.Location = new System.Drawing.Point(3, 604);
this.btnPrev.Name = "btnPrev";
this.btnPrev.Size = new System.Drawing.Size(146, 41);
this.btnPrev.StyleController = this.layoutControl1;
this.btnPrev.TabIndex = 5;
this.btnPrev.Text = "PREV";
this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click);
//
// ShelfStatus
//
this.ShelfStatus.Location = new System.Drawing.Point(3, 3);
this.ShelfStatus.Name = "ShelfStatus";
this.ShelfStatus.Size = new System.Drawing.Size(1072, 597);
this.ShelfStatus.TabIndex = 4;
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1,
this.layoutControlItem2,
this.emptySpaceItem1,
this.layoutControlItem3,
this.layoutControlItem4});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(1078, 648);
this.Root.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.ShelfStatus;
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(772, 247);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(1076, 601);
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.btnPrev;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 601);
this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 45);
this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 45);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(150, 45);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
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(300, 601);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(626, 45);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.btnNext;
this.layoutControlItem3.Location = new System.Drawing.Point(150, 601);
this.layoutControlItem3.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(150, 45);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.btnClose;
this.layoutControlItem4.Location = new System.Drawing.Point(926, 601);
this.layoutControlItem4.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(150, 45);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// fmxModuleDetail
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1078, 648);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Image = ((System.Drawing.Image)(resources.GetObject("fmxModuleDetail.IconOptions.Image")));
this.Name = "fmxModuleDetail";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "fmxModuleDetail";
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private Controls.ucShelfStatus ShelfStatus;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraEditors.SimpleButton btnClose;
private DevExpress.XtraEditors.SimpleButton btnNext;
private DevExpress.XtraEditors.SimpleButton btnPrev;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
}
}

View File

@@ -0,0 +1,114 @@
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.DataStructure;
namespace LFP_Manager.Forms
{
public partial class fmxModuleDetail : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
private int ModuleID = 1;
private CommConfig Config;
private DeviceSystemData DeviceSystems;
#endregion
#region COSTRUCTORS
public fmxModuleDetail(int sID, ref CommConfig aConfig, ref DeviceSystemData mSystemData)
{
InitializeComponent();
ModuleID = sID;
Config = aConfig;
DeviceSystems = mSystemData;
this.Text = String.Format("MODULE [#{0:00}]"
, sID
);
ShelfStatus.Start(sID, ref aConfig, ref DeviceSystems);
}
#endregion
#region PUBLIC FUNCTION
public void SetModuleID(int mID)
{
ShelfStatus.SystemIdSet(mID);
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate ()
{
this.Text = String.Format("MODULE [#{0:00}]", mID);
}));
}
else
{
this.Text = String.Format("MODULE [#{0:00}]", mID);
}
}
public int GetModuleID()
{
return ShelfStatus.SystemIdGet();
}
#endregion
#region UPDATE DATA
public void UpdateData(ref DeviceSystemData mSystemData)
{
ShelfStatus.UpdateData(ref mSystemData);
}
#endregion
#region BUTTON EVENT
private void btnPrev_Click(object sender, EventArgs e)
{
if (ModuleID == 1)
{
ModuleID = Config.ModuleQty;
}
else
{
ModuleID--;
}
ShelfStatus.SystemIdSet(ModuleID);
ShelfStatus.UpdateData(ref DeviceSystems);
Text = string.Format("Module Status [#{0:00}]", ModuleID);
}
private void btnNext_Click(object sender, EventArgs e)
{
if (ModuleID == Config.ModuleQty)
{
ModuleID = 1;
}
else
{
ModuleID++;
}
ShelfStatus.SystemIdSet(ModuleID);
ShelfStatus.UpdateData(ref DeviceSystems);
Text = string.Format("Module Status [#{0:00}]", ModuleID);
}
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
#endregion
}
}

View File

@@ -0,0 +1,148 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="fmxModuleDetail.IconOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAABMxJREFUWEflVWtsFVUQPrdtSvilMRIVY8T4h1/aoDGKqIWCIBXR+IgaAmriD/CR
SIyVYjSSPmhLrVVTBa6tQNGIBSqYCEEera34KCqFEmgLNa34qPRaeqHv23G+2Z3tXrp3u/iHGCeZnN09
M2e++WbOrKFLLP8dACMjI87qp2oTVAIBcB8Y8zncvRcUxEUxoIdGon3UdbbX0TPdvdR9vl/23HZBZFwA
euDQcEzedze00aSF79Ckx9+nKx8rc3Tyo2V0+GSn2AyzbVAgvgD0gFgsRsOsfQNDNPXZCjLpq8nc9xaZ
ucWW4vmuPJqZ9Rm8xDZIcEggBjT7VR8fJHNnLiUveNsKOr/EUn5Ovp+/MYhNe5vEFj5BWEgIQJ1BJ5qr
5dcITcwsoZBmzIFDeBcA9jq7iK554gOK9PQJC8KEfVYiGbcEmv0Db1aTuTufkjKt7CXgvWu4BKw2C0lg
YUYevbTugPgM2iz4iScAzX5waFjePz/YSmZWgUWzBuJSLF+7nx7J3SlB5Rv2GMwEXrUhxyvFGABqiMaD
87neAbrxqTCF5hRx9hbVoTlr6CrufDRly+kIpc4rpiQO6oCbWUDpWVvsJPxZGAsAyg5KffZHdXGNJ+s9
+bRhz1HZh7xa8bU0oGMDEPxeufeY7PuxEAdAjfQeH2/vsrJj9coOB6PRengITVmyXpjRxgzZDfk3Dy3Y
gFGN4RbPEgAAZP7r26zGc+rL2fEt+Kn1TweA9smWmuNim8pDCgxgxfsKZgeiLFwoDgBs6qGQ7fUtdtcn
6HAOjMxgj17AikFk0t7gkuWRmZ5L5o4cMrfnUE1jB9uOMusGIgD0g0w8NoqeH6Api9eTySi06LQpvW7R
Ojp7rl8Cs5P4uAX/hWwGmF1RJ5mv3FBHr5Tto+pvWmXfi4U4BpTOrPLa+KuFldn4lGmGACSGTUPzH7Tn
0C9UsfsIlWxtoPCXjfTF96dox7etcnWhO787SZ981UT1TactXwbvZsHoi9JztO0vuceotwTH4OGun51d
JVmrHcB2MxsdnT104HA7vcYZX79orVUCph2ApRQzuBTTc+jyh96l385ExzQkA7AecDAkY0UVB1w9mj0r
bsKRtk4ZyQrAS/C9fFcjXc1/RsNzI3VhKaXwORMetBpycfEusXOXgksw2nib9x3j+5vvTDy511wK3HMI
slZHrKrICnua2YmOCE19+kOrh7SJsc4qpP0/t4uNgjB4wAGo6bVPMoUZRaONx1ncsCRMUZ6GsIFCFARE
QejzwOCQPDfzz+syvopJ87SUDCC9gG5etpFt+AZxXAA2vf2Ww3LuXtTMoR4OXPtt9c2yr9m7g7tF9uy1
3wZRWv3j2Gbm95Lth2Qf11duQeOpTmm8FM4agVMWlErN5q7cKoZe18dL1AaZwQd609KNMj1RTpydzP10
xcPv0e9dUbbjEuBeT3u+0upcrhmMETyFJ96Jjq64xgsKAmqBJqrlISQ3gumXs3memNtWUSZPWYjJCtdS
2nObaNoLlQLk1hc3Uxo3UGHVD2Lg1/V+Ah/tmZfDNZT2TLmcjRi3sCLmDvzmUYdEguw1+MWAcPv4+aH/
nFGMYKryzvVR8TskkaiPnuUVA+JMQi+F6Ppv5MLzvNT5F1wq+b8DIPoHjJf5qaq9hPwAAAAASUVORK5C
YII=
</value>
</data>
</root>

View File

@@ -0,0 +1,890 @@
namespace LFP_Manager.Forms
{
partial class fmxParamConfig
{
/// <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 Windows Form 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();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxParamConfig));
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.gbDefaultParam = new DevExpress.XtraEditors.GroupControl();
this.layoutControl7 = new DevExpress.XtraLayout.LayoutControl();
this.btnDefaultSet = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlGroup7 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem22 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem();
this.gbCurrentParam = new DevExpress.XtraEditors.GroupControl();
this.layoutControl5 = new DevExpress.XtraLayout.LayoutControl();
this.layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup();
this.gbDchTempParam = new DevExpress.XtraEditors.GroupControl();
this.layoutControl4 = new DevExpress.XtraLayout.LayoutControl();
this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup();
this.gbChaTempParam = new DevExpress.XtraEditors.GroupControl();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
this.gbVoltageParamSet = new DevExpress.XtraEditors.GroupControl();
this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.btnClose = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup6 = new DevExpress.XtraLayout.LayoutControlGroup();
this.tmrDisplay = new System.Windows.Forms.Timer(this.components);
this.groupControl1 = new DevExpress.XtraEditors.GroupControl();
this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControl6 = new DevExpress.XtraLayout.LayoutControl();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.ucPcbHTParam = new LFP_Manager.Controls.ucParamSet();
this.layoutControlItem18 = new DevExpress.XtraLayout.LayoutControlItem();
this.ucSocParam = new LFP_Manager.Controls.ucParamSet();
this.ucDOCParam = new LFP_Manager.Controls.ucParamSet();
this.ucCOCParam = new LFP_Manager.Controls.ucParamSet();
this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem();
this.ucDLTParam = new LFP_Manager.Controls.ucParamSet();
this.ucDHTParam = new LFP_Manager.Controls.ucParamSet();
this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
this.ucCLTParam = new LFP_Manager.Controls.ucParamSet();
this.ucCHTParam = new LFP_Manager.Controls.ucParamSet();
this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
this.ucSUVParam = new LFP_Manager.Controls.ucParamSet();
this.ucSOVParam = new LFP_Manager.Controls.ucParamSet();
this.ucCUVParam = new LFP_Manager.Controls.ucParamSet();
this.ucCOVParam = new LFP_Manager.Controls.ucParamSet();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gbDefaultParam)).BeginInit();
this.gbDefaultParam.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl7)).BeginInit();
this.layoutControl7.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbCurrentParam)).BeginInit();
this.gbCurrentParam.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl5)).BeginInit();
this.layoutControl5.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbDchTempParam)).BeginInit();
this.gbDchTempParam.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).BeginInit();
this.layoutControl4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbChaTempParam)).BeginInit();
this.gbChaTempParam.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit();
this.layoutControl3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gbVoltageParamSet)).BeginInit();
this.gbVoltageParamSet.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.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.groupControl1)).BeginInit();
this.groupControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).BeginInit();
this.layoutControl6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.groupControl1);
this.layoutControl1.Controls.Add(this.ucSocParam);
this.layoutControl1.Controls.Add(this.gbDefaultParam);
this.layoutControl1.Controls.Add(this.gbCurrentParam);
this.layoutControl1.Controls.Add(this.gbDchTempParam);
this.layoutControl1.Controls.Add(this.gbChaTempParam);
this.layoutControl1.Controls.Add(this.gbVoltageParamSet);
this.layoutControl1.Controls.Add(this.btnClose);
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(1155, 88, 654, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(932, 777);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// gbDefaultParam
//
this.gbDefaultParam.Controls.Add(this.layoutControl7);
this.gbDefaultParam.Location = new System.Drawing.Point(699, 652);
this.gbDefaultParam.Name = "gbDefaultParam";
this.gbDefaultParam.Size = new System.Drawing.Size(230, 64);
this.gbDefaultParam.TabIndex = 13;
this.gbDefaultParam.Text = " Default Paramter";
//
// layoutControl7
//
this.layoutControl7.Controls.Add(this.btnDefaultSet);
this.layoutControl7.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl7.Location = new System.Drawing.Point(2, 23);
this.layoutControl7.Name = "layoutControl7";
this.layoutControl7.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1212, 252, 614, 350);
this.layoutControl7.Root = this.layoutControlGroup7;
this.layoutControl7.Size = new System.Drawing.Size(226, 39);
this.layoutControl7.TabIndex = 0;
this.layoutControl7.Text = "layoutControl7";
//
// btnDefaultSet
//
this.btnDefaultSet.Location = new System.Drawing.Point(131, 5);
this.btnDefaultSet.Name = "btnDefaultSet";
this.btnDefaultSet.Size = new System.Drawing.Size(90, 29);
this.btnDefaultSet.StyleController = this.layoutControl7;
this.btnDefaultSet.TabIndex = 5;
this.btnDefaultSet.Text = "Set";
this.btnDefaultSet.Click += new System.EventHandler(this.btnDefaultSet_Click);
//
// layoutControlGroup7
//
this.layoutControlGroup7.CustomizationFormText = "layoutControlGroup7";
this.layoutControlGroup7.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup7.GroupBordersVisible = false;
this.layoutControlGroup7.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem22,
this.emptySpaceItem4});
this.layoutControlGroup7.Name = "Root";
this.layoutControlGroup7.Padding = new DevExpress.XtraLayout.Utils.Padding(3, 3, 3, 3);
this.layoutControlGroup7.Size = new System.Drawing.Size(226, 39);
this.layoutControlGroup7.TextVisible = false;
//
// layoutControlItem22
//
this.layoutControlItem22.Control = this.btnDefaultSet;
this.layoutControlItem22.CustomizationFormText = "layoutControlItem22";
this.layoutControlItem22.Location = new System.Drawing.Point(126, 0);
this.layoutControlItem22.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem22.Name = "layoutControlItem22";
this.layoutControlItem22.Size = new System.Drawing.Size(94, 33);
this.layoutControlItem22.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem22.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem22.TextVisible = false;
//
// emptySpaceItem4
//
this.emptySpaceItem4.AllowHotTrack = false;
this.emptySpaceItem4.Location = new System.Drawing.Point(0, 0);
this.emptySpaceItem4.Name = "emptySpaceItem4";
this.emptySpaceItem4.Size = new System.Drawing.Size(126, 33);
this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0);
//
// gbCurrentParam
//
this.gbCurrentParam.Controls.Add(this.layoutControl5);
this.gbCurrentParam.Location = new System.Drawing.Point(3, 431);
this.gbCurrentParam.Name = "gbCurrentParam";
this.gbCurrentParam.Size = new System.Drawing.Size(452, 217);
this.gbCurrentParam.TabIndex = 10;
this.gbCurrentParam.Text = "Current Parameter";
//
// layoutControl5
//
this.layoutControl5.Controls.Add(this.ucDOCParam);
this.layoutControl5.Controls.Add(this.ucCOCParam);
this.layoutControl5.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl5.Location = new System.Drawing.Point(2, 23);
this.layoutControl5.Name = "layoutControl5";
this.layoutControl5.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(757, 268, 250, 350);
this.layoutControl5.Root = this.layoutControlGroup5;
this.layoutControl5.Size = new System.Drawing.Size(448, 192);
this.layoutControl5.TabIndex = 0;
this.layoutControl5.Text = "layoutControl5";
//
// layoutControlGroup5
//
this.layoutControlGroup5.CustomizationFormText = "layoutControlGroup5";
this.layoutControlGroup5.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup5.GroupBordersVisible = false;
this.layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem14,
this.layoutControlItem15});
this.layoutControlGroup5.Name = "layoutControlGroup5";
this.layoutControlGroup5.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.layoutControlGroup5.Size = new System.Drawing.Size(448, 192);
this.layoutControlGroup5.TextVisible = false;
//
// gbDchTempParam
//
this.gbDchTempParam.Controls.Add(this.layoutControl4);
this.gbDchTempParam.Location = new System.Drawing.Point(459, 217);
this.gbDchTempParam.Name = "gbDchTempParam";
this.gbDchTempParam.Size = new System.Drawing.Size(470, 210);
this.gbDchTempParam.TabIndex = 9;
this.gbDchTempParam.Text = "Discharge Temp Parameter";
//
// layoutControl4
//
this.layoutControl4.Controls.Add(this.ucDLTParam);
this.layoutControl4.Controls.Add(this.ucDHTParam);
this.layoutControl4.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl4.Location = new System.Drawing.Point(2, 23);
this.layoutControl4.Name = "layoutControl4";
this.layoutControl4.Root = this.layoutControlGroup4;
this.layoutControl4.Size = new System.Drawing.Size(466, 185);
this.layoutControl4.TabIndex = 0;
this.layoutControl4.Text = "layoutControl4";
//
// layoutControlGroup4
//
this.layoutControlGroup4.CustomizationFormText = "layoutControlGroup4";
this.layoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup4.GroupBordersVisible = false;
this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem12,
this.layoutControlItem13});
this.layoutControlGroup4.Name = "layoutControlGroup4";
this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.layoutControlGroup4.Size = new System.Drawing.Size(466, 185);
this.layoutControlGroup4.TextVisible = false;
//
// gbChaTempParam
//
this.gbChaTempParam.Controls.Add(this.layoutControl3);
this.gbChaTempParam.Location = new System.Drawing.Point(3, 217);
this.gbChaTempParam.Name = "gbChaTempParam";
this.gbChaTempParam.Size = new System.Drawing.Size(452, 210);
this.gbChaTempParam.TabIndex = 8;
this.gbChaTempParam.Text = "Charge Temp Parameter";
//
// layoutControl3
//
this.layoutControl3.Controls.Add(this.ucCLTParam);
this.layoutControl3.Controls.Add(this.ucCHTParam);
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(1273, 246, 250, 350);
this.layoutControl3.Root = this.layoutControlGroup3;
this.layoutControl3.Size = new System.Drawing.Size(448, 185);
this.layoutControl3.TabIndex = 0;
this.layoutControl3.Text = "layoutControl3";
//
// 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.layoutControlItem9,
this.layoutControlItem10});
this.layoutControlGroup3.Name = "layoutControlGroup3";
this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.layoutControlGroup3.Size = new System.Drawing.Size(448, 185);
this.layoutControlGroup3.TextVisible = false;
//
// gbVoltageParamSet
//
this.gbVoltageParamSet.Controls.Add(this.layoutControl2);
this.gbVoltageParamSet.Location = new System.Drawing.Point(3, 3);
this.gbVoltageParamSet.Name = "gbVoltageParamSet";
this.gbVoltageParamSet.Size = new System.Drawing.Size(926, 210);
this.gbVoltageParamSet.TabIndex = 7;
this.gbVoltageParamSet.Text = "-";
//
// layoutControl2
//
this.layoutControl2.Controls.Add(this.ucSUVParam);
this.layoutControl2.Controls.Add(this.ucSOVParam);
this.layoutControl2.Controls.Add(this.ucCUVParam);
this.layoutControl2.Controls.Add(this.ucCOVParam);
this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl2.Location = new System.Drawing.Point(2, 23);
this.layoutControl2.Name = "layoutControl2";
this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1218, 0, 650, 400);
this.layoutControl2.Root = this.layoutControlGroup2;
this.layoutControl2.Size = new System.Drawing.Size(922, 185);
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.layoutControlItem4,
this.layoutControlItem5,
this.layoutControlItem6,
this.layoutControlItem7});
this.layoutControlGroup2.Name = "Root";
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.layoutControlGroup2.Size = new System.Drawing.Size(922, 185);
this.layoutControlGroup2.TextVisible = false;
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(3, 720);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(926, 54);
this.btnClose.StyleController = this.layoutControl1;
this.btnClose.TabIndex = 6;
this.btnClose.Text = "CLOSE";
this.btnClose.Click += new System.EventHandler(this.btnCancel_Click);
//
// 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.layoutControlItem3,
this.layoutControlItem1,
this.layoutControlItem8,
this.layoutControlItem11,
this.layoutControlItem2,
this.emptySpaceItem1,
this.emptySpaceItem2,
this.layoutControlItem19,
this.layoutControlGroup6,
this.layoutControlItem17});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(932, 777);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.btnClose;
this.layoutControlItem3.CustomizationFormText = "layoutControlItem3";
this.layoutControlItem3.Location = new System.Drawing.Point(0, 717);
this.layoutControlItem3.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(930, 58);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.gbVoltageParamSet;
this.layoutControlItem1.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 214);
this.layoutControlItem1.MinSize = new System.Drawing.Size(424, 214);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(930, 214);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.gbChaTempParam;
this.layoutControlItem8.CustomizationFormText = "layoutControlItem8";
this.layoutControlItem8.Location = new System.Drawing.Point(0, 214);
this.layoutControlItem8.MaxSize = new System.Drawing.Size(0, 214);
this.layoutControlItem8.MinSize = new System.Drawing.Size(216, 214);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(456, 214);
this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem8.TextVisible = false;
//
// layoutControlItem11
//
this.layoutControlItem11.Control = this.gbDchTempParam;
this.layoutControlItem11.CustomizationFormText = "layoutControlItem11";
this.layoutControlItem11.Location = new System.Drawing.Point(456, 214);
this.layoutControlItem11.Name = "layoutControlItem11";
this.layoutControlItem11.Size = new System.Drawing.Size(474, 214);
this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem11.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.gbCurrentParam;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(0, 428);
this.layoutControlItem2.MinSize = new System.Drawing.Size(216, 53);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(456, 221);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1";
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 649);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(456, 68);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2";
this.emptySpaceItem2.Location = new System.Drawing.Point(456, 649);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(240, 68);
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem19
//
this.layoutControlItem19.Control = this.gbDefaultParam;
this.layoutControlItem19.CustomizationFormText = "layoutControlItem19";
this.layoutControlItem19.Location = new System.Drawing.Point(696, 649);
this.layoutControlItem19.Name = "layoutControlItem19";
this.layoutControlItem19.Size = new System.Drawing.Size(234, 68);
this.layoutControlItem19.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem19.TextVisible = false;
//
// layoutControlGroup6
//
this.layoutControlGroup6.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem16});
this.layoutControlGroup6.Location = new System.Drawing.Point(696, 428);
this.layoutControlGroup6.Name = "layoutControlGroup6";
this.layoutControlGroup6.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup6.Size = new System.Drawing.Size(234, 221);
this.layoutControlGroup6.Text = "SOC Parameter";
//
// tmrDisplay
//
this.tmrDisplay.Interval = 500;
this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick);
//
// groupControl1
//
this.groupControl1.Controls.Add(this.layoutControl6);
this.groupControl1.Location = new System.Drawing.Point(459, 431);
this.groupControl1.Name = "groupControl1";
this.groupControl1.Size = new System.Drawing.Size(236, 217);
this.groupControl1.TabIndex = 15;
this.groupControl1.Text = "PCB Temp Parameter";
//
// layoutControlItem17
//
this.layoutControlItem17.Control = this.groupControl1;
this.layoutControlItem17.Location = new System.Drawing.Point(456, 428);
this.layoutControlItem17.Name = "layoutControlItem17";
this.layoutControlItem17.Size = new System.Drawing.Size(240, 221);
this.layoutControlItem17.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem17.TextVisible = false;
//
// layoutControl6
//
this.layoutControl6.Controls.Add(this.ucPcbHTParam);
this.layoutControl6.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl6.Location = new System.Drawing.Point(2, 23);
this.layoutControl6.Name = "layoutControl6";
this.layoutControl6.Root = this.Root;
this.layoutControl6.Size = new System.Drawing.Size(232, 192);
this.layoutControl6.TabIndex = 0;
this.layoutControl6.Text = "layoutControl6";
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem18});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(232, 192);
this.Root.TextVisible = false;
//
// ucPcbHTParam
//
this.ucPcbHTParam.Location = new System.Drawing.Point(3, 3);
this.ucPcbHTParam.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.ucPcbHTParam.Name = "ucPcbHTParam";
this.ucPcbHTParam.Size = new System.Drawing.Size(226, 186);
this.ucPcbHTParam.TabIndex = 5;
//
// layoutControlItem18
//
this.layoutControlItem18.Control = this.ucPcbHTParam;
this.layoutControlItem18.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem18.MinSize = new System.Drawing.Size(228, 24);
this.layoutControlItem18.Name = "layoutControlItem18";
this.layoutControlItem18.Size = new System.Drawing.Size(230, 190);
this.layoutControlItem18.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem18.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem18.TextVisible = false;
//
// ucSocParam
//
this.ucSocParam.Location = new System.Drawing.Point(703, 456);
this.ucSocParam.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.ucSocParam.Name = "ucSocParam";
this.ucSocParam.Size = new System.Drawing.Size(222, 188);
this.ucSocParam.TabIndex = 14;
//
// ucDOCParam
//
this.ucDOCParam.Location = new System.Drawing.Point(225, 2);
this.ucDOCParam.Name = "ucDOCParam";
this.ucDOCParam.Size = new System.Drawing.Size(221, 188);
this.ucDOCParam.TabIndex = 5;
//
// ucCOCParam
//
this.ucCOCParam.Location = new System.Drawing.Point(2, 2);
this.ucCOCParam.Name = "ucCOCParam";
this.ucCOCParam.Size = new System.Drawing.Size(219, 188);
this.ucCOCParam.TabIndex = 4;
//
// layoutControlItem14
//
this.layoutControlItem14.Control = this.ucCOCParam;
this.layoutControlItem14.CustomizationFormText = "layoutControlItem14";
this.layoutControlItem14.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem14.Name = "layoutControlItem14";
this.layoutControlItem14.Size = new System.Drawing.Size(223, 192);
this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem14.TextVisible = false;
//
// layoutControlItem15
//
this.layoutControlItem15.Control = this.ucDOCParam;
this.layoutControlItem15.CustomizationFormText = "layoutControlItem15";
this.layoutControlItem15.Location = new System.Drawing.Point(223, 0);
this.layoutControlItem15.Name = "layoutControlItem15";
this.layoutControlItem15.Size = new System.Drawing.Size(225, 192);
this.layoutControlItem15.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem15.TextVisible = false;
//
// ucDLTParam
//
this.ucDLTParam.Location = new System.Drawing.Point(239, 2);
this.ucDLTParam.Name = "ucDLTParam";
this.ucDLTParam.Size = new System.Drawing.Size(225, 181);
this.ucDLTParam.TabIndex = 5;
//
// ucDHTParam
//
this.ucDHTParam.Location = new System.Drawing.Point(2, 2);
this.ucDHTParam.Name = "ucDHTParam";
this.ucDHTParam.Size = new System.Drawing.Size(233, 181);
this.ucDHTParam.TabIndex = 4;
//
// layoutControlItem12
//
this.layoutControlItem12.Control = this.ucDHTParam;
this.layoutControlItem12.CustomizationFormText = "layoutControlItem12";
this.layoutControlItem12.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem12.Name = "layoutControlItem12";
this.layoutControlItem12.Size = new System.Drawing.Size(237, 185);
this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem12.TextVisible = false;
//
// layoutControlItem13
//
this.layoutControlItem13.Control = this.ucDLTParam;
this.layoutControlItem13.CustomizationFormText = "layoutControlItem13";
this.layoutControlItem13.Location = new System.Drawing.Point(237, 0);
this.layoutControlItem13.Name = "layoutControlItem13";
this.layoutControlItem13.Size = new System.Drawing.Size(229, 185);
this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem13.TextVisible = false;
//
// ucCLTParam
//
this.ucCLTParam.Location = new System.Drawing.Point(225, 2);
this.ucCLTParam.Name = "ucCLTParam";
this.ucCLTParam.Size = new System.Drawing.Size(221, 181);
this.ucCLTParam.TabIndex = 5;
//
// ucCHTParam
//
this.ucCHTParam.Location = new System.Drawing.Point(2, 2);
this.ucCHTParam.Name = "ucCHTParam";
this.ucCHTParam.Size = new System.Drawing.Size(219, 181);
this.ucCHTParam.TabIndex = 4;
//
// layoutControlItem9
//
this.layoutControlItem9.Control = this.ucCHTParam;
this.layoutControlItem9.CustomizationFormText = "layoutControlItem9";
this.layoutControlItem9.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem9.Name = "layoutControlItem9";
this.layoutControlItem9.Size = new System.Drawing.Size(223, 185);
this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem9.TextVisible = false;
//
// layoutControlItem10
//
this.layoutControlItem10.Control = this.ucCLTParam;
this.layoutControlItem10.CustomizationFormText = "layoutControlItem10";
this.layoutControlItem10.Location = new System.Drawing.Point(223, 0);
this.layoutControlItem10.Name = "layoutControlItem10";
this.layoutControlItem10.Size = new System.Drawing.Size(225, 185);
this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem10.TextVisible = false;
//
// ucSUVParam
//
this.ucSUVParam.Location = new System.Drawing.Point(695, 2);
this.ucSUVParam.Name = "ucSUVParam";
this.ucSUVParam.Size = new System.Drawing.Size(225, 181);
this.ucSUVParam.TabIndex = 7;
//
// ucSOVParam
//
this.ucSOVParam.Location = new System.Drawing.Point(454, 2);
this.ucSOVParam.Name = "ucSOVParam";
this.ucSOVParam.Size = new System.Drawing.Size(237, 181);
this.ucSOVParam.TabIndex = 6;
//
// ucCUVParam
//
this.ucCUVParam.Location = new System.Drawing.Point(225, 2);
this.ucCUVParam.Name = "ucCUVParam";
this.ucCUVParam.Size = new System.Drawing.Size(225, 181);
this.ucCUVParam.TabIndex = 5;
//
// ucCOVParam
//
this.ucCOVParam.Location = new System.Drawing.Point(2, 2);
this.ucCOVParam.Name = "ucCOVParam";
this.ucCOVParam.Size = new System.Drawing.Size(219, 181);
this.ucCOVParam.TabIndex = 4;
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.ucCOVParam;
this.layoutControlItem4.CustomizationFormText = "layoutControlItem4";
this.layoutControlItem4.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(223, 185);
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.ucCUVParam;
this.layoutControlItem5.CustomizationFormText = "layoutControlItem5";
this.layoutControlItem5.Location = new System.Drawing.Point(223, 0);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(229, 185);
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.ucSOVParam;
this.layoutControlItem6.CustomizationFormText = "layoutControlItem6";
this.layoutControlItem6.Location = new System.Drawing.Point(452, 0);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(241, 185);
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.ucSUVParam;
this.layoutControlItem7.CustomizationFormText = "layoutControlItem7";
this.layoutControlItem7.Location = new System.Drawing.Point(693, 0);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(229, 185);
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// layoutControlItem16
//
this.layoutControlItem16.Control = this.ucSocParam;
this.layoutControlItem16.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem16.Name = "layoutControlItem16";
this.layoutControlItem16.Size = new System.Drawing.Size(226, 192);
this.layoutControlItem16.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem16.TextVisible = false;
//
// fmxParamConfig
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(932, 777);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxParamConfig.IconOptions.Icon")));
this.Name = "fmxParamConfig";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Parameter Config";
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gbDefaultParam)).EndInit();
this.gbDefaultParam.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl7)).EndInit();
this.layoutControl7.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbCurrentParam)).EndInit();
this.gbCurrentParam.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl5)).EndInit();
this.layoutControl5.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbDchTempParam)).EndInit();
this.gbDchTempParam.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).EndInit();
this.layoutControl4.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbChaTempParam)).EndInit();
this.gbChaTempParam.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit();
this.layoutControl3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gbVoltageParamSet)).EndInit();
this.gbVoltageParamSet.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.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.groupControl1)).EndInit();
this.groupControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).EndInit();
this.layoutControl6.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraEditors.SimpleButton btnClose;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private System.Windows.Forms.Timer tmrDisplay;
private DevExpress.XtraEditors.GroupControl gbVoltageParamSet;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private Controls.ucParamSet ucCOVParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private Controls.ucParamSet ucCUVParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private Controls.ucParamSet ucSUVParam;
private Controls.ucParamSet ucSOVParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
private DevExpress.XtraEditors.GroupControl gbChaTempParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
private DevExpress.XtraLayout.LayoutControl layoutControl3;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
private Controls.ucParamSet ucCLTParam;
private Controls.ucParamSet ucCHTParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
private DevExpress.XtraEditors.GroupControl gbDchTempParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11;
private DevExpress.XtraLayout.LayoutControl layoutControl4;
private Controls.ucParamSet ucDLTParam;
private Controls.ucParamSet ucDHTParam;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13;
private DevExpress.XtraEditors.GroupControl gbCurrentParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControl layoutControl5;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5;
private Controls.ucParamSet ucDOCParam;
private Controls.ucParamSet ucCOCParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem15;
private DevExpress.XtraEditors.GroupControl gbDefaultParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem19;
private DevExpress.XtraLayout.LayoutControl layoutControl7;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup7;
private DevExpress.XtraEditors.SimpleButton btnDefaultSet;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem22;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private Controls.ucParamSet ucSocParam;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup6;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem16;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4;
private DevExpress.XtraEditors.GroupControl groupControl1;
private DevExpress.XtraLayout.LayoutControl layoutControl6;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem17;
private Controls.ucParamSet ucPcbHTParam;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem18;
}
}

View File

@@ -0,0 +1,341 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Controls;
namespace LFP_Manager.Forms
{
public partial class fmxParamConfig : DevExpress.XtraEditors.XtraForm
{
#region DELEGATE
public delegate void ParamUpdateEvent(object sendor);
public delegate void ParamCmdEvent(int sId, int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib);
#endregion
#region VARIABLES
int SystemId = 0;
DeviceParamData Param;
DeviceCalibration Calib;
public event ParamUpdateEvent OnUpdate = null;
public event ParamCmdEvent OnCommand = null;
#endregion
#region CONSTRUCTORS
public fmxParamConfig()
{
InitializeComponent();
}
public fmxParamConfig(int sId, DeviceParamData aParam)
{
InitializeComponent();
SystemId = sId;
Param = aParam;
InitComponent();
gbVoltageParamSet.Text = "Parameter Config";
tmrDisplay.Enabled = true;
}
public void InitComponent()
{
// Cell Voltage Parameter
ucCOVParam.SetParamName(0, "Cell Over Voltage");
ucCOVParam.SetParamName(1, "mV");
ucCOVParam.SetId(0);
ucCOVParam.OnCommand += OnCmdEvent;
ucCUVParam.SetParamName(0, "Cell Under Voltage");
ucCUVParam.SetParamName(1, "mV");
ucCUVParam.SetId(1);
ucCUVParam.OnCommand += OnCmdEvent;
//ucCUVParam.EnableItem(0, false);
// System Voltage Parameter
ucSOVParam.SetParamName(0, "System Over Voltage");
ucSOVParam.SetParamName(1, "V");
ucSOVParam.SetId(2);
ucSOVParam.OnCommand += OnCmdEvent;
ucSUVParam.SetParamName(0, "System Under Voltage");
ucSUVParam.SetParamName(1, "V");
ucSUVParam.SetId(3);
ucSUVParam.OnCommand += OnCmdEvent;
//ucSUVParam.EnableItem(0, false);
// Charge Temperature Parameter
ucCHTParam.SetParamName(0, "Charge High Temp");
ucCHTParam.SetParamName(1, "C");
ucCHTParam.SetId(4);
ucCHTParam.OnCommand += OnCmdEvent;
ucCLTParam.SetParamName(0, "Charge Low Temp");
ucCLTParam.SetParamName(1, "C");
ucCLTParam.SetId(5);
ucCLTParam.OnCommand += OnCmdEvent;
// Discharge Temperature Parameter
ucDHTParam.SetParamName(0, "Discharge High Temp");
ucDHTParam.SetParamName(1, "C");
ucDHTParam.SetId(6);
ucDHTParam.OnCommand += OnCmdEvent;
//ucDHTParam.EnableItem(0, false);
ucDLTParam.SetParamName(0, "Discharge Low Temp");
ucDLTParam.SetParamName(1, "C");
ucDLTParam.SetId(7);
ucDLTParam.OnCommand += OnCmdEvent;
//ucDLTParam.EnableItem(0, false);
// Over Current Parameter
ucCOCParam.SetParamName(0, "Charge Over Current");
ucCOCParam.SetParamName(1, "A");
ucCOCParam.SetId(8);
ucCOCParam.OnCommand += OnCmdEvent;
//ucCOCParam.EnableItem(2, false);
ucDOCParam.SetParamName(0, "Discharge Over Current");
ucDOCParam.SetParamName(1, "A");
ucDOCParam.SetId(9);
ucDOCParam.OnCommand += OnCmdEvent;
//ucDOCParam.EnableItem(2, false);
ucPcbHTParam.SetParamName(0, "PCB High Temp");
ucPcbHTParam.SetParamName(1, "C");
ucPcbHTParam.SetId(11);
ucPcbHTParam.OnCommand += OnCmdEvent;
//ucDLTParam.EnableItem(0, false);
// Low Capacity Parameter
ucSocParam.SetParamName(0, "SOC");
ucSocParam.SetParamName(1, "%");
ucSocParam.SetId(10);
ucSocParam.OnCommand += OnCmdEvent;
ucSocParam.VisibleItem(0, false);
ucSocParam.VisibleItem(2, false);
}
#endregion
#region COMMAND EVENT
private void OnCmdEvent(int mode, int flag, ParamData aParam)
{
int cmd = 0;
DeviceParamData wParam = Param.DeepCopy();
switch (mode)
{
case 0: // Cell Over Voltage
cmd = csConstData.UART_PARAM_LIST.CELL_OVER_VOLTAGE;
wParam.CellOverVoltageTrip = aParam.Fault;
wParam.CellOverVoltageWarning = aParam.Warning;
wParam.CellOverVoltageRelease = aParam.Release;
break;
case 1: // Cell Under Voltage
cmd = csConstData.UART_PARAM_LIST.CELL_UNDER_VOLTAGE;
wParam.CellUnderVoltageTrip = aParam.Fault;
wParam.CellUnderVoltageWarning = aParam.Warning;
wParam.CellUnderVoltageRelease = aParam.Release;
break;
case 2: // System Over Voltage
cmd = csConstData.UART_PARAM_LIST.PACK_OVER_VOLTAGE;
wParam.SysOverVoltageTrip = aParam.Fault;
wParam.SysOverVoltageWarning = aParam.Warning;
wParam.SysOverVoltageRelease = aParam.Release;
break;
case 3: // System Under Voltage
cmd = csConstData.UART_PARAM_LIST.PACK_UNDER_VOLTAGE;
wParam.SysUnderVoltageTrip = aParam.Fault;
wParam.SysUnderVoltageWarning = aParam.Warning;
wParam.SysUnderVoltageRelease = aParam.Release;
break;
case 4: // Charge High Temperature
cmd = csConstData.UART_PARAM_LIST.CHG_HIGH_TEMPERATURE;
wParam.ChaHighTempTrip = aParam.Fault;
wParam.ChaHighTempWarning = aParam.Warning;
wParam.ChaHighTempRelease = aParam.Release;
break;
case 5: // Charge Low Temperature
cmd = csConstData.UART_PARAM_LIST.CHG_LOW_TEMPERATURE;
wParam.ChaLowTempTrip = aParam.Fault;
wParam.ChaLowTempWarning = aParam.Warning;
wParam.ChaLowTempRelease = aParam.Release;
break;
case 6: // Discharge High Temperature
cmd = csConstData.UART_PARAM_LIST.DCH_HIGH_TEMPERATURE;
wParam.DchHighTempTrip = aParam.Fault;
wParam.DchHighTempWarning = aParam.Warning;
wParam.DchHighTempRelease = aParam.Release;
break;
case 7: // Discharge Low Temperature
cmd = csConstData.UART_PARAM_LIST.DCH_LOW_TEMPERATURE;
wParam.DchLowTempTrip = aParam.Fault;
wParam.DchLowTempWarning = aParam.Warning;
wParam.DchLowTempRelease = aParam.Release;
break;
case 8: // Charge Over Current
cmd = csConstData.UART_PARAM_LIST.CHG_OVER_CURRENT;
wParam.ChaOverCurrentTrip2 = aParam.Fault;
wParam.ChaOverCurrentTrip1 = aParam.Warning;
wParam.ChaOverCurrentReleaseTime = aParam.Release;
break;
case 9: // Discharge Over Current
cmd = csConstData.UART_PARAM_LIST.DCH_OVER_CURRENT;
wParam.DchOverCurrentTrip2 = aParam.Fault;
wParam.DchOverCurrentTrip1 = aParam.Warning;
wParam.DchOverCurrentReleaseTime = aParam.Release;
break;
case 10:
cmd = csConstData.UART_PARAM_LIST.LOW_CAPACITY;
wParam.LowSocTrip = aParam.Fault;
wParam.LowSocWarning = aParam.Warning;
wParam.LowSocRelease = aParam.Release;
break;
case 11:
cmd = csConstData.UART_PARAM_LIST.PCB_HIGH_TEMPERATURE;
wParam.PcbHighTempTrip = aParam.Fault;
wParam.PcbHighTempWarning = aParam.Warning;
wParam.PcbHighTempRelease = aParam.Release;
break;
case 16: // Default Parameter
cmd = 0;
wParam.DefalutParamOption = aParam.Fault;
wParam.DefalutParamAll = aParam.Release;
break;
case 0x2D:
wParam.ReadParamAll = 0x002D;
cmd = 0x2D;
break;
case 99:
cmd = 200; // All parameter read
break;
}
OnCommand?.Invoke(SystemId, cmd, 6, flag, ref wParam, ref Calib);
}
#endregion
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
public void UpdateData(DeviceParamData aParam, DeviceCalibration aCalib)
{
Param = aParam;
Calib = aCalib;
}
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayValue();
OnUpdate?.Invoke(this);
}
private void DisplayValue()
{
ParamData pData = new ParamData();
// Cell Voltage Parameter
pData.Fault = Param.CellOverVoltageTrip;
pData.Warning = Param.CellOverVoltageWarning;
pData.Release = Param.CellOverVoltageRelease;
ucCOVParam.UpdateData(pData);
pData.Fault = Param.CellUnderVoltageTrip;
pData.Warning = Param.CellUnderVoltageWarning;
pData.Release = Param.CellUnderVoltageRelease;
ucCUVParam.UpdateData(pData);
// System Voltage Parameter
pData.Fault = Param.SysOverVoltageTrip;
pData.Warning = Param.SysOverVoltageWarning;
pData.Release = Param.SysOverVoltageRelease;
ucSOVParam.UpdateData(pData);
pData.Fault = Param.SysUnderVoltageTrip;
pData.Warning = Param.SysUnderVoltageWarning;
pData.Release = Param.SysUnderVoltageRelease;
ucSUVParam.UpdateData(pData);
// Charge Temp Parameter
pData.Fault = Param.ChaHighTempTrip;
pData.Warning = Param.ChaHighTempWarning;
pData.Release = Param.ChaHighTempRelease;
ucCHTParam.UpdateData(pData);
pData.Fault = Param.ChaLowTempTrip;
pData.Warning = Param.ChaLowTempWarning;
pData.Release = Param.ChaLowTempRelease;
ucCLTParam.UpdateData(pData);
// Discharge Temp Parameter
pData.Fault = Param.DchHighTempTrip;
pData.Warning = Param.DchHighTempWarning;
pData.Release = Param.DchHighTempRelease;
ucDHTParam.UpdateData(pData);
pData.Fault = Param.DchLowTempTrip;
pData.Warning = Param.DchLowTempWarning;
pData.Release = Param.DchLowTempRelease;
ucDLTParam.UpdateData(pData);
// Charge Over Current
pData.Fault = Param.ChaOverCurrentTrip2;
pData.Warning = Param.ChaOverCurrentTrip1;
pData.Release = Param.ChaOverCurrentReleaseTime;
ucCOCParam.UpdateData(pData);
// Discharge Over Current
pData.Fault = Param.DchOverCurrentTrip2;
pData.Warning = Param.DchOverCurrentTrip1;
pData.Release = Param.DchOverCurrentReleaseTime;
ucDOCParam.UpdateData(pData);
// PCB Temp Parameter
pData.Fault = Param.PcbHighTempTrip;
pData.Warning = Param.PcbHighTempWarning;
pData.Release = Param.PcbHighTempRelease;
ucPcbHTParam.UpdateData(pData);
// SOC Parameter
pData.Fault = Param.LowSocTrip;
pData.Warning = Param.LowSocWarning;
pData.Release = Param.LowSocRelease;
ucSocParam.UpdateData(pData);
}
private void btnGetAll_Click(object sender, EventArgs e)
{
ParamData aa = new ParamData();
OnCmdEvent(0x2D, 0, aa);
}
private void btnDefaultSet_Click(object sender, EventArgs e)
{
ParamData aa = new ParamData();
OnCmdEvent(16, 1, aa);
//DefaultTempAlarm();
}
}
}

File diff suppressed because it is too large Load Diff

94
LFP_Manager/Forms/fmxWait.Designer.cs generated Normal file
View File

@@ -0,0 +1,94 @@
namespace LFP_Manager.Forms
{
partial class fmxWait
{
/// <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 Windows Form 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.progressPanel1 = new DevExpress.XtraWaitForm.ProgressPanel();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// progressPanel1
//
this.progressPanel1.Appearance.BackColor = System.Drawing.Color.Transparent;
this.progressPanel1.Appearance.Options.UseBackColor = true;
this.progressPanel1.AppearanceCaption.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F);
this.progressPanel1.AppearanceCaption.Options.UseFont = true;
this.progressPanel1.AppearanceDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
this.progressPanel1.AppearanceDescription.Options.UseFont = true;
this.progressPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.progressPanel1.ImageHorzOffset = 20;
this.progressPanel1.Location = new System.Drawing.Point(0, 16);
this.progressPanel1.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.progressPanel1.Name = "progressPanel1";
this.progressPanel1.Size = new System.Drawing.Size(287, 35);
this.progressPanel1.TabIndex = 0;
this.progressPanel1.Text = "progressPanel1";
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.AutoSize = true;
this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.tableLayoutPanel1.BackColor = System.Drawing.Color.Transparent;
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.progressPanel1, 0, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 13, 0, 13);
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(287, 67);
this.tableLayoutPanel1.TabIndex = 1;
//
// fmxWait
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoSize = true;
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.ClientSize = new System.Drawing.Size(287, 67);
this.Controls.Add(this.tableLayoutPanel1);
this.DoubleBuffered = true;
this.Name = "fmxWait";
this.ShowOnTopMode = DevExpress.XtraWaitForm.ShowFormOnTopMode.AboveAll;
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "Form1";
this.tableLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private DevExpress.XtraWaitForm.ProgressPanel progressPanel1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
}
}

View File

@@ -0,0 +1,43 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraWaitForm;
namespace LFP_Manager.Forms
{
public partial class fmxWait : WaitForm
{
public fmxWait()
{
InitializeComponent();
this.progressPanel1.AutoHeight = true;
}
#region Overrides
public override void SetCaption(string caption)
{
base.SetCaption(caption);
this.progressPanel1.Caption = caption;
}
public override void SetDescription(string description)
{
base.SetDescription(description);
this.progressPanel1.Description = description;
}
public override void ProcessCommand(Enum cmd, object arg)
{
base.ProcessCommand(cmd, arg);
}
#endregion
public enum WaitFormCommand
{
}
}
}

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>

Some files were not shown because too many files have changed in this diff Show More