초기 커밋.

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

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>