aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-01-16 13:11:06 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-01-16 13:11:06 +0200
commit1ee11bc9771c807c4d0ecb4d73e4bc33b307ae1e (patch)
tree90fef091808c78bf8b87e0eabbee050eabb724c4 /Software/Embedded_SW/Embedded/Modules/Thread
parentafe0b1e7abea7b1694ff0d197e045420df497ceb (diff)
parentfd181e6c3c9d0f67152243e4657b9e760d9f2c36 (diff)
downloadTango-1ee11bc9771c807c4d0ecb4d73e4bc33b307ae1e.tar.gz
Tango-1ee11bc9771c807c4d0ecb4d73e4bc33b307ae1e.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c14
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c10
2 files changed, 19 insertions, 5 deletions
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 <PMR/Diagnostics/EventType.pb-c.h>
+#include "Modules/AlarmHandling/AlarmHandling.h"
+
#include <driverlib/timer.h>
#include <inc/hw_ints.h>
#include <inc/hw_memmap.h>
@@ -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++)