aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-09-06 15:24:39 +0300
committerShlomo Hecht <shlomo@twine-s.com>2020-09-06 15:24:39 +0300
commitdc3e9a8e3936f24d01d85652ff2fb9b8c320261c (patch)
treed58239e55ba1eaf0a27788c0d20f004c72fa6355 /Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
parentb68b34d6247175678f76cc40bb60019685740dd9 (diff)
downloadTango-dc3e9a8e3936f24d01d85652ff2fb9b8c320261c.tar.gz
Tango-dc3e9a8e3936f24d01d85652ff2fb9b8c320261c.zip
some fixes in dispenser handling, implement setheaterstate, procedures and stubs updated
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
index 327d80eb1..d40f3c00b 100644
--- a/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/IDS/IDS_print.c
@@ -452,10 +452,12 @@ c. Go to step 2.a x Segment.BrushStopsCount.
uint32_t DispenserPrepareControlId = 0xFF;
int NumOfActiveDispensers = 0;
int DispenserBuildTimeCounter = 0;
-#define DISPENSER_UP_MOVEMENT
+ double TargetNumberOfStepsPreRun,MaximalPressurePreRun;
int DispenserTotalPrepareSteps[MAX_SYSTEM_DISPENSERS];
bool DispenserLastMovementDown[MAX_SYSTEM_DISPENSERS];
-#define PRESSURE_READ_TIME_GAP 100
+
+ #define PRESSURE_READ_TIME_GAP 100
+
uint32_t InactiveDispenserHome(uint32_t DispenserId, uint32_t ReadValue)
{
if (AutoHoming_Config >= AutoHoming_JobEnd_PowerOn_off)
@@ -582,10 +584,10 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
{
DispenserTotalPrepareSteps[i]+=(CurrentDispenserSpeed[i]*PRESSURE_READ_TIME_GAP/eOneSecond);
HW_Motor_Id = DispenserIdToMotorId[i];
-//#ifdef DISPENSER_UP_MOVEMENT
- if (DispenserTotalPrepareSteps[i]<InitialDispenserTimeout)
+
+ if (DispenserTotalPrepareSteps[i]<TargetNumberOfStepsPreRun)
{
- AdjustDispenserSpeedToPressure(i,InitialDispenserPressure,pressure);
+ AdjustDispenserSpeedToPressure(i,MaximalPressurePreRun,pressure);
}
else if (pressure > DispenserPreparePressure*1.2)
{
@@ -597,7 +599,6 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
if (AdjustDispenserSpeedToPressure(i,DispenserPreparePressure,pressure) == true)
NumofReadyDispensers++;
}
-//#endif
ReportWithPackageFilter(IDSFilter,"IDS prepare",__FILE__,i,(int)DispenserTotalPrepareSteps[i],RpWarning,(int)(CurrentDispenserSpeed[i]*100),0);
}
}
@@ -758,7 +759,7 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
JobTicket* JobTicket = JobDetails;
JobEndSequence = false;
- if ((pressurebuildup>0.1)&&(pressurebuildup<4.0))
+ if ((pressurebuildup>0.1)&&(pressurebuildup<4.5))
{
ReportWithPackageFilter(IDSFilter,"Setting pressure from RML feeder tension",__FILE__,__LINE__,(int)(pressurebuildup*100),RpWarning,(int)(DispenserPreparePressure*100),0);
DispenserPreparePressure = pressurebuildup;
@@ -778,6 +779,8 @@ bool AdjustDispenserSpeedToPressure(int DispenserId, double RefMaxPressure,doubl
CleaningDispenserSpeed = 0;
EnableCleaning = false;
}
+ TargetNumberOfStepsPreRun = InitialDispenserTimeout;
+ MaximalPressurePreRun = InitialDispenserPressure;
for (Motor_i = 0;Motor_i < MAX_SYSTEM_DISPENSERS;Motor_i++)
{
@@ -1840,7 +1843,7 @@ uint32_t IDSSegmentState(void *SegmentDetails, int SegmentId)
DispenserPreSegmentControlId = 0xFF;
}
- IDS_Dispenser_Store_Data ();
+ //IDS_Dispenser_Store_Data ();
for ( Dispenser_i = 0;Dispenser_i < MAX_SYSTEM_DISPENSERS;Dispenser_i++)
{