diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-08-30 10:43:01 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-08-30 10:43:01 +0300 |
| commit | 4ebd2c0a636596be0e4a2b8eca87e79d17868207 (patch) | |
| tree | 9c326f7812470f49222b2be4922540f9eb12c73f /Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | |
| parent | 1c66febdea80e32eb82142dde8528a315b642774 (diff) | |
| parent | b91e38b4265ffe413d9b54aabb3e17d8cd150570 (diff) | |
| download | Tango-4ebd2c0a636596be0e4a2b8eca87e79d17868207.tar.gz Tango-4ebd2c0a636596be0e4a2b8eca87e79d17868207.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 1ce27115d..852389001 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -347,10 +347,14 @@ int flipflop = 0; uint32_t motspeed; float speedf; int WinderCalculation = 0; +int MotorOrder[4] = {HARDWARE_MOTOR_TYPE__MOTO_SCREW,SCREW_2_Motor,SCREW_3_Motor,SCREW_4_Motor}; + + uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) { //uint32_t Steps; double temp,tempScrewSpeed; + int i,tempmot; //double screw_horizontal_speed = 0; //double RotationsPerSecond; if (WinderMotorSpeedCounter++>=MAX_WINDER_SPEED_CALCULATION) @@ -369,6 +373,14 @@ uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) ScrewCurrentDirection = 1-ScrewCurrentDirection; CalculationDirectionChangeCounter++; +#ifdef FOUR_WINDERS + tempmot = MotorOrder[0]; + MotorOrder[0] = MotorOrder[1]; + MotorOrder[1] = MotorOrder[2]; + MotorOrder[2] = MotorOrder[3]; + MotorOrder[3] = tempmot; + //Report("order change" ,__FILE__,MotorOrder[0],MotorOrder[1],RpWarning,MotorOrder[2], 0); +#endif if (SampleWinding) return OK; //double calcsteps = (ScrewRunningTime/SYS_CLK_FREQ)*ScrewSpeed; @@ -707,11 +719,13 @@ void ScrewTimerInterrupt(int ARG0) MotorSetDirection (SCREW_3_Motor, ScrewCurrentDirection); MotorSetDirection (SCREW_4_Motor, ScrewCurrentDirection); #endif - MotorSetSpeedDirect(HARDWARE_MOTOR_TYPE__MOTO_SCREW,ScrewSpeed); #ifdef FOUR_WINDERS - MotorSetSpeedDirect (SCREW_2_Motor, ScrewSpeed); - MotorSetSpeedDirect (SCREW_3_Motor, ScrewSpeed); - MotorSetSpeedDirect (SCREW_4_Motor, ScrewSpeed); + MotorSetSpeedDirect(MotorOrder[0],ScrewSpeed); + MotorSetSpeedDirect (MotorOrder[1], ScrewSpeed); + MotorSetSpeedDirect (MotorOrder[2], ScrewSpeed); + MotorSetSpeedDirect (MotorOrder[3], ScrewSpeed); +#else + MotorSetSpeedDirect(HARDWARE_MOTOR_TYPE__MOTO_SCREW,ScrewSpeed); #endif #ifdef READ_SCREW_ENCODER Read_Screw_Encoder(); |
