aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread
diff options
context:
space:
mode:
authorAvi Levkovich <avi@twine-s.com>2020-08-12 14:06:48 +0300
committerAvi Levkovich <avi@twine-s.com>2020-08-12 14:06:48 +0300
commit31d4e06c66496a6604e4a878a0258874eeee7a9a (patch)
treeeba2b4d9d3458166308fc45ae2ea2c944b192b02 /Software/Embedded_SW/Embedded/Modules/Thread
parente2c527adfc31e1a0f0b9585178a9535159a45593 (diff)
downloadTango-31d4e06c66496a6604e4a878a0258874eeee7a9a.tar.gz
Tango-31d4e06c66496a6604e4a878a0258874eeee7a9a.zip
merge
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c38
1 files changed, 25 insertions, 13 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index 9c29cf14d..2bdf1b17f 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -721,11 +721,11 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue)
{
if (calculated_speed>5.0)
{
- if (calculated_speed>(CurrentControlledSpeed[index]+100))
+ /*if (calculated_speed>(CurrentControlledSpeed[index]+100))
{
ReportWithPackageFilter(ThreadFilter,"limit acceleration",__FILE__,calculated_speed,CurrentControlledSpeed[index],RpError,index,0);
calculated_speed=CurrentControlledSpeed[index]+100;
- }
+ }*/
CurrentControlledSpeed[index] = calculated_speed;
MotorSetSpeed(ThreadMotorIdToMotorId[index], calculated_speed);
}
@@ -888,11 +888,11 @@ uint32_t Adjust_Right_TFU_Tension(double tension)
uint32_t status = OK;
if (tension > 0.5) //0 = lower position, 1 = high position
{
- //PrepareWaitCount++;
if (FPGA_Read_limit_Switches(GPI_LS_RDANCER_UP) == NO_LIMIT)
{
+ PrepareWaitCount++;
MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RDANCER,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize, 15, GPI_LS_RDANCER_UP, Adjust_Right_TFU_Tension_Callback,15000);
- Report("Adjust_Right_TFU_Tension",__FILE__,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize,HARDWARE_MOTOR_TYPE__MOTO_RDANCER,RpMessage,GPI_LS_RDANCER_UP,0);
+ Report("Adjust_Right_TFU_Tension",__FILE__,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDANCER].directionthreadwize,HARDWARE_MOTOR_TYPE__MOTO_RDANCER,RpMessage,PrepareWaitCount,0);
}
}
@@ -901,9 +901,9 @@ uint32_t Adjust_Right_TFU_Tension(double tension)
uint32_t ThreadPrepare_TensionCallback (int MotorId, double tension)
{
//MotorStop(MotorId,Hard_Hiz);
+ ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_TensionCallback",__FILE__,__LINE__,MotorId,RpWarning,PrepareWaitCount,0);
if (PrepareWaitCount)
{
- ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_TensionCallback",__FILE__,__LINE__,MotorId,RpWarning,PrepareWaitCount,0);
PrepareWaitCount--;
}
if ((PrepareWaitCount == 0)&&(PrepareState == true))
@@ -947,7 +947,6 @@ uint32_t ThreadPrepare_Tension (int DancerId, double tension)
return status;
else
{
- PrepareWaitCount++;
if (current < request) //go down
{
direction = MotorsCfg[HW_Motor_Id].directionthreadwize;
@@ -958,14 +957,26 @@ uint32_t ThreadPrepare_Tension (int DancerId, double tension)
direction = 1-MotorsCfg[HW_Motor_Id].directionthreadwize;
movement = current - request;
}
- MotorSetMaxSpeed (HW_Motor_Id, 500);
+ MotorSetMaxSpeed (HW_Motor_Id, 800);
MotorMoveWithCallback (HW_Motor_Id, direction, (movement*MotorsCfg[HW_Motor_Id].microstep), ThreadPrepare_TensionCallback,20000);
+ PrepareWaitCount++;
+ ReportWithPackageFilter(ThreadFilter,"PrepareWaitCount",__FILE__,PrepareWaitCount,current,RpWarning,request,0);
status |= MCU_E2PromProgram(address,request);
}
- usnprintf(Lenstr, 100, "ThreadPrepare_Tension Dancer %d Request: %d Current %d movement %d dir %d motor %d address %d",
- DancerId,request,current,movement,direction,HW_Motor_Id,address);
- ReportWithPackageFilter(ThreadFilter,Lenstr,__FILE__,address,current,RpWarning,request,0);
+ if (DancerId == HARDWARE_DANCER_TYPE__LeftDancer)
+ {
+ usnprintf(Lenstr, 100, "ThreadPrepare_Tension Dancer %d Request: %d Current %d movement %d dir %d motor %d address %d call %d",
+ DancerId,request,current,movement,direction,HW_Motor_Id,address,PrepareWaitCount);
+ ReportWithPackageFilter(ThreadFilter,Lenstr,__FILE__,address,current,RpWarning,request,0);
+ }
+ else
+ {
+ usnprintf(TMessage, 100, "ThreadPrepare_Tension Dancer %d Request: %d Current %d movement %d dir %d motor %d address %d call %d",
+ DancerId,request,current,movement,direction,HW_Motor_Id,address,PrepareWaitCount);
+ ReportWithPackageFilter(ThreadFilter,TMessage,__FILE__,address,current,RpWarning,request,0);
+
+ }
return status;
}
//********************************************************************************************************************
@@ -1000,12 +1011,13 @@ uint32_t ThreadPrepareState(void *JobDetails)
EnableIntersegment = JobTicket->enableintersegment;
IntersegmentLength = JobTicket->intersegmentlength;
+ PrepareWaitCount = 0;
status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__LeftDancer, windertension);
- ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension",__FILE__,HARDWARE_DANCER_TYPE__LeftDancer,status,RpFatalError,(int)windertension,0);
+ ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension Winder",__FILE__,HARDWARE_DANCER_TYPE__LeftDancer,PrepareWaitCount,RpFatalError,(int)windertension,0);
status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__MiddleDancer, pullertension);
- ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension",__FILE__,HARDWARE_DANCER_TYPE__MiddleDancer,status,RpFatalError,(int)pullertension,0);
+ ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension Puller",__FILE__,HARDWARE_DANCER_TYPE__MiddleDancer,PrepareWaitCount,RpFatalError,(int)pullertension,0);
status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__RightDancer, feedertension);
- ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension",__FILE__,HARDWARE_DANCER_TYPE__RightDancer,status,RpFatalError,(int)feedertension,0);
+ ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension Feeder",__FILE__,HARDWARE_DANCER_TYPE__RightDancer,PrepareWaitCount,RpFatalError,(int)feedertension,0);
FirstCalcInJob = true;
if(MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDRIVING].speedmaster == false)