aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-11-29 14:03:45 +0200
committerAvi Levkovich <avi@twine-s.com>2020-11-29 14:03:45 +0200
commit46246aab994169871b51ee4ebf530a63a152cca8 (patch)
tree1e187bf261e082047c2258fb74db3daf0f2adecd /Software/Embedded_SW
parent250c81503a8a3eb804fab1a604fdac708b0b2ab8 (diff)
downloadTango-46246aab994169871b51ee4ebf530a63a152cca8.tar.gz
Tango-46246aab994169871b51ee4ebf530a63a152cca8.zip
job fail fix report
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/Common/report/reportInit.c7
-rw-r--r--Software/Embedded_SW/Embedded/Embedded.cfg2
-rw-r--r--Software/Embedded_SW/Embedded/Main.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/control.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c2
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c43
8 files changed, 35 insertions, 33 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/report/reportInit.c b/Software/Embedded_SW/Embedded/Common/report/reportInit.c
index 18ad17bee..a11f9db73 100644
--- a/Software/Embedded_SW/Embedded/Common/report/reportInit.c
+++ b/Software/Embedded_SW/Embedded/Common/report/reportInit.c
@@ -93,12 +93,13 @@ uint32_t OpenLogFile(void)
LogFresult = f_open(LogFileHandle,LogPath,FA_READ | FA_WRITE | FA_OPEN_ALWAYS);
if (LogFresult == FR_OK)
{
- if (LogFileHandle->fsize < 50000)
+ if (LogFileHandle->fsize < 100000)
f_lseek(LogFileHandle, LogFileHandle->fsize);
else
f_lseek(LogFileHandle, 0);
- len = usnprintf(RepMessage, 80, "Log File %s %s",__DATE__, __TIME__);
+ len = usnprintf(RepMessage, 80, "\r\n*******\r\nLog File start %s %s",__DATE__, __TIME__);
LogFresult = f_write(LogFileHandle,RepMessage,len,&Bytes );
+ ReportResetReason();
}
}
else
@@ -131,7 +132,7 @@ uint32_t LogToFile(char *message, /* The formatted message
if (LogFileHandle == NULL)
return OK;
- len = usnprintf(RepMessage, 300, "\r\n%s, file %s line %d code %d sev %d,param %d",message,FileName, LineNumber,errorCode, Severity, parameter);
+ len = usnprintf(RepMessage, 300, "\r\nfile %s\t line %d\t code %d\t sev %d,\tparam %d,\t %s",FileName, LineNumber,errorCode, Severity, parameter,message);
LogFresult = f_write(LogFileHandle,RepMessage,len,&Bytes );
return LogFresult;
diff --git a/Software/Embedded_SW/Embedded/Embedded.cfg b/Software/Embedded_SW/Embedded/Embedded.cfg
index 09c57a89f..5cb6b1da2 100644
--- a/Software/Embedded_SW/Embedded/Embedded.cfg
+++ b/Software/Embedded_SW/Embedded/Embedded.cfg
@@ -204,7 +204,7 @@ Program.global.update = Task.create("&updateTask", updateTaskParams);
var shinkoTaskParams = new Task.Params();
shinkoTaskParams.instance.name = "shinko";
-shinkoTaskParams.stackSize = 512;
+shinkoTaskParams.stackSize = 1024;
shinkoTaskParams.priority = 3;
Program.global.shinko = Task.create("&shinkoTask", shinkoTaskParams);
diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c
index 3485a1de2..cf99a9c03 100644
--- a/Software/Embedded_SW/Embedded/Main.c
+++ b/Software/Embedded_SW/Embedded/Main.c
@@ -146,7 +146,7 @@ Void errHook(Error_Block *eb)
char message[300];
int len;
- STATUS_GREEN_LED_OFF;
+ //STATUS_GREEN_LED_OFF;
ACTIVITY_GREEN_LED_OFF;
COMM_GREEN_LED_OFF;
Head_I2C_EXP1_0x40.ushort = 0;
@@ -154,6 +154,8 @@ Void errHook(Error_Block *eb)
Head_Write_IO_Reg(0x40,LOW_AND_HIGH);
Head_Write_IO_Reg(0x42,LOW);
+ ReportResetReason();
+
STATUS_RED_LED_ON;
ACTIVITY_RED_LED_ON;
COMM_RED_LED_ON;
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c
index e650a9af7..e02bd8191 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/control.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c
@@ -189,7 +189,7 @@ uint32_t ControlActivityLed( uint32_t Parameter1)
AlarmHandlingSetAlarm(EVENT_TYPE__FPGA_WATCHDOG_ACTIVATED,true);
if (JobIsActive())
{
- ReportWithPackageFilter(HeatersFilter, "Hardware Failure Error - abort job!",__FILE__,__LINE__,index,RpError, 0,0);
+ Report("Hardware Failure Error - abort job!",__FILE__,__LINE__,EVENT_TYPE__FPGA_WATCHDOG_ACTIVATED,RpError, 0,0);
JobEndReason = JOB_MOTOR_ALARM;
usnprintf(AlarmReasonStr, 100, "Hardware Failure Error");
SendJobProgress(0.0,0,false, "Hardware Failure Error");
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index cdc6afa50..0726225df 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
@@ -143,7 +143,7 @@ uint32_t HWConfigurationInit(void)
{
AlarmHandlingSetAlarm (EVENT_TYPE__MACHINE_STATE_NO_CFG_FILE,ON);
status = MACHINE_STATE_HW_CONFIG_FAILED;
- STATUS_GREEN_LED_OFF;
+ //STATUS_GREEN_LED_OFF;
}
else
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 2ae86fe4d..2f72c9cb0 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -1020,8 +1020,10 @@ void HeaterPrepareFailureCheck(void)
if (abs (HeaterPrepareFailureCheckTemperatures[i] - HeaterPreviousRead[i])<200) // no temperature move in the last 5 minutes
{
ReportWithPackageFilter(HeatersFilter,"HeaterPrepareFailureCheck",__FILE__,i,HeaterPrepareFailureCheckTemperatures[i],RpWarning,HeaterPreviousRead[i], 0);
- //PrepareReady(Module_Heaters,ModuleFail);
- //return;
+ JobEndReason = JOB_TEMPERATURE_ALARM;
+ usnprintf(AlarmReasonStr, 100, "Temperature not getting into work zone!!!");
+ PrepareReady(Module_Heaters,ModuleFail);
+ return;
}
}
HeaterPrepareFailureCheckTemperatures[i] = HeaterPreviousRead[i];
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index 5a764cfc4..8a3b20e57 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -1132,7 +1132,7 @@ uint32_t ThreadLoadButton(THREAD_LOAD_STAGES_ENUM ReadValue)
SecondTry = false;
Report("Calling State machine 2nd try",__FILE__,LoadStages,LoadStatus,RpMessage,SecondTry,0);
load.color = BLINK;
- if ((LoadStages == THREAD_LOAD_LIFT_DANCERS)
+ if (LoadStages == THREAD_LOAD_LIFT_DANCERS)
{
LoadStages++;
LoadStatus = OK;
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index 15ef98bfb..75507b180 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
@@ -1172,6 +1172,26 @@ void SendJobProgress(double ProcessedLength, int SegmentId, bool done, char *Mes
{
if(JobEndReason != JOB_OK)
{
+ switch (JobEndReason)
+ {
+ case JOB_THREAD_BREAK:
+ //AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_BREAK,true);
+ break;
+ case JOB_POOLER_DANCER_FAIL:
+ AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE_PULLER_DANCER,true);
+ break;
+ case JOB_FEEDER_DANCER_FAIL:
+ AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE_FEEDER_DANCER,true);
+ break;
+ case JOB_WINDER_DANCER_FAIL:
+ AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE_WINDER_DANCER,true);
+ break;
+ default:
+ break;
+ }
+ if (strlen(AlarmReasonStr))
+ strncpy(ErrorMsg,AlarmReasonStr,100);
+
responseContainer.has_error = true;
responseContainer.error = JobError_to_ErrorCode[JobEndReason];
if (strlen(ErrorMsg))
@@ -1206,29 +1226,6 @@ void SendJobProgress(double ProcessedLength, int SegmentId, bool done, char *Mes
CurrentRequest = NULL;
}
JobStopReporting();
- if(JobEndReason != JOB_OK)
- {
- switch (JobEndReason)
- {
- case JOB_THREAD_BREAK:
- //AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_BREAK,true);
- break;
- case JOB_POOLER_DANCER_FAIL:
- AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE_PULLER_DANCER,true);
- break;
- case JOB_FEEDER_DANCER_FAIL:
- AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE_FEEDER_DANCER,true);
- break;
- case JOB_WINDER_DANCER_FAIL:
- AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE_WINDER_DANCER,true);
- break;
- default:
- break;
- }
- if (strlen(AlarmReasonStr))
- strncpy(ErrorMsg,AlarmReasonStr,100);
-
- }
JobMessageStruc JobMessage;
if(JobEndReason == JOB_OK)