aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-06-24 17:50:46 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-06-24 17:50:46 +0300
commitaa25997a136a0790ad2cdec80d13eb6c07114363 (patch)
treed342590fb29cfb6550972ae8efacf671b48f303a /Software/Embedded_SW/Embedded/Modules
parentc6b1a719bac638a647dc2e4af51ad888c9f5039d (diff)
downloadTango-aa25997a136a0790ad2cdec80d13eb6c07114363.tar.gz
Tango-aa25997a136a0790ad2cdec80d13eb6c07114363.zip
DC Heating control - new job restarting
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c36
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c10
4 files changed, 34 insertions, 19 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
index 0ed71bf0d..cc87f6611 100644
--- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
+++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c
@@ -91,7 +91,6 @@ uint32_t HWConfigurationFunc(MessageContainer* requestContainer)
upload_hardware_configuration_request__free_unpacked(UploadRequest,NULL);
return ERROR;
}
- //status += HeaterConfigSetSharedHeatersParams (request->outputproportionalcycletime, request->outputproportionalsinglestep);
ControlStart();
//ThreadInitialTestStub(request);
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c
index 3fa8cfa40..2e85d8b50 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c
@@ -104,7 +104,6 @@ void HeatingTestRequest(MessageContainer* requestContainer)
HeaterId2, false,
request->dryerzone2temp);
}
- HeaterConfigSetSharedHeatersParams(1000,120000*12);
ControlStart();
StubHeatingTestResponse response = STUB_HEATING_TEST_RESPONSE__INIT;
@@ -276,7 +275,6 @@ uint32_t HeaterConfigRequestMessage(HardwarePidControl* request)
}
else
{
- HeaterConfigSetSharedHeatersParams(1000,120000*12); // initial setting 50Mhz
}
}
return OK;
@@ -333,8 +331,8 @@ uint32_t HeaterConfigSetSharedHeatersParams(uint32_t outputproportionalcycletime
}
/*
- * HeaterConfigSetSharedHeatersParams - prepare the time slices for A/C heaters co-ordinated operation
- * called by the general hardware HWConfigurationFunc
+ * HeaterRecalculateSharedHeatersParams -
+ *
* parameters - the cycle time for the coordinated operation, the size (in MCU cycles) of a single step.
*/
uint32_t HeaterRecalculateSharedHeatersParams(uint32_t deviceId, uint32_t new_outputproportionalpowerlimit)
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index ad3aaff6f..8e8ee9e81 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -22,6 +22,7 @@
#include "heaters.h"
#include "Drivers/Heater/Heater.h"
+#include "Heaters_ex.h"
#include "Drivers/Heater/TemperatureSensor.h"
#include "StateMachines/Printing/PrintingSTM.h"
@@ -76,8 +77,10 @@ void HeatersControlInit(void)
{
int i;
HeatersControlMsgQ = Mailbox_create(sizeof(HeatersControlMessageStruc), 20, NULL,NULL);
+ HeaterConfigSetSharedHeatersParams(1000,120000*12);
ROM_TimerConfigure(Heater_timerBase, TIMER_CFG_PERIODIC); // 32 bits Timer
+ ROM_TimerEnable(Heater_timerBase, TIMER_A);
ROM_IntEnable(INT_TIMER2A);
ROM_TimerIntEnable(Heater_timerBase, TIMER_TIMA_TIMEOUT);
@@ -97,7 +100,7 @@ void HeatersControlStop(void)
TimerActivated = false;
HeatersRestart = false;
}
-#warning there is a need to separate the AC and DC heaters preparation!
+//#warning there is a need to separate the AC and DC heaters preparation!
void HeatersControlStart(void)
{
Report("HeatersControlStart ", __FILE__,__LINE__,0, RpMessage, 0, 0);
@@ -113,14 +116,26 @@ uint32_t HeatersEnd(void)
{
if (i > HARDWARE_PID_CONTROL_TYPE__DryerHeater200w2) //DC Heaters
{
- status |= RemoveControlCallback(ControlIdtoHeaterId [i], DCHeaterControlCBFunction);
+ if (ControlIdtoHeaterId [i]!=0xFF)
+ {
+ status |= RemoveControlCallback(ControlIdtoHeaterId [i], DCHeaterControlCBFunction);
+ ControlIdtoHeaterId [i]=0xFF;
+ }
}
else if (i < HARDWARE_PID_CONTROL_TYPE__DryerHeater200w2) //AC Heaters
{
- status |=RemoveControlCallback(ControlIdtoHeaterId [i] ,HeaterControlCBFunction);
+ if (ControlIdtoHeaterId [i]!=0xFF)
+ {
+ status |=RemoveControlCallback(ControlIdtoHeaterId [i] ,HeaterControlCBFunction);
+ ControlIdtoHeaterId [i]=0xFF;
+ }
}
if (i == HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w) //DC Heaters
- status |=RemoveControlCallback(DryerHeaterMaxTempControl ,HeaterMaxTempCBFunction);
+ if (ControlIdtoHeaterId [i]!=0xFF)
+ {
+ status |=RemoveControlCallback(DryerHeaterMaxTempControl ,HeaterMaxTempCBFunction);
+ ControlIdtoHeaterId [i]=0xFF;
+ }
DeActivateHeater(i);
}
return status;
@@ -134,10 +149,10 @@ void HeatersStartControlTimer (void)
return;
TimerActivated = true;
ROM_TimerConfigure(Heater_timerBase, TIMER_CFG_PERIODIC); // 32 bits Timer
- ROM_TimerLoadSet(Heater_timerBase, TIMER_A,OutputProportionalSingleStep/*twelve millisecond???*/);
+ ROM_TimerLoadSet(Heater_timerBase, TIMER_A,OutputProportionalSingleStep /*twelve millisecond???*/);
+ ROM_TimerEnable(Heater_timerBase, TIMER_A);
ROM_IntEnable(INT_TIMER2A);
ROM_TimerIntEnable(Heater_timerBase, TIMER_TIMA_TIMEOUT);
- TimerEnable(Heater_timerBase, TIMER_A);
Report("HeatersStartControlTimer ", __FILE__,__LINE__,0, RpMessage, 0, 0);
return;
}
@@ -236,10 +251,12 @@ uint32_t PrepareHeater(int HeaterId, uint32_t SetTemperatue)
if (HeaterId > HARDWARE_PID_CONTROL_TYPE__DryerHeater200w2) //DC Heaters
{
ControlIdtoHeaterId [HeaterId] = AddControlCallback( DCHeaterControlCBFunction, eHundredMillisecond,TemperatureSensorRead,(IfTypeHeaters*0x100+HeaterId),HeaterId2PT100Id[HeaterId],0);
+ DCInitialHeating[HeaterId] = true;
}
else if (HeaterId < HARDWARE_PID_CONTROL_TYPE__DryerHeater200w2) //AC Heaters
{
ControlIdtoHeaterId [HeaterId] = AddControlCallback( HeaterControlCBFunction, eHundredMillisecond,TemperatureSensorRead,(IfTypeHeaters*0x100+HeaterId),HeaterId2PT100Id[HeaterId],0);
+ InitialHeating = true;
}
HeaterReady[HeaterId] = false;
if (HeaterId == HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w) //Dryer Heaters
@@ -297,6 +314,7 @@ uint32_t HeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
LOG_ERROR (readValue, "Heater Cooled Off max temperature, turned on");
return OK;
}
+ return ERROR;
}
uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
{
@@ -502,18 +520,18 @@ void EightMilliSecondHeatersInterrupt(UArg arg0)
ROM_IntMasterDisable();
HeatersControlMessageStruc Message;
- bool retcode = false;
+ //bool retcode = false;
//send message to the HeatersControl task
Message.messageId = HeatersControl;
Message.tick = UsersysTickGet();
Message.msglen = sizeof(HeatersControlMessageStruc);
if (HeatersControlMsgQ != NULL)
- retcode = Mailbox_post(HeatersControlMsgQ , &Message, BIOS_NO_WAIT);
+ /*retcode = */Mailbox_post(HeatersControlMsgQ , &Message, BIOS_NO_WAIT);
if (HeatersRestart == true)
{
- ROM_TimerLoadSet(Heater_timerBase, TIMER_A,OutputProportionalSingleStep/*twelve millisecond???*/);
+ ROM_TimerLoadSet(Heater_timerBase, TIMER_A,OutputProportionalSingleStep);
}
else
TimerDisable(Heater_timerBase, TIMER_A);
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index fafc43fb5..6740d6304 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -188,8 +188,8 @@ uint32_t ThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue)
{
//HeatingTestSendResonse(0, false,true,true, MotorDriverRequest[22].Speed,MotorDriverRequest[18].Speed,MotorDriverRequest[15].Speed,MotorDriverRequest[3].Speed, "MotorSpeed");
- HeatingTestSendResonse(0, false,true,true, /*OriginalMotorSpd_2PPS[index]*/length,positionDiff/*(int)error_integered*/,CurrentProcessedLength,CurrentRequestedLength, "FeederLength");
- pooler_counter = 0;
+ //HeatingTestSendResonse(0, false,true,true, /*OriginalMotorSpd_2PPS[index]*/length,positionDiff/*(int)error_integered*/,CurrentProcessedLength,CurrentRequestedLength, "FeederLength");
+ // pooler_counter = 0;
}
if (CurrentProcessedLength>=CurrentRequestedLength )
{
@@ -306,7 +306,7 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue)
if ((abs(avreageSampleValue)> DancerStopActivityLimit[index])&&(JobCounter > eOneSecond))
{
- usnprintf(Message, 60, "Dancer % limit%d value %d Zero %d",DancerId,DancerStopActivityLimit[index],avreageSampleValue,DancersCfg[DancerId].zeropoint);
+ usnprintf(Message, 60, "Dancer %d limit %d value %d Zero %d",DancerId,DancerStopActivityLimit[index],avreageSampleValue,DancersCfg[DancerId].zeropoint);
EndState(CurrentJob,Message );
}
@@ -346,8 +346,8 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue)
}*/
//HeatingTestSendResonse(0, false,true,true, MotorDriverRequest[22].Speed,MotorDriverRequest[18].Speed,MotorDriverRequest[15].Speed,MotorDriverRequest[3].Speed, "MotorSpeed");
- HeatingTestSendResonse(0, false,true,true, /*OriginalMotorSpd_2PPS[index]*/_speed,OriginalMotorSpd_2PPS[index]/*(int)error_integered*/,MotorControlConfig[index].m_calculatedError,ReadValue, "FeederSpeed");
- pooler_counter = 0;
+ //HeatingTestSendResonse(0, false,true,true, /*OriginalMotorSpd_2PPS[index]*/_speed,OriginalMotorSpd_2PPS[index]/*(int)error_integered*/,MotorControlConfig[index].m_calculatedError,ReadValue, "FeederSpeed");
+ // pooler_counter = 0;
}
}