diff options
| author | Ronen Sberlo <ronen.s@twine-s.com> | 2021-01-04 15:30:04 +0200 |
|---|---|---|
| committer | Ronen Sberlo <ronen.s@twine-s.com> | 2021-01-04 15:30:04 +0200 |
| commit | 746ba0f4e7fb7aae0c5ccfe68deed2dba285c565 (patch) | |
| tree | 53837af4674a7cda0293807a291c6125a6b2cb55 /Software/Embedded_SW/Embedded/Modules/Thread | |
| parent | 7c3e54578ae6f2c01ec05ebc7f7e0f873955bb33 (diff) | |
| download | Tango-746ba0f4e7fb7aae0c5ccfe68deed2dba285c565.tar.gz Tango-746ba0f4e7fb7aae0c5ccfe68deed2dba285c565.zip | |
BTSR
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 87ad612ba..697f1bd5d 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -36,7 +36,7 @@ #include "Modules/AlarmHandling/AlarmHandling.h" #include "Control/MillisecTask.h" #include "drivers/Flash_ram/MCU_E2Prom.h" - +#include "Drivers/Uart_Comm/BTSR/BTSR.h" #include "drivers/SSI_Comm/SSI_Comm.h" ////////////////////////////////State machine operation//////////////////////////////////// @@ -79,6 +79,7 @@ double LengthCalculationMultiplier; uint32_t PoolerPreviousPosition = 0, PoolerCurrentPosition = 0; double PoolerTotalProcessedLength = 0.0; double PoolerLengthCalculationMultiplier; +double threadlengthfactor = 1.0; double TempPoolerTotalProcessedLength = 0.0; double TempTotalProcessedLength = 0.0; @@ -109,6 +110,7 @@ void SendSegmentFail(void); double KeepNormalizedError = 0; bool ThreadControlActive = false; +extern BTSR_t BTSR[MaxUFeeders]; ////////////////////////Slow Motor State//////////////////////////////////// //uint32_t ThreadPreSegmentState(void *JobDetails); @@ -337,9 +339,13 @@ uint32_t PoolerThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) }**/ //} -#ifdef BTSR_NO_PULLER_TFU - if (CurrentControlledSpeed[WINDER_MOTOR]>100) - length = dyeingspeed/10; +#ifdef UFEEDER_BTSR + length = BTSR[RUFeeder1].LengthInMeter * threadlengthfactor; +#else + #ifdef BTSR_NO_PULLER_TFU + if (CurrentControlledSpeed[WINDER_MOTOR]>100) + length = dyeingspeed/10; + #endif #endif PoolerTotalProcessedLength+= (length/100); TempPoolerTotalProcessedLength = PoolerTotalProcessedLength; @@ -1080,6 +1086,16 @@ uint32_t ThreadPrepareState(void *JobDetails) initialpos = 0xFFFF; Poolerinitialpos = 0xFFFF; PrepareState = true; + +#ifdef UFEEDER_BTSR + int application = JobTicket->btsrparameters->btsrapplicationtype; + int type = JobTicket->btsrparameters->btsryarntype; + uint16_t tension = (uint16_t)(JobTicket->btsrparameters->feedingtension*10); + uint16_t tension_err = (uint16_t)(JobTicket->btsrparameters->tensionerror*10); + uint16_t alarm_time = 5; //no parameter + threadlengthfactor = JobTicket->btsrparameters->threadlengthfactor; +#endif + AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_BREAK,false); AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE_PULLER_DANCER,false); AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE_FEEDER_DANCER,false); @@ -1097,8 +1113,18 @@ uint32_t ThreadPrepareState(void *JobDetails) IntersegmentLength = JobTicket->intersegmentlength; PrepareWaitCount = 0; + +#ifdef UFEEDER_BTSR + status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__LeftDancer, JobTicket->btsrparameters->exittension); + ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension Winder",__FILE__,HARDWARE_DANCER_TYPE__LeftDancer,PrepareWaitCount,RpWarning,(int)JobTicket->btsrparameters->exittension,0); + BTSR_RML_Settings(RUFeeder1, application, type, tension, tension_err, alarm_time); + BTSR_Reset_Length(RUFeeder1, HIGHEST); + BTSR_Read_Length(RUFeeder1, HIGHEST); + ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension BTSR",__FILE__,application,type,RpError,tension,tension_err); +#else status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__LeftDancer, windertension); ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension Winder",__FILE__,HARDWARE_DANCER_TYPE__LeftDancer,PrepareWaitCount,RpWarning,(int)windertension,0); +#endif #ifndef BTSR_NO_PULLER_TFU status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__MiddleDancer, pullertension); ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension Puller",__FILE__,HARDWARE_DANCER_TYPE__MiddleDancer,PrepareWaitCount,RpWarning,(int)pullertension,0); @@ -1107,6 +1133,7 @@ uint32_t ThreadPrepareState(void *JobDetails) status = ThreadPrepare_Tension (HARDWARE_DANCER_TYPE__RightDancer, feedertension); ReportWithPackageFilter(ThreadFilter,"ThreadPrepare_Tension Feeder",__FILE__,HARDWARE_DANCER_TYPE__RightDancer,PrepareWaitCount,RpWarning,(int)feedertension,0); #endif + FirstCalcInJob = true; if(MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDRIVING].speedmaster == false) { |
