초기 커밋.

This commit is contained in:
2025-12-19 13:59:34 +09:00
parent 1c0b03f88c
commit 79fea6964b
184 changed files with 94471 additions and 0 deletions

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_SB", "LFP_Manager\LFP_Manager_SB.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

BIN
LFP_Manager/AMO_LOGO.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,289 @@
using DevExpress.XtraEditors;
using DevExpress.XtraRichEdit.Import.Doc;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
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 static DevExpress.Xpo.Helpers.AssociatedCollectionCriteriaHelper;
namespace LFP_Manager.Controls
{
public partial class UcAntiTheftControl : DevExpress.XtraEditors.XtraUserControl
{
#region DELEGATE
public delegate void setCalibUpdate(object sender);
public delegate void setCalibCommand(int mode, int index, int flag,
ref CsDeviceData.DeviceModuleData.DeviceParamData aParam,
ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib);
public delegate Int32 getBattData(int item, int cno);
#endregion
#region VARIABLES
private int SystemId = 0;
private const int CALC_INDEX = 6;
private CsDeviceData.DeviceModuleData.DeviceParamData rParam;
private CsDeviceData.DeviceModuleData.DeviceCalibration rCalib;
private CsDeviceData.DeviceModuleData.DeviceCalibration wCalib;
public event setCalibCommand OnCommand = null;
public event getBattData OnGetBattData = null;
public event SendDataUartEvent OnSendUartData = null;
#endregion
#region CONSTRUCTORS
public UcAntiTheftControl()
{
InitializeComponent();
TmrDisplay.Enabled = true;
}
#endregion
#region EXT EVENT FUNCTION
private void OnCommnadEvent(int mode, int index, int flag,
ref CsDeviceData.DeviceModuleData.DeviceParamData aParam,
ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib)
{
OnCommand?.Invoke(mode, index, flag, ref aParam, ref aCalib);
}
private Int32 OnGetBattDataEvent(int item, int cno)
{
Int32 result = 0;
if (OnGetBattData != null)
{
result = OnGetBattData(item, cno);
}
return result;
}
#endregion
#region PUBLIC FUCTIONS
public void UpdateData(int sId, CsDeviceData.DeviceModuleData.DeviceCalibration aCalib)
{
SystemId = sId;
rCalib = aCalib;
}
#endregion
#region DISPLAY DATA
private void DisplayAntiTheft()
{
if (rCalib != null)
{
TeTimeOutSet.Text = string.Format("{0}", rCalib.AntiTheftComm.TimeOut);
TeFunctionSwitch.Text = string.Format("{0}", rCalib.AntiTheftComm.FuncSwitch);
TeGyroXAxis.Text = string.Format("{0}", rCalib.AntiTheftGyro.XAxis);
TeGyroYAxis.Text = string.Format("{0}", rCalib.AntiTheftGyro.YAxis);
TeGyroZAxis.Text = string.Format("{0}", rCalib.AntiTheftGyro.ZAxis);
TeGyroPolSel.Text = string.Format("{0}", rCalib.AntiTheftGyro.GyroPolicySel);
TeGyroFunctionSwitch.Text = string.Format("{0}", rCalib.AntiTheftGyro.GyroFuncSwitch);
TeGyroState.Text = string.Format("{0}", rCalib.AntiTheftGyro.GyroState);
}
}
#endregion
#region BUTTON EVENT
private void BtnCommUnlock_Click(object sender, EventArgs e)
{
AntiTheftCommParamWrite(0x3001, 0);
}
private void BtnATCommTimeoutSet_Click(object sender, EventArgs e)
{
if (TeTimeOutSetNew.Text != "")
{
int tmp = Convert.ToInt32(TeTimeOutSetNew.Text);
AntiTheftCommParamWrite(0x3000, tmp);
}
}
private void BtnATCommFuncSwSet_Click(object sender, EventArgs e)
{
if (TeFunctionSwitchNew.Text != "")
{
int tmp = Convert.ToInt32(TeFunctionSwitchNew.Text);
AntiTheftCommParamWrite(0x3002, tmp);
}
}
private void BtnGyroUnlock_Click(object sender, EventArgs e)
{
GyroScopeParamWrite(0x4007, 1);
}
private void MultiDateWriteCmd(ushort addr, int data, int len)
{
byte[] crc;
int i = 0;
// Normal mode --> Bootloader mode
byte[] sdata = new byte[7 + 2 + 2];
sdata[i++] = (byte)SystemId; // Device ID
sdata[i++] = (byte)CsSerialCommFunctionDelta.PRESET_MULTI_REG; // Command
sdata[i++] = (byte)(addr >> 8); // Write Register Address MSB
sdata[i++] = (byte)(addr >> 0); // Write Register Address LSB
sdata[i++] = (byte)(1 >> 8); // Write Count of Register MSB
sdata[i++] = (byte)(1 >> 0); // Write Count of Register LSB
sdata[i++] = (byte)(1 * 2); // Byte Count - [2 * (Num of register)]
sdata[i++] = (byte)(data >> 8);
sdata[i++] = (byte)(data >> 0);
crc = CsSerialCommFunctionDelta.GetCRC(sdata, i);
sdata[i++] = crc[0]; // CRCH
sdata[i++] = crc[1]; // CRCL
OnSendUartData?.Invoke(addr, sdata, false, 1);
}
private void BtnGyroXAxisSet_Click(object sender, EventArgs e)
{
if (TeGyroXAxisNew.Text != "")
{
int tmp = Convert.ToInt32(TeGyroXAxisNew.Text);
wCalib = rCalib.DeepCopy();
wCalib.AntiTheftGyro.XAxis = tmp;
OnCommand?.Invoke(26, CALC_INDEX, 1, ref rParam, ref wCalib);
}
}
private void BtnGyroYAxisSet_Click(object sender, EventArgs e)
{
if (TeGyroYAxisNew.Text != "")
{
int tmp = Convert.ToInt32(TeGyroYAxisNew.Text);
wCalib = rCalib.DeepCopy();
wCalib.AntiTheftGyro.YAxis = tmp;
OnCommand?.Invoke(27, CALC_INDEX, 1, ref rParam, ref wCalib);
}
}
private void BtnGyroZAxisSet_Click(object sender, EventArgs e)
{
if (TeGyroZAxisNew.Text != "")
{
int tmp = Convert.ToInt32(TeGyroZAxisNew.Text);
wCalib = rCalib.DeepCopy();
wCalib.AntiTheftGyro.ZAxis = tmp;
OnCommand?.Invoke(28, CALC_INDEX, 1, ref rParam, ref wCalib);
}
}
private void GyroScopeParamWrite(ushort waddr, int data)
{
byte[] crc;
ushort raddr = 0x4000;
int i = 0;
// Normal mode --> Bootloader mode
byte[] sdata = new byte[11 + 2 + 2];
sdata[i++] = (byte)SystemId; // Device ID
sdata[i++] = (byte)CsSerialCommFunctionDelta.READ_WRITE_REG; // Command
sdata[i++] = (byte)(raddr >> 8); // Read Register Address MSB
sdata[i++] = (byte)(raddr >> 0); // Read Register Address LSB
sdata[i++] = (byte)(7 >> 8); // Read Count of Register MSB
sdata[i++] = (byte)(7 >> 0); // Read Count of Register LSB
sdata[i++] = (byte)(waddr >> 8); // Write Register Address MSB
sdata[i++] = (byte)(waddr >> 0); // Write Register Address LSB
sdata[i++] = (byte)(1 >> 8); // Write Count of Register MSB
sdata[i++] = (byte)(1 >> 0); // Write Count of Register LSB
sdata[i++] = (byte)(1 * 2); // Byte Count - [2 * (Num of register)]
sdata[i++] = (byte)(data >> 8);
sdata[i++] = (byte)(data >> 0);
crc = CsSerialCommFunctionDelta.GetCRC(sdata, i);
sdata[i++] = crc[1]; // CRCH
sdata[i++] = crc[0]; // CRCL
OnSendUartData?.Invoke((ushort)SystemId, sdata, false, 1);
}
private void AntiTheftCommParamWrite(ushort waddr, int data)
{
byte[] crc;
ushort raddr = 0x3000;
int i = 0;
// Normal mode --> Bootloader mode
byte[] sdata = new byte[11 + 2 + 2];
sdata[i++] = (byte)SystemId; // Device ID
sdata[i++] = (byte)CsSerialCommFunctionDelta.SPECIAL_REG_02; // Command
sdata[i++] = (byte)(raddr >> 8); // Read Register Address MSB
sdata[i++] = (byte)(raddr >> 0); // Read Register Address LSB
sdata[i++] = (byte)(3 >> 8); // Read Count of Register MSB
sdata[i++] = (byte)(3 >> 0); // Read Count of Register LSB
sdata[i++] = (byte)(waddr >> 8); // Write Register Address MSB
sdata[i++] = (byte)(waddr >> 0); // Write Register Address LSB
sdata[i++] = (byte)(1 >> 8); // Write Count of Register MSB
sdata[i++] = (byte)(1 >> 0); // Write Count of Register LSB
sdata[i++] = (byte)(1 * 2); // Byte Count - [2 * (Num of register)]
sdata[i++] = (byte)(data >> 8);
sdata[i++] = (byte)(data >> 0);
crc = CsSerialCommFunctionDelta.GetCRC(sdata, i);
sdata[i++] = crc[1]; // CRCH
sdata[i++] = crc[0]; // CRCL
OnSendUartData?.Invoke((ushort)SystemId, sdata, false, 1);
}
private void BtnGyroPolSel_Click(object sender, EventArgs e)
{
if (TeGyroPolSelNew.Text != "")
{
int tmp = Convert.ToInt32(TeGyroPolSelNew.Text);
GyroScopeParamWrite(0x4003, tmp);
}
}
private void BtnFuncSw_Click(object sender, EventArgs e)
{
if (TeGyroFunctionSwitchNew.Text != "")
{
int tmp = Convert.ToInt32(TeGyroFunctionSwitchNew.Text);
GyroScopeParamWrite(0x4004, tmp);
}
}
private void BtnGyroState_Click(object sender, EventArgs e)
{
}
#endregion
#region TIMER EVENT
private void TmrDisplay_Tick(object sender, EventArgs e)
{
DisplayAntiTheft();
}
#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,168 @@
namespace LFP_Manager.Controls
{
partial class UcFaultAlarm
{
/// <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.XtraGauges.Core.Model.IndicatorState indicatorState1 = new DevExpress.XtraGauges.Core.Model.IndicatorState();
DevExpress.XtraGauges.Core.Model.IndicatorState indicatorState2 = new DevExpress.XtraGauges.Core.Model.IndicatorState();
DevExpress.XtraGauges.Core.Model.IndicatorState indicatorState3 = new DevExpress.XtraGauges.Core.Model.IndicatorState();
DevExpress.XtraGauges.Core.Model.IndicatorState indicatorState4 = new DevExpress.XtraGauges.Core.Model.IndicatorState();
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.gaugeFault = new DevExpress.XtraGauges.Win.GaugeControl();
this.stateIndicatorGauge1 = new DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorGauge();
this.IndicatorFault = new DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorComponent();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.LbFaultName = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.stateIndicatorGauge1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.IndicatorFault)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LbFaultName)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.gaugeFault);
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(784, 122, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(354, 30);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// gaugeFault
//
this.gaugeFault.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.stateIndicatorGauge1});
this.gaugeFault.Location = new System.Drawing.Point(0, 0);
this.gaugeFault.Name = "gaugeFault";
this.gaugeFault.Size = new System.Drawing.Size(40, 30);
this.gaugeFault.TabIndex = 5;
//
// stateIndicatorGauge1
//
this.stateIndicatorGauge1.Bounds = new System.Drawing.Rectangle(6, 6, 28, 20);
this.stateIndicatorGauge1.Indicators.AddRange(new DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorComponent[] {
this.IndicatorFault});
this.stateIndicatorGauge1.Name = "stateIndicatorGauge1";
//
// IndicatorFault
//
this.IndicatorFault.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(124F, 124F);
this.IndicatorFault.Name = "stateIndicatorComponent1";
this.IndicatorFault.Size = new System.Drawing.SizeF(200F, 200F);
this.IndicatorFault.StateIndex = 3;
indicatorState1.Name = "State1";
indicatorState1.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.ElectricLight1;
indicatorState2.Name = "State2";
indicatorState2.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.ElectricLight2;
indicatorState3.Name = "State3";
indicatorState3.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.ElectricLight3;
indicatorState4.Name = "State4";
indicatorState4.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.ElectricLight4;
this.IndicatorFault.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] {
indicatorState1,
indicatorState2,
indicatorState3,
indicatorState4});
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.LbFaultName,
this.layoutControlItem1});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.Root.Size = new System.Drawing.Size(354, 30);
this.Root.TextVisible = false;
//
// LbFaultName
//
this.LbFaultName.AllowHotTrack = false;
this.LbFaultName.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.LbFaultName.AppearanceItemCaption.Options.UseFont = true;
this.LbFaultName.Location = new System.Drawing.Point(40, 0);
this.LbFaultName.MaxSize = new System.Drawing.Size(0, 35);
this.LbFaultName.MinSize = new System.Drawing.Size(54, 30);
this.LbFaultName.Name = "LbFaultName";
this.LbFaultName.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.LbFaultName.Size = new System.Drawing.Size(314, 30);
this.LbFaultName.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.LbFaultName.Text = "Fault Name";
this.LbFaultName.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize;
this.LbFaultName.TextSize = new System.Drawing.Size(50, 20);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.gaugeFault;
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MaxSize = new System.Drawing.Size(40, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(40, 24);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.layoutControlItem1.Size = new System.Drawing.Size(40, 30);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// UcFaultAlarm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "UcFaultAlarm";
this.Size = new System.Drawing.Size(354, 30);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.stateIndicatorGauge1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.IndicatorFault)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LbFaultName)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraLayout.SimpleLabelItem LbFaultName;
private DevExpress.XtraGauges.Win.GaugeControl gaugeFault;
private DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorGauge stateIndicatorGauge1;
private DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorComponent IndicatorFault;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
}
}

View File

@@ -0,0 +1,52 @@
using DevExpress.XtraEditors;
using DevExpress.XtraGauges.Win;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Claims;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace LFP_Manager.Controls
{
public partial class UcFaultAlarm : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
private int id = 0;
#endregion
#region CONSTRUCTOR
public UcFaultAlarm()
{
InitializeComponent();
gaugeFault.BackColor = SystemColors.Control;
gaugeFault.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder;
gaugeFault.LayoutPadding = new DevExpress.XtraGauges.Core.Base.Thickness(2, 2, 2, 2);
}
#endregion
#region PUBLIC METHODS
public void SetFaultName(int no, string nm)
{
id = no;
LbFaultName.Text = nm;
}
public void SetFault(int alarm)
{
IndicatorFault.StateIndex = alarm;
}
public void SetControlFlag(bool flag)
{
if (flag)
IndicatorFault.StateIndex = 3;
else
IndicatorFault.StateIndex = 0;
}
#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,455 @@
namespace LFP_Manager.Controls
{
partial class UcFaultAlarmGroup
{
/// <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.ucFaultAlarm14 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm13 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm8 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm6 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm4 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm10 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm12 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm2 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm11 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm9 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm7 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm5 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm3 = new LFP_Manager.Controls.UcFaultAlarm();
this.ucFaultAlarm1 = new LFP_Manager.Controls.UcFaultAlarm();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Root)).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.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).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();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.ucFaultAlarm14);
this.layoutControl1.Controls.Add(this.ucFaultAlarm13);
this.layoutControl1.Controls.Add(this.ucFaultAlarm8);
this.layoutControl1.Controls.Add(this.ucFaultAlarm6);
this.layoutControl1.Controls.Add(this.ucFaultAlarm4);
this.layoutControl1.Controls.Add(this.ucFaultAlarm10);
this.layoutControl1.Controls.Add(this.ucFaultAlarm12);
this.layoutControl1.Controls.Add(this.ucFaultAlarm2);
this.layoutControl1.Controls.Add(this.ucFaultAlarm11);
this.layoutControl1.Controls.Add(this.ucFaultAlarm9);
this.layoutControl1.Controls.Add(this.ucFaultAlarm7);
this.layoutControl1.Controls.Add(this.ucFaultAlarm5);
this.layoutControl1.Controls.Add(this.ucFaultAlarm3);
this.layoutControl1.Controls.Add(this.ucFaultAlarm1);
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(443, 439, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(1080, 95);
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(0, 0, 0, 0);
this.Root.ShowInCustomizationForm = false;
this.Root.Size = new System.Drawing.Size(1080, 95);
this.Root.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem1,
this.layoutControlItem2,
this.layoutControlItem3,
this.layoutControlItem4,
this.layoutControlItem7,
this.layoutControlItem5,
this.layoutControlItem6,
this.layoutControlItem8,
this.layoutControlItem9,
this.layoutControlItem10,
this.layoutControlItem11,
this.layoutControlItem12,
this.layoutControlItem13,
this.layoutControlItem14});
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(1080, 95);
this.layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.layoutControlGroup1.Text = "Fault Alarm";
//
// ucFaultAlarm14
//
this.ucFaultAlarm14.Location = new System.Drawing.Point(925, 60);
this.ucFaultAlarm14.Name = "ucFaultAlarm14";
this.ucFaultAlarm14.Size = new System.Drawing.Size(152, 32);
this.ucFaultAlarm14.TabIndex = 17;
//
// ucFaultAlarm13
//
this.ucFaultAlarm13.Location = new System.Drawing.Point(925, 24);
this.ucFaultAlarm13.Name = "ucFaultAlarm13";
this.ucFaultAlarm13.Size = new System.Drawing.Size(152, 32);
this.ucFaultAlarm13.TabIndex = 16;
//
// ucFaultAlarm8
//
this.ucFaultAlarm8.Location = new System.Drawing.Point(463, 60);
this.ucFaultAlarm8.Name = "ucFaultAlarm8";
this.ucFaultAlarm8.Size = new System.Drawing.Size(149, 32);
this.ucFaultAlarm8.TabIndex = 15;
//
// ucFaultAlarm6
//
this.ucFaultAlarm6.Location = new System.Drawing.Point(309, 60);
this.ucFaultAlarm6.Name = "ucFaultAlarm6";
this.ucFaultAlarm6.Size = new System.Drawing.Size(150, 32);
this.ucFaultAlarm6.TabIndex = 14;
//
// ucFaultAlarm4
//
this.ucFaultAlarm4.Location = new System.Drawing.Point(156, 60);
this.ucFaultAlarm4.Name = "ucFaultAlarm4";
this.ucFaultAlarm4.Size = new System.Drawing.Size(149, 32);
this.ucFaultAlarm4.TabIndex = 13;
//
// ucFaultAlarm10
//
this.ucFaultAlarm10.Location = new System.Drawing.Point(616, 60);
this.ucFaultAlarm10.Name = "ucFaultAlarm10";
this.ucFaultAlarm10.Size = new System.Drawing.Size(152, 32);
this.ucFaultAlarm10.TabIndex = 12;
//
// ucFaultAlarm12
//
this.ucFaultAlarm12.Location = new System.Drawing.Point(772, 60);
this.ucFaultAlarm12.Name = "ucFaultAlarm12";
this.ucFaultAlarm12.Size = new System.Drawing.Size(149, 32);
this.ucFaultAlarm12.TabIndex = 11;
//
// ucFaultAlarm2
//
this.ucFaultAlarm2.Location = new System.Drawing.Point(3, 60);
this.ucFaultAlarm2.Name = "ucFaultAlarm2";
this.ucFaultAlarm2.Size = new System.Drawing.Size(149, 32);
this.ucFaultAlarm2.TabIndex = 10;
//
// ucFaultAlarm11
//
this.ucFaultAlarm11.Location = new System.Drawing.Point(772, 24);
this.ucFaultAlarm11.Name = "ucFaultAlarm11";
this.ucFaultAlarm11.Size = new System.Drawing.Size(149, 32);
this.ucFaultAlarm11.TabIndex = 9;
//
// ucFaultAlarm9
//
this.ucFaultAlarm9.Location = new System.Drawing.Point(616, 24);
this.ucFaultAlarm9.Name = "ucFaultAlarm9";
this.ucFaultAlarm9.Size = new System.Drawing.Size(152, 32);
this.ucFaultAlarm9.TabIndex = 8;
//
// ucFaultAlarm7
//
this.ucFaultAlarm7.Location = new System.Drawing.Point(463, 24);
this.ucFaultAlarm7.Name = "ucFaultAlarm7";
this.ucFaultAlarm7.Size = new System.Drawing.Size(149, 32);
this.ucFaultAlarm7.TabIndex = 7;
//
// ucFaultAlarm5
//
this.ucFaultAlarm5.Location = new System.Drawing.Point(309, 24);
this.ucFaultAlarm5.Name = "ucFaultAlarm5";
this.ucFaultAlarm5.Size = new System.Drawing.Size(150, 32);
this.ucFaultAlarm5.TabIndex = 6;
//
// ucFaultAlarm3
//
this.ucFaultAlarm3.Location = new System.Drawing.Point(156, 24);
this.ucFaultAlarm3.Name = "ucFaultAlarm3";
this.ucFaultAlarm3.Size = new System.Drawing.Size(149, 32);
this.ucFaultAlarm3.TabIndex = 5;
//
// ucFaultAlarm1
//
this.ucFaultAlarm1.Location = new System.Drawing.Point(3, 24);
this.ucFaultAlarm1.Name = "ucFaultAlarm1";
this.ucFaultAlarm1.Size = new System.Drawing.Size(149, 32);
this.ucFaultAlarm1.TabIndex = 4;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.ucFaultAlarm1;
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(108, 34);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(153, 36);
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.ucFaultAlarm3;
this.layoutControlItem2.Location = new System.Drawing.Point(153, 0);
this.layoutControlItem2.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(153, 36);
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.ucFaultAlarm5;
this.layoutControlItem3.Location = new System.Drawing.Point(306, 0);
this.layoutControlItem3.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(154, 36);
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.ucFaultAlarm7;
this.layoutControlItem4.Location = new System.Drawing.Point(460, 0);
this.layoutControlItem4.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(153, 36);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.ucFaultAlarm2;
this.layoutControlItem7.Location = new System.Drawing.Point(0, 36);
this.layoutControlItem7.MinSize = new System.Drawing.Size(108, 34);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(153, 36);
this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.ucFaultAlarm9;
this.layoutControlItem5.Location = new System.Drawing.Point(613, 0);
this.layoutControlItem5.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(156, 36);
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.ucFaultAlarm11;
this.layoutControlItem6.Location = new System.Drawing.Point(769, 0);
this.layoutControlItem6.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(153, 36);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.ucFaultAlarm4;
this.layoutControlItem8.CustomizationFormText = "layoutControlItem8";
this.layoutControlItem8.Location = new System.Drawing.Point(153, 36);
this.layoutControlItem8.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(153, 36);
this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem8.TextVisible = false;
//
// layoutControlItem9
//
this.layoutControlItem9.Control = this.ucFaultAlarm6;
this.layoutControlItem9.Location = new System.Drawing.Point(306, 36);
this.layoutControlItem9.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem9.Name = "layoutControlItem9";
this.layoutControlItem9.Size = new System.Drawing.Size(154, 36);
this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem9.TextVisible = false;
//
// layoutControlItem10
//
this.layoutControlItem10.Control = this.ucFaultAlarm8;
this.layoutControlItem10.Location = new System.Drawing.Point(460, 36);
this.layoutControlItem10.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem10.Name = "layoutControlItem10";
this.layoutControlItem10.Size = new System.Drawing.Size(153, 36);
this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem10.TextVisible = false;
//
// layoutControlItem11
//
this.layoutControlItem11.Control = this.ucFaultAlarm10;
this.layoutControlItem11.Location = new System.Drawing.Point(613, 36);
this.layoutControlItem11.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem11.Name = "layoutControlItem11";
this.layoutControlItem11.Size = new System.Drawing.Size(156, 36);
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.ucFaultAlarm12;
this.layoutControlItem12.Location = new System.Drawing.Point(769, 36);
this.layoutControlItem12.MinSize = new System.Drawing.Size(108, 30);
this.layoutControlItem12.Name = "layoutControlItem12";
this.layoutControlItem12.Size = new System.Drawing.Size(153, 36);
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.ucFaultAlarm13;
this.layoutControlItem13.Location = new System.Drawing.Point(922, 0);
this.layoutControlItem13.Name = "layoutControlItem13";
this.layoutControlItem13.Size = new System.Drawing.Size(156, 36);
this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem13.TextVisible = false;
//
// layoutControlItem14
//
this.layoutControlItem14.Control = this.ucFaultAlarm14;
this.layoutControlItem14.Location = new System.Drawing.Point(922, 36);
this.layoutControlItem14.Name = "layoutControlItem14";
this.layoutControlItem14.Size = new System.Drawing.Size(156, 36);
this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem14.TextVisible = false;
//
// UcFaultAlarmGroup
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.layoutControl1);
this.Name = "UcFaultAlarmGroup";
this.Size = new System.Drawing.Size(1080, 95);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Root)).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.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).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();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private UcFaultAlarm ucFaultAlarm5;
private UcFaultAlarm ucFaultAlarm3;
private UcFaultAlarm ucFaultAlarm1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private UcFaultAlarm ucFaultAlarm7;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private UcFaultAlarm ucFaultAlarm6;
private UcFaultAlarm ucFaultAlarm4;
private UcFaultAlarm ucFaultAlarm10;
private UcFaultAlarm ucFaultAlarm12;
private UcFaultAlarm ucFaultAlarm2;
private UcFaultAlarm ucFaultAlarm11;
private UcFaultAlarm ucFaultAlarm9;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
private UcFaultAlarm ucFaultAlarm8;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
private UcFaultAlarm ucFaultAlarm14;
private UcFaultAlarm ucFaultAlarm13;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14;
}
}

