* Added RS232/RS485 Packet Analyzer (Tools -> Packet Analyzer)
* Updated BMS History register request/response length by model
* Fixed decimal truncation issue in Brazil locale for DB/CSV Log and Excel Export
This commit is contained in:
2026-11-06 15:35:44 +09:00
parent 56e341a48a
commit e041527b56
42 changed files with 5888 additions and 160 deletions

View File

@@ -1,8 +1,9 @@
using LFP_Manager.DataStructure;
using LFP_Manager.DataStructure;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SQLite;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
@@ -619,11 +620,11 @@ namespace LFP_Manager.Utils
new SQLiteParameter("alarm_status", systemData.StatusData.batteryStatus),
new SQLiteParameter("warning", systemData.StatusData.warning),
new SQLiteParameter("fault", systemData.StatusData.protection),
new SQLiteParameter("module_voltage", (systemData.ValueData.voltageOfPack / 10.0).ToString()),
new SQLiteParameter("module_current", (systemData.ValueData.current / 10.0).ToString()),
new SQLiteParameter("module_soc", (systemData.ValueData.rSOC / 10.0).ToString()),
new SQLiteParameter("module_soh", (systemData.ValueData.stateOfHealth / 10.0).ToString()),
new SQLiteParameter("module_cyclecount", systemData.ValueData.cycleCount.ToString())
new SQLiteParameter("module_voltage", (systemData.ValueData.voltageOfPack / 10.0).ToString(CultureInfo.InvariantCulture)),
new SQLiteParameter("module_current", (systemData.ValueData.current / 10.0).ToString(CultureInfo.InvariantCulture)),
new SQLiteParameter("module_soc", (systemData.ValueData.rSOC / 10.0).ToString(CultureInfo.InvariantCulture)),
new SQLiteParameter("module_soh", (systemData.ValueData.stateOfHealth / 10.0).ToString(CultureInfo.InvariantCulture)),
new SQLiteParameter("module_cyclecount", systemData.ValueData.cycleCount.ToString(CultureInfo.InvariantCulture))
};
// Add cell voltage parameters
@@ -631,7 +632,7 @@ namespace LFP_Manager.Utils
{
parameters.Add(new SQLiteParameter(
string.Format("cell_voltage_{0:00}", i + 1),
(systemData.ValueData.CellVoltage[i] / (float)cvUnit).ToString()));
(systemData.ValueData.CellVoltage[i] / (float)cvUnit).ToString(CultureInfo.InvariantCulture)));
}
// Add temperature parameters
@@ -639,12 +640,12 @@ namespace LFP_Manager.Utils
{
parameters.Add(new SQLiteParameter(
string.Format("temperature_{0:00}", i + 1),
(systemData.ValueData.CellTemperature[i] / 10.0).ToString()));
(systemData.ValueData.CellTemperature[i] / 10.0).ToString(CultureInfo.InvariantCulture)));
}
parameters.Add(new SQLiteParameter("ext1_temp", (systemData.ValueData.Ext1Temperature / 10.0).ToString()));
parameters.Add(new SQLiteParameter("ext2_temp", (systemData.ValueData.Ext2Temperature / 10.0).ToString()));
parameters.Add(new SQLiteParameter("chg_option", systemData.CalibrationData.ChaMode.Mode.ToString()));
parameters.Add(new SQLiteParameter("ext1_temp", (systemData.ValueData.Ext1Temperature / 10.0).ToString(CultureInfo.InvariantCulture)));
parameters.Add(new SQLiteParameter("ext2_temp", (systemData.ValueData.Ext2Temperature / 10.0).ToString(CultureInfo.InvariantCulture)));
parameters.Add(new SQLiteParameter("chg_option", systemData.CalibrationData.ChaMode.Mode.ToString(CultureInfo.InvariantCulture)));
return parameters.ToArray();
}
@@ -1071,6 +1072,7 @@ namespace LFP_Manager.Utils
{
connection.Open();
BeginTran(connection);
csDbUtils.RepairCommaDecimalsIfNeeded(connection);
// Insert data
using (SQLiteCommand command = connection.CreateCommand())
@@ -1303,6 +1305,7 @@ namespace LFP_Manager.Utils
{
connection.Open();
BeginTran(connection);
csDbUtils.RepairCommaDecimalsIfNeeded(connection);
// Insert data
using (SQLiteCommand command = connection.CreateCommand())