diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-02-16 13:34:11 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-02-16 13:34:11 +0200 |
| commit | a896bca545ac1186ab006f2d5d820a11c557e786 (patch) | |
| tree | 677e2839afe9ca5d77359b1862c2c354ffd213e2 /Software/Embedded_SW/Embedded/Modules | |
| parent | aaa4c495f37d4613931c7561c8e012db1aad085a (diff) | |
| parent | a0f9927c23853d138be12c153c9aeb754208f8d3 (diff) | |
| download | Tango-a896bca545ac1186ab006f2d5d820a11c557e786.tar.gz Tango-a896bca545ac1186ab006f2d5d820a11c557e786.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
3 files changed, 24 insertions, 1 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index caa3e8df4..e06e908bd 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -28,6 +28,7 @@ #include "drivers/I2C_Communication/Dispenser_Card/IO_Ports/Dispenser_IO.h" #include "drivers/I2C_Communication/Head_Card/ADC/Head_ADC.h" #include "Common/SWUpdate/FileSystem.h" +#include "drivers/Flash_ram/MCU_E2Prom.h" #include "modules/thread/thread_ex.h" #include "modules/heaters/heaters_ex.h" @@ -580,14 +581,35 @@ void AlarmHandlingSetCurrentLimits(double currentalarmhighlimit,double curre CurrentAlarmLowLimit = currentalarmlowlimit; ReportWithPackageFilter(AlarmFilter,"Alarm Current Limits", __FILE__,__LINE__,(int)(currentalarmhighlimit*100), RpMessage, (int)(currentalarmlowlimit*100), 0); } +uint32_t AlarmhandlingFlags = 0; +void AlarmHandlingLoadFlags(void) +{ + MCU_E2PromRead(ALARM_SUPPORT_ADDR,&AlarmhandlingFlags); + + CheckHardLimitAlarms = (AlarmhandlingFlags && 0x0001); + CheckCurrentAlarms = (AlarmhandlingFlags && 0x0002); + CheckTamperAlarms = (AlarmhandlingFlags && 0x0004); + CheckMotorAlarms = (AlarmhandlingFlags && 0x0008); + ReportWithPackageFilter(AlarmFilter,"Alarm group setting", __FILE__,__LINE__,0, RpMessage, 1*CheckHardLimitAlarms+2*CheckCurrentAlarms+3*CheckTamperAlarms+4*CheckMotorAlarms, 0); +} void AlarmHandlingSetFlags(bool checkHardLimitAlarms,bool checkCurrentAlarms, bool checkTamperAlarms, bool checkMotorAlarms) { + uint32_t flags = 0; CheckHardLimitAlarms = checkHardLimitAlarms; CheckCurrentAlarms = checkCurrentAlarms; CheckTamperAlarms = checkTamperAlarms; CheckMotorAlarms = checkMotorAlarms; ReportWithPackageFilter(AlarmFilter,"Alarm group setting", __FILE__,__LINE__,0, RpMessage, 1*CheckHardLimitAlarms+2*CheckCurrentAlarms+3*CheckTamperAlarms+4*CheckMotorAlarms, 0); + if (CheckHardLimitAlarms) flags |= 0x1; + if (CheckCurrentAlarms) flags |= 0x2; + if (CheckTamperAlarms) flags |= 0x4; + if (CheckMotorAlarms) flags |= 0x8; + if (AlarmhandlingFlags != flags) + { + MCU_E2PromProgram(ALARM_SUPPORT_ADDR,flags); + AlarmhandlingFlags = flags; + } } char AlarmReasonStr[100]; JobEndReasonEnum getEndReason(uint32_t AlarmId) diff --git a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c index 3f15e399f..4f5bec4f0 100644 --- a/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c @@ -443,6 +443,7 @@ void DiagnosticOneMinuteCollection(void) } DiagnosticsMonitor.n_overalltemperature = 1; OverallTemperature = max(MillisecGetTemperatures(TEMP_SENSE_AN_ENCLOSURETEMP1),MillisecGetTemperatures(TEMP_SENSE_AN_ENCLOSURETEMP2)); + OverallTemperature = ((int)(MillisecGetTemperatures(TEMP_SENSE_AN_ENCLOSURETEMP1))*1000 + (int)(MillisecGetTemperatures(TEMP_SENSE_AN_ENCLOSURETEMP2))); DiagnosticsMonitor.overalltemperature = &OverallTemperature; DiagnosticsMonitor.n_midtank1level = 1; diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index b12169baf..82f7e300f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -295,7 +295,7 @@ typedef enum{ MAX_INTERNAL_ALARMS }InternalTemperatureTestPointsEnum; int InternalAlarmCounter[MAX_INTERNAL_ALARMS] = {0,0,0}; -uint32_t InternalId2PT100Id[MAX_INTERNAL_ALARMS] = {TEMP_SENSE_AN_ENCLOSURETEMP1,TEMP_SENSE_AN_ENCLOSURETEMP1,0xFF}; +uint32_t InternalId2PT100Id[MAX_INTERNAL_ALARMS] = {TEMP_SENSE_AN_ENCLOSURETEMP1,TEMP_SENSE_AN_ENCLOSURETEMP2,0xFF}; int32_t InternalOverHeatCounter [MAX_INTERNAL_ALARMS] = {0,0,0}; bool InternalAlarmActive[MAX_INTERNAL_ALARMS] = {false,false,false}; uint32_t ControlIdtoInternalId[MAX_INTERNAL_ALARMS] = {0xFF,0xFF,0xFF}; |