View File

@@ -0,0 +1,442 @@
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Utils;
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 UcFaultAlarmGroup : DevExpress.XtraEditors.XtraUserControl
{
#region CONSTANTS
private const int FAULT_ALARM_COUNT = 14;
private enum eAlarmComp
{
MODULE_OV = 0,
CELL_OV = 1,
MODULE_UV = 2,
CELL_UV = 3,
CHG_OC = 4,
DCH_OC = 5,
CHG_OT = 6,
CHG_UT = 7,
DCH_OT = 8,
DCH_UT = 9,
LOW_SOC = 10,
MOS_OT = 11,
SC = 12,
CB_OFF = 13,
}
#endregion
#region VARIABLES
private CommConfig Config;
private UcFaultAlarm[] FaultAlarm;
#endregion
#region CONSTRUCTORS
public UcFaultAlarmGroup()
{
InitializeComponent();
CreateAlarmComponent();
}
#endregion
#region COMPONENTS
private void CreateAlarmComponent()
{
FaultAlarm = new UcFaultAlarm[FAULT_ALARM_COUNT];
void Bind(eAlarmComp comp, UcFaultAlarm control, int displayNo, string title)
{
FaultAlarm[(int)comp] = control;
FaultAlarm[(int)comp].SetFaultName(displayNo, title);
}
Bind(eAlarmComp.MODULE_OV , ucFaultAlarm1 , 1, "Module OV");
Bind(eAlarmComp.CELL_OV , ucFaultAlarm3 , 3, "Cell OV");
Bind(eAlarmComp.MODULE_UV , ucFaultAlarm2 , 2, "Module UV");
Bind(eAlarmComp.CELL_UV , ucFaultAlarm4 , 4, "Cell UV");
Bind(eAlarmComp.CHG_OC , ucFaultAlarm5 , 5, "Chg OC");
Bind(eAlarmComp.DCH_OC , ucFaultAlarm6 , 6, "Dch OC");
Bind(eAlarmComp.CHG_OT , ucFaultAlarm7 , 7, "Chg OT");
Bind(eAlarmComp.CHG_UT , ucFaultAlarm8 , 8, "Chg UT");
Bind(eAlarmComp.DCH_OT , ucFaultAlarm9 , 9, "Dch OT");
Bind(eAlarmComp.DCH_UT , ucFaultAlarm10, 10, "Dch UT");
Bind(eAlarmComp.LOW_SOC , ucFaultAlarm11, 11, "Low SOC");
Bind(eAlarmComp.MOS_OT , ucFaultAlarm12, 12, "Mos OT");
Bind(eAlarmComp.SC , ucFaultAlarm13, 13, "S-C");
Bind(eAlarmComp.CB_OFF , ucFaultAlarm14, 14, "CB Off");
}
#endregion
#region PUBLIC METHODS
public void SetData(CommConfig aConfig, CsDeviceData.DeviceModuleData rModuleData)
{
DisplayAlarm(rModuleData);
//switch (aConfig.CommType)
//{
// case csConstData.CommType.COMM_UART:
// DisplayAlarmDeltaIndUart(rModuleData);
// break;
// case csConstData.CommType.COMM_RS485:
// DisplayAlarmDeltaInd485(rModuleData);
// break;
// case csConstData.CommType.COMM_SNMP:
// DisplayAlarmSnmp(rModuleData);
// break;
// default:
// break;
//}
}
#endregion
#region DISPLAY FUNCTION
private void DisplayAlarm(CsDeviceData.DeviceModuleData rModuleData)
{
bool[] aProtect = csUtils.UInt16ToBitArray(rModuleData.StatusData.protect);
bool[] aWarning = csUtils.UInt16ToBitArray(rModuleData.StatusData.warning);
// 공통 헬퍼: protect 비트가 우선, 없으면 warning, 둘 다 없으면 정상
void SetByBits(eAlarmComp comp, int? protectBit, int? warningBit)
{
int idx = (int)comp;
if (protectBit.HasValue && aProtect[protectBit.Value]) { FaultAlarm[idx].SetFault(1); return; }
if (warningBit.HasValue && aWarning[warningBit.Value]) { FaultAlarm[idx].SetFault(2); return; }
FaultAlarm[idx].SetFault(3);
}
// 1) OV/UV/OC (양쪽에 동일 인덱스 존재)
SetByBits(eAlarmComp.MODULE_OV, (int)CsAlarmDefine.eGuiProtectBit.PACK_OV, (int)CsAlarmDefine.eGuiWarningBit.PACK_OV);
SetByBits(eAlarmComp.CELL_OV , (int)CsAlarmDefine.eGuiProtectBit.CELL_OV, (int)CsAlarmDefine.eGuiWarningBit.CELL_OV);
SetByBits(eAlarmComp.MODULE_UV, (int)CsAlarmDefine.eGuiProtectBit.PACK_UV, (int)CsAlarmDefine.eGuiWarningBit.PACK_UV);
SetByBits(eAlarmComp.CELL_UV , (int)CsAlarmDefine.eGuiProtectBit.CELL_UV, (int)CsAlarmDefine.eGuiWarningBit.CELL_UV);
SetByBits(eAlarmComp.CHG_OC , (int)CsAlarmDefine.eGuiProtectBit.CHG_OC , (int)CsAlarmDefine.eGuiWarningBit.CHG_OC );
SetByBits(eAlarmComp.DCH_OC , (int)CsAlarmDefine.eGuiProtectBit.DCH_OC , (int)CsAlarmDefine.eGuiWarningBit.DCH_OC );
// 2) 온도류
SetByBits(eAlarmComp.CHG_OT , (int)CsAlarmDefine.eGuiProtectBit.CHG_OT , (int)CsAlarmDefine.eGuiWarningBit.CHG_OT );
SetByBits(eAlarmComp.CHG_UT , (int)CsAlarmDefine.eGuiProtectBit.CHG_UT , (int)CsAlarmDefine.eGuiWarningBit.CHG_UT );
SetByBits(eAlarmComp.DCH_OT , (int)CsAlarmDefine.eGuiProtectBit.DCH_OT , (int)CsAlarmDefine.eGuiWarningBit.DCH_OT );
SetByBits(eAlarmComp.DCH_UT , (int)CsAlarmDefine.eGuiProtectBit.DCH_UT , (int)CsAlarmDefine.eGuiWarningBit.DCH_UT );
// 3) Low SOC : 경고 전용
SetByBits(eAlarmComp.LOW_SOC , null , (int)CsAlarmDefine.eGuiWarningBit.LOW_SOC);
// 4) MOS OT : 보호/경고 모두 사용
SetByBits(eAlarmComp.MOS_OT , (int)CsAlarmDefine.eGuiProtectBit.MOS_OT, (int)CsAlarmDefine.eGuiWarningBit.MOS_OT);
// 5) SC(단락) : 보호 전용
SetByBits(eAlarmComp.SC , (int)CsAlarmDefine.eGuiProtectBit.SC , null);
// 6) DIFF_VOLT : 경고 전용
SetByBits(eAlarmComp.CB_OFF , null , (int)CsAlarmDefine.eGuiWarningBit.CB_OFF);
}
private void DisplayAlarmDeltaIndUart(CsDeviceData.DeviceModuleData rModuleData)
{
bool[] aProtect = csUtils.UInt16ToBitArray(rModuleData.StatusData.protect);
bool[] aWarning = csUtils.UInt16ToBitArray(rModuleData.StatusData.warning);
bool[] error = csUtils.UInt16ToBitArray(rModuleData.StatusData.errorCode);
for (int i = 0; i < 6; i++)
{
if (aProtect[i] == true) { FaultAlarm[i].SetFault(1); }
else if (aWarning[i] == true) { FaultAlarm[i].SetFault(2); }
else { FaultAlarm[i].SetFault(3); }
}
// Charge over temperature warning / protect
int aComp = 6;
int alarmID = (int)CsAlarmDefine.eGuiWarningBit.CHG_OT;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Charge under temperature warning / protect
aComp = 7;
alarmID = (int)CsAlarmDefine.eGuiWarningBit.CHG_UT;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Discharge over temperature warning / protect
aComp = 8;
alarmID = (int)CsAlarmDefine.eGuiWarningBit.DCH_OT;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Discharge under temperature warning / protect
aComp = 9;
alarmID = (int)CsAlarmDefine.eGuiWarningBit.DCH_UT;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Low SOC
// Discharge under temperature warning / protect
aComp = 10;
alarmID = (int)CsAlarmDefine.eGuiWarningBit.LOW_SOC;
if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// MOS Over Temperature Alarm
aComp = 11;
alarmID = (int)CsAlarmDefine.eGuiWarningBit.MOS_OT;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Short Circuit Protect
aComp = 12;
alarmID = (int)CsAlarmDefine.eGuiProtectBit.SC;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else { FaultAlarm[aComp].SetFault(3); }
// DIFF Cell Voltage Alarm
aComp = 12;
alarmID = (int)CsAlarmDefine.eGuiWarningBit.DIFF_VOLT;
if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
}
private void DisplayAlarmDeltaInd485(CsDeviceData.DeviceModuleData rModuleData)
{
bool[] aProtect = csUtils.UInt16ToBitArray(rModuleData.StatusData.protect);
bool[] aWarning = csUtils.UInt16ToBitArray(rModuleData.StatusData.warning);
bool[] error = csUtils.UInt16ToBitArray(rModuleData.StatusData.errorCode);
for (int i = 0; i < 6; i++)
{
if (aProtect[i] == true) { FaultAlarm[i].SetFault(1); }
else if (aWarning[i] == true) { FaultAlarm[i].SetFault(2); }
else { FaultAlarm[i].SetFault(3); }
}
// Charge over temperature warning / protect
int aComp = 6;
int alarmID = 8;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Discharge over temperature warning / protect
aComp = 8;
alarmID = 9;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Charge under temperature warning / protect
aComp = 7;
alarmID = 10;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Discharge under temperature warning / protect
aComp = 9;
alarmID = 11;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Low SOC / SOH
if (aWarning[12] == true)
{
// Low SOC
FaultAlarm[10].SetFaultName(11, "Low SOC");
FaultAlarm[10].SetFault(2);
}
else if (aWarning[13] == true)
{
// Low SOH
FaultAlarm[10].SetFaultName(11, "Low SOH");
FaultAlarm[10].SetFault(2);
}
else
{
FaultAlarm[10].SetFaultName(11, "SOC/SOH");
FaultAlarm[10].SetFault(3);
}
// MOS Over Temperature Alarm
aComp = 11;
alarmID = 7;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Cell ETC. Alarm
if (aProtect[13] == true)
{
// Short Circuit Protect
FaultAlarm[12].SetFaultName(13, "Short Circuit");
FaultAlarm[12].SetFault(1);
}
else if (aWarning[14] == true)
{
FaultAlarm[12].SetFaultName(13, "MD ISO");
FaultAlarm[12].SetFault(2);
}
else
{
FaultAlarm[12].SetFaultName(13, "ETC. Alarm");
FaultAlarm[12].SetFault(3);
}
// Error Code
if (error[0] == true)
{
FaultAlarm[13].SetFaultName(14, "Volt Error");
FaultAlarm[13].SetFault(1);
}
else if (error[1] == true)
{
FaultAlarm[13].SetFaultName(14, "Temp Error");
FaultAlarm[13].SetFault(1);
}
else if (error[4] == true)
{
FaultAlarm[13].SetFaultName(14, "Unbalance");
FaultAlarm[13].SetFault(1);
}
else if (error[5] == true)
{
FaultAlarm[13].SetFaultName(14, "Emergency");
FaultAlarm[13].SetFault(1);
}
else
{
FaultAlarm[13].SetFaultName(14, "Error Code");
FaultAlarm[13].SetFault(3);
}
}
private void DisplayAlarmSnmp(CsDeviceData.DeviceModuleData rModuleData)
{
bool[] aProtect = csUtils.UInt16ToBitArray(rModuleData.StatusData.protect);
bool[] aWarning = csUtils.UInt16ToBitArray(rModuleData.StatusData.warning);
bool[] error = csUtils.UInt16ToBitArray(rModuleData.StatusData.errorCode);
for (int i = 0; i < 6; i++)
{
if (aProtect[i] == true) { FaultAlarm[i].SetFault(1); }
else if (aWarning[i] == true) { FaultAlarm[i].SetFault(2); }
else { FaultAlarm[i].SetFault(3); }
}
// Charge over temperature warning / protect
int aComp = 6;
int alarmID = 8;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Charge under temperature warning / protect
aComp = 7;
alarmID = 10;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Discharge over temperature warning / protect
aComp = 8;
alarmID = 9;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Discharge under temperature warning / protect
aComp = 9;
alarmID = 11;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Low SOC / SOH
if (aWarning[12] == true)
{
// Low SOC
FaultAlarm[10].SetFaultName(11, "Low SOC");
FaultAlarm[10].SetFault(2);
}
else if (aWarning[13] == true)
{
// Low SOH
FaultAlarm[10].SetFaultName(11, "Low SOH");
FaultAlarm[10].SetFault(2);
}
else
{
FaultAlarm[10].SetFaultName(11, "SOC/SOH");
FaultAlarm[10].SetFault(3);
}
// MOS Over Temperature Alarm
aComp = 11;
alarmID = 7;
if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); }
else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); }
else { FaultAlarm[aComp].SetFault(3); }
// Cell ETC. Alarm
if (aProtect[13] == true)
{
// Short Circuit Protect
FaultAlarm[12].SetFaultName(13, "Short Circuit");
FaultAlarm[12].SetFault(1);
}
else if (aWarning[14] == true)
{
FaultAlarm[12].SetFaultName(13, "MD ISO");
FaultAlarm[12].SetFault(2);
}
else
{
FaultAlarm[12].SetFaultName(13, "ETC. Alarm");
FaultAlarm[12].SetFault(3);
}
// Error Code
if (error[0] == true)
{
FaultAlarm[13].SetFaultName(14, "Volt Error");
FaultAlarm[13].SetFault(1);
}
else if (error[1] == true)
{
FaultAlarm[13].SetFaultName(14, "Temp Error");
FaultAlarm[13].SetFault(1);
}
else if (error[4] == true)
{
FaultAlarm[13].SetFaultName(14, "Unbalance");
FaultAlarm[13].SetFault(1);
}
else if (error[5] == true)
{
FaultAlarm[13].SetFaultName(14, "Emergency");
FaultAlarm[13].SetFault(1);
}
else
{
FaultAlarm[13].SetFaultName(14, "Error Code");
FaultAlarm[13].SetFault(3);
}
}
#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>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,443 @@
using LFP_Manager.DataStructure;
using LFP_Manager.Utils;
using System;
using System.Windows.Forms;
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 CsDeviceData.DeviceModuleData.DeviceParamData aParm,
ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib);
public delegate Int32 getBattData(int item, int cno);
#endregion
#region ENUMS
private enum ControlLevel
{
User = 0,
Technician = 1,
Engineer = 2,
Master = 3
}
private enum CommandMode
{
SetCapacity = 15,
SetChargeMode = 16,
SetDateTime = 17,
SetAntiTheft = 18,
ClearAntiTheft = 19,
SetRS485Timeout = 20,
SetBalanceVoltage = 21,
SetBalanceDiff = 22
}
#endregion
#region VARIABLES
const int CALC_INDEX = 6;
CommConfig Config;
CsDeviceData.DeviceModuleData ModuleData;
CsDeviceData.DeviceModuleData.DeviceCalibration rCalib;
CsDeviceData.DeviceModuleData.DeviceCalibration wCalib;
CsDeviceData.DeviceModuleData.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]);
}
teNewCapacity.KeyPress += TextBox_KeyPress;
teNewSoc.KeyPress += TextBox_KeyPress;
TeCommTimeoutNew.KeyPress += TextBox_KeyPress;
TeChgModeValueNew.KeyPress += TextBox_KeyPress2;
}
#endregion
#region EXT EVENT FUNCTION
private void OnCommnadEvent(int mode, int index, int flag,
ref CsDeviceData.DeviceModuleData.DeviceParamData aParam,
ref CsDeviceData.DeviceModuleData.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(CsDeviceData.DeviceModuleData mData, CsDeviceData.DeviceModuleData.DeviceCalibration aCalib)
{
ModuleData = mData;
rCalib = aCalib;
DisplayCalib();
UpdateNewCalib();
}
private void UpdateNewCalib()
{
if (ModuleData != null)
{
if (wFlag == 0)
{
teNewCapacity.Text = teCurrCapacity.Text;
teNewSoc.Text = teCurrSoc.Text;
wFlag = 1;
}
}
}
#endregion
#region DISPLAY DATA
private void DisplayCalib()
{
if (ModuleData != null)
{
teCurrCapacity.Text = string.Format("{0}", ModuleData.ValueData.designedCapacity / 10);
teCurrSoc.Text = string.Format("{0}", ModuleData.ValueData.SOC / 10);
switch (ModuleData.CalibrationData.ChaMode.Mode)
{
case 0:
TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[0];
break;
case 1:
TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[1];
break;
case 2:
TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[2];
break;
case 4:
TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[3];
break;
case 8:
TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[4];
break;
default:
TeChaMode.Text = string.Format("UNKNOWN({0})", ModuleData.CalibrationData.ChaMode.Mode);
break;
}
TeChgModeValueCurr.Text = string.Format("{0:0.00}", Convert.ToDouble(ModuleData.CalibrationData.ChaMode.Value) / 100);
TeCurrDateTime.Text = ModuleData.BmsDateTime.DateTimeStr;
// Anti-Theft Data Display
if (ModuleData.CalibrationData.AntiTheft.GyroScope == 0)
{
TeAntiTheftGyroCurr.Text = "DISABLE";
}
else
{
TeAntiTheftGyroCurr.Text = "ENABLE";
}
TeSensitive.Text = string.Format("{0}", ModuleData.CalibrationData.AntiTheft.GyroScope);
// Anti-Theft - RS-485 Comm. Timeout
TeCommTimeout.Text = string.Format("{0}", ModuleData.CalibrationData.AntiTheft.Comm);
if (dFlag == 0)
{
CbNewChaMode.SelectedIndex = 1;
switch (ModuleData.CalibrationData.ChaMode.Mode)
{
case 0:
CbNewChaMode.SelectedIndex = 0;
break;
case 1:
CbNewChaMode.SelectedIndex = 1;
break;
case 2:
CbNewChaMode.SelectedIndex = 2;
break;
case 4:
CbNewChaMode.SelectedIndex = 3;
break;
case 8:
CbNewChaMode.SelectedIndex = 4;
break;
default:
CbNewChaMode.Text = string.Format("UNKNOWN({0})", ModuleData.CalibrationData.ChaMode.Mode);
break;
}
TeChgModeValueNew.Text = TeChgModeValueCurr.Text;
dFlag = 1;
}
}
}
#endregion
#region BUTTON EVENT
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
csUtils.TypingOnlyNumber(sender, e, false, false);
}
private void TextBox_KeyPress2(object sender, KeyPressEventArgs e)
{
csUtils.TypingOnlyNumber(sender, e, true, false);
}
private void btnCapacitySet_Click(object sender, EventArgs e)
{
try
{
if (!ValidateNumericInput(teNewCapacity.Text, "Capacity") ||
!ValidateNumericInput(teNewSoc.Text, "SOC"))
{
return;
}
wCalib = rCalib.DeepCopy();
wCalib.CapCalib.DesignCapacity = Convert.ToInt32(teNewCapacity.Text) * 10;
wCalib.CapCalib.SocValue = Convert.ToInt32(teNewSoc.Text);
OnCommnadEvent((int)CommandMode.SetCapacity, CALC_INDEX, 1, ref rParam, ref wCalib);
}
catch (Exception ex)
{
ShowError($"Failed to set capacity: {ex.Message}");
}
}
private void BtnChaModeSet_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(CbNewChaMode.Text))
{
ShowError("Please select a charge mode");
return;
}
if (CbNewChaMode.SelectedIndex > 1 &&
!ValidateNumericInput(TeChgModeValueNew.Text, "Charge Mode Value"))
{
return;
}
wCalib = rCalib.DeepCopy();
wCalib.ChaMode.Mode = CbNewChaMode.SelectedIndex;
wCalib.ChaMode.Value = (int)(Convert.ToDouble(TeChgModeValueNew.Text) * 100);
OnCommnadEvent((int)CommandMode.SetChargeMode, CALC_INDEX, 1, ref rParam, ref wCalib);
}
catch (Exception ex)
{
ShowError($"Failed to set charge mode: {ex.Message}");
}
}
private void BtnBmsDateTimeSet_Click(object sender, EventArgs e)
{
try
{
if (string.IsNullOrEmpty(TeNewDateTime.Text))
{
ShowError("Please enter a date/time value");
return;
}
DateTime dateTime = Convert.ToDateTime(TeNewDateTime.Text);
int iDateTime = CalculateDateTimeValue(dateTime);
wCalib = rCalib.DeepCopy();
wCalib.BmsDateTime.sValue[0] = (short)(iDateTime >> 16);
wCalib.BmsDateTime.sValue[1] = (short)(iDateTime >> 0);
OnCommnadEvent((int)CommandMode.SetDateTime, CALC_INDEX, 1, ref rParam, ref wCalib);
}
catch (Exception ex)
{
ShowError($"Failed to set date/time: {ex.Message}");
}
}
private int CalculateDateTimeValue(DateTime dateTime)
{
return ((dateTime.Year - 2000) << 26)
| (dateTime.Month << 22)
| (dateTime.Day << 17)
| (dateTime.Hour << 12)
| (dateTime.Minute << 6)
| (dateTime.Second << 0);
}
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)
{
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)
{
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)
{
wCalib = rCalib.DeepCopy();
wCalib.AntiTheft.GyroScope = 0;
OnCommnadEvent(18, CALC_INDEX, 1, ref rParam, ref wCalib);
}
private void BtnRS485TimeoutSet_Click(object sender, EventArgs e)
{
string stTimeout = TeCommTimeoutNew.Text;
int Timeout = 0;
try
{
Timeout = Convert.ToInt32(stTimeout);
}
catch (Exception)
{
MessageBox.Show("Timeout data Format Error", "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
wCalib = rCalib.DeepCopy();
wCalib.AntiTheft.Comm = Timeout;
OnCommnadEvent(20, 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
#region FORM EVENT
private void ucCalibration_Load(object sender, EventArgs e)
{
CalibConfig_ReLoad();
}
private void CalibConfig_ReLoad()
{
var level = (ControlLevel)Config.ControlLevel;
btnCapacitySet.Enabled = level == ControlLevel.Master;
BtnChaModeSet.Enabled = level >= ControlLevel.Engineer;
BtnBmsDateTimeSet.Enabled = level >= ControlLevel.Engineer;
BtnClearAntiTheftProtect.Enabled = level >= ControlLevel.Technician;
BtnAntiTheftEnable.Enabled = level >= ControlLevel.Engineer;
BtnAntiTheftDisable.Enabled = level >= ControlLevel.Engineer;
BtnRS485TimeoutSet.Enabled = level >= ControlLevel.Technician;
}
#endregion
#region VALIDATION METHODS
private bool ValidateNumericInput(string input, string fieldName)
{
if (string.IsNullOrEmpty(input))
{
ShowError($"Please enter a value for {fieldName}");
return false;
}
if (!int.TryParse(input, out _))
{
ShowError($"Invalid numeric value for {fieldName}");
return false;
}
return true;
}
private void ShowError(string message)
{
MessageBox.Show(message, "Error", 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,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,34 @@
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
private CsDeviceData.DeviceModuleData ModuleData;
#endregion
public ucCalibrationView()
{
InitializeComponent();
edBattCapacity.Enabled = false;
edChgOption.Enabled = false;
edChgCalibration.Enabled = false;
edDchCalibration.Enabled = false;
}
}
}

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,721 @@
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.RbRS485 = new DevExpress.XtraEditors.CheckEdit();
this.CbSnmpModel = new DevExpress.XtraEditors.ComboBoxEdit();
this.teTargetIP = new IPAddressControlLib.IPAddressControl();
this.RbSnmp = new DevExpress.XtraEditors.CheckEdit();
this.edRecvWaitTime = new DevExpress.XtraEditors.TextEdit();
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.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.LcGroupUart = 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.simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.LcGroupSnmp = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
this.simpleLabelItem6 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
this.CbModuleQty = new DevExpress.XtraEditors.ComboBoxEdit();
this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem();
this.simpleLabelItem5 = new DevExpress.XtraLayout.SimpleLabelItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.RbRS485.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.CbSnmpModel.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.RbSnmp.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edRecvWaitTime.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.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LcGroupUart)).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.simpleLabelItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LcGroupSnmp)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.CbModuleQty.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.CbModuleQty);
this.layoutControl1.Controls.Add(this.RbRS485);
this.layoutControl1.Controls.Add(this.CbSnmpModel);
this.layoutControl1.Controls.Add(this.teTargetIP);
this.layoutControl1.Controls.Add(this.RbSnmp);
this.layoutControl1.Controls.Add(this.edRecvWaitTime);
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, 458);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// RbRS485
//
this.RbRS485.Location = new System.Drawing.Point(161, 37);
this.RbRS485.Name = "RbRS485";
this.RbRS485.Properties.Caption = "RS-485";
this.RbRS485.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio;
this.RbRS485.Properties.RadioGroupIndex = 1;
this.RbRS485.Size = new System.Drawing.Size(140, 20);
this.RbRS485.StyleController = this.layoutControl1;
this.RbRS485.TabIndex = 18;
this.RbRS485.TabStop = false;
this.RbRS485.CheckStateChanged += new System.EventHandler(this.RbRS485_CheckStateChanged);
//
// CbSnmpModel
//
this.CbSnmpModel.EditValue = "LFPS-48100D";
this.CbSnmpModel.Location = new System.Drawing.Point(146, 128);
this.CbSnmpModel.Name = "CbSnmpModel";
this.CbSnmpModel.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.CbSnmpModel.Properties.Appearance.Options.UseFont = true;
this.CbSnmpModel.Properties.Appearance.Options.UseTextOptions = true;
this.CbSnmpModel.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.CbSnmpModel.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.CbSnmpModel.Properties.Items.AddRange(new object[] {
"LFPR-481000S-J"});
this.CbSnmpModel.Size = new System.Drawing.Size(308, 24);
this.CbSnmpModel.StyleController = this.layoutControl1;
this.CbSnmpModel.TabIndex = 17;
//
// teTargetIP
//
this.teTargetIP.AllowInternalTab = false;
this.teTargetIP.AutoHeight = true;
this.teTargetIP.BackColor = System.Drawing.SystemColors.Window;
this.teTargetIP.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.teTargetIP.Cursor = System.Windows.Forms.Cursors.IBeam;
this.teTargetIP.Font = new System.Drawing.Font("Tahoma", 11.25F);
this.teTargetIP.Location = new System.Drawing.Point(146, 98);
this.teTargetIP.MinimumSize = new System.Drawing.Size(117, 26);
this.teTargetIP.Name = "teTargetIP";
this.teTargetIP.ReadOnly = false;
this.teTargetIP.Size = new System.Drawing.Size(308, 26);
this.teTargetIP.TabIndex = 16;
this.teTargetIP.Text = "192.168.0.200";
//
// RbSnmp
//
this.RbSnmp.Location = new System.Drawing.Point(305, 37);
this.RbSnmp.Name = "RbSnmp";
this.RbSnmp.Properties.Caption = "SNMP";
this.RbSnmp.Properties.CheckBoxOptions.Style = DevExpress.XtraEditors.Controls.CheckBoxStyle.Radio;
this.RbSnmp.Properties.RadioGroupIndex = 1;
this.RbSnmp.Size = new System.Drawing.Size(141, 20);
this.RbSnmp.StyleController = this.layoutControl1;
this.RbSnmp.TabIndex = 15;
this.RbSnmp.TabStop = false;
this.RbSnmp.CheckedChanged += new System.EventHandler(this.RbSnmp_CheckedChanged);
//
// edRecvWaitTime
//
this.edRecvWaitTime.EditValue = "100";
this.edRecvWaitTime.Location = new System.Drawing.Point(146, 269);
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(308, 24);
this.edRecvWaitTime.StyleController = this.layoutControl1;
this.edRecvWaitTime.TabIndex = 14;
//
// cbUartModel
//
this.cbUartModel.EditValue = "LFPS-48100D";
this.cbUartModel.Location = new System.Drawing.Point(146, 213);
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(308, 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(141, 20);
this.RbUart.StyleController = this.layoutControl1;
this.RbUart.TabIndex = 8;
this.RbUart.TabStop = false;
this.RbUart.CheckStateChanged += new System.EventHandler(this.RbUart_CheckStateChanged);
//
// cbUartPort
//
this.cbUartPort.EditValue = "";
this.cbUartPort.Location = new System.Drawing.Point(146, 185);
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(308, 24);
this.cbUartPort.StyleController = this.layoutControl1;
this.cbUartPort.TabIndex = 6;
//
// cbDbLogPeriod
//
this.cbDbLogPeriod.EditValue = "1";
this.cbDbLogPeriod.Location = new System.Drawing.Point(145, 345);
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(310, 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(233, 418);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(225, 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, 418);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(225, 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.LcGroupUart,
this.emptySpaceItem1,
this.LcGroupSnmp});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup1.Size = new System.Drawing.Size(462, 458);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem12
//
this.layoutControlItem12.Control = this.btnSave;
this.layoutControlItem12.CustomizationFormText = "layoutControlItem12";
this.layoutControlItem12.Location = new System.Drawing.Point(0, 414);
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(229, 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(229, 414);
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(229, 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, 317);
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.MinSize = new System.Drawing.Size(138, 18);
this.lbDbLogPeriod.Name = "lbDbLogPeriod";
this.lbDbLogPeriod.Size = new System.Drawing.Size(138, 28);
this.lbDbLogPeriod.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
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(138, 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(314, 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, 372);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(458, 42);
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlGroup4
//
this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem3,
this.layoutControlItem7,
this.layoutControlItem5});
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(145, 24);
this.layoutControlItem3.Text = "Comm. Type";
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.RbSnmp;
this.layoutControlItem7.Location = new System.Drawing.Point(289, 0);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(145, 24);
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.RbRS485;
this.layoutControlItem5.Location = new System.Drawing.Point(145, 0);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(144, 24);
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// LcGroupUart
//
this.LcGroupUart.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.simpleLabelItem3,
this.layoutControlItem1,
this.simpleLabelItem4,
this.layoutControlItem4,
this.simpleLabelItem2,
this.layoutControlItem6,
this.layoutControlItem9,
this.simpleLabelItem5});
this.LcGroupUart.Location = new System.Drawing.Point(0, 156);
this.LcGroupUart.Name = "LcGroupUart";
this.LcGroupUart.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.LcGroupUart.Size = new System.Drawing.Size(458, 141);
this.LcGroupUart.Text = "RS-232 && RS-485 Config";
//
// simpleLabelItem3
//
this.simpleLabelItem3.AllowHotTrack = false;
this.simpleLabelItem3.Location = new System.Drawing.Point(0, 0);
this.simpleLabelItem3.MinSize = new System.Drawing.Size(138, 18);
this.simpleLabelItem3.Name = "simpleLabelItem3";
this.simpleLabelItem3.Size = new System.Drawing.Size(138, 28);
this.simpleLabelItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
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(138, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(312, 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.MinSize = new System.Drawing.Size(138, 18);
this.simpleLabelItem4.Name = "simpleLabelItem4";
this.simpleLabelItem4.Size = new System.Drawing.Size(138, 28);
this.simpleLabelItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
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(138, 28);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(312, 28);
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// simpleLabelItem2
//
this.simpleLabelItem2.AllowHotTrack = false;
this.simpleLabelItem2.Location = new System.Drawing.Point(0, 84);
this.simpleLabelItem2.MinSize = new System.Drawing.Size(138, 18);
this.simpleLabelItem2.Name = "simpleLabelItem2";
this.simpleLabelItem2.Size = new System.Drawing.Size(138, 28);
this.simpleLabelItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
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(138, 84);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(312, 28);
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, 297);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(458, 20);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// LcGroupSnmp
//
this.LcGroupSnmp.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem8,
this.simpleLabelItem6,
this.layoutControlItem2,
this.simpleLabelItem1});
this.LcGroupSnmp.Location = new System.Drawing.Point(0, 69);
this.LcGroupSnmp.Name = "LcGroupSnmp";
this.LcGroupSnmp.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.LcGroupSnmp.Size = new System.Drawing.Size(458, 87);
this.LcGroupSnmp.Text = "SNMP Config";
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.teTargetIP;
this.layoutControlItem8.Location = new System.Drawing.Point(138, 0);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(312, 30);
this.layoutControlItem8.Text = " IP Address";
this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem8.TextVisible = false;
//
// simpleLabelItem6
//
this.simpleLabelItem6.AllowHotTrack = false;
this.simpleLabelItem6.Location = new System.Drawing.Point(0, 0);
this.simpleLabelItem6.MaxSize = new System.Drawing.Size(0, 30);
this.simpleLabelItem6.MinSize = new System.Drawing.Size(138, 30);
this.simpleLabelItem6.Name = "simpleLabelItem6";
this.simpleLabelItem6.Size = new System.Drawing.Size(138, 30);
this.simpleLabelItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem6.Text = " IP Address";
this.simpleLabelItem6.TextSize = new System.Drawing.Size(123, 14);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.CbSnmpModel;
this.layoutControlItem2.Location = new System.Drawing.Point(138, 30);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(312, 28);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// simpleLabelItem1
//
this.simpleLabelItem1.AllowHotTrack = false;
this.simpleLabelItem1.Location = new System.Drawing.Point(0, 30);
this.simpleLabelItem1.MaxSize = new System.Drawing.Size(0, 28);
this.simpleLabelItem1.MinSize = new System.Drawing.Size(127, 28);
this.simpleLabelItem1.Name = "simpleLabelItem1";
this.simpleLabelItem1.Size = new System.Drawing.Size(138, 28);
this.simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem1.Text = " Model";
this.simpleLabelItem1.TextSize = new System.Drawing.Size(123, 14);
//
// 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;
//
// CbModuleQty
//
this.CbModuleQty.EditValue = "1";
this.CbModuleQty.Location = new System.Drawing.Point(146, 241);
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.Size = new System.Drawing.Size(308, 24);
this.CbModuleQty.StyleController = this.layoutControl1;
this.CbModuleQty.TabIndex = 19;
//
// layoutControlItem9
//
this.layoutControlItem9.Control = this.CbModuleQty;
this.layoutControlItem9.Location = new System.Drawing.Point(138, 56);
this.layoutControlItem9.MinSize = new System.Drawing.Size(55, 28);
this.layoutControlItem9.Name = "layoutControlItem9";
this.layoutControlItem9.Size = new System.Drawing.Size(312, 28);
this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem9.TextVisible = false;
//
// simpleLabelItem5
//
this.simpleLabelItem5.AllowHotTrack = false;
this.simpleLabelItem5.Location = new System.Drawing.Point(0, 56);
this.simpleLabelItem5.MaxSize = new System.Drawing.Size(0, 28);
this.simpleLabelItem5.MinSize = new System.Drawing.Size(127, 28);
this.simpleLabelItem5.Name = "simpleLabelItem5";
this.simpleLabelItem5.Size = new System.Drawing.Size(138, 28);
this.simpleLabelItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem5.Text = " Module Q\'ty";
this.simpleLabelItem5.TextSize = new System.Drawing.Size(123, 14);
//
// 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, 458);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.RbRS485.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.CbSnmpModel.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.RbSnmp.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edRecvWaitTime.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.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LcGroupUart)).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.simpleLabelItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LcGroupSnmp)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.CbModuleQty.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).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.XtraLayout.LayoutControlGroup layoutControlGroup4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlGroup LcGroupUart;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2;
private DevExpress.XtraEditors.TextEdit edRecvWaitTime;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraEditors.CheckEdit RbSnmp;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
private IPAddressControlLib.IPAddressControl teTargetIP;
private DevExpress.XtraLayout.LayoutControlGroup LcGroupSnmp;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem6;
private DevExpress.XtraEditors.ComboBoxEdit CbSnmpModel;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1;
private DevExpress.XtraEditors.CheckEdit RbRS485;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraEditors.ComboBoxEdit CbModuleQty;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem5;
}
}

