File tree Expand file tree Collapse file tree 3 files changed +16
-0
lines changed Expand file tree Collapse file tree 3 files changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -59,6 +59,7 @@ enum class SensorID {
5959 BMS_Voltage_Differential,
6060 BMS_Charge_MOS,
6161 BMS_Discharge_MOS,
62+ BMS_CAN_Init_Failure,
6263
6364 // Altimeter
6465 Baro_Temp,
Original file line number Diff line number Diff line change @@ -9,6 +9,9 @@ extern MultiLogger multiLogger;
99// External references to thread-safe data copies
1010extern STR_BMS_TELEMETRY_140 monitoringBmsData;
1111
12+ // External reference to BMS CAN initialization status
13+ extern bool bmsCanInitialized;
14+
1215void addBMSMonitors () {
1316 // BMS MOSFET Temperature (Warning: 50°C, Critical: 60°C) - with hysteresis
1417 static HysteresisSensorMonitor* bmsMosTemp = new HysteresisSensorMonitor (
@@ -125,4 +128,14 @@ void addBMSMonitors() {
125128 AlertLevel::CRIT_HIGH,
126129 &multiLogger);
127130 monitors.push_back (bmsDischargeMos);
131+
132+ // BMS CAN Initialization (Alert when failed)
133+ static BooleanMonitor* bmsCanInitFailure = new BooleanMonitor (
134+ SensorID::BMS_CAN_Init_Failure,
135+ SensorCategory::BMS,
136+ []() { return bmsCanInitialized; },
137+ false , // Alert when false (i.e., when initialization failed)
138+ AlertLevel::WARN_HIGH,
139+ &multiLogger);
140+ monitors.push_back (bmsCanInitFailure);
128141}
Original file line number Diff line number Diff line change @@ -123,6 +123,7 @@ const char* sensorIDToString(SensorID id) {
123123 case SensorID::BMS_Voltage_Differential: return " BMS_Voltage_Differential" ;
124124 case SensorID::BMS_Charge_MOS: return " BMS_Charge_MOS" ;
125125 case SensorID::BMS_Discharge_MOS: return " BMS_Discharge_MOS" ;
126+ case SensorID::BMS_CAN_Init_Failure: return " BMS_CAN_Init_Failure" ;
126127
127128 // Altimeter
128129 case SensorID::Baro_Temp: return " Baro_Temp" ;
@@ -180,6 +181,7 @@ const char* sensorIDToAbbreviation(SensorID id) {
180181 case SensorID::BMS_Voltage_Differential:return " BC-dV" ;
181182 case SensorID::BMS_Charge_MOS: return " BC-CHG" ;
182183 case SensorID::BMS_Discharge_MOS: return " BC-DSG" ;
184+ case SensorID::BMS_CAN_Init_Failure: return " BC-CAN" ;
183185
184186 // Altimeter
185187 case SensorID::Baro_Temp: return " BARO-T" ;
You can’t perform that action at this time.
0 commit comments