diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-05-20 11:52:10 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-05-20 11:52:10 +0300 |
| commit | 4f5f566c04f9ae11fe871e20eaeb4adf43504bb7 (patch) | |
| tree | c84b43b8c3d46a335bbeb7c8bcf3fca5cf1c091c /Software/Embedded_SW/Embedded/Modules/AlarmHandling | |
| parent | 231591bb23fc74ffd038c2d58af1c8669e6cf61b (diff) | |
| download | Tango-4f5f566c04f9ae11fe871e20eaeb4adf43504bb7.tar.gz Tango-4f5f566c04f9ae11fe871e20eaeb4adf43504bb7.zip | |
fix current alarms (PP only). RFID stubs,
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/AlarmHandling')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c | 50 |
1 files changed, 33 insertions, 17 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index 392be6177..9c924eaec 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -26,6 +26,7 @@ #include "drivers/FPGA/FPGA.h" #include "drivers/I2C_Communication/ADC_MUX/ADC_MUX.h" #include "drivers/I2C_Communication/Dispenser_Card/IO_Ports/Dispenser_IO.h" +#include <Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h> #include "drivers/I2C_Communication/Head_Card/ADC/Head_ADC.h" #include "Common/SWUpdate/FileSystem.h" #include "drivers/Flash_ram/MCU_E2Prom.h" @@ -1213,7 +1214,7 @@ uint32_t AlarmHandlingLoop(uint32_t tick) if (AlarmState[Alarm_i].Status == false) ReportWithPackageFilter(AlarmFilter,"OverCurrent Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0); } - if ((doubleValue <= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmLowLimit))&&(isHeaterReady(AlarmItem[Alarm_i].DeviceId)==false)) + if ((doubleValue <= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmLowLimit))&&(isHeaterReady(AlarmItem[Alarm_i].DeviceId)==false)&&(doubleValue>100)) { Status = true; if (AlarmState[Alarm_i].Status == false) @@ -1234,28 +1235,43 @@ uint32_t AlarmHandlingLoop(uint32_t tick) } else { - if (Get_Head_Current(AlarmItem[Alarm_i].DeviceId, &doubleValue) == OK) - { - if (AlarmItem[Alarm_i].AlarmDirection == true) + if (Head_Type < HEAD_TYPE_UNKNOWN_WITH_CARD) //no current alarms for old head + { + Status = false; + } + else + { + if (Get_Head_Current(AlarmItem[Alarm_i].DeviceId, &doubleValue) == OK) { - if ((doubleValue >= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmHighLimit)) || (doubleValue <= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmLowLimit))) + if (AlarmItem[Alarm_i].AlarmDirection == true) { - Status = true; - if (AlarmState[Alarm_i].Status == false) - ReportWithPackageFilter(AlarmFilter,"OverCurrent Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0); + if ((doubleValue >= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmHighLimit)) || (doubleValue <= (float)(AlarmItem[Alarm_i].AlarmValue*CurrentAlarmLowLimit))&&(doubleValue>100)) + { + Status = true; + if (AlarmState[Alarm_i].Status == false) + { + //usnprintf(AlarmReasonStr, 100, "OverCurrent Alarm %d ON dev %d debounce %d/%d value %d",AlarmItem[Alarm_i].EventType,AlarmItem[Alarm_i].DeviceId,AlarmState[Alarm_i].DebounceCounter,AlarmItem[Alarm_i].DebounceValue,(int)(doubleValue*100)); + //ReportWithPackageFilter(AlarmFilter,AlarmReasonStr, __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0); + ReportWithPackageFilter(AlarmFilter,"OverCurrent Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0); + } + } } - } - else - { - if (doubleValue <= 0.1) + else { - Status = true; - if (AlarmState[Alarm_i].Status == false) - ReportWithPackageFilter(AlarmFilter,"loop break Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0); + if (doubleValue <= 0.1) + { + Status = true; + if (AlarmState[Alarm_i].Status == false) + { + //usnprintf(AlarmReasonStr, 100, "LOOP BREAK Alarm %d ON dev %d debounce %d/%d value %d",AlarmItem[Alarm_i].EventType,AlarmItem[Alarm_i].DeviceId,AlarmState[Alarm_i].DebounceCounter,AlarmItem[Alarm_i].DebounceValue,(int)(doubleValue*100)); + //ReportWithPackageFilter(AlarmFilter,AlarmReasonStr, __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0); + ReportWithPackageFilter(AlarmFilter,"loop break Alarm ON ", __FILE__,AlarmItem[Alarm_i].DeviceId,(int)(AlarmItem[Alarm_i].AlarmValue*100), RpMessage, (int)(doubleValue*100), 0); + } + } } - } - } + } + } } } else |