View File

@@ -0,0 +1,237 @@
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;
using System.Data.Entity.Infrastructure;
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();
CbSnmpModel.Properties.Items.Clear();
foreach (string m_name in csConstData.UART_MODEL)
{
cbUartModel.Properties.Items.Add(m_name);
CbSnmpModel.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));
}
switch (Config.CommType)
{
case csConstData.CommType.COMM_UART:
RbUart.Checked = true;
break;
case csConstData.CommType.COMM_RS485:
RbRS485.Checked = true;
break;
case csConstData.CommType.COMM_SNMP:
RbSnmp.Checked = true;
break;
default:
RbUart.Checked = true;
break;
}
if (Config.SnmpIP == "")
{ Config.SnmpIP = teTargetIP.Text; }
teTargetIP.Text = Config.SnmpIP;
CbSnmpModel.SelectedIndex = Config.SnmpModelIndex;
cbUartPort.Text = Config.UartPort;
cbUartModel.SelectedIndex = Config.UartModelIndex;
CbModuleQty.Text = string.Format("{0}", Config.ModuleQty);
edRecvWaitTime.Text = string.Format("{0}", Config.RecvWaitTime);
cbDbLogPeriod.Text = Config.DbLogPeriod.ToString();
}
private void IniSave()
{
if (RbUart.Checked)
{
Config.CommType = csConstData.CommType.COMM_UART;
}
else if (RbRS485.Checked)
{
Config.CommType = csConstData.CommType.COMM_RS485;
}
else if (RbSnmp.Checked)
{
Config.CommType = csConstData.CommType.COMM_SNMP;
}
try
{
Config.SnmpIP = teTargetIP.Text;
Config.SnmpModelIndex = CbSnmpModel.SelectedIndex;
Config.UartPort = cbUartPort.Text;
Config.UartModelIndex = cbUartModel.SelectedIndex;
Config.ModuleQty = Convert.ToInt32(CbModuleQty.Text);
Config.RecvWaitTime = Convert.ToInt32(edRecvWaitTime.Text);
Config.DbLogPeriod = Convert.ToInt32(cbDbLogPeriod.Text);
csIniControlFunction.IniSave(Application.ExecutablePath, Config);
saved = true;
}
catch (Exception)
{
MessageBox.Show("Save fail - Please check config", "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion
#region BUTTON EVENT
private void btnClose_Click(object sender, EventArgs e)
{
OnClose?.Invoke(Config, saved);
}
private void btnSave_Click(object sender, EventArgs e)
{
IniSave();
}
#endregion
#region COMPONENT EVENT
private void RbUart_CheckStateChanged(object sender, EventArgs e)
{
if (RbUart.Checked)
{
LcGroupUart.Enabled = true;
LcGroupSnmp.Enabled = false;
CbModuleQty.Enabled = false;
CbModuleQty.Text = "1";
}
}
private void RbRS485_CheckStateChanged(object sender, EventArgs e)
{
if (RbRS485.Checked)
{
LcGroupUart.Enabled = true;
LcGroupSnmp.Enabled = false;
CbModuleQty.Enabled = true;
}
}
private void RbSnmp_CheckedChanged(object sender, EventArgs e)
{
if (RbSnmp.Checked)
{
LcGroupUart.Enabled = false;
LcGroupSnmp.Enabled = true;
CbModuleQty.Enabled = true;
CbModuleQty.Text = "1";
}
}
#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, 109);
this.btnOpenLogFolder.Name = "btnOpenLogFolder";
this.btnOpenLogFolder.Size = new System.Drawing.Size(338, 61);
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, 36);
this.btnLogStart.Name = "btnLogStart";
this.btnLogStart.Size = new System.Drawing.Size(338, 69);
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, 33);
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, 33);
this.layoutControlItem13.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem13.Name = "layoutControlItem13";
this.layoutControlItem13.Size = new System.Drawing.Size(342, 73);
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, 106);
this.layoutControlItem12.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem12.Name = "layoutControlItem12";
this.layoutControlItem12.Size = new System.Drawing.Size(342, 65);
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,154 @@
using LFP_Manager.DataStructure;
using LFP_Manager.Utils;
using System;
using System.Windows.Forms;
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
private CommConfig Config;
CsDeviceData DeviceData;
private DateTime bakDateTime;
private int ModuleID = 1;
private string LogFileName = "";
private string LogFileNameTotal = "";
private bool logging = false;
private 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 CsDeviceData aDeviceData)
{
Active = aStatus;
Config = aConfig;
DeviceData = aDeviceData;
}
public void UpdateData(CsDeviceData aDeviceData)
{
DeviceData = aDeviceData;
}
#endregion
#region TIMER EVENT
private void tmrLogging_Tick(object sender, EventArgs e)
{
DateTime cDate = DateTime.Now;
int ss;
if ((logging) && (Active))
{
ss = Convert.ToInt16(cbLogTime.Text);
if (
((bakDateTime.Minute != cDate.Minute)
|| (bakDateTime.Second != cDate.Second))
&& ((cDate.Second % ss) == 0)
)
{
try
{
switch (Config.CommType)
{
case csConstData.CommType.COMM_UART:
csLog.SystemDataLog(ModuleID, Config, DeviceData.ModuleData[ModuleID - 1], cDate, Application.ExecutablePath, LogFileName);
break;
case csConstData.CommType.COMM_RS485:
if (Config.ModuleQty > 1)
{
for (int i = 0; i < Config.ModuleQty; i++)
{
csLog.SystemDataLog(i + 1, Config, DeviceData.ModuleData[i], cDate, Application.ExecutablePath, LogFileName);
}
}
else
{
csLog.SystemDataLog(ModuleID, Config, DeviceData.ModuleData[ModuleID - 1], cDate, Application.ExecutablePath, LogFileName);
}
break;
case csConstData.CommType.COMM_SNMP:
csLog.SystemDataLog(1, Config, DeviceData.ModuleData[0], cDate, Application.ExecutablePath, LogFileName);
break;
default:
break;
}
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,467 @@
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.tabDataLog = new DevExpress.XtraTab.XtraTabControl();
this.TpEventLog = new DevExpress.XtraTab.XtraTabPage();
this.layoutControl4 = new DevExpress.XtraLayout.LayoutControl();
this.BtnRefresh = new DevExpress.XtraEditors.SimpleButton();
this.GvAlarmHistory = new System.Windows.Forms.DataGridView();
this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.tpDataLog = new DevExpress.XtraTab.XtraTabPage();
this.panelControl1 = new DevExpress.XtraEditors.PanelControl();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
this.CbPrintID = new DevExpress.XtraEditors.ComboBoxEdit();
this.btnLogClear = new DevExpress.XtraEditors.SimpleButton();
this.meDataLog = new DevExpress.XtraEditors.MemoEdit();
this.chkPacketLog = new DevExpress.XtraEditors.CheckEdit();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
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.gcLogging)).BeginInit();
this.gcLogging.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit();
this.layoutControl2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tabDataLog)).BeginInit();
this.tabDataLog.SuspendLayout();
this.TpEventLog.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).BeginInit();
this.layoutControl4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.GvAlarmHistory)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
this.tpDataLog.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit();
this.panelControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit();
this.layoutControl3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.CbPrintID.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.meDataLog.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.chkPacketLog.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).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.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.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";
//
// tabDataLog
//
this.tabDataLog.Location = new System.Drawing.Point(4, 4);
this.tabDataLog.Name = "tabDataLog";
this.tabDataLog.SelectedTabPage = this.TpEventLog;
this.tabDataLog.Size = new System.Drawing.Size(781, 134);
this.tabDataLog.TabIndex = 4;
this.tabDataLog.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] {
this.TpEventLog,
this.tpDataLog});
//
// TpEventLog
//
this.TpEventLog.Controls.Add(this.layoutControl4);
this.TpEventLog.Name = "TpEventLog";
this.TpEventLog.Size = new System.Drawing.Size(779, 108);
this.TpEventLog.Text = "Event";
//
// layoutControl4
//
this.layoutControl4.Controls.Add(this.BtnRefresh);
this.layoutControl4.Controls.Add(this.GvAlarmHistory);
this.layoutControl4.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl4.Location = new System.Drawing.Point(0, 0);
this.layoutControl4.Name = "layoutControl4";
this.layoutControl4.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1039, 0, 647, 400);
this.layoutControl4.Root = this.layoutControlGroup3;
this.layoutControl4.Size = new System.Drawing.Size(779, 108);
this.layoutControl4.TabIndex = 0;
this.layoutControl4.Text = "layoutControl4";
//
// BtnRefresh
//
this.BtnRefresh.Location = new System.Drawing.Point(691, 3);
this.BtnRefresh.Name = "BtnRefresh";
this.BtnRefresh.Size = new System.Drawing.Size(85, 102);
this.BtnRefresh.StyleController = this.layoutControl4;
this.BtnRefresh.TabIndex = 5;
this.BtnRefresh.Text = "Refresh";
this.BtnRefresh.Click += new System.EventHandler(this.BtnRefresh_Click);
//
// GvAlarmHistory
//
this.GvAlarmHistory.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.GvAlarmHistory.Location = new System.Drawing.Point(3, 3);
this.GvAlarmHistory.Name = "GvAlarmHistory";
this.GvAlarmHistory.RowTemplate.Height = 23;
this.GvAlarmHistory.Size = new System.Drawing.Size(684, 102);
this.GvAlarmHistory.TabIndex = 4;
//
// layoutControlGroup3
//
this.layoutControlGroup3.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup3.GroupBordersVisible = false;
this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem5,
this.layoutControlItem7});
this.layoutControlGroup3.Name = "Root";
this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup3.Size = new System.Drawing.Size(779, 108);
this.layoutControlGroup3.TextVisible = false;
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.GvAlarmHistory;
this.layoutControlItem5.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(688, 106);
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.BtnRefresh;
this.layoutControlItem7.Location = new System.Drawing.Point(688, 0);
this.layoutControlItem7.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(89, 106);
this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// tpDataLog
//
this.tpDataLog.Controls.Add(this.panelControl1);
this.tpDataLog.Name = "tpDataLog";
this.tpDataLog.Size = new System.Drawing.Size(779, 108);
this.tpDataLog.Text = "Data Log";
//
// panelControl1
//
this.panelControl1.Controls.Add(this.layoutControl3);
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(779, 108);
this.panelControl1.TabIndex = 0;
//
// layoutControl3
//
this.layoutControl3.Controls.Add(this.CbPrintID);
this.layoutControl3.Controls.Add(this.btnLogClear);
this.layoutControl3.Controls.Add(this.meDataLog);
this.layoutControl3.Controls.Add(this.chkPacketLog);
this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill;
this.layoutControl3.Location = new System.Drawing.Point(2, 2);
this.layoutControl3.Name = "layoutControl3";
this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(950, 0, 650, 400);
this.layoutControl3.Root = this.Root;
this.layoutControl3.Size = new System.Drawing.Size(775, 104);
this.layoutControl3.TabIndex = 0;
this.layoutControl3.Text = "layoutControl3";
//
// CbPrintID
//
this.CbPrintID.EditValue = "0";
this.CbPrintID.Location = new System.Drawing.Point(696, 27);
this.CbPrintID.Name = "CbPrintID";
this.CbPrintID.Properties.Appearance.Options.UseTextOptions = true;
this.CbPrintID.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
this.CbPrintID.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] {
new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)});
this.CbPrintID.Properties.Items.AddRange(new object[] {
"0",
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10"});
this.CbPrintID.Size = new System.Drawing.Size(76, 20);
this.CbPrintID.StyleController = this.layoutControl3;
this.CbPrintID.TabIndex = 7;
this.CbPrintID.SelectedValueChanged += new System.EventHandler(this.CbPrintID_SelectedValueChanged);
//
// btnLogClear
//
this.btnLogClear.Location = new System.Drawing.Point(668, 51);
this.btnLogClear.Name = "btnLogClear";
this.btnLogClear.Size = new System.Drawing.Size(104, 50);
this.btnLogClear.StyleController = this.layoutControl3;
this.btnLogClear.TabIndex = 6;
this.btnLogClear.Text = "Clear";
this.btnLogClear.Click += new System.EventHandler(this.btnLogClear_Click);
//
// meDataLog
//
this.meDataLog.Location = new System.Drawing.Point(3, 3);
this.meDataLog.Name = "meDataLog";
this.meDataLog.Properties.MaxLength = 1000;
this.meDataLog.Size = new System.Drawing.Size(661, 98);
this.meDataLog.StyleController = this.layoutControl3;
this.meDataLog.TabIndex = 4;
//
// chkPacketLog
//
this.chkPacketLog.Location = new System.Drawing.Point(668, 3);
this.chkPacketLog.Name = "chkPacketLog";
this.chkPacketLog.Properties.Caption = "Packet";
this.chkPacketLog.Size = new System.Drawing.Size(104, 20);
this.chkPacketLog.StyleController = this.layoutControl3;
this.chkPacketLog.TabIndex = 6;
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2,
this.layoutControlItem3,
this.layoutControlItem4,
this.layoutControlItem8});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(775, 104);
this.Root.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.meDataLog;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(665, 102);
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.btnLogClear;
this.layoutControlItem3.Location = new System.Drawing.Point(665, 48);
this.layoutControlItem3.MinSize = new System.Drawing.Size(37, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(108, 54);
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.chkPacketLog;
this.layoutControlItem4.Location = new System.Drawing.Point(665, 0);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(108, 24);
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.CbPrintID;
this.layoutControlItem8.Location = new System.Drawing.Point(665, 24);
this.layoutControlItem8.MinSize = new System.Drawing.Size(100, 24);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(108, 24);
this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem8.Text = " ID";
this.layoutControlItem8.TextSize = new System.Drawing.Size(16, 14);
//
// 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.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(785, 138);
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(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.tabDataLog)).EndInit();
this.tabDataLog.ResumeLayout(false);
this.TpEventLog.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).EndInit();
this.layoutControl4.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.GvAlarmHistory)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
this.tpDataLog.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit();
this.panelControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit();
this.layoutControl3.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.CbPrintID.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.meDataLog.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.chkPacketLog.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).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 gcLogging;
private DevExpress.XtraLayout.LayoutControl layoutControl2;
private DevExpress.XtraTab.XtraTabControl tabDataLog;
private DevExpress.XtraTab.XtraTabPage tpDataLog;
private DevExpress.XtraEditors.PanelControl panelControl1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraEditors.CheckEdit chkPacketLog;
private DevExpress.XtraTab.XtraTabPage TpEventLog;
private DevExpress.XtraLayout.LayoutControl layoutControl3;
private DevExpress.XtraEditors.MemoEdit meDataLog;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraEditors.SimpleButton btnLogClear;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControl layoutControl4;
private DevExpress.XtraEditors.SimpleButton BtnRefresh;
private System.Windows.Forms.DataGridView GvAlarmHistory;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
private DevExpress.XtraEditors.ComboBoxEdit CbPrintID;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
}
}

