aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c10
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c13
2 files changed, 18 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 33086b636..2bd03f406 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -13,6 +13,8 @@
#include "Common/report/report.h"
+#include "modules/general/process.h"
+
#include "drivers/FPGA/FPGA.h"
#include "drivers/FPGA/FPGA_SPI_Comm.h"
@@ -224,9 +226,15 @@ uint32_t WinderPresegmentReady(uint32_t deviceID, uint32_t ReadValue)
uint32_t Winder_Presegment(void *JobDetails, uint32_t SegmentId)
{
JobTicket* JobTicket = JobDetails;
- int process_speed = JobTicket->processparameters->dyeingspeed;
+
float screw_speed = 0;
float RotationsPerSecond;
+ int process_speed = dyeingspeed;
+ if (dyeingspeed == 0)
+ {
+ LOG_ERROR (-1," unknown job speed");
+ return ERROR;
+ }
if (SegmentId == 0) // do all this only in the beginning of the job. do not touch after that (assuming spool does not change mid job)
{
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index d9aeb503a..29e2cd3f6 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -26,7 +26,7 @@
#include "drivers/Motors/Motor.h"
#include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h"
#include "modules/heaters/heaters.h"
-
+#include "modules/general/process.h"
////////////////////////////////State machine operation////////////////////////////////////
//the state machine operation is used to operate in runtime correct profile flow execution
//by recieved esign flow of the user from the UI
@@ -543,8 +543,13 @@ uint32_t ThreadPreSegmentState(void *JobDetails)
//set the speed only before the first segment, speed is constant accros job
JobTicket* JobTicket = JobDetails;
- float process_speed;
- if (JobTicket->processparameters)
+ float process_speed = dyeingspeed;
+ if (dyeingspeed == 0)
+ {
+ LOG_ERROR (-1," unknown job speed");
+ return ERROR;
+ }
+ /*if (JobTicket->processparameters)
if (JobTicket->processparameters->dyeingspeed)
process_speed= JobTicket->processparameters->dyeingspeed;
else
@@ -552,7 +557,7 @@ uint32_t ThreadPreSegmentState(void *JobDetails)
LOG_ERROR (-1," unknown job speed");
return ERROR;
}
-
+ */
SetOriginMotorSpeed(process_speed);
ThreadControlActive = true;
// set the new speed in the dryer motor to the speed of the new segment