diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2019-10-31 09:40:10 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2019-10-31 09:40:10 +0200 |
| commit | d0919c3f7cc1df3399a0aafc851e62117d984a7d (patch) | |
| tree | 8c71ab347ee37e786b6b54ccd0ce43aa1eec4146 /Software/Embedded_SW/Embedded/Modules/Thread | |
| parent | 43113f6b264c8d334393c6116e1858eeec7ca5c6 (diff) | |
| download | Tango-d0919c3f7cc1df3399a0aafc851e62117d984a7d.tar.gz Tango-d0919c3f7cc1df3399a0aafc851e62117d984a7d.zip | |
small changes for Alpha+
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 47fc37081..45acfabea 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -49,6 +49,7 @@ uint32_t PoolerSpeedControlId=0xFF; double DancerError[NUM_OF_DANCERS] = {0.0}; double OriginalMotorSpd_2PPS[MAX_THREAD_MOTORS_NUM] = {0}; +double InitialDryerSpeed = 0.0; uint32_t JobCounter = 0; MotorControlConfig_t MotorControlConfig[MAX_THREAD_MOTORS_NUM]; @@ -852,6 +853,7 @@ void SetOriginMotorSpeed(float process_speed) / (2 * PI * MotorsCfg[HW_Motor_Id].pulleyradius); //MotorControlConfig[Motor_i].m_SetParam = motor_speed; OriginalMotorSpd_2PPS[Motor_i] = (int) motor_speed; + InitialDryerSpeed = 0.0; CurrentControlledSpeed[Motor_i] = (int) motor_speed; //Report("Original Speed",__FILE__,Motor_i,motor_speed,RpWarning,process_speed,0); @@ -865,6 +867,25 @@ void ThreadPreSegmentEnded(void) REPORT_MSG (0,"First ThreadPreSegmentEnded"); PreSegmentReady(Module_Thread,ModuleDone); } +#define DRYER_RAMPUP 1 +#ifdef DRYER_RAMPUP +uint32_t ThreadDryerRampUp(uint32_t IfIndex, uint32_t BusyFlag) +{ + InitialDryerSpeed += (OriginalMotorSpd_2PPS[DRYER_MOTOR]/10); + if (InitialDryerSpeed >= OriginalMotorSpd_2PPS[DRYER_MOTOR]) + { + InitialDryerSpeed = OriginalMotorSpd_2PPS[DRYER_MOTOR]; + SafeRemoveControlCallback(ControlIdtoMotorId[DRYER_MOTOR], ThreadDryerRampUp ); + ControlIdtoMotorId[DRYER_MOTOR] = 0xFF; + } + + MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING,InitialDryerSpeed ); + Report("ThreadDryerRampUp",__FILE__,ControlIdtoMotorId[DRYER_MOTOR],(int)InitialDryerSpeed,RpWarning,(int)OriginalMotorSpd_2PPS[DRYER_MOTOR],0); + + + return OK; +} +#endif //******************************************************************************************************************** uint32_t ThreadPreSegmentState(void *SegmentDetails, uint32_t SegmentId) @@ -886,7 +907,13 @@ uint32_t ThreadPreSegmentState(void *SegmentDetails, uint32_t SegmentId) PrepareState = false; #ifndef TEST_PID_THREAD // set the new speed in the dryer motor to the speed of the new segment +#ifndef DRYER_RAMPUP MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING, OriginalMotorSpd_2PPS[DRYER_MOTOR]); +#else + InitialDryerSpeed = OriginalMotorSpd_2PPS[DRYER_MOTOR]/10; + MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_DRYER_DRIVING,InitialDryerSpeed ); + ControlIdtoMotorId[DRYER_MOTOR] = AddControlCallback(ThreadDryerRampUp, 200,TemplateDataReadCBFunction,0,0,0); +#endif #endif #ifdef HUNDRED_MICROSECONDS_DANCER_READ MillisecLogInit(); |