View File

@@ -0,0 +1,195 @@
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.Utils;
using LFP_Manager.DataStructure;
namespace LFP_Manager.Controls
{
public delegate void PrintOptionEvent(object sender, int id);
public partial class ucEventLog : DevExpress.XtraEditors.XtraUserControl
{
#region VARIABLES
CommConfig Config;
DataTable AlarmHistory = new DataTable();
private int print_id = 0;
public event PrintOptionEvent OnPrintOption = null;
#endregion
#region CONSTRUCTORS
public ucEventLog()
{
InitializeComponent();
}
#endregion
#region PUBLIC UPDATE
public void EventUpdate(int id, string aEvent)
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(delegate ()
{
if (chkPacketLog.Checked)
PrintMsg(id, aEvent);
}));
}
else
{
if (chkPacketLog.Checked)
PrintMsg(id, aEvent);
}
}
private void PrintMsg(int id, string msg)
{
if ((print_id == 0) || (print_id == id))
{
meDataLog.Text = msg + meDataLog.Text;
}
}
public void ErrorUpdate(int id, 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;
}
}
public void AlarmHistoryUpdate1(DataTable aAlarmHistory)
{
if (aAlarmHistory != null)
{
AlarmHistory = aAlarmHistory;
if (InvokeRequired)
{
Invoke(new MethodInvoker(delegate ()
{
GvAlarmHistory.DataSource = AlarmHistory;
GvAlarmHistory.Columns["create_date"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
GvAlarmHistory.DefaultCellStyle.NullValue = "null";
GvAlarmHistory.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
GvAlarmHistory.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
GvAlarmHistory.AllowUserToAddRows = false;
// 예: Id, ct_no 칼럼 숨기기
csDbUtils.HideColumns(GvAlarmHistory, "Id", "alarm_code", "alarm_status");
}));
}
else
{
GvAlarmHistory.DataSource = AlarmHistory;
GvAlarmHistory.Columns["create_date"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss";
GvAlarmHistory.DefaultCellStyle.NullValue = "null";
GvAlarmHistory.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
GvAlarmHistory.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
GvAlarmHistory.AllowUserToAddRows = false;
// 예: Id, ct_no 칼럼 숨기기
csDbUtils.HideColumns(GvAlarmHistory, "Id", "alarm_code", "alarm_status");
}
}
}
#endregion
#region ENVENT
private void btnLogClear_Click(object sender, EventArgs e)
{
meDataLog.Text = "";
}
private void BtnRefresh_Click(object sender, EventArgs e)
{
if (Config != null)
{
try
{
string modelName = csConstData.UART_MODEL[Config.UartModelIndex];
AlarmHistory = csDbUtils.GetBmsAlarmDataByDataTable(modelName, DateTime.Now, "");
AlarmHistoryUpdate(AlarmHistory);
}
catch (Exception ex)
{
_ = MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
private void CbPrintID_SelectedValueChanged(object sender, EventArgs e)
{
try
{
print_id = Convert.ToInt32(CbPrintID.SelectedItem.ToString());
OnPrintOption?.Invoke(this, print_id);
}
catch (Exception ex)
{
_ = MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion
#region HELPER FUNCTIONS
public void AlarmHistoryUpdate(DataTable aAlarmHistory)
{
if (InvokeRequired)
{
Invoke(new MethodInvoker(delegate ()
{
try
{
string modelName = csConstData.UART_MODEL[Config.UartModelIndex];
AlarmHistory = csDbUtils.GetBmsAlarmDataByDataTable(modelName, DateTime.Now, "");
AlarmHistoryUpdate(AlarmHistory);
}
catch (Exception ex)
{
}
}));
}
else
{
try
{
string modelName = csConstData.UART_MODEL[Config.UartModelIndex];
AlarmHistory = csDbUtils.GetBmsAlarmDataByDataTable(modelName, DateTime.Now, "");
AlarmHistoryUpdate(AlarmHistory);
}
catch (Exception ex)
{
}
}
}
#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>

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

@@ -0,0 +1,377 @@
namespace LFP_Manager.Controls
{
partial class ucHistroy
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.btnSearch = new System.Windows.Forms.Button();
this.dtpEnd = new System.Windows.Forms.DateTimePicker();
this.dtpStart = new System.Windows.Forms.DateTimePicker();
this.xtcSearchResult = new DevExpress.XtraTab.XtraTabControl();
this.pgGrid = new DevExpress.XtraTab.XtraTabPage();
this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl();
this.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.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});
//
// 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;
this.gridSearchResult.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.gridSearchResult_CellFormatting);
//
// 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.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 pgGrid;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraSplashScreen.SplashScreenManager DbWaitForm;
private System.Windows.Forms.Button btnSearch;
private System.Windows.Forms.DateTimePicker dtpEnd;
private System.Windows.Forms.DateTimePicker dtpStart;
private DevExpress.XtraLayout.LayoutControlGroup lcgbSelectDatetime;
private DevExpress.XtraLayout.SimpleLabelItem slbStartDate;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.SimpleLabelItem slbEndDate;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControlGroup lcgbSearchResult;
private DevExpress.XtraLayout.LayoutControl layoutControl3;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private System.Windows.Forms.DataGridView gridSearchResult;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraEditors.SimpleButton btnExportExcel;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
}
}

View File

@@ -0,0 +1,215 @@
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;
#endregion
#region CONSTRUCTOR
public ucHistroy()
{
InitializeComponent();
dtHistory = new DataTable();
}
public void SetCommCofig(CommConfig aConfig)
{
Config = aConfig;
}
#endregion
#region SQL QUARY EXCUTE
private void quaryExcute(string quary)
{
string dbFilename = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + DbConstData.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;
}
}
}
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 COMPONENT EVENT
private void gridSearchResult_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.Value is DateTime dateTime)
{
e.Value = csUtils.FormatDateTime(dateTime);
e.FormattingApplied = true;
}
}
#endregion
}
}

View File

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

View File

