aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-07-15 14:32:42 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-07-15 14:32:42 +0300
commit3a674ea0ef5c71843bd876da3bb5e0b0f535110e (patch)
tree069f6411a4145dfa9ccfe0aa2f9a8758c92a8b8e /Software/Embedded_SW/Embedded/Modules/Thread
parentcc425e019d3a7d3494ac15ffe213b6b47b1c64ed (diff)
downloadTango-3a674ea0ef5c71843bd876da3bb5e0b0f535110e.tar.gz
Tango-3a674ea0ef5c71843bd876da3bb5e0b0f535110e.zip
idle task priorities upped. distance to spool added. some job related bugs
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c8
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c27
3 files changed, 19 insertions, 17 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
index 2bd03f406..e40be86a0 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c
@@ -11,9 +11,9 @@
#include "StateMachines/Printing/PrintingSTM.h"
#include "Modules/Control/Control.h"
-#include "Common/report/report.h"
+#include "modules/General/process.h"
-#include "modules/general/process.h"
+#include "Common/report/report.h"
#include "drivers/FPGA/FPGA.h"
@@ -226,13 +226,13 @@ uint32_t WinderPresegmentReady(uint32_t deviceID, uint32_t ReadValue)
uint32_t Winder_Presegment(void *JobDetails, uint32_t SegmentId)
{
JobTicket* JobTicket = JobDetails;
-
float screw_speed = 0;
float RotationsPerSecond;
+
int process_speed = dyeingspeed;
if (dyeingspeed == 0)
{
- LOG_ERROR (-1," unknown job speed");
+ LOG_ERROR (dyeingspeed," job speed zero");
return ERROR;
}
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h
index 4a7f1144c..56e88204f 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h
@@ -17,6 +17,7 @@ uint32_t InternalWindingConfigMessage(JobSpool* request);
uint32_t ThreadPrepareState(void *JobDetails);
uint32_t ThreadPreSegmentState(void *JobDetails);
uint32_t ThreadSegmentState(void *JobDetails, int SegmentId);
+uint32_t ThreadDistanceToSpoolState(void);
uint32_t ThreadEndState(void *JobDetails);
uint32_t ThreadInitialTestStub();
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
index 29e2cd3f6..fd86f0973 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
@@ -26,7 +26,8 @@
#include "drivers/Motors/Motor.h"
#include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h"
#include "modules/heaters/heaters.h"
-#include "modules/general/process.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
@@ -292,7 +293,7 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue)
int DancerId;
static int pooler_counter = 0;
int32_t TranslatedReadValue, avreageSampleValue = 0;
- double tempcalcspeed = 0;
+ //double tempcalcspeed = 0;
uint32_t calculated_speed;
double NormalizedError;
char Message[60];
@@ -546,18 +547,10 @@ uint32_t ThreadPreSegmentState(void *JobDetails)
float process_speed = dyeingspeed;
if (dyeingspeed == 0)
{
- LOG_ERROR (-1," unknown job speed");
+ LOG_ERROR (dyeingspeed," job speed zero");
return ERROR;
}
- /*if (JobTicket->processparameters)
- if (JobTicket->processparameters->dyeingspeed)
- process_speed= JobTicket->processparameters->dyeingspeed;
- else
- {
- 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
@@ -606,7 +599,7 @@ void ThreadSegmentEnded(void)
}
void ThreadDistanceToSpoolEnded(void)
{
-
+ DistanceToSpoolReady(Module_Thread,ModuleDone);
}
double seglength = 0.0;
//********************************************************************************************************************
@@ -620,6 +613,14 @@ uint32_t ThreadSegmentState(void *JobDetails, int SegmentId)
}
//********************************************************************************************************************
+uint32_t ThreadDistanceToSpoolState(void )
+{
+ seglength = dryerbufferlength;
+ ThreadUpdateProcessLength (seglength,(void *)ThreadDistanceToSpoolEnded);
+ return OK;
+}
+
+//********************************************************************************************************************
uint32_t ThreadEndState(void *JobDetails)
{
int Motor_i;