diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c index 0f9a915d0..4d102061b 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c @@ -79,7 +79,7 @@ static ReturnCode ExitState(void *JobDetails); * the array and enum of JobState_t below must be in sync order ***********************************************************************/ //static ReturnCode (* state[])(void *JobDetails) = { IdleState, ValidateState, PrepareState, PrintState, CleanState}; -void AbortJob(void); +void AbortJob(char *Msg); typedef enum @@ -269,7 +269,7 @@ void JobAbortFunc(MessageContainer* requestContainer) AbortJobRequest* request = abort_job_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); - EndState(CurrentJob); + EndState(CurrentJob, "Job Aborted by user"); //AbortJob(); AbortJobResponse response = ABORT_JOB_RESPONSE__INIT; @@ -370,24 +370,19 @@ void JobRequestFunc(MessageContainer* requestContainer) //free(requestContainer); } //******************************************************************************************************************** -void SendJobProgress(double percentage, int SegmentId, bool done) +void SendJobProgress(double percentage, int SegmentId, bool done, char *Message) { uint32_t status = NOT_SUPPORTED; MessageContainer responseContainer; uint8_t* container_buffer; - char DoneMsg[13] = "Job Finished"; - char ProgressMsg[13] = "Progress"; - - - JobResponse response = JOB_RESPONSE__INIT; JobStatus jobStatus = JOB_STATUS__INIT; if (done == true) { - jobStatus.message =DoneMsg; + jobStatus.message = Message; jobStatus.has_progress = true; - jobStatus.progress = 100.0; + jobStatus.progress = percentage; jobStatus.has_currentsegmentindex = false; response.status = &jobStatus; response.has_canceled = false; @@ -396,7 +391,7 @@ void SendJobProgress(double percentage, int SegmentId, bool done) } else { - jobStatus.message =ProgressMsg; + jobStatus.message =Message; jobStatus.has_progress = true; jobStatus.progress = percentage; jobStatus.has_currentsegmentindex = true; @@ -412,7 +407,7 @@ void SendJobProgress(double percentage, int SegmentId, bool done) SendChars((char*)container_buffer, container_size); } -void AbortJob(void) +void AbortJob(char *Msg) { ReturnCode retcode; retcode = JobSuccess; @@ -421,6 +416,7 @@ void AbortJob(void) Message.messageId = Abort; PrtMessage->messageId = PrintSystemFailure; + strcpy(PrtMessage->messageData,Msg); Message.msglen = 10; if (JobmsgQ != NULL) Mailbox_post(JobmsgQ , &Message, BIOS_NO_WAIT); |
