From b51e6204dba42b3b664a9b9ddbc6d268e0ec3bff Mon Sep 17 00:00:00 2001 From: Shlomo Hecht Date: Thu, 27 Feb 2020 13:54:57 +0200 Subject: Version 1.4.6.14 - new RML --- .../Embedded/Modules/Thread/ThreadLoad.c | 6 ++-- .../Embedded/Modules/Thread/Thread_print.c | 40 ++++++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread') diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c index 128564586..eeb0051f5 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c @@ -186,8 +186,10 @@ ProcessParametersClear.headzone10temp = 0; ProcessParametersClear.headzone11temp = 0; ProcessParametersClear.headzone12temp = 0; - ProcessParametersClear.stspzone1temp = 0; - ProcessParametersClear.stspzone2temp = 0; + ProcessParametersClear.rblowertemp = 0; + ProcessParametersClear.lblowertemp = 0; + ProcessParametersClear.rblowerflow = 0; + ProcessParametersClear.lblowerflow = 0; ProcessParametersClear.dyeingspeed = 40; ProcessParametersClear.dryerbufferlength = ProcessParametersKeep.dryerbufferlength; if (HandleProcessParameters(&ProcessParametersClear,false)!= OK) diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 9e0a2ac7f..60cd994dd 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -15,6 +15,7 @@ #include "PMR/Hardware/HardwareDancerType.pb-c.h" #include "PMR/Printing/JobSegment.pb-c.h" #include "PMR/Printing/JobTicket.pb-c.h" +#include "PMR/Printing/ThreadParameters.pb-c.h" #include #include @@ -744,7 +745,44 @@ uint32_t ThreadInitialTestStub(HardwareMotor * request) ThreadPreSegmentState(request,0); return OK; } +uint32_t HandleJobThreadControlParameters(ThreadParameters* ThreadParams) +{ + /* + FEEDER_MOTOR, + DRYER_MOTOR, + POOLER_MOTOR, + WINDER_MOTOR, + MotorControlConfig[Motor_i].m_params.Kd = MotorsControl[Pid_Id].derivativetime; + MotorControlConfig[Motor_i].m_params.Kp = MotorsControl[Pid_Id].proportionalgain; + MotorControlConfig[Motor_i].m_params.Ki = MotorsControl[Pid_Id].integraltime; + + */ + if (ThreadParams == NULL) + { + return OK; + } + if(ThreadParams->feederp) + MotorControlConfig[FEEDER_MOTOR].m_params.Kd = ThreadParams->feederp; + if(ThreadParams->feederi) + MotorControlConfig[FEEDER_MOTOR].m_params.Ki = ThreadParams->feederi; + if(ThreadParams->feederd) + MotorControlConfig[FEEDER_MOTOR].m_params.Kd = ThreadParams->feederd; + + if(ThreadParams->pullerp) + MotorControlConfig[POOLER_MOTOR].m_params.Kd = ThreadParams->pullerp; + if(ThreadParams->pulleri) + MotorControlConfig[POOLER_MOTOR].m_params.Ki = ThreadParams->pulleri; + if(ThreadParams->pullerd) + MotorControlConfig[POOLER_MOTOR].m_params.Kd = ThreadParams->pullerd; + + if(ThreadParams->winderp) + MotorControlConfig[WINDER_MOTOR].m_params.Kd = ThreadParams->winderp; + if(ThreadParams->winderi) + MotorControlConfig[WINDER_MOTOR].m_params.Ki = ThreadParams->winderi; + if(ThreadParams->winderd) + MotorControlConfig[WINDER_MOTOR].m_params.Kd = ThreadParams->winderd; +} //******************************************************************************************************************** uint32_t ThreadPrepareState(void *JobDetails) { @@ -905,6 +943,8 @@ uint32_t ThreadInitialTestStub(HardwareMotor * request) if (Motor_i == ThreadMotorIdToMotorId[DRYER_MOTOR]) // dryer motor is speed controlled. later a speed sensor will be utilized, but for now it will not be controlled continue; } + HandleJobThreadControlParameters(JobTicket->threadparameters); //OVERRIDES CONFIGURATION PARAMETERS!!! + #ifdef TEST_PID_THREAD testDancersControl(); #endif -- cgit v1.3.1