aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-02-25 11:39:27 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-02-25 11:39:27 +0200
commit2f0962db91caa293c9eb43f511c18f25acf9a603 (patch)
tree3041794928ad79534886560b7b0be6e74f148283 /Software/Embedded_SW/Embedded/Modules
parent5c8596be64deacfbe282c03ba21cec66ed4e2494 (diff)
downloadTango-2f0962db91caa293c9eb43f511c18f25acf9a603.tar.gz
Tango-2f0962db91caa293c9eb43f511c18f25acf9a603.zip
Current handling supported
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c23
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c12
4 files changed, 33 insertions, 6 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
index 1cc8e766b..00ce306cf 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c
@@ -694,6 +694,7 @@ uint32_t MillisecLowLoop(uint32_t tick)
if (O600Millisecond_Tick)
{
Trigger_WHSReadAllFanTacho ();
+ DrierHeaterVoltageSetup();
if (RapidPressureRead == false)
{
for (Disp_i = 0;Disp_i < MAX_SYSTEM_DISPENSERS;Disp_i++)
@@ -928,7 +929,7 @@ void HundredMicroTimerInterrupt(int ARG0)
StoreBuffer[StoreBufferId][StoreBufferCounter++] = dancer2;
StoreBuffer[StoreBufferId][StoreBufferCounter++] = dancer3;
/*-----------------------*/
- //len = usprintf(&StoreBuffer[StoreBufferId][StoreBufferCounter], "\r\n%d %d %d", dancer1[dancer_count],dancer2[dancer_count],dancer3[dancer_count]);
+ //len = usprintf(&StoreBuffer[StoreBufferId][StoreBufferCounter], "%d %d %d", dancer1[dancer_count],dancer2[dancer_count],dancer3[dancer_count]);
//StoreBufferCounter+=(len+1);
/*-----------------------*/
dancer1sum+=dancer1;
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
index 0c6ee94ee..1b5bd3518 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h
@@ -33,6 +33,7 @@ uint32_t LoadHeaterSetPoint(HeaterType HeaterType);
void Heaters_SetOverHeatTimeOutValues(uint32_t OverHeatTimeout, uint32_t UnderHeatTimeout);
void Heaters_SetOperationLimits(int acheatersloweroperationlimit,int acheatersupperoperationlimit,int dcheatersloweroperationlimit,int dcheatersupperoperationlimit);
+uint32_t DrierHeaterVoltageSetup(void);
uint32_t HeatersEnd(void);
void HeatersControlStop(void);
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index bc0d1002b..55b8e31c3 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -1503,13 +1503,16 @@ double TotalCurrentLimit(double VAC)
}
}
-uint32_t DrierHeaterVoltageSetup(double voltage)
+uint32_t DrierHeaterVoltageSetup(void)
{
double DrierAcVoltage = 0.0;
char str[100];
bool tempDrier2 = UseSecondaryDrierHeater;
+ double Z1Current,Z2AssumedCurrent,LimitCurrent;
+#ifndef VAC_TEST
if (Head_Type > HEAD_TYPE_SYLKO_WITHOUT_CARD) //rapid/pp machines
+#endif
{
DrierAcVoltage = ReadVAC();
if (DrierAcVoltage<=180)
@@ -1536,7 +1539,10 @@ uint32_t DrierHeaterVoltageSetup(double voltage)
}
else
{
- if ((GetZone2RMSCurrent(DrierAcVoltage)+Get_Heaters_Current(HEATER_DRYER_CURRENT_1))>TotalCurrentLimit(DrierAcVoltage))
+ Z1Current = Get_Heaters_Current(HEATER_DRYER_CURRENT_1);
+ Z2AssumedCurrent = GetZone2RMSCurrent(DrierAcVoltage);
+ LimitCurrent = TotalCurrentLimit(DrierAcVoltage);
+ if ((Z2AssumedCurrent+Z1Current)>LimitCurrent)
{
UseSecondaryDrierHeater = false;
}
@@ -1546,15 +1552,22 @@ uint32_t DrierHeaterVoltageSetup(double voltage)
}
}
}
+#ifndef VAC_TEST
else
{
UseSecondaryDrierHeater = true;
}
+#endif
if (tempDrier2 != UseSecondaryDrierHeater)
{
- usnprintf(str, 100, "\r\n Changing Drier 2 setting VAC %d D1 Current %d D2 assumed current %d limit %d"
- ,DrierAcVoltage,(int)(GetZone2RMSCurrent(DrierAcVoltage)*100),(int)(Get_Heaters_Current(HEATER_DRYER_CURRENT_1)*100),(int)(TotalCurrentLimit(DrierAcVoltage)*100));
+ usnprintf(str, 100, "Changing Drier 2 from %d to %d VAC %d D1 Current %d D2 assumed current %d limit %d" ,tempDrier2,UseSecondaryDrierHeater
+ ,(int)DrierAcVoltage,(int)(Z1Current*100),(int)(Z2AssumedCurrent*100),(int)(LimitCurrent*100));
ReportWithPackageFilter(HeatersFilter,str, __FILE__,__LINE__,DrierAcVoltage, RpMessage, UseSecondaryDrierHeater, 0);
+ if (UseSecondaryDrierHeater == false)
+ {
+ DeActivateHeater (HEATER_TYPE__DryerSecondaryHeater);
+ }
+
}
return OK;
}
@@ -1565,7 +1578,7 @@ uint32_t HeatersControlLoop(uint32_t tick)
int DcHeaterId;
bool AcHeaterDisaster = false;
- /*len = usnprintf(str, 100, "\r\n EightMilliSecondHeatersInterrupt SliceCounter %d Owner %d H1000 %d H2000 %d"
+ /*len = usnprintf(str, 100, " EightMilliSecondHeatersInterrupt SliceCounter %d Owner %d H1000 %d H2000 %d"
,SliceCounter,TimeSliceAllocation[SliceCounter],HeatersRestart,NumberOFSlicesInUse);
ReportWithPackageFilter(HeatersFilter,str, __FILE__,__LINE__,0, RpMessage, SliceCounter, TimeSliceAllocation[SliceCounter]);
*/
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
index c907f7cb8..12e344b79 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c
@@ -664,6 +664,18 @@ void Stub_ProgressRequest(MessageContainer* requestContainer)
response.has_progress = true;
}
+#ifdef VAC_TEST
+ else
+ if(request->amount == 0xB6) //fast refresh for pressure
+ {
+ LOG_ERROR(request->delay,"set vac read test");
+ VAC_Test = (double)request->delay;
+ response.progress = request->delay;
+ response.has_progress = true;
+
+ }
+#endif
+
else
if(request->amount == 0xC3) //suspend I2C task
{