Update: Battery 250UP Driver
This commit is contained in:
parent
707441d753
commit
047f733f8a
|
@ -60,11 +60,11 @@ public partial class Battery250UpRecord
|
||||||
|
|
||||||
public readonly struct AuxBitInformation_
|
public readonly struct AuxBitInformation_
|
||||||
{
|
{
|
||||||
public Boolean DischargeEnabled => ((Self._IoStates >> 0) & 1) == 1;
|
public Boolean DischargeEnabled => ((Self._AuxBitInformation >> 0) & 1) == 1;
|
||||||
public Boolean ChargeEnabled => ((Self._IoStates >> 1) & 1) == 1;
|
public Boolean ChargeEnabled => ((Self._AuxBitInformation >> 1) & 1) == 1;
|
||||||
public Boolean WarmUpActive => ((Self._IoStates >> 2) & 1) == 1;
|
public Boolean WarmUpActive => ((Self._AuxBitInformation >> 2) & 1) == 1;
|
||||||
public Boolean TOCRequested => ((Self._IoStates >> 3) & 1) == 1;
|
public Boolean TOCRequested => ((Self._AuxBitInformation >> 3) & 1) == 1;
|
||||||
public Boolean EOCReached => ((Self._IoStates >> 4) & 1) == 1;
|
public Boolean EOCReached => ((Self._AuxBitInformation >> 4) & 1) == 1;
|
||||||
|
|
||||||
internal AuxBitInformation_(Battery250UpRecord self) => Self = self;
|
internal AuxBitInformation_(Battery250UpRecord self) => Self = self;
|
||||||
private Battery250UpRecord Self { get; }
|
private Battery250UpRecord Self { get; }
|
||||||
|
@ -134,9 +134,6 @@ public partial class Battery250UpRecord
|
||||||
if (HasBit(7) ) yield return "VBm2 : Bus voltage too low";
|
if (HasBit(7) ) yield return "VBm2 : Bus voltage too low";
|
||||||
if (HasBit(9) ) yield return "VBM2 : Bus voltage too high";
|
if (HasBit(9) ) yield return "VBM2 : Bus voltage too high";
|
||||||
if (HasBit(11)) yield return "IDM2 : Discharge current too high";
|
if (HasBit(11)) yield return "IDM2 : Discharge current too high";
|
||||||
if (HasBit(12)) yield return "ISOB : Electrical insulation failure";
|
|
||||||
if (HasBit(13)) yield return "MSWE : Main switch failure";
|
|
||||||
if (HasBit(14)) yield return "FUSE : Main fuse blown";
|
|
||||||
if (HasBit(15)) yield return "HTRE : Battery failed to warm up";
|
if (HasBit(15)) yield return "HTRE : Battery failed to warm up";
|
||||||
if (HasBit(16)) yield return "TCPE : Temperature sensor failure";
|
if (HasBit(16)) yield return "TCPE : Temperature sensor failure";
|
||||||
if (HasBit(17)) yield return "STRE : Voltage measurement circuit fails";
|
if (HasBit(17)) yield return "STRE : Voltage measurement circuit fails";
|
||||||
|
@ -149,11 +146,11 @@ public partial class Battery250UpRecord
|
||||||
if (HasBit(27)) yield return "iCM2 : Charge current too high";
|
if (HasBit(27)) yield return "iCM2 : Charge current too high";
|
||||||
if (HasBit(29)) yield return "iDM2 : Discharge current too high";
|
if (HasBit(29)) yield return "iDM2 : Discharge current too high";
|
||||||
if (HasBit(31)) yield return "MID2 : String voltage unbalance too high";
|
if (HasBit(31)) yield return "MID2 : String voltage unbalance too high";
|
||||||
|
if (HasBit(33)) yield return "CCBF : Charger Circuit not working";
|
||||||
if (HasBit(42)) yield return "HTFS : Heater Fuse Blown";
|
if (HasBit(42)) yield return "HTFS : Heater Fuse Blown";
|
||||||
if (HasBit(43)) yield return "DATA : Parameters out of range";
|
if (HasBit(43)) yield return "DATA : Parameters out of range";
|
||||||
if (HasBit(45)) yield return "LMPA : Unbalance string voltages";
|
if (HasBit(45)) yield return "LMPA : Unbalance string voltages";
|
||||||
if (HasBit(46)) yield return "HEBT : Loss of heartbeat";
|
if (HasBit(54)) yield return "ULAL : The safety microprocessor intervened";
|
||||||
if (HasBit(48)) yield return "CURM : Battery charge requested after EDCH";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[SuppressMessage("ReSharper", "StringLiteralTypo")]
|
[SuppressMessage("ReSharper", "StringLiteralTypo")]
|
||||||
|
@ -161,24 +158,12 @@ public partial class Battery250UpRecord
|
||||||
{
|
{
|
||||||
Boolean HasBit(Int16 bit) => (_WarningFlags & 1uL << bit) > 0;
|
Boolean HasBit(Int16 bit) => (_WarningFlags & 1uL << bit) > 0;
|
||||||
|
|
||||||
if (HasBit(1) ) yield return "TaM1: BMS temperature high";
|
|
||||||
if (HasBit(4) ) yield return "TbM1: Battery temperature high";
|
if (HasBit(4) ) yield return "TbM1: Battery temperature high";
|
||||||
if (HasBit(6) ) yield return "VBm1: Bus voltage low";
|
|
||||||
if (HasBit(8) ) yield return "VBM1: Bus voltage high";
|
|
||||||
if (HasBit(10)) yield return "IDM1: Discharge current high";
|
|
||||||
if (HasBit(22)) yield return "vsm1: String voltage too low";
|
if (HasBit(22)) yield return "vsm1: String voltage too low";
|
||||||
if (HasBit(24)) yield return "vsM1: String voltage high";
|
if (HasBit(28)) yield return "iDM1: String discharge current high";
|
||||||
if (HasBit(26)) yield return "iCM1: Charge current high";
|
|
||||||
if (HasBit(28)) yield return "iDM1: Discharge current high";
|
|
||||||
if (HasBit(30)) yield return "MID1: String voltages unbalanced";
|
if (HasBit(30)) yield return "MID1: String voltages unbalanced";
|
||||||
if (HasBit(32)) yield return "BLPW: Not enough charging power on bus";
|
if (HasBit(32)) yield return "BLPW: Charging power is not available. Bus voltage low";
|
||||||
if (HasBit(33)) yield return "CCBF : Internal charger hardware failure";
|
if (HasBit(49)) yield return "TOCW : TOC is less than 100% from 14 days";
|
||||||
if (HasBit(35)) yield return "Ah_W: String SOC low";
|
|
||||||
if (HasBit(38)) yield return "MPMM: Midpoint wiring problem";
|
|
||||||
if (HasBit(40)) yield return "TCdi: Temperature difference between strings high";
|
|
||||||
if (HasBit(44)) yield return "LMPW : String voltages unbalance warning";
|
|
||||||
if (HasBit(47)) yield return "TOCW : Top of Charge requested";
|
|
||||||
if (HasBit(49)) yield return "BUSL : Bus lower than string";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,11 @@ public partial class Battery250UpRecord
|
||||||
[InputRegister(1052)] private UInt16 _TimeToTocRequest;
|
[InputRegister(1052)] private UInt16 _TimeToTocRequest;
|
||||||
|
|
||||||
|
|
||||||
//[InputRegister(1063)] private UInt16 _TotalBatteryCycle;
|
[InputRegister(1063)] private UInt16 _TotalBatteryCycle;
|
||||||
|
[InputRegister(1064, Scale = 1, Offset = -1000)] private UInt16 _DC_Discharge_Current_Limit;
|
||||||
|
[InputRegister(1065, Scale = 1, Offset = -1000)] private UInt16 _DC_Charge_Current_Limit;
|
||||||
|
[InputRegister(1066, Scale = 0.1)] private UInt16 _Voltage_Charge_Setpoint;
|
||||||
|
[InputRegister(1067, Scale = 0.1)] private UInt16 _DC_Min_Voltage_Limit;
|
||||||
[InputRegister(1068)] private UInt16 _AuxBitInformation;
|
[InputRegister(1068)] private UInt16 _AuxBitInformation;
|
||||||
|
|
||||||
private LedState ParseLed(LedColor led) => (LedState)((_LedStates >> (Int32)led) & 3);
|
private LedState ParseLed(LedColor led) => (LedState)((_LedStates >> (Int32)led) & 3);
|
||||||
|
|
|
@ -54,6 +54,6 @@ INNOVENERGY_PROTOCOL_VERSION = '48TL200V3'
|
||||||
|
|
||||||
|
|
||||||
# S3 Credentials
|
# S3 Credentials
|
||||||
S3BUCKET = "91-c0436b6a-d276-4cd8-9c44-1eae86cf5d0e"
|
S3BUCKET = "114-c0436b6a-d276-4cd8-9c44-1eae86cf5d0e"
|
||||||
S3KEY = "EXOe6dce12288f11a676c2025a1"
|
S3KEY = "EXO5b9198dc11544f42b44e1180"
|
||||||
S3SECRET = "xpqM4Eh0Gg1HaYVkzlR9X6PwYa-QNb-mVk0XUkwW3cc"
|
S3SECRET = "ga-mD3SYZMJUfjksmXPKAHQhVkxPZYv57jC1oD_mkC0"
|
||||||
|
|
Loading…
Reference in New Issue