Skip to content

Commit f97354a

Browse files
committed
fixed reading alarms
1 parent d10ba5a commit f97354a

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

bms-growatt-hv-can/src/main/java/com/airepublic/bmstoinverter/bms/growatthv/can/GrowattHVBmsCANProcessor.java

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ protected List<ByteBuffer> sendMessage(final Port port, final Command cmd, final
165165
break;
166166
// 0x3120
167167
case READ_ALARMS: {
168-
readChargeDischargeLimits(pack, receiveFrame);
168+
readAlarms(pack, receiveFrame);
169169
}
170170
break;
171171
// 0x3130
@@ -312,31 +312,31 @@ private void readAlarms(final BatteryPack pack, final ByteBuffer frame) throws I
312312

313313
// Alarm
314314
final int alarm = frame.getInt();
315-
pack.setAlarm(Alarm.FAILURE_COMMUNICATION_INTERNAL, BitUtil.bit(protection, 0) ? AlarmLevel.WARNING : AlarmLevel.NONE);
316-
317-
pack.setAlarm(Alarm.CELL_VOLTAGE_DIFFERENCE_HIGH, BitUtil.bit(protection, 2) ? AlarmLevel.WARNING : AlarmLevel.NONE);
318-
319-
pack.setAlarm(Alarm.CHARGE_TEMPERATURE_LOW, BitUtil.bit(protection, 4) ? AlarmLevel.WARNING : AlarmLevel.NONE);
320-
pack.setAlarm(Alarm.DISCHARGE_TEMPERATURE_LOW, BitUtil.bit(protection, 5) ? AlarmLevel.WARNING : AlarmLevel.NONE);
321-
pack.setAlarm(Alarm.CHARGE_TEMPERATURE_HIGH, BitUtil.bit(protection, 6) ? AlarmLevel.WARNING : AlarmLevel.NONE);
322-
pack.setAlarm(Alarm.DISCHARGE_TEMPERATURE_HIGH, BitUtil.bit(protection, 7) ? AlarmLevel.WARNING : AlarmLevel.NONE);
323-
pack.setAlarm(Alarm.DISCHARGE_VOLTAGE_LOW, BitUtil.bit(protection, 8) ? AlarmLevel.WARNING : AlarmLevel.NONE);
324-
pack.setAlarm(Alarm.PACK_VOLTAGE_LOW, BitUtil.bit(protection, 9) ? AlarmLevel.WARNING : AlarmLevel.NONE);
325-
pack.setAlarm(Alarm.PACK_VOLTAGE_HIGH, BitUtil.bit(protection, 10) ? AlarmLevel.WARNING : AlarmLevel.NONE);
326-
pack.setAlarm(Alarm.CELL_VOLTAGE_LOW, BitUtil.bit(protection, 11) ? AlarmLevel.WARNING : AlarmLevel.NONE);
327-
pack.setAlarm(Alarm.CELL_VOLTAGE_HIGH, BitUtil.bit(protection, 12) ? AlarmLevel.WARNING : AlarmLevel.NONE);
328-
pack.setAlarm(Alarm.CHARGE_VOLTAGE_HIGH, BitUtil.bit(protection, 13) ? AlarmLevel.WARNING : AlarmLevel.NONE);
329-
pack.setAlarm(Alarm.CHARGE_CURRENT_HIGH, BitUtil.bit(protection, 14) ? AlarmLevel.WARNING : AlarmLevel.NONE);
330-
pack.setAlarm(Alarm.DISCHARGE_CURRENT_HIGH, BitUtil.bit(protection, 15) ? AlarmLevel.WARNING : AlarmLevel.NONE);
331-
332-
pack.setAlarm(Alarm.SOC_LOW, BitUtil.bit(protection, 17) ? AlarmLevel.WARNING : AlarmLevel.NONE);
333-
pack.setAlarm(Alarm.TEMPERATURE_SENSOR_DIFFERENCE_HIGH, BitUtil.bit(protection, 18) ? AlarmLevel.WARNING : AlarmLevel.NONE);
334-
pack.setAlarm(Alarm.CHARGE_MODULE_TEMPERATURE_HIGH, BitUtil.bit(protection, 19) ? AlarmLevel.WARNING : AlarmLevel.NONE);
335-
pack.setAlarm(Alarm.ENCASING_TEMPERATURE_HIGH, BitUtil.bit(protection, 20) ? AlarmLevel.WARNING : AlarmLevel.NONE);
336-
pack.setAlarm(Alarm.FAILURE_COMMUNICATION_EXTERNAL, BitUtil.bit(protection, 21) ? AlarmLevel.WARNING : AlarmLevel.NONE);
337-
pack.setAlarm(Alarm.FAILURE_COMMUNICATION_INTERNAL, BitUtil.bit(protection, 22) ? AlarmLevel.WARNING : AlarmLevel.NONE);
338-
pack.setAlarm(Alarm.FAILURE_SHORT_CIRCUIT_PROTECTION, BitUtil.bit(protection, 23) ? AlarmLevel.WARNING : AlarmLevel.NONE);
339-
pack.setAlarm(Alarm.SOC_LOW, BitUtil.bit(protection, 23) ? AlarmLevel.WARNING : AlarmLevel.NONE);
315+
pack.setAlarm(Alarm.FAILURE_COMMUNICATION_INTERNAL, BitUtil.bit(alarm, 0) ? AlarmLevel.WARNING : AlarmLevel.NONE);
316+
317+
pack.setAlarm(Alarm.CELL_VOLTAGE_DIFFERENCE_HIGH, BitUtil.bit(alarm, 2) ? AlarmLevel.WARNING : AlarmLevel.NONE);
318+
319+
pack.setAlarm(Alarm.CHARGE_TEMPERATURE_LOW, BitUtil.bit(alarm, 4) ? AlarmLevel.WARNING : AlarmLevel.NONE);
320+
pack.setAlarm(Alarm.DISCHARGE_TEMPERATURE_LOW, BitUtil.bit(alarm, 5) ? AlarmLevel.WARNING : AlarmLevel.NONE);
321+
pack.setAlarm(Alarm.CHARGE_TEMPERATURE_HIGH, BitUtil.bit(alarm, 6) ? AlarmLevel.WARNING : AlarmLevel.NONE);
322+
pack.setAlarm(Alarm.DISCHARGE_TEMPERATURE_HIGH, BitUtil.bit(alarm, 7) ? AlarmLevel.WARNING : AlarmLevel.NONE);
323+
pack.setAlarm(Alarm.DISCHARGE_VOLTAGE_LOW, BitUtil.bit(alarm, 8) ? AlarmLevel.WARNING : AlarmLevel.NONE);
324+
pack.setAlarm(Alarm.PACK_VOLTAGE_LOW, BitUtil.bit(alarm, 9) ? AlarmLevel.WARNING : AlarmLevel.NONE);
325+
pack.setAlarm(Alarm.PACK_VOLTAGE_HIGH, BitUtil.bit(alarm, 10) ? AlarmLevel.WARNING : AlarmLevel.NONE);
326+
pack.setAlarm(Alarm.CELL_VOLTAGE_LOW, BitUtil.bit(alarm, 11) ? AlarmLevel.WARNING : AlarmLevel.NONE);
327+
pack.setAlarm(Alarm.CELL_VOLTAGE_HIGH, BitUtil.bit(alarm, 12) ? AlarmLevel.WARNING : AlarmLevel.NONE);
328+
pack.setAlarm(Alarm.CHARGE_VOLTAGE_HIGH, BitUtil.bit(alarm, 13) ? AlarmLevel.WARNING : AlarmLevel.NONE);
329+
pack.setAlarm(Alarm.CHARGE_CURRENT_HIGH, BitUtil.bit(alarm, 14) ? AlarmLevel.WARNING : AlarmLevel.NONE);
330+
pack.setAlarm(Alarm.DISCHARGE_CURRENT_HIGH, BitUtil.bit(alarm, 15) ? AlarmLevel.WARNING : AlarmLevel.NONE);
331+
332+
pack.setAlarm(Alarm.SOC_LOW, BitUtil.bit(alarm, 17) ? AlarmLevel.WARNING : AlarmLevel.NONE);
333+
pack.setAlarm(Alarm.TEMPERATURE_SENSOR_DIFFERENCE_HIGH, BitUtil.bit(alarm, 18) ? AlarmLevel.WARNING : AlarmLevel.NONE);
334+
pack.setAlarm(Alarm.CHARGE_MODULE_TEMPERATURE_HIGH, BitUtil.bit(alarm, 19) ? AlarmLevel.WARNING : AlarmLevel.NONE);
335+
pack.setAlarm(Alarm.ENCASING_TEMPERATURE_HIGH, BitUtil.bit(alarm, 20) ? AlarmLevel.WARNING : AlarmLevel.NONE);
336+
pack.setAlarm(Alarm.FAILURE_COMMUNICATION_EXTERNAL, BitUtil.bit(alarm, 21) ? AlarmLevel.WARNING : AlarmLevel.NONE);
337+
pack.setAlarm(Alarm.FAILURE_COMMUNICATION_INTERNAL, BitUtil.bit(alarm, 22) ? AlarmLevel.WARNING : AlarmLevel.NONE);
338+
pack.setAlarm(Alarm.FAILURE_SHORT_CIRCUIT_PROTECTION, BitUtil.bit(alarm, 23) ? AlarmLevel.WARNING : AlarmLevel.NONE);
339+
pack.setAlarm(Alarm.SOC_LOW, BitUtil.bit(alarm, 23) ? AlarmLevel.WARNING : AlarmLevel.NONE);
340340

341341
LOG.debug("Read alarms: {}", Port.printBuffer(frame));
342342
}

0 commit comments

Comments
 (0)