V1.0.1.7-1 -- 2025/12/17
* Datastructure improved
This commit is contained in:
@@ -907,20 +907,6 @@ namespace LFP_Manager.Function
|
||||
break;
|
||||
}
|
||||
}
|
||||
private static void SetReadIdRegister(short reg_addr, short reg_value, ref DeviceSystemData rSystemData)
|
||||
{
|
||||
switch (reg_addr)
|
||||
{
|
||||
case 0x4000: rSystemData.GyroValue.X_axis = (short)(reg_value); break; //
|
||||
case 0x4001: rSystemData.GyroValue.Y_axis = (short)(reg_value); break; //
|
||||
case 0x4002: rSystemData.GyroValue.Z_axis = (short)(reg_value); break; //
|
||||
case 0x4003: rSystemData.GyroValue.Gyro_policy_sel = (short)(reg_value); break; //
|
||||
case 0x4004: rSystemData.GyroValue.Gyro_func_sw = (short)(reg_value); break; //
|
||||
case 0x4006: rSystemData.GyroValue.Gyro_state = (short)(reg_value); break; //
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private static void SetCoilRegister(short reg_addr, short reg_value, ref DeviceSystemData rSystemData)
|
||||
{
|
||||
@@ -931,66 +917,9 @@ namespace LFP_Manager.Function
|
||||
rSystemData.CalibrationData.FetCalib.FetStatus = reg_value;
|
||||
break;
|
||||
case 0x502E:
|
||||
rSystemData.CalibrationData.Current.ChargeOption = reg_value;
|
||||
rSystemData.CalibrationData.ChaMode.Mode = reg_value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private static short MakeUartWarningData(short rdata)
|
||||
{
|
||||
short result = 0;
|
||||
bool[] bAlarm = csUtils.Int16ToBitArray(rdata);
|
||||
|
||||
if (bAlarm[0] == true) result |= (short)(1 << 2); // 0x0001:Pack OV
|
||||
if (bAlarm[1] == true) result |= (short)(1 << 4); // 0x0002:Cell OV
|
||||
if (bAlarm[2] == true) result |= (short)(1 << 3); // 0x0004:Pack UV
|
||||
if (bAlarm[3] == true) result |= (short)(1 << 5); // 0x0008:Cell UV
|
||||
|
||||
if (bAlarm[4] == true) result |= (short)(1 << 6); // 0x0010:Charging OC
|
||||
if (bAlarm[5] == true) result |= (short)(1 << 7); // 0x0020:Discharging OC
|
||||
|
||||
if (bAlarm[8] == true) result |= (short)(1 << 0); // 0x0080: Charging Over Tempratuer
|
||||
if (bAlarm[9] == true) result |= (short)(1 << 0); // 0x0080: Discharging Over Tempratuer
|
||||
if (bAlarm[10] == true) result |= (short)(1 << 1); // 0x0040: Charging Under Tempratuer
|
||||
if (bAlarm[11] == true) result |= (short)(1 << 1); // 0x0040: Discharging Under Tempratuer
|
||||
if (bAlarm[12] == true) result |= (short)(1 << 11); // 0x0200:SOC Low
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static short MakeUartTripData(short rdata)
|
||||
{
|
||||
short result = 0;
|
||||
bool[] bAlarm = csUtils.Int16ToBitArray(rdata);
|
||||
|
||||
if (bAlarm[0] == true) result |= (short)(1 << 2); // 0x0001:Pack OV
|
||||
if (bAlarm[1] == true) result |= (short)(1 << 4); // 0x0002:Cell OV
|
||||
if (bAlarm[2] == true) result |= (short)(1 << 3); // 0x0004:Pack UV
|
||||
if (bAlarm[3] == true) result |= (short)(1 << 5); // 0x0008:Cell UV
|
||||
|
||||
if (bAlarm[4] == true) result |= (short)(1 << 6); // 0x0010:Charging OC
|
||||
if (bAlarm[5] == true) result |= (short)(1 << 7); // 0x0020:Discharging OC
|
||||
|
||||
if (bAlarm[8] == true) result |= (short)(1 << 0); // 0x0080: Charging Over Temprature
|
||||
if (bAlarm[9] == true) result |= (short)(1 << 0); // 0x0080: Discharging Over Temprature
|
||||
if (bAlarm[10] == true) result |= (short)(1 << 1); // 0x0040: Charging Under Temprature
|
||||
if (bAlarm[11] == true) result |= (short)(1 << 1); // 0x0040: Discharging Under Temprature
|
||||
if (bAlarm[13] == true) result |= (short)(1 << 9); // 0x0200:Short Circuit Protection
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
private static short MakeUartErrorData(short rdata, short cdata)
|
||||
{
|
||||
short result = cdata;
|
||||
bool[] bAlarm = csUtils.Int16ToBitArray(rdata);
|
||||
|
||||
if (bAlarm[0] == true) result |= (short)(1 << 9); // 0x0001:Voltage error
|
||||
if (bAlarm[1] == true) result |= (short)(1 << 9); // 0x0002:Temperature error
|
||||
if (bAlarm[2] == true) result |= (short)(1 << 9); // 0x0004: 电流检测Error
|
||||
if (bAlarm[3] == true) result |= (short)(1 << 9); // 0x0010:Cell unbalance
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user