@@ -0,0 +1,822 @@
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 xyDiagram1 = new DevExpress.XtraCharts.XYDiagram();
DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.LineSeriesView lineSeriesView1 = new DevExpress.XtraCharts.LineSeriesView();
DevExpress.XtraCharts.Series series2 = new DevExpress.XtraCharts.Series();
DevExpress.XtraCharts.LineSeriesView lineSeriesView2 = new DevExpress.XtraCharts.LineSeriesView();
DevExpress.XtraCharts.ChartTitle chartTitle1 = new DevExpress.XtraCharts.ChartTitle();
this.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.gaugeControl5 = new DevExpress.XtraGauges.Win.GaugeControl();
this.dgTotalSOH = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent5 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
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.panelControl11 = new DevExpress.XtraEditors.PanelControl();
this.lbStatus = new DevExpress.XtraEditors.LabelControl();
this.panelControl2 = new DevExpress.XtraEditors.PanelControl();
this.lbAlarm = new DevExpress.XtraEditors.LabelControl();
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.lcItemSOH = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcitemStatus = new DevExpress.XtraLayout.LayoutControlItem();
this.lcitemAlarm = 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.layoutControlGroup4 = 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)(xyDiagram1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(series2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((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.dgTotalSOH)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalSOC)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalTemp)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalCurrent)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalVoltage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl11)).BeginInit();
this.panelControl11.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.panelControl2)).BeginInit();
this.panelControl2.SuspendLayout();
((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.lcItemSOH)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).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.layoutControlGroup4)).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
//
xyDiagram1.AxisX.NumericScaleOptions.AutoGrid = false;
xyDiagram1.AxisX.VisibleInPanesSerializable = "-1";
xyDiagram1.AxisX.VisualRange.Auto = false;
xyDiagram1.AxisX.VisualRange.AutoSideMargins = false;
xyDiagram1.AxisX.VisualRange.EndSideMargin = 0D;
xyDiagram1.AxisX.VisualRange.MaxValueSerializable = "9";
xyDiagram1.AxisX.VisualRange.MinValueSerializable = "0";
xyDiagram1.AxisX.VisualRange.StartSideMargin = 0D;
xyDiagram1.AxisY.VisibleInPanesSerializable = "-1";
xyDiagram1.DefaultPane.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
this.chartVI.Diagram = xyDiagram1;
this.chartVI.Legend.Name = "Default Legend";
this.chartVI.Location = new System.Drawing.Point(3, 3);
this.chartVI.Name = "chartVI";
series1.Name = "Series 1";
series1.View = lineSeriesView1;
series2.Name = "Series 2";
series2.View = lineSeriesView2;
this.chartVI.SeriesSerializable = new DevExpress.XtraCharts.Series[] {
series1,
series2};
this.chartVI.Size = new System.Drawing.Size(1083, 101);
this.chartVI.TabIndex = 4;
this.chartVI.Titles.AddRange(new DevExpress.XtraCharts.ChartTitle[] {
chartTitle1});
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.chartVI;
this.layoutControlItem3.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(1087, 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";
//
// 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;
//
// 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;
//
// 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;
//
// 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";
//
// 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";
//
// 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(125, 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(125, 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 (Max.)";
this.lcItemTemp.TextLocation = DevExpress.Utils.Locations.Top;
this.lcItemTemp.TextSize = new System.Drawing.Size(125, 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(125, 14);
//
// 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(125, 14);
//
// 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";
//
// 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;
//
// 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;
//
// 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";
//
// layoutControlGroup4
//
this.layoutControlGroup4.CustomizationFormText = "layoutControlGroup3";
this.layoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup4.GroupBordersVisible = false;
this.layoutControlGroup4.Location = new System.Drawing.Point(0, 0);
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;
//
// 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)(xyDiagram1)).EndInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).EndInit();
((System.ComponentModel.ISupportInitialize)(series1)).EndInit();
((System.ComponentModel.ISupportInitialize)(lineSeriesView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(series2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.chartVI)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((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.dgTotalSOH)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalSOC)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalTemp)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalCurrent)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgTotalVoltage)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.panelControl11)).EndInit();
this.panelControl11.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.panelControl2)).EndInit();
this.panelControl2.ResumeLayout(false);
((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.lcItemSOH)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).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.layoutControlGroup4)).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,469 @@
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 DevExpress.XtraLayout;
using LFP_Manager.DataStructure;
namespace LFP_Manager.Controls
{
public delegate void CommandEvent(int sId, int cmd, int index, int flag,
ref CsDeviceData.DeviceModuleData.DeviceParamData aParam,
ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib);
public partial class ucMainStatus : DevExpress.XtraEditors.XtraUserControl
{
#region CONSTANTS / ENUMS
private const int HeaderHeight = 30;
private const int RowHeight = 60;
private const int BorderPadding = 2;
private static class Colors
{
public static readonly Color Normal = Color.Green;
public static readonly Color Warning = Color.Orange;
public static readonly Color Fault = Color.Red;
public static readonly Color Offline = Color.Red;
public static readonly Color Charging = Color.Blue;
public static readonly Color Discharging = Color.Magenta;
public static readonly Color Default = Color.Black;
}
private enum OperatingStatus
{
Standby = 0,
Charging = 1,
Discharging = 2,
Floating = 3
}
private enum BatteryStatus
{
Normal = 0,
Warning = 1,
Fault = 2,
WarmingUp = 3,
FaultAntiTheftComm = 4,
FaultAntiTheftGyro = 5
}
#endregion
#region FIELDS
private CommConfig _config;
private CsDeviceData _deviceData;
private static CsDeviceData.DeviceModuleData dummy;
private ucModuleMainHeader _moduleMainHeader;
private ucModuleMainB[] _moduleMainRows;
private LayoutControlItem[] _lcitemModuleMain;
private EmptySpaceItem[] _emptySpaceItems;
private int _moduleQty;
private double _totalVoltage;
private double _totalCurrent;
private double _totalTemperature;
private double _totalSoc;
private double _totalSoh;
private bool _active;
public event CommandEvent OnCommand;
#endregion
#region CONSTRUCTORS
public ucMainStatus()
{
InitializeComponent();
_moduleQty = csConstData.SystemInfo.MAX_MODULE_SIZE;
// 크기 변경 시 레이아웃 재배치
this.Resize += (_, __) =>
{
if (_moduleMainRows != null && _moduleMainRows.Length > 0)
RepositionLayout();
};
// 🔧 리소스/이벤트 정리: Dispose 이벤트로 대체
this.Disposed += UcMainStatus_Disposed;
}
#endregion
#region PUBLIC API
public void UpdateMainConfig(CommConfig config, CsDeviceData devData)
{
if (config == null || devData == null)
return;
_config = config;
_deviceData = devData;
_moduleQty = Math.Max(0, Math.Min(_config.ModuleQty, csConstData.SystemInfo.MAX_MODULE_SIZE));
LoadModuleMain(_moduleQty);
lcgbModuleMain.Invalidate();
}
public void Start(CommConfig config, CsDeviceData devData)
{
if (config == null || devData == null)
return;
_config = config;
_deviceData = devData;
_moduleQty = Math.Max(0, Math.Min(_config.ModuleQty, csConstData.SystemInfo.MAX_MODULE_SIZE));
_active = true;
tmrDisplay.Enabled = true;
}
public void Stop()
{
_active = false;
tmrDisplay.Enabled = false;
}
public void UpdateData(CsDeviceData devData)
{
if (!_active || devData == null)
return;
_deviceData = devData;
// 합계 값 계산 (0으로 나눔 방지, 스케일 고정)
_totalVoltage = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalVoltage / 10.0 : 0.0;
_totalCurrent = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalCurrent / 10.0 : 0.0;
_totalSoc = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalSOC / 10.0 : 0.0;
_totalSoh = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalSOH / 10.0 : 0.0;
_totalTemperature = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalTemp / 10.0 : 0.0;
// 모듈 행 갱신 (범위/Null 안전)
if (_moduleMainRows != null && _deviceData.ModuleData != null)
{
var count = Math.Min(Math.Min(_moduleMainRows.Length, _deviceData.ModuleData.Length), _moduleQty);
for (var i = 0; i < count; i++)
{
_moduleMainRows[i]?.UpdateData(ref _deviceData.ModuleData[i]);
}
}
}
private void UcMainStatus_Disposed(object sender, EventArgs e)
{
try
{
// 타이머 정지
if (tmrDisplay != null)
tmrDisplay.Enabled = false;
// 이벤트 구독 해제
if (_moduleMainRows != null)
{
foreach (var row in _moduleMainRows)
{
if (row != null)
row.OnCommand -= SetCmdEvent;
}
}
}
catch { /* swallow on dispose */ }
}
#endregion
#region INTERNAL LAYOUT
private void LoadModuleMain(int mQty)
{
if (lcModuleMain == null || lcgbModuleMain == null)
return;
// 기존 컨트롤/아이템 제거 (성능 최적화)
lcModuleMain.SuspendLayout();
lcgbModuleMain.BeginUpdate();
try
{
lcModuleMain.Controls.Clear();
lcgbModuleMain.Items.Clear();
_moduleMainHeader = new ucModuleMainHeader();
_moduleMainRows = new ucModuleMainB[mQty];
_lcitemModuleMain = new LayoutControlItem[mQty + 1];
var emptySize = csConstData.SystemInfo.MAX_MODULE_SIZE - mQty;
_emptySpaceItems = emptySize > 0 ? new EmptySpaceItem[emptySize] : Array.Empty<EmptySpaceItem>();
// 헤더
_lcitemModuleMain[0] = new LayoutControlItem
{
Control = _moduleMainHeader,
Name = "lcitemModuleMainHeader",
Size = new Size(Math.Max(0, lcgbModuleMain.Width - 2 * BorderPadding), HeaderHeight),
Location = new Point(BorderPadding, BorderPadding),
TextVisible = false,
Padding = new DevExpress.XtraLayout.Utils.Padding(0)
};
// 본문 행
var tWidth = Math.Max(0, lcgbModuleMain.Width - 2 * BorderPadding);
var y = BorderPadding + HeaderHeight;
var emptyIdx = 0;
for (var i = 0; i < csConstData.SystemInfo.MAX_MODULE_SIZE; i++)
{
if (i < mQty)
{
// 기존 구독 제거(안전)
if (_moduleMainRows[i] != null)
_moduleMainRows[i].OnCommand -= SetCmdEvent;
var moduleDataRef = _deviceData != null && _deviceData.ModuleData != null && _deviceData.ModuleData.Length > i
? ref _deviceData.ModuleData[i]
: ref GetDummyModuleRef();
_moduleMainRows[i] = new ucModuleMainB(_config, i + 1, ref moduleDataRef);
_moduleMainRows[i].OnCommand += SetCmdEvent;
_lcitemModuleMain[i + 1] = new LayoutControlItem
{
Control = _moduleMainRows[i],
Name = $"lcitemModuleMain_{i + 1}",
Size = new Size(tWidth, RowHeight),
Location = new Point(BorderPadding, y),
TextVisible = false,
Padding = new DevExpress.XtraLayout.Utils.Padding(0)
};
y += RowHeight;
}
else if (_emptySpaceItems.Length > 0 && emptyIdx < _emptySpaceItems.Length)
{
_emptySpaceItems[emptyIdx] = new EmptySpaceItem
{
Size = new Size(tWidth, RowHeight),
Location = new Point(BorderPadding, y)
};
y += RowHeight;
emptyIdx++;
}
}
// 컨트롤 추가
lcModuleMain.Controls.Add(_moduleMainHeader);
for (var i = 0; i < mQty; i++)
{
if (_moduleMainRows[i] != null)
lcModuleMain.Controls.Add(_moduleMainRows[i]);
}
// 레이아웃 아이템 구성
var items = new List<BaseLayoutItem>(csConstData.SystemInfo.MAX_MODULE_SIZE + 1);
items.Add(_lcitemModuleMain[0]);
for (var i = 1; i < _lcitemModuleMain.Length; i++)
{
if (_lcitemModuleMain[i] != null)
items.Add(_lcitemModuleMain[i]);
}
if (_emptySpaceItems.Length > 0)
items.AddRange(_emptySpaceItems);
lcgbModuleMain.Items.AddRange(items.ToArray());
}
finally
{
lcgbModuleMain.EndUpdate();
lcModuleMain.ResumeLayout();
lcgbModuleMain.Invalidate();
}
}
// 크기 변경 시 아이템 사이즈/좌표만 갱신 (재생성 X)
private void RepositionLayout()
{
if (_lcitemModuleMain == null || _lcitemModuleMain.Length == 0 || lcgbModuleMain == null)
return;
lcgbModuleMain.BeginUpdate();
try
{
var tWidth = Math.Max(0, lcgbModuleMain.Width - 2 * BorderPadding);
// 헤더
if (_lcitemModuleMain[0] != null)
{
_lcitemModuleMain[0].Size = new Size(tWidth, HeaderHeight);
_lcitemModuleMain[0].Location = new Point(BorderPadding, BorderPadding);
}
// 행
var y = BorderPadding + HeaderHeight;
for (var i = 1; i < _lcitemModuleMain.Length; i++)
{
var item = _lcitemModuleMain[i];
if (item == null) continue;
item.Size = new Size(tWidth, RowHeight);
item.Location = new Point(BorderPadding, y);
y += RowHeight;
}
// 빈공간
if (_emptySpaceItems != null && _emptySpaceItems.Length > 0)
{
foreach (var emp in _emptySpaceItems)
{
if (emp == null) continue;
emp.Size = new Size(tWidth, RowHeight);
emp.Location = new Point(BorderPadding, y);
y += RowHeight;
}
}
}
finally
{
lcgbModuleMain.EndUpdate();
lcgbModuleMain.Invalidate();
}
}
// 모듈 데이터가 아직 없을 때 참조를 위한 더미(구조 동일)
private ref CsDeviceData.DeviceModuleData GetDummyModuleRef()
{
// static 필드로 유지해도 무방
return ref dummy;
}
#endregion
#region EVENT BRIDGE
private void SetCmdEvent(
int sId, int cmd, int index, int flag,
ref CsDeviceData.DeviceModuleData.DeviceParamData aParam,
ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib)
{
var handler = OnCommand; // 레이스 방지
handler?.Invoke(sId, cmd, index, flag, ref aParam, ref aCalib);
}
#endregion
#region TIMER EVENT
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayTotalValue();
DisplayStatusAndAlarm();
}
#endregion
#region DISPLAY FUNCTION
private void DisplayTotalValue()
{
if (!_active || _deviceData?.TotalData == null)
return;
var fw = _deviceData.TotalData.IdentData?.FwVerStr ?? "N/A";
var modules = _config != null ? _config.ModuleQty : _moduleQty;
rtGraph.Text = $"Real Time Graph - V{fw} - {modules} Modules";
dgTotalVoltage.Text = $"{_totalVoltage:0.0}";
dgTotalCurrent.Text = $"{_totalCurrent:0.0}";
dgTotalTemp.Text = $"{_totalTemperature:0.0}";
dgTotalSOC.Text = $"{_totalSoc:0.0}";
dgTotalSOH.Text = $"{_totalSoh:0.0}";
chartVI?.Invalidate();
}
private void DisplayStatusAndAlarm()
{
if (_deviceData?.TotalData == null)
return;
if (_deviceData.TotalData.CommFail)
{
lbStatus.Text = "OFF-LINE";
lbStatus.ForeColor = Colors.Offline;
lbAlarm.Text = "OFF-LINE";
lbAlarm.ForeColor = Colors.Offline;
return;
}
// Operating Status
var st = (OperatingStatus)(_deviceData.TotalData.StatusData?.status ?? -1);
switch (st)
{
case OperatingStatus.Standby:
lbStatus.Text = "STANDBY";
lbStatus.ForeColor = Colors.Default;
break;
case OperatingStatus.Charging:
lbStatus.Text = "CHARGING";
lbStatus.ForeColor = Colors.Charging;
break;
case OperatingStatus.Discharging:
lbStatus.Text = "DISCHARGING";
lbStatus.ForeColor = Colors.Discharging;
break;
case OperatingStatus.Floating:
lbStatus.Text = "FLOATING";
lbStatus.ForeColor = Colors.Default;
break;
default:
lbStatus.Text = "UNKNOWN";
lbStatus.ForeColor = Colors.Default;
break;
}
// Battery Status
var bs = (BatteryStatus)(_deviceData.TotalData.StatusData?.batteryStatus ?? -1);
switch (bs)
{
case BatteryStatus.Normal:
lbAlarm.Text = "NORMAL";
lbAlarm.ForeColor = Colors.Normal;
break;
case BatteryStatus.Warning:
lbAlarm.Text = "WARNING";
lbAlarm.ForeColor = Colors.Warning;
break;
case BatteryStatus.Fault:
lbAlarm.Text = "FAULT";
lbAlarm.ForeColor = Colors.Fault;
break;
case BatteryStatus.WarmingUp:
lbAlarm.Text = "WARMING UP";
lbAlarm.ForeColor = Colors.Warning;
break;
case BatteryStatus.FaultAntiTheftComm:
lbAlarm.Text = "FAULT (Anti-Theft Comm.)";
lbAlarm.ForeColor = Colors.Fault;
break;
case BatteryStatus.FaultAntiTheftGyro:
lbAlarm.Text = "FAULT (Anti-Theft Gyro)";
lbAlarm.ForeColor = Colors.Fault;
break;
default:
lbAlarm.Text = $"UNKNOWN ({_deviceData.TotalData.StatusData?.batteryStatus})";
lbAlarm.ForeColor = Colors.Fault;
break;
}
}
#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,658 @@
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.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.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.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.gaugeVoltage = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge();
this.digitalBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
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.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.lcItemModuleDetail = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.lbMdFwVer = new DevExpress.XtraLayout.SimpleLabelItem();
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.lbModuleNumber = new DevExpress.XtraEditors.LabelControl();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.lcitemModuleNumber = new DevExpress.XtraLayout.LayoutControlItem();
this.lbMdNo = new System.Windows.Forms.Label();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gaugeTempMax)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeGapV)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent6)).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.gaugeVoltage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).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.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemModuleDetail)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lbMdFwVer)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemModuleNumber)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.AllowCustomization = false;
this.layoutControl1.Controls.Add(this.lbMdNo);
this.layoutControl1.Controls.Add(this.gaugeControl6);
this.layoutControl1.Controls.Add(this.gaugeControl5);
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";
//
// gaugeControl6
//
this.gaugeControl6.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.gaugeTempMax});
this.gaugeControl6.Location = new System.Drawing.Point(648, 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;
//
// gaugeControl5
//
this.gaugeControl5.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.gaugeGapV});
this.gaugeControl5.Location = new System.Drawing.Point(746, 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;
//
// gaugeControl4
//
this.gaugeControl4.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] {
this.gaugeSOH});
this.gaugeControl4.Location = new System.Drawing.Point(550, 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(844, 6);
this.btnModuleDetail.Name = "btnModuleDetail";
this.btnModuleDetail.Size = new System.Drawing.Size(37, 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(452, 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(354, 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(256, 6);
this.gaugeControl1.Name = "gaugeControl1";
this.gaugeControl1.Size = new System.Drawing.Size(94, 41);
this.gaugeControl1.TabIndex = 4;
//
// 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;
//
// 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;
//
// 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.slbOpStatus,
this.slbAlarm,
this.lcitemVolt,
this.lcitemCurrent,
this.lcitemSOC,
this.lcitemSOH,
this.layoutControlItem1,
this.lcItemModuleDetail,
this.layoutControlItem3,
this.lbMdFwVer,
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(886, 52);
this.layoutControlGroup2.Text = "MD";
this.layoutControlGroup2.TextLocation = DevExpress.Utils.Locations.Left;
//
// slbOpStatus
//
this.slbOpStatus.AllowHotTrack = false;
this.slbOpStatus.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
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(48, 0);
this.slbOpStatus.MinSize = new System.Drawing.Size(60, 18);
this.slbOpStatus.Name = "slbOpStatus";
this.slbOpStatus.Size = new System.Drawing.Size(60, 45);
this.slbOpStatus.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbOpStatus.Text = "DCH";
this.slbOpStatus.TextSize = new System.Drawing.Size(40, 16);
//
// slbAlarm
//
this.slbAlarm.AllowHotTrack = false;
this.slbAlarm.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
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(108, 0);
this.slbAlarm.MinSize = new System.Drawing.Size(60, 18);
this.slbAlarm.Name = "slbAlarm";
this.slbAlarm.OptionsTableLayoutItem.RowIndex = 2;
this.slbAlarm.Size = new System.Drawing.Size(60, 45);
this.slbAlarm.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.slbAlarm.Text = "WARN";
this.slbAlarm.TextSize = new System.Drawing.Size(40, 16);
//
// lcitemVolt
//
this.lcitemVolt.Control = this.gaugeControl1;
this.lcitemVolt.Location = new System.Drawing.Point(227, 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(325, 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(423, 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(521, 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;
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.gaugeControl5;
this.layoutControlItem1.Location = new System.Drawing.Point(717, 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;
//
// lcItemModuleDetail
//
this.lcItemModuleDetail.Control = this.btnModuleDetail;
this.lcItemModuleDetail.Location = new System.Drawing.Point(815, 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(41, 45);
this.lcItemModuleDetail.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcItemModuleDetail.TextSize = new System.Drawing.Size(0, 0);
this.lcItemModuleDetail.TextVisible = false;
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.gaugeControl6;
this.layoutControlItem3.CustomizationFormText = "Temp Max.";
this.layoutControlItem3.Location = new System.Drawing.Point(619, 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;
//
// lbMdFwVer
//
this.lbMdFwVer.AllowHotTrack = false;
this.lbMdFwVer.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 10F);
this.lbMdFwVer.AppearanceItemCaption.Options.UseFont = true;
this.lbMdFwVer.Location = new System.Drawing.Point(168, 0);
this.lbMdFwVer.Name = "lbMdFwVer";
this.lbMdFwVer.Size = new System.Drawing.Size(59, 45);
this.lbMdFwVer.Text = "----";
this.lbMdFwVer.TextSize = new System.Drawing.Size(40, 16);
//
// 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;
//
// 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(0, 19);
this.lbModuleNumber.TabIndex = 4;
//
// layoutControlGroup1
//
this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.layoutControlGroup1.GroupBordersVisible = false;
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.lcitemModuleNumber});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(46, 33);
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, 31);
this.lcitemModuleNumber.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.lcitemModuleNumber.TextSize = new System.Drawing.Size(0, 0);
this.lcitemModuleNumber.TextVisible = false;
//
// lbMdNo
//
this.lbMdNo.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold);
this.lbMdNo.Location = new System.Drawing.Point(29, 6);
this.lbMdNo.Name = "lbMdNo";
this.lbMdNo.Size = new System.Drawing.Size(44, 41);
this.lbMdNo.TabIndex = 12;
this.lbMdNo.Text = "#01";
this.lbMdNo.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.lbMdNo;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem2.MinSize = new System.Drawing.Size(24, 24);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(48, 45);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// 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.gaugeTempMax)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gaugeGapV)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent6)).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.gaugeVoltage)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).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.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcItemModuleDetail)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lbMdFwVer)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.lcitemModuleNumber)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).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 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.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;
private DevExpress.XtraLayout.SimpleLabelItem lbMdFwVer;
private DevExpress.XtraEditors.LabelControl lbModuleNumber;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraLayout.LayoutControlItem lcitemModuleNumber;
private System.Windows.Forms.Label lbMdNo;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
}
}

View File

@@ -0,0 +1,192 @@
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 CsDeviceData.DeviceModuleData ModuleData;
private CsDeviceData.DeviceModuleData.DeviceParamData ParamData;
private CsDeviceData.DeviceModuleData.DeviceCalibration CalibData;
public event CommandEvent OnCommand = null;
#endregion
#region CONSTRUCTORS
public ucModuleMainB()
{
InitializeComponent();
}
public ucModuleMainB(CommConfig aConfig, int aID, ref CsDeviceData.DeviceModuleData mData)
{
InitializeComponent();
Config = aConfig;
mID = aID;
ModuleData = mData;
lbMdNo.Text = String.Format("#{0:00}", mID);
tmrDisplay.Start();
}
#endregion
#region PUBLIC FUNCTION
public void UpdateData(ref CsDeviceData.DeviceModuleData mData)
{
ModuleData = mData;
}
#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 (ModuleData.ShelfCommFail == false)
{
lbMdNo.BackColor = Color.Green;
}
else
{
lbMdNo.BackColor = Color.Orange;
}
}
private void DisplayValue()
{
lbMdFwVer.Text = ModuleData.Information.SwProductRev;
gaugeVoltage.Text = String.Format("{0:0.0}", (double)ModuleData.ValueData.voltage / 10);
gaugeCurrent.Text = String.Format("{0:0.0}", (double)ModuleData.ValueData.current / 10);
gaugeSOC.Text = String.Format("{0:0.0}", (double)ModuleData.ValueData.SOC / 10);
gaugeSOH.Text = String.Format("{0:0.0}", (double)ModuleData.ValueData.SOH / 10);
gaugeTempMax.Text = String.Format("{0:0.0}", (double)ModuleData.AvgData.maxTemp / 10);
gaugeGapV.Text = String.Format("{0:0.000}", (double)ModuleData.AvgData.diffCellVoltage / 1000);
}
private void DisplayStatusAndAlarm()
{
if (ModuleData.CommFail == false)
{
if (ModuleData.ShelfCommFail == false)
{
lbMdNo.BackColor = Color.Green;
switch (ModuleData.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
switch (ModuleData.StatusData.batteryStatus)
{
case 0: // NORMAL
slbAlarm.Text = "NORMAL";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Green;
break;
case 1: // WARNING
slbAlarm.Text = "WARNING";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Orange;
break;
case 2: // FAULT
slbAlarm.Text = "FAULT";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
break;
case 3: // WARMING UP
slbAlarm.Text = "WARMING UP";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black;
break;
case 4: // FAULT (Anti-Theft Comm.)
slbAlarm.Text = "FAULT1";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
break;
case 5: // FAULT (Anti-Theft Gyro-Scope)
slbAlarm.Text = "FAULT2";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
break;
default:
slbAlarm.Text = string.Format("UNKNOWN ({0})", ModuleData.StatusData.batteryStatus);
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
break;
}
}
else
{
slbOpStatus.Text = "COMM FAIL";
slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
slbAlarm.Text = "COMM FAIL";
slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red;
lbMdNo.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;
lbMdNo.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,295 @@
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();
this.lbFwVer = 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();
((System.ComponentModel.ISupportInitialize)(this.lbFwVer)).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.lbFwVer});
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(40, 1);
this.simpleLabelItem1.Name = "simpleLabelItem1";
this.simpleLabelItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0);
this.simpleLabelItem1.Size = new System.Drawing.Size(40, 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(40, 0);
this.simpleLabelItem2.MinSize = new System.Drawing.Size(55, 1);
this.simpleLabelItem2.Name = "simpleLabelItem2";
this.simpleLabelItem2.Size = new System.Drawing.Size(55, 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(236, 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(95, 0);
this.simpleLabelItem3.MinSize = new System.Drawing.Size(55, 1);
this.simpleLabelItem3.Name = "simpleLabelItem3";
this.simpleLabelItem3.Size = new System.Drawing.Size(55, 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(334, 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(432, 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(530, 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(824, 0);
this.simpleLabelItem8.MinSize = new System.Drawing.Size(1, 1);
this.simpleLabelItem8.Name = "simpleLabelItem8";
this.simpleLabelItem8.Size = new System.Drawing.Size(34, 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(628, 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(726, 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);
//
// lbFwVer
//
this.lbFwVer.AllowHotTrack = false;
this.lbFwVer.AppearanceItemCaption.Options.UseTextOptions = true;
this.lbFwVer.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.lbFwVer.Location = new System.Drawing.Point(150, 0);
this.lbFwVer.Name = "lbFwVer";
this.lbFwVer.Size = new System.Drawing.Size(86, 23);
this.lbFwVer.Text = "FW Ver";
this.lbFwVer.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();
((System.ComponentModel.ISupportInitialize)(this.lbFwVer)).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;
private DevExpress.XtraLayout.SimpleLabelItem lbFwVer;
}
}

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,289 @@
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: // Low SOC
wParam.Fault = Convert.ToInt16(edTripNew.Text);
wParam.Warning = Convert.ToInt16(edWarningNew.Text);
wParam.Release = Convert.ToInt16(edReleaseNew.Text);
break;
case 8: // Charge Over Current
case 9: // Discharge Over Current
wParam.Fault = (short)(Convert.ToDouble(edTripNew.Text) * 10);
wParam.Warning = (short)(Convert.ToDouble(edWarningNew.Text) * 10);
wParam.Release = (short)(Convert.ToDouble(edReleaseNew.Text) * 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 EnableDisableSetBtn(bool flag)
{
btnSet.Enabled = flag;
}
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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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,119 @@
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]
);
break;
case csConstData.CommType.COMM_RS485:
if (Config.UartModelIndex >= csConstData.UART_MODEL.Length)
{
Config.UartModelIndex = 0;
}
info = String.Format("INTERFACE: RS-485 - {0}, MODEL: {1}" //, M-QTY: {2}, PROTOCOL: {2}"
, Config.UartPort
, csConstData.UART_MODEL[Config.UartModelIndex]
);
break;
case csConstData.CommType.COMM_SNMP:
if (Config.SnmpModelIndex >= csConstData.UART_MODEL.Length)
{
Config.SnmpModelIndex = 0;
}
info = String.Format("INTERFACE: SNMP - {0}, MODEL: {1}" //, M-QTY: {2}, PROTOCOL: {2}"
, Config.SnmpIP
, csConstData.UART_MODEL[Config.SnmpModelIndex]
);
break;
default:
break;
}
lbTargetInfo.Text = info;
}
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;
}
}
#endregion
#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,58 @@
/********************************** 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 ,
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 ,
ext1_temp NUMERIC null ,
ext2_temp 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,175 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LFP_Manager.DataStructure
{
internal class CsAlarmDefine
{
//0x0001Pack OV
//0x0002Cell OV
//0x0004Pack UV
//0x0008Cell UV
//0x0010Charge OC
//0x0020Discharge OC
//0x0040: 环境温度异常
//0x0080: MOS温度高
//0x0100Charge OT
//0x0200Discharge OT
//0x0400Charge UT
//0x0800Discharge UT
//0x1000Low capacity
//0x2000: 浮充停止/Float Stoped
//0x4000:
public enum eGuiWarningBit
{
PACK_OV = 0,
CELL_OV = 1,
PACK_UV = 2,
CELL_UV = 3,
CHG_OC = 4,
DCH_OC = 5,
AMB_OT = 6,
MOS_OT = 7,
CHG_OT = 8,
DCH_OT = 9,
CHG_UT = 10,
DCH_UT = 11,
LOW_SOC = 12,
DIFF_VOLT = 13,
CB_OFF = 14,
}
public enum eGuiProtectBit
{
PACK_OV = 0,
CELL_OV = 1,
PACK_UV = 2,
CELL_UV = 3,
CHG_OC = 4,
DCH_OC = 5,
AMB_OT = 6,
MOS_OT = 7,
CHG_OT = 8,
DCH_OT = 9,
CHG_UT = 10,
DCH_UT = 11,
LOW_SOC = 12,
SC = 13,
}
public enum eDevWarningBit
{
CELL_OV = 0,
CELL_UV = 1,
PACK_OV = 2,
PACK_UV = 3,
CHG_OC = 4,
DCH_OC = 5,
AMB_OT = 6,
AMB_UT = 7,
CHG_OT = 8,
CHG_UT = 9,
DCH_OT = 10,
DCH_UT = 11,
LOW_SOC = 12,
DIFF_VOLT = 13,
CB_OFF = 14,
}
public enum eDevProtectBit
{
CELL_OV = 0,
PACK_OV = 1,
CELL_UV = 2,
PACK_UV = 3,
CHG_OC1 = 4,
CHG_OC2 = 5,
DCH_OC1 = 6,
DCH_OC2 = 7,
SC_CB = 8,
CHG_OT = 9,
CHG_UT = 10,
DCH_OT = 11,
DCH_UT = 12,
}
private static bool HasBit(int value, int bitIndex) => (value & (1 << bitIndex)) != 0;
private static void SetBit(ref int value, int bitIndex) => value |= (1 << bitIndex);
private static void SetIf(int src, int srcBit, ref int dst, int dstBit)
{
if (HasBit(src, srcBit)) SetBit(ref dst, dstBit);
}
private static void SetIfAny(int src, int[] srcBits, ref int dst, int dstBit)
{
foreach (var b in srcBits)
{
if (HasBit(src, b)) { SetBit(ref dst, dstBit); break; }
}
}
/// <summary>
/// Device 경고 비트(eDevWarningBit) -> GUI 경고 비트(eGuiWarningBit)
/// AMB_UT는 GUI 경고에 대응 비트가 없어 미표시.
/// 새로 추가된 DIFF_VOLT, CB_OFF 매핑 포함.
/// </summary>
public static int DevWarningToGui(int devWarning)
{
int gui = 0;
SetIf(devWarning, (int)eDevWarningBit.PACK_OV, ref gui, (int)eGuiWarningBit.PACK_OV);
SetIf(devWarning, (int)eDevWarningBit.CELL_OV, ref gui, (int)eGuiWarningBit.CELL_OV);
SetIf(devWarning, (int)eDevWarningBit.PACK_UV, ref gui, (int)eGuiWarningBit.PACK_UV);
SetIf(devWarning, (int)eDevWarningBit.CELL_UV, ref gui, (int)eGuiWarningBit.CELL_UV);
SetIf(devWarning, (int)eDevWarningBit.CHG_OC, ref gui, (int)eGuiWarningBit.CHG_OC);
SetIf(devWarning, (int)eDevWarningBit.DCH_OC, ref gui, (int)eGuiWarningBit.DCH_OC);
SetIf(devWarning, (int)eDevWarningBit.AMB_OT, ref gui, (int)eGuiWarningBit.AMB_OT);
//SetIf(devWarning, (int)eDevWarningBit.MOS_OT, ref gui, (int)eGuiWarningBit.MOS_OT);
SetIf(devWarning, (int)eDevWarningBit.CHG_OT, ref gui, (int)eGuiWarningBit.CHG_OT);
SetIf(devWarning, (int)eDevWarningBit.DCH_OT, ref gui, (int)eGuiWarningBit.DCH_OT);
SetIf(devWarning, (int)eDevWarningBit.CHG_UT, ref gui, (int)eGuiWarningBit.CHG_UT);
SetIf(devWarning, (int)eDevWarningBit.DCH_UT, ref gui, (int)eGuiWarningBit.DCH_UT);
SetIf(devWarning, (int)eDevWarningBit.LOW_SOC, ref gui, (int)eGuiWarningBit.LOW_SOC);
SetIf(devWarning, (int)eDevWarningBit.DIFF_VOLT, ref gui, (int)eGuiWarningBit.DIFF_VOLT);
SetIf(devWarning, (int)eDevWarningBit.CB_OFF, ref gui, (int)eGuiWarningBit.CB_OFF);
// AMB_UT는 GUI에 해당 없음 → 미표시
return gui;
}
/// <summary>
/// Device 보호 비트(eDevProtectBit) -> GUI 보호 비트(eGuiProtectBit)
/// CHG_OC1/2 → CHG_OC 집계, DCH_OC1/2 → DCH_OC 집계
/// SC_CB(단락/차단기 트립) → SC(신규 GUI 비트) 매핑.
/// </summary>
public static int DevProtectToGui(int devProtect)
{
int gui = 0;
SetIf(devProtect, (int)eDevProtectBit.PACK_OV, ref gui, (int)eGuiProtectBit.PACK_OV);
SetIf(devProtect, (int)eDevProtectBit.CELL_OV, ref gui, (int)eGuiProtectBit.CELL_OV);
SetIf(devProtect, (int)eDevProtectBit.PACK_UV, ref gui, (int)eGuiProtectBit.PACK_UV);
SetIf(devProtect, (int)eDevProtectBit.CELL_UV, ref gui, (int)eGuiProtectBit.CELL_UV);
SetIfAny(devProtect, new[] { (int)eDevProtectBit.CHG_OC1, (int)eDevProtectBit.CHG_OC2 },
ref gui, (int)eGuiProtectBit.CHG_OC);
SetIfAny(devProtect, new[] { (int)eDevProtectBit.DCH_OC1, (int)eDevProtectBit.DCH_OC2 },
ref gui, (int)eGuiProtectBit.DCH_OC);
// 단락/차단기 트립 → SC
SetIf(devProtect, (int)eDevProtectBit.SC_CB, ref gui, (int)eGuiProtectBit.SC);
SetIf(devProtect, (int)eDevProtectBit.CHG_OT, ref gui, (int)eGuiProtectBit.CHG_OT);
SetIf(devProtect, (int)eDevProtectBit.CHG_UT, ref gui, (int)eGuiProtectBit.CHG_UT);
SetIf(devProtect, (int)eDevProtectBit.DCH_OT, ref gui, (int)eGuiProtectBit.DCH_OT);
SetIf(devProtect, (int)eDevProtectBit.DCH_UT, ref gui, (int)eGuiProtectBit.DCH_UT);
// AMB_OT, MOS_OT, LOW_SOC 보호 카테고리는 DevProtectBit에 정의되지 않아 미표시
return gui;
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LFP_Manager.DataStructure
{
internal class CsSnmpConstData
{
public static readonly string[] SnmpOidInfo =
{
".1.3.6.1.2.1.15.1.0", // 0 Voltage - 10mV
".1.3.6.1.2.1.15.2.0", // 1 Current - 10mA
".1.3.6.1.2.1.15.3.0", // 2 #01 Cell Voltage - mV
".1.3.6.1.2.1.15.4.0", // 3 #02 Cell Voltage - mV
".1.3.6.1.2.1.15.5.0", // 4 #03 Cell Voltage - mV
".1.3.6.1.2.1.15.6.0", // 5 #04 Cell Voltage - mV
".1.3.6.1.2.1.15.7.0", // 6 #05 Cell Voltage - mV
".1.3.6.1.2.1.15.8.0", // 7 #06 Cell Voltage - mV
".1.3.6.1.2.1.15.9.0", // 8 #07 Cell Voltage - mV
".1.3.6.1.2.1.15.10.0", // 9 #08 Cell Voltage - mV
".1.3.6.1.2.1.15.11.0", // 10 #09 Cell Voltage - mV
".1.3.6.1.2.1.15.12.0", // 11 #10 Cell Voltage - mV
".1.3.6.1.2.1.15.13.0", // 12 #11 Cell Voltage - mV
".1.3.6.1.2.1.15.14.0", // 13 #12 Cell Voltage - mV
".1.3.6.1.2.1.15.15.0", // 14 #13 Cell Voltage - mV
".1.3.6.1.2.1.15.16.0", // 15 #14 Cell Voltage - mV
".1.3.6.1.2.1.15.17.0", // 16 #15 Cell Voltage - mV
".1.3.6.1.2.1.15.18.0", // 17 #16 Cell Voltage - mV
".1.3.6.1.2.1.15.19.0", // 18 Temp of PCB - C
".1.3.6.1.2.1.15.20.0", // 19 Temp of Ambient - C
".1.3.6.1.2.1.15.21.0", // 20 Temp Max. - C
".1.3.6.1.2.1.15.22.0", // 21 Remaining Capacity - 0.1AH
".1.3.6.1.2.1.15.24.0", // 23 SOH - 0.00%
".1.3.6.1.2.1.15.25.0", // 24 SOC - 0.00%
".1.3.6.1.2.1.15.26.0", // 25 Status
".1.3.6.1.2.1.15.27.0", // 26 Warning
".1.3.6.1.2.1.15.28.0", // 27 Protection
".1.3.6.1.2.1.15.29.0", // 28 FailAndStatus
".1.3.6.1.2.1.15.30.0", // 29 Cycle Count
".1.3.6.1.2.1.15.31.0", // 30 #01 Temp - C
".1.3.6.1.2.1.15.32.0", // 31 #02 Temp - C
".1.3.6.1.2.1.15.33.0", // 32 #03 Temp - C
".1.3.6.1.2.1.15.34.0", // 33 #04 Temp - C
".1.3.6.1.2.1.15.37.0", // 34 Cell Number
".1.3.6.1.2.1.15.38.0", // 35 Designed Capacity - 0.1AH
".1.3.6.1.2.1.15.39.0", // 36 Average Temp - C
".1.3.6.1.2.1.15.40.0", // 37 Max Charge Current - A
".1.3.6.1.2.1.15.41.0", // 38 Temp Number
".1.3.6.1.2.1.15.42.0", // 39 DateTime - Year
".1.3.6.1.2.1.15.43.0", // 40 DateTime - Month
".1.3.6.1.2.1.15.44.0", // 41 DateTime - Date
".1.3.6.1.2.1.15.45.0", // 42 DateTime - Hour
".1.3.6.1.2.1.15.46.0", // 43 DateTime - Minute
".1.3.6.1.2.1.15.47.0", // 44 DateTime - Second
".1.3.6.1.2.1.15.48.0", // 45 Flaot Voltage - 0.00V
".1.3.6.1.2.1.15.49.0", // 46 Boost Voltage - 0.00V
".1.3.6.1.2.1.15.50.0", // 47 Min. Charge Temp - C
".1.3.6.1.2.1.15.51.0", // 48 Max. Charge Temp - C
".1.3.6.1.2.1.15.60.0", // 49 Model - String
".1.3.6.1.2.1.15.61.0", // 50 BMS Firmware - String
".1.3.6.1.2.1.15.62.0", // 51 Pack Serial Number - String
".1.3.6.1.2.1.15.63.0", // 52 Vendor Name - String
".1.3.6.1.2.1.15.64.0", // 53 Product Code - String
".1.3.6.1.2.1.15.65.0", // 54 MajorMinorRev - String
".1.3.6.1.2.1.15.66.0", // 55 HwProductRev - String
".1.3.6.1.2.1.15.67.0", // 56 Manufacture Date - String
};
}
}

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,272 @@
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 = 8; //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",
"ALWAYS CURR LMT",
"PRE-CHG PROTECT",
"CHG LMT AFTER OC",
"PRE-CHG + LMT",
};
}
public class CommType
{
public const int COMM_UART = 0;
public const int COMM_RS485 = 1;
public const int COMM_SNMP = 2;
public const int COMM_UART_MULTI = 9;
}
public class UART_MODEL_INDEX
{
public const int LFPM_48100D = 0;
public const int LFPM_48150D = 1;
public const int LFPM_48200D = 2;
public const int LFPM_48250D = 3;
public const int LFPM_48300D = 4;
public const int LFPM_124050D = 5;
}
public static readonly string[] UART_MODEL =
{
"LFPM-48100SB", // 0
"LFPM-48150SB", // 1
"LFPM-48200SB", // 2
"LFPM-48250SB", // 3
"LFPM-48300SB", // 4
};
public static readonly string[] UART_PROTOCOL =
{
"AMG",
};
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 ENV_LOW_TEMPERATURE = 0x82; // 130, 131, 132 0x82, 0x83, 0x84 - Warning, Trip, Release
public const int ENV_HIGH_TEMPERATURE = 0x85; // 133, 134, 135 0x85, 0x86, 0x87 - Warning, Trip, Release
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;
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_COMM = 0x0088;
public const int ANTI_THEFT_GYRO = 0x0089;
public const int BAL_VOLT = 0x38;
public const int BAL_DIFF = 0x39;
}
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 = -20;
public const int Protect_Discharge_UT = -25;
public const int Release_Discharge_UT = -15;
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_Low_Capacity = 5;
}
public class UART_124050_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 = 10900;
public const int Protect_Pack_UV = 9795;
public const int Release_Pack_UV = 11700;
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 = 14600;
public const int Protect_Pack_OV = 15000;
public const int Release_Pack_OV = 14000;
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 = -20;
public const int Protect_Discharge_UT = -25;
public const int Release_Discharge_UT = -15;
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_Low_Capacity = 5;
public const int Warn_Env_UT = -20;
public const int Protect_Env_UT = -25;
public const int Release_Env_UT = -15;
public const int Warn_Env_OT = 65;
public const int Protect_Env_OT = 70;
public const int Release_Env_OT = 60;
}
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
};
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,165 @@
using System;
namespace LFP_Manager.DataStructure
{
internal static class DbConstData
{
// ============================== //
// DB 정의 (SQLite)
// ============================== //
public static class Database
{
// 오타 수정: AlamrHistory → AlarmHistory
public const string FileName = @"\db\AlarmHistory.db";
public const string TableName = "TAlarmHistory";
// NOTE:
// - SQLite 권장 타입(TEXT/INTEGER/REAL) 사용
// - 마지막 콤마 제거
// - IF NOT EXISTS 추가
// - 자동 증가 PK(Id) 추가
public static readonly string CreateTable = $@"
CREATE TABLE IF NOT EXISTS {TableName} (
Id INTEGER PRIMARY KEY AUTOINCREMENT,
create_date TEXT NOT NULL,
alarm_code INTEGER,
alarm_status INTEGER,
alarm_cname TEXT,
alarm_sname TEXT,
module_no INTEGER,
ct_no INTEGER,
alarm_param_1 REAL,
alarm_param_2 REAL,
alarm_param_3 REAL
);";
public static readonly string CreateIndexes = $@"
CREATE INDEX IF NOT EXISTS IX_{TableName}_create_date ON {TableName}(create_date);
CREATE INDEX IF NOT EXISTS IX_{TableName}_create_date_alarm_code ON {TableName}(create_date, alarm_code);
CREATE INDEX IF NOT EXISTS IX_{TableName}_create_date_module_no ON {TableName}(create_date, module_no);
-- 선택: 코드/상태/모듈 단독 인덱스(필요할 때만)
-- CREATE INDEX IF NOT EXISTS IX_{TableName}_alarm_code ON {TableName}(alarm_code);
-- CREATE INDEX IF NOT EXISTS IX_{TableName}_alarm_status ON {TableName}(alarm_status);
-- CREATE INDEX IF NOT EXISTS IX_{TableName}_module_no ON {TableName}(module_no);
";
}
// ============================== //
// Alarm 코드 정의 (enum)
// - 추가하신 15~18 포함
// - 기존 숫자값 유지 (호환성)
// ============================== //
public enum Alarm
{
CELL_UNDER_VOLTAGE = 0,
CELL_OVER_VOLTAGE = 1,
UNDER_VOLTAGE = 2,
OVER_VOLTAGE = 3, // 오타 수정: VOLTAGAE → VOLTAGE
CHARGE_OVER_TEMPERATURE = 4,
DISCHARGE_OVER_TEMPERATURE = 5,
CHARGE_LOW_TEMPERATURE = 6,
DISCHARGE_LOW_TEMPERATURE = 7,
CHARGE_OVER_CURRENT = 8,
DISCHARGE_OVER_CURRENT = 9,
LOW_SOC = 10,
LOW_SOH = 11,
CELL_VOLTAGE_DIFF = 12,
SHORT_CIRCUIT = 13,
COMM_FAIL = 14,
MOSFET_OVER_TERMPERATURE = 15,
CB_OFF = 16,
VOLTAGE_MEASUREMENT_ERROR = 17, // 신규
TEMPERATURE_MEASUREMENT_ERROR = 18, // 신규
BATTERY_CELL_UNBALANCE = 19, // 신규
EMERGENCY_ALARM = 20, // 신규
STS_STAND_BY = 21,
STS_CHARGING = 22, // 오타 수정: CHARING → CHARGING
STS_DISCHARGING = 23,
STS_PROTECTED = 24,
STS_PRE_CHARGING = 25,
STS_UNKNOWN = 30,
START = 31,
STOP = 32,
}
// index = 코드
private static readonly string[] AlarmNames =
{
/* 0 */ "CELL UNDER VOLTAGE",
/* 1 */ "CELL OVER VOLTAGE",
/* 2 */ "UNDER VOLTAGE",
/* 3 */ "OVER VOLTAGE",
/* 4 */ "CHARGE OVER TEMPERATURE",
/* 5 */ "DISCHARGE OVER TEMPERATURE",
/* 6 */ "CHARGE LOW TEMPERATURE",
/* 7 */ "DISCHARGE LOW TEMPERATURE",
/* 8 */ "CHARGE OVER CURRENT",
/* 9 */ "DISCHARGE OVER CURRENT",
/* 10 */ "LOW SOC",
/* 11 */ "LOW SOH",
/* 12 */ "CELL VOLTAGE DIFFERENCE",
/* 13 */ "SHORT CIRCUIT",
/* 14 */ "COMM FAIL",
/* 15 */ "MOSFET OVER TEMPERATURE",
/* 16 */ "CIRCUIT BREAKER OFF",
/* 17 */ "VOLTAGE MEASUREMENT ERROR",
/* 18 */ "TEMPERATURE MEASUREMENT ERROR",
/* 19 */ "BATTERY CELL UNBALANCE",
/* 20 */ "EMERGENCY ALARM",
/* 21 */ "STAND BY",
/* 22 */ "CHARGING",
/* 23 */ "DISCHARGING",
/* 24 */ "PROTECTED",
/* 25 */ "PRE-CHARGING",
/* 26 */ "RESERVED",
/* 27 */ "RESERVED",
/* 28 */ "RESERVED",
/* 29 */ "RESERVED",
/* 30 */ "UNKNOWN",
/* 31 */ "START",
/* 32 */ "STOP",
};
// 기존 상수 ALARM_NAME_SIZE는 실제 길이와 어긋나므로 제거 권장.
// 필요하시면 아래 프로퍼티로 대체하세요.
public static int AlarmNameCount => AlarmNames.Length;
public static string GetAlarmName(int code)
=> (code >= 0 && code < AlarmNames.Length) ? AlarmNames[code] : $"UNKNOWN({code})";
public static string GetAlarmName(Alarm code) => GetAlarmName((int)code);
// ============================== //
// Flag 정의 (enum)
// ============================== //
public enum Flag
{
RELEASE = 0,
WARNING = 1,
PROTECT = 2,
ERROR = 3,
STS_CHANGED = 4,
INFORMATION = 5,
}
private static readonly string[] FlagNames =
{
"RELEASE",
"WARNING",
"PROTECT",
"ERROR",
"STATUS CHANGED",
"INFORMATION",
};
public static int FlagNameCount => FlagNames.Length;
public static string GetFlagName(int code)
=> (code >= 0 && code < FlagNames.Length) ? FlagNames[code] : $"UNKNOWN({code})";
public static string GetFlagName(Flag code) => GetFlagName((int)code);
}
}

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>

374
LFP_Manager/Forms/FmxChangePw.Designer.cs generated Normal file
View File

@@ -0,0 +1,374 @@
namespace LFP_Manager.Forms
{
partial class FmxChangePw
{
/// <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();
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.RbMaster = new System.Windows.Forms.RadioButton();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.RbEngineer = new System.Windows.Forms.RadioButton();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.RbTechnician = new System.Windows.Forms.RadioButton();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.LbCurrentLevel = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.TePW = new DevExpress.XtraEditors.TextEdit();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
this.BtnApply = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.BtnClose = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.TmrDisplay = new System.Windows.Forms.Timer(this.components);
this.RbUser = new System.Windows.Forms.RadioButton();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LbCurrentLevel)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.TePW.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.RbUser);
this.layoutControl1.Controls.Add(this.BtnClose);
this.layoutControl1.Controls.Add(this.BtnApply);
this.layoutControl1.Controls.Add(this.TePW);
this.layoutControl1.Controls.Add(this.RbTechnician);
this.layoutControl1.Controls.Add(this.RbEngineer);
this.layoutControl1.Controls.Add(this.RbMaster);
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(751, 0, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(500, 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.emptySpaceItem1,
this.layoutControlGroup1,
this.layoutControlGroup2,
this.layoutControlGroup3,
this.layoutControlItem5,
this.layoutControlItem6});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(500, 233);
this.Root.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 176);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(498, 16);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlGroup1
//
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2,
this.layoutControlItem1,
this.layoutControlItem3,
this.layoutControlItem7});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 61);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(498, 58);
this.layoutControlGroup1.Text = "Control Level";
//
// RbMaster
//
this.RbMaster.Location = new System.Drawing.Point(7, 89);
this.RbMaster.Name = "RbMaster";
this.RbMaster.Size = new System.Drawing.Size(118, 25);
this.RbMaster.TabIndex = 8;
this.RbMaster.TabStop = true;
this.RbMaster.Text = "Master";
this.RbMaster.UseVisualStyleBackColor = true;
this.RbMaster.CheckedChanged += new System.EventHandler(this.RbMaster_CheckedChanged);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.RbMaster;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 29);
this.layoutControlItem2.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(122, 29);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// RbEngineer
//
this.RbEngineer.Location = new System.Drawing.Point(129, 89);
this.RbEngineer.Name = "RbEngineer";
this.RbEngineer.Size = new System.Drawing.Size(119, 25);
this.RbEngineer.TabIndex = 9;
this.RbEngineer.TabStop = true;
this.RbEngineer.Text = "Engineer";
this.RbEngineer.UseVisualStyleBackColor = true;
this.RbEngineer.CheckedChanged += new System.EventHandler(this.RbEngineer_CheckedChanged);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.RbEngineer;
this.layoutControlItem1.Location = new System.Drawing.Point(122, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(123, 29);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// RbTechnician
//
this.RbTechnician.Location = new System.Drawing.Point(252, 89);
this.RbTechnician.Name = "RbTechnician";
this.RbTechnician.Size = new System.Drawing.Size(118, 25);
this.RbTechnician.TabIndex = 10;
this.RbTechnician.TabStop = true;
this.RbTechnician.Text = "Technician";
this.RbTechnician.UseVisualStyleBackColor = true;
this.RbTechnician.CheckedChanged += new System.EventHandler(this.RbTechnician_CheckedChanged);
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.RbTechnician;
this.layoutControlItem3.Location = new System.Drawing.Point(245, 0);
this.layoutControlItem3.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(122, 29);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// LbCurrentLevel
//
this.LbCurrentLevel.AllowHotTrack = false;
this.LbCurrentLevel.Location = new System.Drawing.Point(0, 0);
this.LbCurrentLevel.MaxSize = new System.Drawing.Size(0, 32);
this.LbCurrentLevel.MinSize = new System.Drawing.Size(126, 32);
this.LbCurrentLevel.Name = "LbCurrentLevel";
this.LbCurrentLevel.Size = new System.Drawing.Size(490, 32);
this.LbCurrentLevel.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.LbCurrentLevel.Text = " Current Level: ";
this.LbCurrentLevel.TextSize = new System.Drawing.Size(85, 14);
//
// layoutControlGroup2
//
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.LbCurrentLevel});
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(498, 61);
this.layoutControlGroup2.Text = "Control Level";
//
// TePW
//
this.TePW.Location = new System.Drawing.Point(7, 147);
this.TePW.Name = "TePW";
this.TePW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11F);
this.TePW.Properties.Appearance.Options.UseFont = true;
this.TePW.Properties.Appearance.Options.UseTextOptions = true;
this.TePW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.TePW.Properties.PasswordChar = '*';
this.TePW.Size = new System.Drawing.Size(486, 24);
this.TePW.StyleController = this.layoutControl1;
this.TePW.TabIndex = 11;
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.TePW;
this.layoutControlItem4.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 28);
this.layoutControlItem4.MinSize = new System.Drawing.Size(171, 28);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(490, 28);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlGroup3
//
this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem4});
this.layoutControlGroup3.Location = new System.Drawing.Point(0, 119);
this.layoutControlGroup3.Name = "layoutControlGroup3";
this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup3.Size = new System.Drawing.Size(498, 57);
this.layoutControlGroup3.Text = "Password";
//
// BtnApply
//
this.BtnApply.Location = new System.Drawing.Point(3, 195);
this.BtnApply.Name = "BtnApply";
this.BtnApply.Size = new System.Drawing.Size(245, 35);
this.BtnApply.StyleController = this.layoutControl1;
this.BtnApply.TabIndex = 12;
this.BtnApply.Text = "Apply";
this.BtnApply.Click += new System.EventHandler(this.BtnApply_Click);
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.BtnApply;
this.layoutControlItem5.Location = new System.Drawing.Point(0, 192);
this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(249, 39);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// BtnClose
//
this.BtnClose.Location = new System.Drawing.Point(252, 195);
this.BtnClose.Name = "BtnClose";
this.BtnClose.Size = new System.Drawing.Size(245, 35);
this.BtnClose.StyleController = this.layoutControl1;
this.BtnClose.TabIndex = 13;
this.BtnClose.Text = "Close";
this.BtnClose.Click += new System.EventHandler(this.BtnClose_Click);
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.BtnClose;
this.layoutControlItem6.Location = new System.Drawing.Point(249, 192);
this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(249, 39);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// TmrDisplay
//
this.TmrDisplay.Interval = 500;
this.TmrDisplay.Tick += new System.EventHandler(this.TmrDisplay_Tick);
//
// RbUser
//
this.RbUser.Location = new System.Drawing.Point(374, 89);
this.RbUser.Name = "RbUser";
this.RbUser.Size = new System.Drawing.Size(119, 25);
this.RbUser.TabIndex = 14;
this.RbUser.TabStop = true;
this.RbUser.Text = "User";
this.RbUser.UseVisualStyleBackColor = true;
this.RbUser.CheckedChanged += new System.EventHandler(this.RbUser_CheckedChanged);
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.RbUser;
this.layoutControlItem7.Location = new System.Drawing.Point(367, 0);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(123, 29);
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// FmxLevelConfig
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(500, 233);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1;
this.Name = "FmxLevelConfig";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Control Level Config";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FmxLevelConfig_FormClosing);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LbCurrentLevel)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.TePW.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private System.Windows.Forms.RadioButton RbTechnician;
private System.Windows.Forms.RadioButton RbEngineer;
private System.Windows.Forms.RadioButton RbMaster;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.SimpleLabelItem LbCurrentLevel;
private DevExpress.XtraEditors.TextEdit TePW;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraEditors.SimpleButton BtnClose;
private DevExpress.XtraEditors.SimpleButton BtnApply;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private System.Windows.Forms.Timer TmrDisplay;
private System.Windows.Forms.RadioButton RbUser;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
}
}

