diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-11-17 16:20:03 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-11-17 16:20:03 +0200 |
| commit | c372838829041dfc7b928630d7bab9b56bf2e71d (patch) | |
| tree | 90aaab39e66620947c4a326ff0436a785d798da6 /Software/Embedded_SW | |
| parent | 4ce03910c28225146eb34c6d64c5c75ee161ac64 (diff) | |
| download | Tango-c372838829041dfc7b928630d7bab9b56bf2e71d.tar.gz Tango-c372838829041dfc7b928630d7bab9b56bf2e71d.zip | |
Version 1.5.2(1)
Diffstat (limited to 'Software/Embedded_SW')
3 files changed, 23 insertions, 10 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c index fcd1c05a2..51485e579 100644 --- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c +++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c @@ -591,10 +591,10 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl { DispenserTotalPrepareSteps[i]+=(CurrentDispenserSpeed[i]*PRESSURE_READ_TIME_GAP/eOneSecond); HW_Motor_Id = DispenserIdToMotorId[i]; - if ((DispenserTotalPrepareSteps[i]>TargetNumberOfStepsPreRun)&&(DispenserTotalPrepareSteps[i]<(TargetNumberOfStepsPreRun+InitialDispenserSpeed))) + /*if ((DispenserTotalPrepareSteps[i]>TargetNumberOfStepsPreRun)&&(DispenserTotalPrepareSteps[i]<(TargetNumberOfStepsPreRun+InitialDispenserSpeed))) { ReportWithPackageFilter(IDSFilter,"IDS dispenser pre-run ended",__FILE__,i,(int)DispenserTotalPrepareSteps[i],RpWarning,(int)(pressure*100),0); - } + }*/ if (DispenserTotalPrepareSteps[i]<TargetNumberOfStepsPreRun) { AdjustDispenserSpeedToPressure(i,MaximalPressurePreRun,pressure); @@ -634,7 +634,9 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl if (NumofReadyDispensers>=NumOfActiveDispensers) { pressureReady = true; - ReportWithPackageFilter(IDSFilter,"pressureReady = true;",__FILE__,DispenserBuildTimeCounter,NumofReadyDispensers,RpWarning,(int)NumOfActiveDispensers,0); + usnprintf(IdMessage, 80,"setting pressureReady = true %d K %d,C %d,M %d,Y %d,TI %d",(int)TargetNumberOfStepsPreRun,DispenserTotalPrepareSteps[0],DispenserTotalPrepareSteps[1], + DispenserTotalPrepareSteps[2],DispenserTotalPrepareSteps[3],DispenserTotalPrepareSteps[4]); + ReportWithPackageFilter(IDSFilter,IdMessage,__FILE__,DispenserBuildTimeCounter,NumofReadyDispensers,RpWarning,(int)NumOfActiveDispensers,0); } if (pressureReady == true) { diff --git a/Software/Embedded_SW/Embedded/Software Release Notes.txt b/Software/Embedded_SW/Embedded/Software Release Notes.txt index 8723978f1..736f6e3be 100644 --- a/Software/Embedded_SW/Embedded/Software Release Notes.txt +++ b/Software/Embedded_SW/Embedded/Software Release Notes.txt @@ -11,7 +11,7 @@ IFS and waste cartridge requests. Blowers V0 initialization and handling fixed and improved. Dancer resetting - enable for single dancer support initial BTSR tests - +Store cleaning parameters from the last job for cleaning jobs (#4112) Embedded SW Release note - Version 1.5.1(4) - Pack 3 ============================================================= diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c index 82601a162..a2a0d6f67 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c @@ -105,7 +105,7 @@ JobSegment *TSegment; JobBrushStop *TbrushStop; JobDispenser *Tdispenser; JobSpool *Tspool; -HeadCleaningParameters *CleaningParameters; +HeadCleaningParameters *CleaningParameters = NULL; bool CopyConfigured[MAX_SYSTEM_MODULES]; bool CleaningJobActive = false, JoggingJobActive = false; char ErrorMsg[100]; @@ -596,10 +596,9 @@ uint32_t ThreadCleaningJob(int speed) TSegment = my_malloc(sizeof(JobSegment)); Tspool = my_malloc(sizeof(JobSpool)); TbrushStop = my_malloc(sizeof(JobBrushStop)); - CleaningParameters = my_malloc(sizeof(CleaningParameters)); - CleaningParameters->has_cleanerflow = true; - CleaningParameters->cleanerflow = 800; Ticket.headcleaningparameters = CleaningParameters; + if (Ticket.headcleaningparameters) + Report("Clean job cleaning parameters", __FILE__, __LINE__, Ticket.headcleaningparameters->cleanerflow, RpWarning, Ticket.headcleaningparameters->archeadcleaningmotorspeed, 0); TSegment->length = 10.0; Ticket.length += (TSegment->length*n_segments); TSegment->n_brushstops = 1; @@ -649,8 +648,8 @@ void FreeCleaningJobData(void *JobDetails) { JobTicket* JobTicket = JobDetails; - if (JobTicket->headcleaningparameters) - free (JobTicket->headcleaningparameters); + //if (JobTicket->headcleaningparameters) + // free (JobTicket->headcleaningparameters); if (JobTicket->spool) { free (JobTicket->spool); @@ -962,6 +961,18 @@ void JobRequestFunc(MessageContainer* requestContainer) usnprintf(ErrorMsg, 100, "spool parameters error"); } } + if (Ticket->headcleaningparameters) + { + ///store last updated cleaning parameters + if (CleaningParameters == NULL) + CleaningParameters = my_malloc(sizeof(CleaningParameters)); + CleaningParameters->has_cleanerflow = Ticket->headcleaningparameters->has_cleanerflow; + CleaningParameters->cleanerflow = Ticket->headcleaningparameters->cleanerflow; + CleaningParameters->has_archeadcleaningmotorspeed = Ticket->headcleaningparameters->has_archeadcleaningmotorspeed; + CleaningParameters->archeadcleaningmotorspeed = Ticket->headcleaningparameters->archeadcleaningmotorspeed; + Report("Save job cleaning parameters", __FILE__, __LINE__, CleaningParameters->cleanerflow, RpWarning, CleaningParameters->archeadcleaningmotorspeed, 0); + + } } else |
