diff options
| author | Avi Levkovich <avi@twine-s.com> | 2020-10-29 13:19:45 +0200 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2020-10-29 13:19:45 +0200 |
| commit | f07e100bb3fd2feb41e3e1b6ff8c5e2b5e82cc86 (patch) | |
| tree | 6a1cdd0f9db18c24d64ab6675eeca7e79f628037 /Software/Embedded_SW/Embedded/StateMachines | |
| parent | 902139314c4d406236de4eec79ba7364d09e68d0 (diff) | |
| parent | 6d2c4fb1e5834a7a74bdd5399e9ba82f403a52eb (diff) | |
| download | Tango-f07e100bb3fd2feb41e3e1b6ff8c5e2b5e82cc86.tar.gz Tango-f07e100bb3fd2feb41e3e1b6ff8c5e2b5e82cc86.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/StateMachines')
3 files changed, 14 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c index dc7c09499..3a0c94e27 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c @@ -363,6 +363,7 @@ uint32_t PowerOffStopRunningJob(void) { REPORT_MSG (PowerOffMachineState, "Stop running job"); JobEndReason = JOB_ABORTED_BY_USER; + usnprintf(AlarmReasonStr, 100, "Power off pressed"); AbortJob("Power off pressed"); } PowerOffMachineState++; diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c index ca859f390..0a176c2cb 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c @@ -1014,11 +1014,14 @@ void JobRequestFunc(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__JobResponse, JobToken, true, &response, &job_response__pack, &job_response__get_packed_size); responseContainer.has_error = true; responseContainer.error = error; + if (strlen(ErrorMsg)) + responseContainer.errormessage = ErrorMsg; container_buffer = my_malloc(message_container__get_packed_size(&responseContainer)); } if (container_buffer) { size_t container_size = message_container__pack(&responseContainer, container_buffer); + ErrorMsg[0] = 0; my_free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //We keep the job request until it is done @@ -1152,6 +1155,8 @@ void SendJobProgress(double ProcessedLength, int SegmentId, bool done, char *Mes { responseContainer.has_error = true; responseContainer.error = JobError_to_ErrorCode[JobEndReason]; + if (strlen(ErrorMsg)) + responseContainer.errormessage = ErrorMsg; } if (JobAbortedByUser == true) { @@ -1165,6 +1170,7 @@ void SendJobProgress(double ProcessedLength, int SegmentId, bool done, char *Mes { size_t container_size = message_container__pack(&responseContainer, container_buffer); // if (SendChars(container_buffer, container_size) == false) //comm tx mailbox full + ErrorMsg[0] = 0; if (SendCharsWithType(container_buffer, container_size,MESSAGE_TYPE__JobResponse) == false) //comm tx mailbox full { //AlarmHandlingToken[0] = 0; @@ -1200,6 +1206,9 @@ void SendJobProgress(double ProcessedLength, int SegmentId, bool done, char *Mes default: break; } + if (strlen(AlarmReasonStr)) + strncpy(ErrorMsg,AlarmReasonStr,100); + } JobMessageStruc JobMessage; diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c index 3b0844934..9e43bfb07 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c @@ -28,6 +28,7 @@ #include "modules/Heaters/Heaters_ex.h" #include "modules/Diagnostics/Diagnostics.h" #include "modules/ids/ids_ex.h" +#include "Modules/AlarmHandling/AlarmHandling.h" #include "PMR/Hardware/UploadHardWareConfigurationRequest.pb-c.h" #include "PMR/Hardware/HardwareMotorType.pb-c.h" @@ -756,6 +757,7 @@ void PrintSTMMsgHandler(void * msg) if (RewindJobFile() != FR_OK) { JobEndReason = JOB_FILE_PROBLEM; + usnprintf(AlarmReasonStr, 100, "Job file processing error"); if (dryerbufferlength <= 0.1) EndState(CurrentJob, "Job Ended"); else @@ -795,6 +797,7 @@ void PrintSTMMsgHandler(void * msg) else { JobEndReason = JOB_FILE_PROBLEM; + usnprintf(AlarmReasonStr, 100, "Job file processing error"); if (dryerbufferlength <= 0.1) EndState(CurrentJob, "Job Ended"); else @@ -814,6 +817,7 @@ void PrintSTMMsgHandler(void * msg) { Report("SegmentLoading failed",__FILE__,__LINE__, Segment,RpMessage,(int)(Segment->length*100),0); JobEndReason = JOB_FILE_PROBLEM; + usnprintf(AlarmReasonStr, 100, "Job file processing error"); if (dryerbufferlength <= 0.1) EndState(CurrentJob, "Job Ended"); else |
