Files
DT_BR_GUI/LFP_Manager/Forms/fmxCalibration.cs
2025-12-17 12:40:51 +09:00

116 lines
2.7 KiB
C#

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