V1.0.1.7-1 -- 2025/12/17
* Datastructure improved
This commit is contained in:
@@ -896,66 +896,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