From da64741127fe5b7011458d3e2a8c9d5890b3d263 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 30 Jan 2019 16:44:50 +0200 Subject: Version 1.3.5.4: Heaters connection fixed. some job end problem removed. IDS improved significantly --- Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c | 1 - 1 file changed, 1 deletion(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c') diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c index e19431abd..5caf368dd 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c @@ -429,7 +429,6 @@ uint32_t ThreadLoadControlCBFunction(uint32_t index, uint32_t ReadValue) //double tempcalcspeed = 0; uint32_t calculated_speed; double NormalizedError; - //char Message[60]; DancerId = ThreadMotorIdToDancerId[index]; if (ReadValue < 10) -- cgit v1.3.1 From e344e583145222c2f0a8bf4af99f8111781f4c1d Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Wed, 30 Jan 2019 17:29:29 +0200 Subject: Handle magnet for the Dyeing head lid --- .../Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c | 12 ++++++++++++ .../Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h | 3 +++ Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c | 4 ++++ Software/Embedded_SW/Embedded/Main.c | 1 + Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c | 3 +++ 5 files changed, 23 insertions(+) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c') diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c index 8af5f5ccc..bf5d2cd3b 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.c @@ -423,6 +423,18 @@ uint32_t DeActivateChiller() return OK; } +uint32_t ActivateHeadMagnet() +{ + F2_CTRL |= SPARE_SSR13_CTRL; + return OK; +} + +uint32_t DeActivateHeadMagnet() +{ + F2_CTRL &= ~SPARE_SSR13_CTRL; + return OK; +} + uint32_t DeActivateAllSSR() { F2_CTRL = 0; diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h index 23cc28224..794ffcd5e 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h @@ -195,6 +195,9 @@ bool Read_PWR_Button();//TODO move to GPIO folder uint32_t Control_WD(bool IsEnable, unsigned char SetTimer_Steps100mSec); uint32_t ActivateChiller(); uint32_t DeActivateChiller(); +uint32_t ActivateHeadMagnet(); +uint32_t DeActivateHeadMagnet(); + uint32_t DeActivateAllSSR(); uint32_t ReadBreakSensor(); diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c index 89b57ac83..6c3ed1afa 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c +++ b/Software/Embedded_SW/Embedded/Drivers/Motors/MotorActions.c @@ -280,6 +280,8 @@ uint32_t MotorMoveToLimitSwitchCallBackFunction(uint32_t IfIndex, uint32_t Limit //possibly: start regular control (speed etc) //uint32_t ControlId = AddControlCallback(ControlCBFunction Callback, eOneMillisecond, (IfTypeMotors*0x100+MotorId), deviceId, Parameter ); + if (MotorId == HARDWARE_MOTOR_TYPE__MOTO_DH_LID) + ActivateHeadMagnet(); //call the module callback if (MotorCallback[MotorId]) @@ -303,6 +305,8 @@ uint32_t MotorMovetoLimitSwitch (TimerMotors_t MotorId,bool direction, uint32_t } //call driver action to device id with the parameter //SetMotorSpeed (deviceId, parameter); + if (MotorId == HARDWARE_MOTOR_TYPE__MOTO_DH_LID) + DeActivateHeadMagnet(); MotorSetDirection( MotorId, direction); MotorSetSpeed(MotorId, Freq); diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c index 84d836ef8..430bb1181 100644 --- a/Software/Embedded_SW/Embedded/Main.c +++ b/Software/Embedded_SW/Embedded/Main.c @@ -173,6 +173,7 @@ int main(void) #ifndef EVALUATION_BOARD //Turn_the_Blower_On();//Turn on with the Default_Voltage ActivateChiller();//SSR12 + ActivateHeadMagnet(); #endif //EMAC_initEMAC(); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c index 5caf368dd..58ade0802 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c @@ -215,6 +215,7 @@ //Open Dyeing Head Cover And Dryer Lid //HARDWARE_MOTOR_TYPE__MOTO_DH_LID = 2, //HARDWARE_MOTOR_TYPE__MOTO_DRYER_LID = 4, + DeActivateHeadMagnet(); CallbackCounter++; MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_DH_LID,1-MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_DH_LID].directionthreadwize, 200, Motor_Id_to_LS_IdUp[HARDWARE_MOTOR_TYPE__MOTO_DH_LID], Thread_Load_HomingCallback,10000); CallbackCounter++; @@ -288,6 +289,8 @@ } uint32_t Thread_Load_Resume_Heating(void) { + ActivateHeadMagnet(); + if (HandleProcessParameters(&ProcessParametersRecover)!= OK) { LOG_ERROR (LoadStages, "Thread_Load_Resume_Heating failed"); -- cgit v1.3.1