From 6a313661146ecd208312504823b55610dadf0c88 Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Tue, 15 Jan 2019 18:32:25 +0200 Subject: Version 1.3.2.0 - Machine Studio 4 - new inerface (alarms). new over/under temperature alarms, tamper alarms preperation, cone alarm, warnings removed. --- .../Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c | 14 +++++++++++++- .../Embedded_SW/Embedded/Modules/Thread/Thread_print.c | 10 ++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 73eb6ea30..bbb05e727 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -21,6 +21,9 @@ #include "drivers/FPGA/FPGA_SPI_Comm.h" #include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h" +#include +#include "Modules/AlarmHandling/AlarmHandling.h" + #include #include #include @@ -96,6 +99,15 @@ uint32_t Winder_Prepare(void) * 2. move back x steps - according to thehw specifications and bobine definitions in the job. move for a predefined number of steps. get a callback when done * report ready to the job STM */ + + if (FPGA_Read_limit_Switches(GPI_SW_SPOOL_EXISTS)==LIMIT) + { + REPORT_MSG(LIMIT, "No cone in winder"); + PrepareReady(Module_Winder,ModuleFail); + AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,true); + return ERROR; + //Winder_PrepareStage2(0,0); + } if (FPGA_Read_limit_Switches(GPI_LS_SCREW_RIGHT)==LIMIT) { //REPORT_MSG(LIMIT, "Winder_Prepare at limit"); @@ -179,7 +191,7 @@ double WinderReferenceSpeed=0; int32_t TotalWinderSpeed=0; uint32_t Screw100msecDirectionChange(uint32_t deviceID, uint32_t BusyFlag) { - uint32_t Steps; + //uint32_t Steps; double temp,tempScrewSpeed; double screw_horizontal_speed = 0; double RotationsPerSecond; diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 94858cae2..bfd936b5c 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -437,7 +437,7 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) ThreadControlActive = false; SendJobProgress(0.0,0,false, "ReadBreakSensor Error"); SegmentReady(Module_Thread,ModuleFail); - AlarmHandlingSetAlarm(EVENT_TYPE__ThreadBreak,true); + AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_BREAK,true); //EndState(CurrentJob,"ReadBreakSensor Error" ); LOG_ERROR(index, "ReadBreakSensor Error"); return OK; @@ -467,7 +467,7 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) SendJobProgress(0.0,0,false, Message); //EndState(CurrentJob,Message ); SegmentReady(Module_Thread,ModuleFail); - AlarmHandlingSetAlarm(EVENT_TYPE__ThreadTensionControlFailure,true); + AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE,true); LOG_ERROR (DancerId, "Dancer Failure"); return OK; } @@ -559,8 +559,10 @@ uint32_t ThreadEmptyCBFunction(uint32_t IfIndex, uint32_t ReadValue) TotalProcessedLength = 0.0; PoolerTotalProcessedLength = 0.0; PrepareState = true; - AlarmHandlingSetAlarm(EVENT_TYPE__ThreadBreak,false); - AlarmHandlingSetAlarm(EVENT_TYPE__ThreadTensionControlFailure,false); + AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_BREAK,false); + AlarmHandlingSetAlarm(EVENT_TYPE__THREAD_TENSION_CONTROL_FAILURE,false); + AlarmHandlingSetAlarm(EVENT_TYPE__WINDER_CONE_DOES_NOT_EXIST,false); + //start thread control for all motors for (Motor_i = 0;Motor_i < MAX_THREAD_MOTORS_NUM;Motor_i++) -- cgit v1.3.1