diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-05-15 12:39:00 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-05-15 12:39:00 +0300 |
| commit | dbaa3118334f2de0a8225dbc130404e3085c551e (patch) | |
| tree | 853499e126fd89692dd0bdd5618a29f54b193ef8 /Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c | |
| parent | a6460fc5311a59b414319d66d12b34e7c7c2d825 (diff) | |
| download | Tango-dbaa3118334f2de0a8225dbc130404e3085c551e.tar.gz Tango-dbaa3118334f2de0a8225dbc130404e3085c551e.zip | |
version 1.4.6.27
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 69f640c45..f0e459514 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -140,6 +140,13 @@ uint32_t Control_Delta_Position_Pass(uint32_t Current_Read,uint32_t Previous_Rea * **************************************************************************************/ uint32_t initialpos = 0xFFFF; uint32_t Poolerinitialpos = 0xFFFF; +#define SPEED_STORE_SIZE 20 +float PullerSpeedStore[SPEED_STORE_SIZE]; +float PullerSpeedAverage; +int PullerSpeedIndex = 0; +float FeederSpeedStore[SPEED_STORE_SIZE]; +float FeederSpeedAverage; +int FeederSpeedIndex = 0,Speed_i; void ThreadUpdateProcessLength (double length, void *Funcptr) { @@ -206,6 +213,15 @@ uint32_t ThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) } } + FeederSpeedStore[FeederSpeedIndex++] = length; + if (FeederSpeedIndex>=SPEED_STORE_SIZE) + { + FeederSpeedIndex = 0; + for (Speed_i = 0;Speed_i<SPEED_STORE_SIZE;Speed_i++) + FeederSpeedAverage+=FeederSpeedStore[Speed_i]; + FeederSpeedAverage = FeederSpeedAverage/SPEED_STORE_SIZE; + ReportWithPackageFilter(ThreadFilter,"Average Speed 2 second",__FILE__,__LINE__,(int)(FeederSpeedAverage*100),RpWarning,(int)(PullerSpeedAverage*100),0); + } TotalProcessedLength += (length/100); TempTotalProcessedLength = TotalProcessedLength; #ifdef FEEDER_LENGTH_CALCULATION @@ -242,7 +258,6 @@ uint32_t ThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) return OK; } - uint32_t PoolerThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) { uint32_t positionDiff = 0,prevprev; @@ -297,6 +312,15 @@ uint32_t PoolerThreadLengthCBFunction(uint32_t IfIndex, uint32_t ReadValue) length = 0; } + PullerSpeedStore[PullerSpeedIndex++] = length; + if (PullerSpeedIndex>=SPEED_STORE_SIZE) + { + PullerSpeedIndex = 0; + for (Speed_i = 0;Speed_i<SPEED_STORE_SIZE;Speed_i++) + PullerSpeedAverage+=PullerSpeedStore[Speed_i]; + PullerSpeedAverage = PullerSpeedAverage/SPEED_STORE_SIZE; + //ReportWithPackageFilter(ThreadFilter,"Average Speed 2 second",__FILE__,__LINE__,(int)(FeederSpeedAverage*100),RpWarning,(int)(PullerSpeedAverage*100),0); + } //} @@ -1101,6 +1125,9 @@ uint32_t ThreadPreSegmentState(void *SegmentDetails, uint32_t SegmentId) SetOriginMotorSpeed(process_speed); ThreadControlActive = true; PrepareState = false; + PullerSpeedIndex = 0; + FeederSpeedIndex = 0; + #ifndef TEST_PID_THREAD // set the new speed in the dryer motor to the speed of the new segment if(MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDRIVING].speedmaster == false) |
