aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-11-15 14:54:51 +0200
committerShlomo Hecht <shlomo@twine-s.com>2018-11-15 14:54:51 +0200
commitaeacbdabd448b2e7455e16460b996c8090731d9d (patch)
tree1264b75395afc05b955c5fc205ebe63fa7fc7321 /Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
parente615d14fb0f47ae0ec44766b51d1009c12332a4f (diff)
downloadTango-aeacbdabd448b2e7455e16460b996c8090731d9d.tar.gz
Tango-aeacbdabd448b2e7455e16460b996c8090731d9d.zip
many logs. improve job handling and IDS. NEW WINDER ALGORITHM (Interrupts)
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index 3b17cd5dd..e189e2639 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -42,7 +42,7 @@ uint32_t CurrentControlledSpeed[MAX_THREAD_MOTORS_NUM] = {0};
TimerMotors_t ThreadMotorIdToMotorId[MAX_THREAD_MOTORS_NUM] = {HARDWARE_MOTOR_TYPE__MOTO_RDRIVING,HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING,HARDWARE_MOTOR_TYPE__MOTO_LDRIVING,HARDWARE_MOTOR_TYPE__MOTO_WINDER,HARDWARE_MOTOR_TYPE__MOTO_SCREW};
HardwareDancerType ThreadMotorIdToDancerId[MAX_THREAD_MOTORS_NUM] = {FEEDER_DANCER,NUM_OF_DANCERS,POOLER_DANCER,WINDER_DANCER,NUM_OF_DANCERS};
-uint32_t ControlIdtoMotorId [MAX_THREAD_MOTORS_NUM] = {0xFF};
+uint32_t ControlIdtoMotorId [MAX_THREAD_MOTORS_NUM] = {0xFF,0xFF,0xFF,0xFF,0xFF};
uint32_t SpeedControlId=0xFF;
uint32_t PoolerSpeedControlId=0xFF;
@@ -706,16 +706,20 @@ uint32_t ThreadPreSegmentState(void *JobDetails)
return OK;
}
+int REPSegmentId = 0;
void ThreadInterSegmentEnded(void)
{
+ LOG_ERROR (REPSegmentId,"ThreadInterSegmentEnded");
PreSegmentReady(Module_Thread,ModuleDone);
}
void ThreadSegmentEnded(void)
{
+ LOG_ERROR (REPSegmentId," ThreadSegmentState");
SegmentReady(Module_Thread,ModuleDone);
}
void ThreadDistanceToSpoolEnded(void)
{
+ LOG_ERROR (REPSegmentId," ThreadDistanceToSpoolEnded");
DistanceToSpoolReady(Module_Thread,ModuleDone);
}
double seglength = 0.0;
@@ -723,8 +727,10 @@ double seglength = 0.0;
uint32_t ThreadSegmentState(void *JobDetails, int SegmentId)
{
JobTicket* JobTicket = JobDetails;
+ REPSegmentId = SegmentId;
seglength = JobTicket->segments[SegmentId]->length;
CurrentSegmentId = SegmentId;
+ LOG_ERROR (seglength," ThreadSegmentState");
ThreadUpdateProcessLength (seglength,(void *)ThreadSegmentEnded);
return OK;
}
@@ -733,6 +739,7 @@ uint32_t ThreadSegmentState(void *JobDetails, int SegmentId)
uint32_t ThreadDistanceToSpoolState(void )
{
seglength = dryerbufferlength;
+ LOG_ERROR (seglength,"ThreadDistanceToSpoolState");
ThreadUpdateProcessLength (seglength,(void *)ThreadDistanceToSpoolEnded);
return OK;
}
@@ -766,7 +773,10 @@ char Endstr[150];
{
if (ControlIdtoMotorId[Motor_i] != 0xFF)
{
- RemoveControlCallback(ControlIdtoMotorId[Motor_i],ThreadControlCBFunction);
+ if(RemoveControlCallback(ControlIdtoMotorId[Motor_i],ThreadControlCBFunction) == OK)
+ ControlIdtoMotorId[Motor_i] == 0xFF;
+ else
+ LOG_ERROR (ControlIdtoMotorId[Motor_i],"Remove Control failed");
}
MotorStop(ThreadMotorIdToMotorId[Motor_i],Hard_Hiz);
}