View File

@@ -0,0 +1,184 @@
using DevExpress.XtraEditors;
using DevExpress.XtraPrinting.Native.LayoutAdjustment;
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 FmxChangePw : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
CommConfig Config;
#endregion
#region CONSTRUCTORS
public FmxChangePw()
{
InitializeComponent();
}
public FmxChangePw(CommConfig aConfig)
{
InitializeComponent();
Config = aConfig;
switch (Config.ControlLevel)
{
case 0: // User Level
RbUser.Checked = true;
break;
case 1: // Technician Level
RbTechnician.Checked = true;
break;
case 2: // Engineer Level
RbEngineer.Checked = true;
break;
case 3: // Master Level
RbMaster.Checked = true;
break;
default: // User Level
RbUser.Checked = true;
break;
}
DisplayStatus();
TmrDisplay.Start();
}
#endregion
#region BUTTON EVENT
private void BtnClose_Click(object sender, EventArgs e)
{
Close();
}
private void BtnApply_Click(object sender, EventArgs e)
{
string cPW = TePW.Text;
if (RbMaster.Checked)
{
if (Config.MasterPw == cPW)
{
Config.ControlLevel = 3;
MessageBox.Show("Complete change to Mastar Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Wrong password for Master Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (RbEngineer.Checked)
{
if (Config.EngineerPw == cPW)
{
Config.ControlLevel = 2;
MessageBox.Show("Complete change to Engineer Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Wrong password for Engineer Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (RbTechnician.Checked)
{
if (Config.TechnicianPw == cPW)
{
Config.ControlLevel = 1;
MessageBox.Show("Complete change to Technician Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Wrong password for Technician Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (RbUser.Checked)
{
Config.ControlLevel = 0;
}
}
#endregion
#region DISPLAY FUNCTION
private void DisplayStatus()
{
switch (Config.ControlLevel)
{
case 0: // User Level
LbCurrentLevel.Text = " Current Level: User Level";
break;
case 1: // Technician Level
LbCurrentLevel.Text = " Current Level: Technician Level";
break;
case 2: // Engineer Level
LbCurrentLevel.Text = " Current Level: Engineer Level";
break;
case 3: // Master Level
LbCurrentLevel.Text = " Current Level: Master Level";
break;
}
}
#endregion
#region FORM EVENT
private void FmxLevelConfig_FormClosing(object sender, FormClosingEventArgs e)
{
TmrDisplay.Stop();
}
#endregion
#region COMPONENT EVENT
private void RbMaster_CheckedChanged(object sender, EventArgs e)
{
if (RbMaster.Checked)
{
TePW.Enabled = true;
}
TePW.Text = "";
}
private void RbEngineer_CheckedChanged(object sender, EventArgs e)
{
if (RbEngineer.Checked)
{
TePW.Enabled = true;
}
TePW.Text = "";
}
private void RbTechnician_CheckedChanged(object sender, EventArgs e)
{
if (RbTechnician.Checked)
{
TePW.Enabled = true;
}
TePW.Text = "";
}
private void RbUser_CheckedChanged(object sender, EventArgs e)
{
if (RbUser.Checked)
{
TePW.Enabled = false;
}
TePW.Text = "";
}
#endregion
#region TIMER EVENT
private void TmrDisplay_Tick(object sender, EventArgs e)
{
DisplayStatus();
}
#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,195 @@
namespace LFP_Manager.Forms
{
partial class FmxInformation
{
/// <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();
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.LbDeviceId = new DevExpress.XtraEditors.LabelControl();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.BtnClose = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.TmrDisplay = new System.Windows.Forms.Timer(this.components);
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
((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.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.BtnClose);
this.layoutControl1.Controls.Add(this.LbDeviceId);
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(1018, 137, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(767, 398);
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.emptySpaceItem1,
this.layoutControlItem2,
this.layoutControlGroup1});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(767, 398);
this.Root.TextVisible = false;
//
// LbDeviceId
//
this.LbDeviceId.Appearance.Font = new System.Drawing.Font("Tahoma", 20F);
this.LbDeviceId.Appearance.Options.UseFont = true;
this.LbDeviceId.Appearance.Options.UseTextOptions = true;
this.LbDeviceId.Appearance.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Top;
this.LbDeviceId.Location = new System.Drawing.Point(23, 28);
this.LbDeviceId.Name = "LbDeviceId";
this.LbDeviceId.Size = new System.Drawing.Size(737, 332);
this.LbDeviceId.StyleController = this.layoutControl1;
this.LbDeviceId.TabIndex = 4;
this.LbDeviceId.Text = "-";
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.LbDeviceId;
this.layoutControlItem1.Location = new System.Drawing.Point(16, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(74, 18);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(741, 336);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 365);
this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(648, 31);
this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// BtnClose
//
this.BtnClose.Location = new System.Drawing.Point(651, 368);
this.BtnClose.Name = "BtnClose";
this.BtnClose.Size = new System.Drawing.Size(113, 27);
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(648, 365);
this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(117, 31);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// emptySpaceItem2
//
this.emptySpaceItem2.AllowHotTrack = false;
this.emptySpaceItem2.Location = new System.Drawing.Point(0, 0);
this.emptySpaceItem2.MinSize = new System.Drawing.Size(10, 24);
this.emptySpaceItem2.Name = "emptySpaceItem2";
this.emptySpaceItem2.Size = new System.Drawing.Size(16, 336);
this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0);
//
// TmrDisplay
//
this.TmrDisplay.Enabled = true;
this.TmrDisplay.Interval = 500;
this.TmrDisplay.Tick += new System.EventHandler(this.TmrDisplay_Tick);
//
// layoutControlGroup1
//
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.emptySpaceItem2,
this.layoutControlItem1});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(765, 365);
this.layoutControlGroup1.Text = "Device ID";
//
// FmxInformation
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(767, 398);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1;
this.Name = "FmxInformation";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Information";
((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.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraEditors.SimpleButton BtnClose;
private DevExpress.XtraEditors.LabelControl LbDeviceId;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private System.Windows.Forms.Timer TmrDisplay;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
}
}

View File

@@ -0,0 +1,66 @@
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 FmxInformation : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
private int sID;
private CommConfig Config;
private CsDeviceData.DeviceModuleData SystemData;
#endregion
#region CONSTRUCTORS
public FmxInformation(int SystemID, CommConfig aConfig, ref CsDeviceData.DeviceModuleData mData)
{
InitializeComponent();
sID = SystemID;
Config = aConfig;
SystemData = mData;
}
#endregion
#region TIMER EVENT
private void TmrDisplay_Tick(object sender, EventArgs e)
{
DisplayDeviceID();
}
#endregion
#region DISPLAY FUNCTION
private void DisplayDeviceID()
{
string tmp = "";
tmp += string.Format("Vendor Name : {0}\r\n", SystemData.Information.VendorName);
tmp += string.Format("Product Code : {0}\r\n", SystemData.Information.ProductCode);
tmp += string.Format("Major Minor Revision : {0}\r\n", SystemData.Information.MajorMinorRev);
tmp += string.Format("Model Name : {0}\r\n", SystemData.Information.ModelName);
tmp += string.Format("Hardware Serial Number : {0}\r\n", SystemData.Information.HwSerialNumber);
tmp += string.Format("Hardware Product Revision : {0}\r\n", SystemData.Information.HwProductRev);
tmp += string.Format("Manufacturing date : {0}\r\n", SystemData.Information.ManufacturingDate);
tmp += string.Format("SW Product Revision : {0}\r\n", SystemData.Information.SwProductRev);
LbDeviceId.Text = tmp;
}
#endregion
#region BUTTON EVENT
private void BtnClose_Click(object sender, EventArgs e)
{
Close();
}
#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,374 @@
namespace LFP_Manager.Forms
{
partial class FmxLevelConfig
{
/// <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();
this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.RbMaster = new System.Windows.Forms.RadioButton();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.RbEngineer = new System.Windows.Forms.RadioButton();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.RbTechnician = new System.Windows.Forms.RadioButton();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.LbCurrentLevel = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.TePW = new DevExpress.XtraEditors.TextEdit();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup();
this.BtnApply = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.BtnClose = new DevExpress.XtraEditors.SimpleButton();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.TmrDisplay = new System.Windows.Forms.Timer(this.components);
this.RbUser = new System.Windows.Forms.RadioButton();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LbCurrentLevel)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.TePW.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.RbUser);
this.layoutControl1.Controls.Add(this.BtnClose);
this.layoutControl1.Controls.Add(this.BtnApply);
this.layoutControl1.Controls.Add(this.TePW);
this.layoutControl1.Controls.Add(this.RbTechnician);
this.layoutControl1.Controls.Add(this.RbEngineer);
this.layoutControl1.Controls.Add(this.RbMaster);
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(751, 0, 650, 400);
this.layoutControl1.Root = this.Root;
this.layoutControl1.Size = new System.Drawing.Size(500, 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.emptySpaceItem1,
this.layoutControlGroup1,
this.layoutControlGroup2,
this.layoutControlGroup3,
this.layoutControlItem5,
this.layoutControlItem6});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(500, 233);
this.Root.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 176);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(498, 16);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlGroup1
//
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem2,
this.layoutControlItem1,
this.layoutControlItem3,
this.layoutControlItem7});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 61);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(498, 58);
this.layoutControlGroup1.Text = "Control Level";
//
// RbMaster
//
this.RbMaster.Location = new System.Drawing.Point(7, 89);
this.RbMaster.Name = "RbMaster";
this.RbMaster.Size = new System.Drawing.Size(118, 25);
this.RbMaster.TabIndex = 8;
this.RbMaster.TabStop = true;
this.RbMaster.Text = "Master";
this.RbMaster.UseVisualStyleBackColor = true;
this.RbMaster.CheckedChanged += new System.EventHandler(this.RbMaster_CheckedChanged);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.RbMaster;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 29);
this.layoutControlItem2.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(122, 29);
this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem2.TextVisible = false;
//
// RbEngineer
//
this.RbEngineer.Location = new System.Drawing.Point(129, 89);
this.RbEngineer.Name = "RbEngineer";
this.RbEngineer.Size = new System.Drawing.Size(119, 25);
this.RbEngineer.TabIndex = 9;
this.RbEngineer.TabStop = true;
this.RbEngineer.Text = "Engineer";
this.RbEngineer.UseVisualStyleBackColor = true;
this.RbEngineer.CheckedChanged += new System.EventHandler(this.RbEngineer_CheckedChanged);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.RbEngineer;
this.layoutControlItem1.Location = new System.Drawing.Point(122, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(123, 29);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// RbTechnician
//
this.RbTechnician.Location = new System.Drawing.Point(252, 89);
this.RbTechnician.Name = "RbTechnician";
this.RbTechnician.Size = new System.Drawing.Size(118, 25);
this.RbTechnician.TabIndex = 10;
this.RbTechnician.TabStop = true;
this.RbTechnician.Text = "Technician";
this.RbTechnician.UseVisualStyleBackColor = true;
this.RbTechnician.CheckedChanged += new System.EventHandler(this.RbTechnician_CheckedChanged);
//
// layoutControlItem3
//
this.layoutControlItem3.Control = this.RbTechnician;
this.layoutControlItem3.Location = new System.Drawing.Point(245, 0);
this.layoutControlItem3.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(122, 29);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// LbCurrentLevel
//
this.LbCurrentLevel.AllowHotTrack = false;
this.LbCurrentLevel.Location = new System.Drawing.Point(0, 0);
this.LbCurrentLevel.MaxSize = new System.Drawing.Size(0, 32);
this.LbCurrentLevel.MinSize = new System.Drawing.Size(126, 32);
this.LbCurrentLevel.Name = "LbCurrentLevel";
this.LbCurrentLevel.Size = new System.Drawing.Size(490, 32);
this.LbCurrentLevel.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.LbCurrentLevel.Text = " Current Level: ";
this.LbCurrentLevel.TextSize = new System.Drawing.Size(85, 14);
//
// layoutControlGroup2
//
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.LbCurrentLevel});
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(498, 61);
this.layoutControlGroup2.Text = "Control Level";
//
// TePW
//
this.TePW.Location = new System.Drawing.Point(7, 147);
this.TePW.Name = "TePW";
this.TePW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11F);
this.TePW.Properties.Appearance.Options.UseFont = true;
this.TePW.Properties.Appearance.Options.UseTextOptions = true;
this.TePW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.TePW.Properties.PasswordChar = '*';
this.TePW.Size = new System.Drawing.Size(486, 24);
this.TePW.StyleController = this.layoutControl1;
this.TePW.TabIndex = 11;
//
// layoutControlItem4
//
this.layoutControlItem4.Control = this.TePW;
this.layoutControlItem4.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 28);
this.layoutControlItem4.MinSize = new System.Drawing.Size(171, 28);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(490, 28);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// layoutControlGroup3
//
this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem4});
this.layoutControlGroup3.Location = new System.Drawing.Point(0, 119);
this.layoutControlGroup3.Name = "layoutControlGroup3";
this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup3.Size = new System.Drawing.Size(498, 57);
this.layoutControlGroup3.Text = "Password";
//
// BtnApply
//
this.BtnApply.Location = new System.Drawing.Point(3, 195);
this.BtnApply.Name = "BtnApply";
this.BtnApply.Size = new System.Drawing.Size(245, 35);
this.BtnApply.StyleController = this.layoutControl1;
this.BtnApply.TabIndex = 12;
this.BtnApply.Text = "Apply";
this.BtnApply.Click += new System.EventHandler(this.BtnApply_Click);
//
// layoutControlItem5
//
this.layoutControlItem5.Control = this.BtnApply;
this.layoutControlItem5.Location = new System.Drawing.Point(0, 192);
this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(249, 39);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// BtnClose
//
this.BtnClose.Location = new System.Drawing.Point(252, 195);
this.BtnClose.Name = "BtnClose";
this.BtnClose.Size = new System.Drawing.Size(245, 35);
this.BtnClose.StyleController = this.layoutControl1;
this.BtnClose.TabIndex = 13;
this.BtnClose.Text = "Close";
this.BtnClose.Click += new System.EventHandler(this.BtnClose_Click);
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.BtnClose;
this.layoutControlItem6.Location = new System.Drawing.Point(249, 192);
this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(249, 39);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// TmrDisplay
//
this.TmrDisplay.Interval = 500;
this.TmrDisplay.Tick += new System.EventHandler(this.TmrDisplay_Tick);
//
// RbUser
//
this.RbUser.Location = new System.Drawing.Point(374, 89);
this.RbUser.Name = "RbUser";
this.RbUser.Size = new System.Drawing.Size(119, 25);
this.RbUser.TabIndex = 14;
this.RbUser.TabStop = true;
this.RbUser.Text = "User";
this.RbUser.UseVisualStyleBackColor = true;
this.RbUser.CheckedChanged += new System.EventHandler(this.RbUser_CheckedChanged);
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.RbUser;
this.layoutControlItem7.Location = new System.Drawing.Point(367, 0);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(123, 29);
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// FmxLevelConfig
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(500, 233);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1;
this.Name = "FmxLevelConfig";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Control Level Config";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FmxLevelConfig_FormClosing);
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LbCurrentLevel)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.TePW.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private System.Windows.Forms.RadioButton RbTechnician;
private System.Windows.Forms.RadioButton RbEngineer;
private System.Windows.Forms.RadioButton RbMaster;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.SimpleLabelItem LbCurrentLevel;
private DevExpress.XtraEditors.TextEdit TePW;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraEditors.SimpleButton BtnClose;
private DevExpress.XtraEditors.SimpleButton BtnApply;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private System.Windows.Forms.Timer TmrDisplay;
private System.Windows.Forms.RadioButton RbUser;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
}
}

