From e73f11c3be8ec4e14435347ff7b5843316726884 Mon Sep 17 00:00:00 2001 From: Luc Date: Thu, 30 May 2024 13:42:08 +0200 Subject: [PATCH] latched --- EpdBase3/Epd3Base.cpp | 12 +++++++----- eDosStation/Resources/BuildDate.txt | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/EpdBase3/Epd3Base.cpp b/EpdBase3/Epd3Base.cpp index 099118b..f200556 100644 --- a/EpdBase3/Epd3Base.cpp +++ b/EpdBase3/Epd3Base.cpp @@ -320,6 +320,7 @@ BYTE checkStatus(DoseAlarmFlags status, DoseAlarmFlags flag) void Epd3Base::Epd3U::DecodeStatus() { eDosDose07Warning = eDosDose07Alarm = eDosDose10Warning = eDosDose10Alarm = eDosRate07Warning = eDosRate07Alarm = eDosRate10Warning = eDosRate10Alarm = eDosBatteryWarning = eDosDoseAlarm = eDosRateAlarm = 0; + AlarmDoseHP07N = AlarmRateHP07N = AlarmDoseHP101G = AlarmDoseHP102G = AlarmRateHP101G = AlarmRateHP102G= 0; hasAlarm = hasFault = false; DetectorsOn = checkStatus(epd3status.OperatingStatus, OpStatusFlags::EpdOn); @@ -335,6 +336,7 @@ void Epd3Base::Epd3U::DecodeStatus() EPDEprFault = checkStatus(epd3status.FaultStatus, FaultStatusFlags::EepromFailure); EPDTrhFault = checkStatus(epd3status.FaultStatus, FaultStatusFlags::BadThreshold); + for (int ix = 0; ix < 4; ix++) { DoseAlarmFlags status = epd3status.DoseAlarms[ix].Status; @@ -344,10 +346,10 @@ void Epd3Base::Epd3U::DecodeStatus() case MeasurementId::Meas_Hp10N: eDosDose07Warning = checkStatus(status, DoseAlarmFlags::DoseWarning); eDosDose07Alarm = checkStatus(status, DoseAlarmFlags::DoseAlarm); - eDosRate07Warning = checkStatus(status, DoseAlarmFlags::LatchedRateWarning) | checkStatus(status, DoseAlarmFlags::RateWarning); - eDosRate07Alarm = checkStatus(status, DoseAlarmFlags::LatchedRateAlarm) | checkStatus(status, DoseAlarmFlags::RateAlarm); + eDosRate07Warning = checkStatus(status, DoseAlarmFlags::RateWarning);// | checkStatus(status, DoseAlarmFlags::LatchedRateWarning); + eDosRate07Alarm = checkStatus(status, DoseAlarmFlags::RateAlarm) ; // checkStatus(status, DoseAlarmFlags::LatchedRateAlarm) AlarmDoseHP07N = checkStatus(status, DoseAlarmFlags::DoseAlarm); - AlarmRateHP07N = checkStatus(status, DoseAlarmFlags::RateAlarm) | checkStatus(status, DoseAlarmFlags::LatchedRateAlarm); + AlarmRateHP07N = checkStatus(status, DoseAlarmFlags::RateAlarm);; // | checkStatus(status, DoseAlarmFlags::LatchedRateAlarm); break; case MeasurementId::Meas_Hp10: case MeasurementId::Meas_Hp10G: @@ -368,8 +370,8 @@ void Epd3Base::Epd3U::DecodeStatus() OtherAlarmCarrier = checkStatus(epd3status.AlarmStatus, AlarmStatusFlags::TelemetryAlert); OtherAlarmBatVolt = checkStatus(epd3status.AlarmStatus, AlarmStatusFlags::LowBattery); - eDosDoseAlarm = eDosDose10Alarm || eDosDose07Alarm || checkStatus(epd3status.AlarmStatus, AlarmStatusFlags::DoseAlarm); - eDosRateAlarm = eDosRate07Alarm || eDosRate10Alarm || checkStatus(epd3status.AlarmStatus, AlarmStatusFlags::RateAlarm); + eDosDoseAlarm = (eDosDose10Alarm || eDosDose07Alarm) && checkStatus(epd3status.AlarmStatus, AlarmStatusFlags::DoseAlarm); + eDosRateAlarm = (eDosRate07Alarm || eDosRate10Alarm) && checkStatus(epd3status.AlarmStatus, AlarmStatusFlags::RateAlarm); hasAlarm = eDosDoseAlarm || eDosRateAlarm; hasFault = ((uint32_t)epd3status.FaultStatus & ~(uint32_t)FaultStatusFlags::ErrorLogged) != 0; diff --git a/eDosStation/Resources/BuildDate.txt b/eDosStation/Resources/BuildDate.txt index e41a72e..85c1f77 100644 --- a/eDosStation/Resources/BuildDate.txt +++ b/eDosStation/Resources/BuildDate.txt @@ -1 +1 @@ -Wed 05/29/2024 15:58:06.78 +Thu 05/30/2024 10:55:44.81