aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-11-17 16:20:03 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-11-17 16:20:03 +0200
commitc372838829041dfc7b928630d7bab9b56bf2e71d (patch)
tree90aaab39e66620947c4a326ff0436a785d798da6 /Software/Embedded_SW
parent4ce03910c28225146eb34c6d64c5c75ee161ac64 (diff)
downloadTango-c372838829041dfc7b928630d7bab9b56bf2e71d.tar.gz
Tango-c372838829041dfc7b928630d7bab9b56bf2e71d.zip
Version 1.5.2(1)
Diffstat (limited to 'Software/Embedded_SW')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c8
-rw-r--r--Software/Embedded_SW/Embedded/Software Release Notes.txt2
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c23
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