View File

@@ -0,0 +1,184 @@
using DevExpress.XtraEditors;
using DevExpress.XtraPrinting.Native.LayoutAdjustment;
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 FmxLevelConfig : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
CommConfig Config;
#endregion
#region CONSTRUCTORS
public FmxLevelConfig()
{
InitializeComponent();
}
public FmxLevelConfig(CommConfig aConfig)
{
InitializeComponent();
Config = aConfig;
switch (Config.ControlLevel)
{
case 0: // User Level
RbUser.Checked = true;
break;
case 1: // Technician Level
RbTechnician.Checked = true;
break;
case 2: // Engineer Level
RbEngineer.Checked = true;
break;
case 3: // Master Level
RbMaster.Checked = true;
break;
default: // User Level
RbUser.Checked = true;
break;
}
DisplayStatus();
TmrDisplay.Start();
}
#endregion
#region BUTTON EVENT
private void BtnClose_Click(object sender, EventArgs e)
{
Close();
}
private void BtnApply_Click(object sender, EventArgs e)
{
string cPW = TePW.Text;
if (RbMaster.Checked)
{
if (Config.MasterPw == cPW)
{
Config.ControlLevel = 3;
MessageBox.Show("Complete change to Mastar Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Wrong password for Master Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (RbEngineer.Checked)
{
if (Config.EngineerPw == cPW)
{
Config.ControlLevel = 2;
MessageBox.Show("Complete change to Engineer Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Wrong password for Engineer Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (RbTechnician.Checked)
{
if (Config.TechnicianPw == cPW)
{
Config.ControlLevel = 1;
MessageBox.Show("Complete change to Technician Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Wrong password for Technician Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (RbUser.Checked)
{
Config.ControlLevel = 0;
}
}
#endregion
#region DISPLAY FUNCTION
private void DisplayStatus()
{
switch (Config.ControlLevel)
{
case 0: // User Level
LbCurrentLevel.Text = " Current Level: User Level";
break;
case 1: // Technician Level
LbCurrentLevel.Text = " Current Level: Technician Level";
break;
case 2: // Engineer Level
LbCurrentLevel.Text = " Current Level: Engineer Level";
break;
case 3: // Master Level
LbCurrentLevel.Text = " Current Level: Master Level";
break;
}
}
#endregion
#region FORM EVENT
private void FmxLevelConfig_FormClosing(object sender, FormClosingEventArgs e)
{
TmrDisplay.Stop();
}
#endregion
#region COMPONENT EVENT
private void RbMaster_CheckedChanged(object sender, EventArgs e)
{
if (RbMaster.Checked)
{
TePW.Enabled = true;
}
TePW.Text = "";
}
private void RbEngineer_CheckedChanged(object sender, EventArgs e)
{
if (RbEngineer.Checked)
{
TePW.Enabled = true;
}
TePW.Text = "";
}
private void RbTechnician_CheckedChanged(object sender, EventArgs e)
{
if (RbTechnician.Checked)
{
TePW.Enabled = true;
}
TePW.Text = "";
}
private void RbUser_CheckedChanged(object sender, EventArgs e)
{
if (RbUser.Checked)
{
TePW.Enabled = false;
}
TePW.Text = "";
}
#endregion
#region TIMER EVENT
private void TmrDisplay_Tick(object sender, EventArgs e)
{
DisplayStatus();
}
#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>

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

@@ -0,0 +1,238 @@
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.BtnCancel = new DevExpress.XtraEditors.SimpleButton();
this.BtnOk = new DevExpress.XtraEditors.SimpleButton();
this.TeResetPW = new DevExpress.XtraEditors.TextEdit();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem();
this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.TeResetPW.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.BtnCancel);
this.layoutControl1.Controls.Add(this.BtnOk);
this.layoutControl1.Controls.Add(this.TeResetPW);
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, 206);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// BtnCancel
//
this.BtnCancel.Appearance.Font = new System.Drawing.Font("Tahoma", 10F);
this.BtnCancel.Appearance.Options.UseFont = true;
this.BtnCancel.Location = new System.Drawing.Point(246, 169);
this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.Size = new System.Drawing.Size(251, 34);
this.BtnCancel.StyleController = this.layoutControl1;
this.BtnCancel.TabIndex = 6;
this.BtnCancel.Text = "CANCEL";
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
//
// 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, 169);
this.BtnOk.Name = "BtnOk";
this.BtnOk.Size = new System.Drawing.Size(239, 34);
this.BtnOk.StyleController = this.layoutControl1;
this.BtnOk.TabIndex = 5;
this.BtnOk.Text = "OK";
this.BtnOk.Click += new System.EventHandler(this.BtnOk_Click);
//
// TeResetPW
//
this.TeResetPW.Location = new System.Drawing.Point(111, 71);
this.TeResetPW.Name = "TeResetPW";
this.TeResetPW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F);
this.TeResetPW.Properties.Appearance.Options.UseFont = true;
this.TeResetPW.Properties.Appearance.Options.UseTextOptions = true;
this.TeResetPW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.TeResetPW.Properties.PasswordChar = '*';
this.TeResetPW.Size = new System.Drawing.Size(282, 26);
this.TeResetPW.StyleController = this.layoutControl1;
this.TeResetPW.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.layoutControlItem2,
this.layoutControlItem3,
this.layoutControlItem1,
this.emptySpaceItem2,
this.emptySpaceItem3,
this.emptySpaceItem4});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(500, 206);
this.Root.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(394, 68);
this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(104, 30);
this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.BtnOk;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 166);
this.layoutControlItem2.MinSize = new System.Drawing.Size(42, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(243, 38);
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.BtnCancel;
this.layoutControlItem3.Location = new System.Drawing.Point(243, 166);
this.layoutControlItem3.MinSize = new System.Drawing.Size(56, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(255, 38);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlItem1
//
this.layoutControlItem1.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F);
this.layoutControlItem1.AppearanceItemCaption.Options.UseFont = true;
this.layoutControlItem1.Control = this.TeResetPW;
this.layoutControlItem1.Location = new System.Drawing.Point(108, 68);
this.layoutControlItem1.MinSize = new System.Drawing.Size(188, 30);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(286, 30);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.Text = "Password";
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// 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, 68);
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, 98);
this.emptySpaceItem3.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem3.Name = "emptySpaceItem3";
this.emptySpaceItem3.Size = new System.Drawing.Size(498, 68);
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(0, 68);
this.emptySpaceItem4.Name = "emptySpaceItem4";
this.emptySpaceItem4.Size = new System.Drawing.Size(108, 30);
this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0);
//
// FmxPassword
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(500, 206);
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 = "Reset Password";
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit();
this.layoutControl1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.TeResetPW.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraEditors.SimpleButton BtnOk;
private DevExpress.XtraEditors.TextEdit TeResetPW;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraEditors.SimpleButton BtnCancel;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4;
}
}

View File

