aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-02-16 13:34:11 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-02-16 13:34:11 +0200
commita896bca545ac1186ab006f2d5d820a11c557e786 (patch)
tree677e2839afe9ca5d77359b1862c2c354ffd213e2 /Software/Embedded_SW/Embedded/Modules
parentaaa4c495f37d4613931c7561c8e012db1aad085a (diff)
parenta0f9927c23853d138be12c153c9aeb754208f8d3 (diff)
downloadTango-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')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c22
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Diagnostics/Diagnostics.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c2
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};