aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2019-02-14 15:10:01 +0200
committerAvi Levkovich <avi@twine-s.com>2019-02-14 15:10:01 +0200
commit35372b50d0b749b4c447f254d6996a6a30620a24 (patch)
treeb9b6204ce6b649fb0531d1d246cbb31fc3edd34e /Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
parentae1a7f450a6070c9946301e518564f90133c2480 (diff)
parentafe9bcad8a34e0629ac8b897e028910d0cd2bd1e (diff)
downloadTango-35372b50d0b749b4c447f254d6996a6a30620a24.tar.gz
Tango-35372b50d0b749b4c447f254d6996a6a30620a24.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index cc9bb099f..53bac3004 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -83,6 +83,7 @@
void* buffer = NULL;
uint32_t Bytes = 0;
FRESULT Fresult = FR_OK;
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
LoadArmInfo.LoadArmBackLash = 0;
LoadArmInfo.LoadArmRounds = 0xFF;
@@ -109,6 +110,7 @@
uint32_t Thread_Load_Reduce_Heat(void)
{
//Heaters Off, Dryer Blower Off, Blower Low,
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
memcpy (&ProcessParametersClear,&ProcessParametersKeep,sizeof(ProcessParameters));
ProcessParametersClear.dryerzone1temp = 0;
ProcessParametersClear.dryerzone2temp = 0;
@@ -140,6 +142,7 @@
}
uint32_t Thread_Load_Set_Load_Arm_To_Start_Position_Callback(uint32_t deviceID, uint32_t BusyFlag)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine Callback");
NumberOfDrierLoaderCycles--;
if (NumberOfDrierLoaderCycles)
@@ -157,6 +160,7 @@
}
uint32_t Thread_Load_Set_Load_Arm_To_Stopper_Callback(uint32_t deviceID, uint32_t BusyFlag)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine Callback");
NumberOfDrierLoaderCycles=0;
//storeLoadArmParameters();
LoadStages++;
@@ -165,6 +169,7 @@
}
uint32_t Thread_Load_Set_Load_Arm_To_Start_Position(void)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
if (LoadArmInfo.LoadArmRounds != 0xFF)
{
NumberOfDrierLoaderCycles = LoadArmInfo.LoadArmRounds;
@@ -183,6 +188,7 @@
uint8_t CallbackCounter = 0;
uint32_t Thread_Load_HomingCallback(uint32_t MotorId, uint32_t ReadValue)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine Callback");
REPORT_MSG(MotorId, "Thread_Load_HomingCallback Motor Id");
if(ControlId != 0xFF)
{
@@ -204,6 +210,7 @@
}
uint32_t Thread_Load_Center_Head_Rockers(void)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
CallbackCounter++;
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DH_CLEANHEAD,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DH_CLEANHEAD].directionthreadwize, 200, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DH_CLEANHEAD], Thread_Load_HomingCallback,10000);
CallbackCounter++;
@@ -212,6 +219,7 @@
}
uint32_t Thread_Load_Open_Covers(void)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
//Open Dyeing Head Cover And Dryer Lid
//HARDWARE_MOTOR_TYPE__MOTO_DH_LID = 2,
//HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID = 4,
@@ -220,11 +228,12 @@
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DH_LID,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DH_LID].directionthreadwize, 200, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DH_LID], Thread_Load_HomingCallback,10000);
CallbackCounter++;
//MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID].directionthreadwize, 200, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,10000);
- MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, 2, Thread_Load_HomingCallback,4000);
+ MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, 0, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,4000);
return OK;
}
uint32_t Thread_Load_Lift_Dancers(void)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
CallbackCounter++;
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RDANCER,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize, 200, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_RDANCER], Thread_Load_HomingCallback,10000);
CallbackCounter++;
@@ -235,6 +244,7 @@
uint32_t Thread_Load_Lift_Rockers(void)
//Machine Is Ready. Send Message, Start Timer To Close Lids, Wait For Operator Response
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
CallbackCounter++;
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RLOADING,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].directionthreadwize, 200, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_RLOADING], Thread_Load_HomingCallback,10000);
CallbackCounter++;
@@ -244,6 +254,7 @@
}
uint32_t Thread_Load_Initial_Tension(void) //Check Spool Presence, run Winder Until Break Sensor Is Identifieing Movement For A Second
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT)
{
REPORT_MSG(LIMIT, "No cone in winder");
@@ -257,6 +268,7 @@
}
uint32_t Thread_Load_Close_Rockers(void)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
CallbackCounter++;
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RLOADING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].directionthreadwize, 200, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_RLOADING], Thread_Load_HomingCallback,10000);
CallbackCounter++;
@@ -268,6 +280,7 @@
uint32_t Thread_Load_Close_Dancers(void)
//Send Dancer Motors To Preset Location, Check That The Dancers Are On The Thread
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
CallbackCounter++;
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RDANCER,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize, 200, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_RDANCER], Thread_Load_HomingCallback,10000);
CallbackCounter++;
@@ -277,6 +290,7 @@
}
uint32_t Thread_Load_Close_Lids(void)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
//Close Dyeing Head Cover And Dryer Lid
//HARDWARE_MOTOR_TYPE__MOTO_DH_LID = 2,
//HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID = 4,
@@ -284,12 +298,13 @@
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DH_LID,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DH_LID].directionthreadwize, 200, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_DH_LID], Thread_Load_HomingCallback,10000);
CallbackCounter++;
// MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID].directionthreadwize, 200, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,10000);
- MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, 0, Thread_Load_HomingCallback,4000);
+ MotorGotoWithCallback(HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID, 2, Motor_Id_to_LS_IdDown[HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID], Thread_Load_HomingCallback,4000);
return OK;
}
uint32_t Thread_Load_Resume_Heating(void)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
ActivateHeadMagnet();
if (HandleProcessParameters(&ProcessParametersRecover)!= OK)
@@ -307,12 +322,14 @@
uint32_t Thread_Load_Jog_Feeder_To_Middle_Point(void)
//Jog The Feeder Motor Until The Feeder Dancer Is At Middle Position
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
CallbackCounter++;
MotorMovetoDancerPosition (HARDWARE_MOTOR_TYPE__MOTO_RDRIVING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDRIVING].directionthreadwize, 200, FEEDER_DANCER ,true, Thread_Load_HomingCallback,10000);
return OK;
}
uint32_t Thread_Load_Dryer_Loading(void)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
LoadArmInfo.LoadArmRounds = 20;
//Start Feeder Pid, Rotate Loading Arm Counter Thread Direction X Circles According To Rml. Feeder Speed Is 40
OriginalMotorSpd_2PPS[FEEDER_MOTOR] = 1000;
@@ -328,6 +345,7 @@
}
uint32_t Thread_Load_Jog_ThreadStop(uint32_t index, uint32_t ReadValue)
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
RemoveControlCallback(ControlId, Thread_Load_Jog_ThreadStop );
ControlId = 0xFF;
ThreadAbortJoggingFunc();
@@ -338,6 +356,7 @@
uint32_t Thread_Load_Jog_Thread(void)
//Jog Thread Shortly To Make Sure Spool Is Running. Report End Of Loading
{
+ REPORT_MSG(LoadStages, "Thread Load State Machine step");
ThreadJoggingFunc(40);
ControlId = AddControlCallback(Thread_Load_Jog_ThreadStop, eOneSecond*5,Control_Read_Dancer_Position,(IfTypeThread*0x100+FEEDER_MOTOR),FEEDER_DANCER,FEEDER_MOTOR);
return OK;