@@ -0,0 +1,63 @@
using DevExpress.Pdf.Native;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
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;
public event PasswordResut OnResult = null;
#endregion
#region CONSTRUCTORS
public FmxPassword(CommConfig aConfig)
{
InitializeComponent();
Config = aConfig;
}
#endregion
#region BUTTON EVENT
private void BtnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
Close();
}
private void BtnOk_Click(object sender, EventArgs e)
{
string resetPW = TeResetPW.Text;
if (resetPW == "Delta Electronics")
{
this.DialogResult = DialogResult.OK;
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,481 @@
namespace LFP_Manager.Forms
{
partial class FmxPasswordChange
{
/// <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.BtnResetPW = new DevExpress.XtraEditors.SimpleButton();
this.BtnCancel = new DevExpress.XtraEditors.SimpleButton();
this.BtnOk = new DevExpress.XtraEditors.SimpleButton();
this.TeCurrentPW = new DevExpress.XtraEditors.TextEdit();
this.TeNewPW = new DevExpress.XtraEditors.TextEdit();
this.TeCornfirmPW = new DevExpress.XtraEditors.TextEdit();
this.RbMaster = new System.Windows.Forms.RadioButton();
this.RbEngineer = new System.Windows.Forms.RadioButton();
this.RbTechnician = new System.Windows.Forms.RadioButton();
this.Root = new DevExpress.XtraLayout.LayoutControlGroup();
this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem();
this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup();
this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup();
this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem();
this.simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem();
this.simpleLabelItem3 = new DevExpress.XtraLayout.SimpleLabelItem();
this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem();
this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem();
((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit();
this.layoutControl1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.TeCurrentPW.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.TeNewPW.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.TeCornfirmPW.Properties)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit();
this.SuspendLayout();
//
// layoutControl1
//
this.layoutControl1.Controls.Add(this.BtnResetPW);
this.layoutControl1.Controls.Add(this.BtnCancel);
this.layoutControl1.Controls.Add(this.BtnOk);
this.layoutControl1.Controls.Add(this.TeCurrentPW);
this.layoutControl1.Controls.Add(this.TeNewPW);
this.layoutControl1.Controls.Add(this.TeCornfirmPW);
this.layoutControl1.Controls.Add(this.RbMaster);
this.layoutControl1.Controls.Add(this.RbEngineer);
this.layoutControl1.Controls.Add(this.RbTechnician);
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, 265);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// BtnResetPW
//
this.BtnResetPW.Location = new System.Drawing.Point(412, 180);
this.BtnResetPW.Name = "BtnResetPW";
this.BtnResetPW.Size = new System.Drawing.Size(85, 39);
this.BtnResetPW.StyleController = this.layoutControl1;
this.BtnResetPW.TabIndex = 15;
this.BtnResetPW.Text = "Reset";
this.BtnResetPW.Click += new System.EventHandler(this.BtnResetPW_Click);
//
// 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, 223);
this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.Size = new System.Drawing.Size(245, 39);
this.BtnCancel.StyleController = this.layoutControl1;
this.BtnCancel.TabIndex = 6;
this.BtnCancel.Text = "CANCEL";
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
//
// 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, 223);
this.BtnOk.Name = "BtnOk";
this.BtnOk.Size = new System.Drawing.Size(245, 39);
this.BtnOk.StyleController = this.layoutControl1;
this.BtnOk.TabIndex = 5;
this.BtnOk.Text = "Apply";
this.BtnOk.Click += new System.EventHandler(this.BtnOk_Click);
//
// TeCurrentPW
//
this.TeCurrentPW.Location = new System.Drawing.Point(133, 86);
this.TeCurrentPW.Name = "TeCurrentPW";
this.TeCurrentPW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F);
this.TeCurrentPW.Properties.Appearance.Options.UseFont = true;
this.TeCurrentPW.Properties.Appearance.Options.UseTextOptions = true;
this.TeCurrentPW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.TeCurrentPW.Properties.PasswordChar = '*';
this.TeCurrentPW.Size = new System.Drawing.Size(360, 26);
this.TeCurrentPW.StyleController = this.layoutControl1;
this.TeCurrentPW.TabIndex = 4;
//
// TeNewPW
//
this.TeNewPW.Location = new System.Drawing.Point(133, 116);
this.TeNewPW.Name = "TeNewPW";
this.TeNewPW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F);
this.TeNewPW.Properties.Appearance.Options.UseFont = true;
this.TeNewPW.Properties.Appearance.Options.UseTextOptions = true;
this.TeNewPW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.TeNewPW.Properties.PasswordChar = '*';
this.TeNewPW.Size = new System.Drawing.Size(360, 26);
this.TeNewPW.StyleController = this.layoutControl1;
this.TeNewPW.TabIndex = 4;
//
// TeCornfirmPW
//
this.TeCornfirmPW.Location = new System.Drawing.Point(133, 146);
this.TeCornfirmPW.Name = "TeCornfirmPW";
this.TeCornfirmPW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F);
this.TeCornfirmPW.Properties.Appearance.Options.UseFont = true;
this.TeCornfirmPW.Properties.Appearance.Options.UseTextOptions = true;
this.TeCornfirmPW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
this.TeCornfirmPW.Properties.PasswordChar = '*';
this.TeCornfirmPW.Size = new System.Drawing.Size(360, 26);
this.TeCornfirmPW.StyleController = this.layoutControl1;
this.TeCornfirmPW.TabIndex = 4;
//
// RbMaster
//
this.RbMaster.Location = new System.Drawing.Point(7, 28);
this.RbMaster.Name = "RbMaster";
this.RbMaster.Size = new System.Drawing.Size(159, 25);
this.RbMaster.TabIndex = 8;
this.RbMaster.TabStop = true;
this.RbMaster.Text = "Master";
this.RbMaster.UseVisualStyleBackColor = true;
//
// RbEngineer
//
this.RbEngineer.Location = new System.Drawing.Point(170, 28);
this.RbEngineer.Name = "RbEngineer";
this.RbEngineer.Size = new System.Drawing.Size(159, 25);
this.RbEngineer.TabIndex = 9;
this.RbEngineer.TabStop = true;
this.RbEngineer.Text = "Engineer";
this.RbEngineer.UseVisualStyleBackColor = true;
//
// RbTechnician
//
this.RbTechnician.Location = new System.Drawing.Point(333, 28);
this.RbTechnician.Name = "RbTechnician";
this.RbTechnician.Size = new System.Drawing.Size(160, 25);
this.RbTechnician.TabIndex = 10;
this.RbTechnician.TabStop = true;
this.RbTechnician.Text = "Technician";
this.RbTechnician.UseVisualStyleBackColor = true;
//
// Root
//
this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True;
this.Root.GroupBordersVisible = false;
this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.emptySpaceItem1,
this.layoutControlItem2,
this.layoutControlItem3,
this.layoutControlGroup2,
this.layoutControlGroup1,
this.layoutControlItem10});
this.Root.Name = "Root";
this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.Root.Size = new System.Drawing.Size(500, 265);
this.Root.TextVisible = false;
//
// emptySpaceItem1
//
this.emptySpaceItem1.AllowHotTrack = false;
this.emptySpaceItem1.Location = new System.Drawing.Point(0, 177);
this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(409, 43);
this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.BtnOk;
this.layoutControlItem2.Location = new System.Drawing.Point(0, 220);
this.layoutControlItem2.MinSize = new System.Drawing.Size(27, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(249, 43);
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.BtnCancel;
this.layoutControlItem3.Location = new System.Drawing.Point(249, 220);
this.layoutControlItem3.MinSize = new System.Drawing.Size(56, 26);
this.layoutControlItem3.Name = "layoutControlItem3";
this.layoutControlItem3.Size = new System.Drawing.Size(249, 43);
this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem3.TextVisible = false;
//
// layoutControlGroup2
//
this.layoutControlGroup2.CustomizationFormText = "Control Level";
this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.layoutControlItem6,
this.layoutControlItem7,
this.layoutControlItem8});
this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0);
this.layoutControlGroup2.Name = "layoutControlGroup2";
this.layoutControlGroup2.OptionsItemText.TextToControlDistance = 3;
this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup2.Size = new System.Drawing.Size(498, 58);
this.layoutControlGroup2.Text = "Control Level";
//
// layoutControlItem6
//
this.layoutControlItem6.Control = this.RbMaster;
this.layoutControlItem6.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
this.layoutControlItem6.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem6.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem6.MaxSize = new System.Drawing.Size(0, 29);
this.layoutControlItem6.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem6.Name = "layoutControlItem6";
this.layoutControlItem6.Size = new System.Drawing.Size(163, 29);
this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem6.Text = "layoutControlItem2";
this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem6.TextVisible = false;
//
// layoutControlItem7
//
this.layoutControlItem7.Control = this.RbEngineer;
this.layoutControlItem7.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
this.layoutControlItem7.CustomizationFormText = "layoutControlItem1";
this.layoutControlItem7.Location = new System.Drawing.Point(163, 0);
this.layoutControlItem7.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem7.Name = "layoutControlItem7";
this.layoutControlItem7.Size = new System.Drawing.Size(163, 29);
this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem7.Text = "layoutControlItem1";
this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem7.TextVisible = false;
//
// layoutControlItem8
//
this.layoutControlItem8.Control = this.RbTechnician;
this.layoutControlItem8.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
this.layoutControlItem8.CustomizationFormText = "layoutControlItem3";
this.layoutControlItem8.Location = new System.Drawing.Point(326, 0);
this.layoutControlItem8.MinSize = new System.Drawing.Size(24, 29);
this.layoutControlItem8.Name = "layoutControlItem8";
this.layoutControlItem8.Size = new System.Drawing.Size(164, 29);
this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem8.Text = "layoutControlItem3";
this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem8.TextVisible = false;
//
// layoutControlGroup1
//
this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] {
this.simpleLabelItem1,
this.layoutControlItem1,
this.simpleLabelItem2,
this.layoutControlItem4,
this.simpleLabelItem3,
this.layoutControlItem5});
this.layoutControlGroup1.Location = new System.Drawing.Point(0, 58);
this.layoutControlGroup1.Name = "layoutControlGroup1";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1);
this.layoutControlGroup1.Size = new System.Drawing.Size(498, 119);
this.layoutControlGroup1.Text = "Password";
//
// simpleLabelItem1
//
this.simpleLabelItem1.AllowHotTrack = false;
this.simpleLabelItem1.Location = new System.Drawing.Point(0, 0);
this.simpleLabelItem1.MaxSize = new System.Drawing.Size(0, 30);
this.simpleLabelItem1.MinSize = new System.Drawing.Size(126, 30);
this.simpleLabelItem1.Name = "simpleLabelItem1";
this.simpleLabelItem1.Size = new System.Drawing.Size(126, 30);
this.simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem1.Text = " Current Password";
this.simpleLabelItem1.TextSize = new System.Drawing.Size(104, 14);
//
// layoutControlItem1
//
this.layoutControlItem1.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F);
this.layoutControlItem1.AppearanceItemCaption.Options.UseFont = true;
this.layoutControlItem1.Control = this.TeCurrentPW;
this.layoutControlItem1.Location = new System.Drawing.Point(126, 0);
this.layoutControlItem1.MinSize = new System.Drawing.Size(188, 30);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(364, 30);
this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem1.Text = "Password";
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// simpleLabelItem2
//
this.simpleLabelItem2.AllowHotTrack = false;
this.simpleLabelItem2.Location = new System.Drawing.Point(0, 30);
this.simpleLabelItem2.MaxSize = new System.Drawing.Size(0, 30);
this.simpleLabelItem2.MinSize = new System.Drawing.Size(126, 30);
this.simpleLabelItem2.Name = "simpleLabelItem2";
this.simpleLabelItem2.Size = new System.Drawing.Size(126, 30);
this.simpleLabelItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem2.Text = " New Password";
this.simpleLabelItem2.TextSize = new System.Drawing.Size(104, 14);
//
// layoutControlItem4
//
this.layoutControlItem4.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F);
this.layoutControlItem4.AppearanceItemCaption.Options.UseFont = true;
this.layoutControlItem4.Control = this.TeNewPW;
this.layoutControlItem4.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
this.layoutControlItem4.CustomizationFormText = "Password";
this.layoutControlItem4.Location = new System.Drawing.Point(126, 30);
this.layoutControlItem4.MinSize = new System.Drawing.Size(188, 30);
this.layoutControlItem4.Name = "layoutControlItem4";
this.layoutControlItem4.Size = new System.Drawing.Size(364, 30);
this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem4.Text = "Password";
this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem4.TextVisible = false;
//
// simpleLabelItem3
//
this.simpleLabelItem3.AllowHotTrack = false;
this.simpleLabelItem3.Location = new System.Drawing.Point(0, 60);
this.simpleLabelItem3.MaxSize = new System.Drawing.Size(0, 30);
this.simpleLabelItem3.MinSize = new System.Drawing.Size(126, 30);
this.simpleLabelItem3.Name = "simpleLabelItem3";
this.simpleLabelItem3.Size = new System.Drawing.Size(126, 30);
this.simpleLabelItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.simpleLabelItem3.Text = " Cornfirm Password";
this.simpleLabelItem3.TextSize = new System.Drawing.Size(104, 14);
//
// layoutControlItem5
//
this.layoutControlItem5.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F);
this.layoutControlItem5.AppearanceItemCaption.Options.UseFont = true;
this.layoutControlItem5.Control = this.TeCornfirmPW;
this.layoutControlItem5.ControlAlignment = System.Drawing.ContentAlignment.TopLeft;
this.layoutControlItem5.CustomizationFormText = "Password";
this.layoutControlItem5.Location = new System.Drawing.Point(126, 60);
this.layoutControlItem5.MinSize = new System.Drawing.Size(188, 30);
this.layoutControlItem5.Name = "layoutControlItem5";
this.layoutControlItem5.Size = new System.Drawing.Size(364, 30);
this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem5.Text = "Password";
this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem5.TextVisible = false;
//
// layoutControlItem10
//
this.layoutControlItem10.Control = this.BtnResetPW;
this.layoutControlItem10.Location = new System.Drawing.Point(409, 177);
this.layoutControlItem10.MinSize = new System.Drawing.Size(89, 26);
this.layoutControlItem10.Name = "layoutControlItem10";
this.layoutControlItem10.Size = new System.Drawing.Size(89, 43);
this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom;
this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem10.TextVisible = false;
//
// FmxPasswordChange
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(500, 265);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1;
this.Name = "FmxPasswordChange";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Change 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.TeCurrentPW.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.TeNewPW.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.TeCornfirmPW.Properties)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit();
this.ResumeLayout(false);
}
#endregion
private DevExpress.XtraLayout.LayoutControl layoutControl1;
private DevExpress.XtraLayout.LayoutControlGroup Root;
private DevExpress.XtraEditors.SimpleButton BtnOk;
private DevExpress.XtraEditors.TextEdit TeCurrentPW;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private DevExpress.XtraEditors.SimpleButton BtnCancel;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3;
private DevExpress.XtraEditors.TextEdit TeNewPW;
private DevExpress.XtraEditors.TextEdit TeCornfirmPW;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2;
private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem3;
private System.Windows.Forms.RadioButton RbMaster;
private System.Windows.Forms.RadioButton RbEngineer;
private System.Windows.Forms.RadioButton RbTechnician;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8;
private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1;
private DevExpress.XtraEditors.SimpleButton BtnResetPW;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10;
}
}

View File

@@ -0,0 +1,149 @@
using DevExpress.Pdf.Native;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
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 static DevExpress.XtraPrinting.Export.Pdf.PdfImageCache;
namespace LFP_Manager.Forms
{
public partial class FmxPasswordChange : DevExpress.XtraEditors.XtraForm
{
#region DELEGATE
public delegate void PasswordResut(int result);
#endregion
#region VARIABLES
private CommConfig Config;
private int result = -1;
public event PasswordResut OnResult = null;
#endregion
#region CONSTRUCTORS
public FmxPasswordChange(CommConfig aConfig)
{
InitializeComponent();
Config = aConfig;
}
#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)
{
string sPW;
string currPW, newPW, cornfirmPW;
currPW = TeCurrentPW.Text;
newPW = TeNewPW.Text;
cornfirmPW = TeCornfirmPW.Text;
if (newPW.Length < 4)
{
MessageBox.Show("Too short new password (Min. Length 4)", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (RbMaster.Checked)
{
sPW = Config.MasterPw;
}
else if (RbEngineer.Checked)
{
sPW = Config.EngineerPw;
}
else if (RbTechnician.Checked)
{
sPW = Config.TechnicianPw;
}
else
{
sPW = "";
}
if (sPW != currPW)
{
MessageBox.Show("The current password is incorrect.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (newPW != cornfirmPW)
{
MessageBox.Show("The new password and its confirmation do not match.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (currPW == newPW)
{
MessageBox.Show("Your new password cannot be the same as your current password.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (RbMaster.Checked)
{
Config.MasterPw = newPW;
}
else if (RbEngineer.Checked)
{
Config.EngineerPw = newPW;
}
else if (RbTechnician.Checked)
{
Config.TechnicianPw = newPW;
}
else
{
return;
}
csIniControlFunction.IniSave(Application.ExecutablePath, Config);
MessageBox.Show("Password changed successfully.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void BtnResetPW_Click(object sender, EventArgs e)
{
foreach (Form frm in Application.OpenForms)
{
if (frm.Name == "FmxPassword")
{
frm.Activate();
return;
}
}
FmxPassword PasswordForm = new FmxPassword(Config);
if (PasswordForm.ShowDialog() == DialogResult.OK)
{
Config.MasterPw = "8003";
Config.EngineerPw = "7003";
Config.TechnicianPw = "6003";
csIniControlFunction.IniSave(Application.ExecutablePath, Config);
MessageBox.Show("Password reset successful.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
}
}
#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

161
LFP_Manager/Forms/fmxAntiTheft.Designer.cs generated Normal file
View File

@@ -0,0 +1,161 @@
namespace LFP_Manager.Forms
{
partial class fmxAntiTheft
{
/// <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(fmxAntiTheft));
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.AntiTheftCmd = new LFP_Manager.Controls.UcAntiTheftControl();
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.AntiTheftCmd);
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(1265, 291, 250, 350);
this.layoutControl1.Root = this.layoutControlGroup1;
this.layoutControl1.Size = new System.Drawing.Size(858, 226);
this.layoutControl1.TabIndex = 0;
this.layoutControl1.Text = "layoutControl1";
//
// btnClose
//
this.btnClose.Location = new System.Drawing.Point(612, 200);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(242, 22);
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.emptySpaceItem1,
this.layoutControlItem1});
this.layoutControlGroup1.Name = "Root";
this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2);
this.layoutControlGroup1.Size = new System.Drawing.Size(858, 226);
this.layoutControlGroup1.TextVisible = false;
//
// layoutControlItem2
//
this.layoutControlItem2.Control = this.btnClose;
this.layoutControlItem2.CustomizationFormText = "layoutControlItem2";
this.layoutControlItem2.Location = new System.Drawing.Point(608, 196);
this.layoutControlItem2.MinSize = new System.Drawing.Size(93, 26);
this.layoutControlItem2.Name = "layoutControlItem2";
this.layoutControlItem2.Size = new System.Drawing.Size(246, 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(0, 196);
this.emptySpaceItem1.Name = "emptySpaceItem1";
this.emptySpaceItem1.Size = new System.Drawing.Size(608, 26);
this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0);
//
// tmrDisplay
//
this.tmrDisplay.Interval = 500;
this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick);
//
// AntiTheftCmd
//
this.AntiTheftCmd.Location = new System.Drawing.Point(4, 4);
this.AntiTheftCmd.Name = "AntiTheftCmd";
this.AntiTheftCmd.Size = new System.Drawing.Size(850, 192);
this.AntiTheftCmd.TabIndex = 6;
this.AntiTheftCmd.Load += new System.EventHandler(this.AntiTheftCmd_Load);
//
// layoutControlItem1
//
this.layoutControlItem1.Control = this.AntiTheftCmd;
this.layoutControlItem1.Location = new System.Drawing.Point(0, 0);
this.layoutControlItem1.Name = "layoutControlItem1";
this.layoutControlItem1.Size = new System.Drawing.Size(854, 196);
this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0);
this.layoutControlItem1.TextVisible = false;
//
// fmxAntiTheft
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(858, 226);
this.Controls.Add(this.layoutControl1);
this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxAntiTheft.IconOptions.Icon")));
this.Name = "fmxAntiTheft";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Anti-Theft";
this.TopMost = true;
((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 DevExpress.XtraLayout.LayoutControlItem layoutControlItem2;
private System.Windows.Forms.Timer tmrDisplay;
private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1;
private Controls.UcAntiTheftControl AntiTheftCmd;
private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1;
}
}

View File

@@ -0,0 +1,127 @@
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 LFP_Manager.Threads;
namespace LFP_Manager.Forms
{
public delegate void AntiTheftUpdateEvent(object sendor);
public delegate void AntiTheftCmdEvent(int sId, int mode, int index, int flag,
ref CsDeviceData.DeviceModuleData.DeviceParamData aParam,
ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib);
public partial class fmxAntiTheft : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
int SystemId = 0;
CsDeviceData.DeviceModuleData SystemData;
CsDeviceData.DeviceModuleData.DeviceParamData Param;
CsDeviceData.DeviceModuleData.DeviceCalibration Calib;
public event AntiTheftUpdateEvent OnUpdate = null;
public event AntiTheftCmdEvent OnCommand = null;
public event SendDataUartEvent OnSendUartData = null;
#endregion
#region CONSTRUCTORS
public fmxAntiTheft(int sId, CsDeviceData.DeviceModuleData.DeviceCalibration aCalib)
{
InitializeComponent();
InitComponent();
SystemId = sId;
Calib = aCalib;
AntiTheftCmd.UpdateData(SystemId, Calib);
AntiTheftCmd.OnSendUartData += SetWriteData;
tmrDisplay.Enabled = true;
}
public void InitComponent()
{
// Cell Voltage Calibration
AntiTheftCmd.OnCommand += OnCmdEvent;
}
#endregion
#region COMMAND EVENT
private void SetWriteData(ushort WriteAddr, byte[] WriteData, bool RelyFlag, int type)
{
OnSendUartData?.Invoke(WriteAddr, WriteData, RelyFlag, type);
}
private void OnCmdEvent(int mode, int index, int flag,
ref CsDeviceData.DeviceModuleData.DeviceParamData aParam,
ref CsDeviceData.DeviceModuleData.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
AntiTheftCmd.UpdateData(SystemId, Calib);
}
#endregion
#region PUBLIC FUCTIONS
public void UpdateData(CsDeviceData.DeviceModuleData.DeviceParamData aParam,
CsDeviceData.DeviceModuleData.DeviceCalibration aCalib,
CsDeviceData.DeviceModuleData mData)
{
SystemData = mData;
Param = aParam;
Calib = aCalib;
}
#endregion
private void AntiTheftCmd_Load(object sender, EventArgs e)
{
}
}
}

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,119 @@
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 CsDeviceData.DeviceModuleData.DeviceParamData aParam,
ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib);
public partial class fmxCalibration : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
int SystemId = 0;
CsDeviceData.DeviceModuleData ModuleData;
CsDeviceData.DeviceModuleData.DeviceParamData Param;
CsDeviceData.DeviceModuleData.DeviceCalibration Calib;
public event CalibUpdateEvent OnUpdate = null;
public event CalibCmdEvent OnCommand = null;
#endregion
#region CONSTRUCTORS
public fmxCalibration(int sId, CommConfig aConfig,
CsDeviceData.DeviceModuleData.DeviceParamData aParam,
CsDeviceData.DeviceModuleData.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 CsDeviceData.DeviceModuleData.DeviceParamData aParam,
ref CsDeviceData.DeviceModuleData.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(ModuleData, Calib);
}
#endregion
#region PUBLIC FUCTIONS
public void UpdateData(CsDeviceData.DeviceModuleData.DeviceParamData aParam,
CsDeviceData.DeviceModuleData.DeviceCalibration aCalib,
CsDeviceData.DeviceModuleData mData)
{
ModuleData = mData;
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>

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