From 0087c3567ff7322869fa6871e16372a49c382f38 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 20 Jun 2018 19:59:18 +0300 Subject: IDS Handling, Reports, Winder message flushing --- Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c') diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 3505ff3c6..e564e52d0 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -72,6 +72,8 @@ uint32_t Winder_PrepareStage2(uint32_t deviceID, uint32_t ReadValue) uint32_t status=OK; uint32_t numOfSteps = InternalWinderCfg.startoffsetpulses*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].microstep; + MotorSetMaxSpeed (HARDWARE_MOTOR_TYPE__MOTO_SCREW,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].maxfrequency); + status |= MotorMoveWithCallback(HARDWARE_MOTOR_TYPE__MOTO_SCREW, (1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].directionthreadwize),numOfSteps, Winder_ScrewAtOffsetCallback); //set motor location 0 here return status; @@ -180,10 +182,12 @@ uint32_t Winder_Presegment(void *JobDetails) } uint32_t Winder_End(void) { + int pend; //stop screw ScrewNumberOfSteps = 0; if (ScrewControlId != 0xFF) RemoveControlCallback(ScrewControlId,ScrewDirectionChange); + pend = MillisecFlushMsgQ(HARDWARE_MOTOR_TYPE__MOTO_SCREW); return MotorStop (HARDWARE_MOTOR_TYPE__MOTO_SCREW,Hard_Hiz); } void Winder_ScrewHomeLimitSwitchInterrupt(void) -- cgit v1.3.1