diff options
| author | Avi Levkovich <avi@twine-s.com> | 2020-11-29 14:03:45 +0200 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2020-11-29 14:03:45 +0200 |
| commit | 46246aab994169871b51ee4ebf530a63a152cca8 (patch) | |
| tree | 1e187bf261e082047c2258fb74db3daf0f2adecd /Software/Embedded_SW/Embedded | |
| parent | 250c81503a8a3eb804fab1a604fdac708b0b2ab8 (diff) | |
| download | Tango-46246aab994169871b51ee4ebf530a63a152cca8.tar.gz Tango-46246aab994169871b51ee4ebf530a63a152cca8.zip | |
job fail fix report
Diffstat (limited to 'Software/Embedded_SW/Embedded')
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) |
