diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index bca6f6533..f9eb69de7 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -20,7 +20,7 @@ #include "StateMachines/Printing/PrintingSTM.h" #include "drivers/Motors/Motor.h" -#include "drivers/SSI_Comm/ssi_comm.h" +//#include "drivers/SSI_Comm/ssi_comm.h" #include "drivers/SSI_Comm/Dancer/Dancer.h" #include "drivers/Heater/TemperatureSensor.h" #include "drivers/Heater/Heater.h" @@ -289,6 +289,7 @@ void testDancersControl() ThreadControlCBFunction(IfTypeThread*0x100+FEEDER_MOTOR, DancersCfg[HARDWARE_DANCER_TYPE__RightDancer].zeropoint + mm20); ThreadControlActive = false; }*/ +bool dancerinvalid = false; uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) { //#define MAX_CONTROL_SAMPLES 6 @@ -335,7 +336,11 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) } if (ReadValue == 0x3FFF) { - LOG_ERROR(index, "Dancer value invalid."); + if (dancerinvalid == false) + { + dancerinvalid = true; + LOG_ERROR(index, "Dancer value invalid."); + } return OK; } TranslatedReadValue = ReadValue - DancersCfg[DancerId].zeropoint; @@ -354,16 +359,21 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) avreageSampleValue += MotorSamples[index][i]; avreageSampleValue = avreageSampleValue / MotorsControl[index].pvinputfilterfactormode; - if (index == POOLER_MOTOR) + if (BreakSensorenabled == true) { - if (JobCounter > eOneSecond) + if (index == POOLER_MOTOR) { - if (ReadBreakSensor()==ERROR) + if (JobCounter > eOneSecond) { - //LOG_ERROR(index, "ReadBreakSensor Error"); - JobEndReason = JOB_THREAD_BREAK; - //SendJobProgress(0.0,0,false, "ReadBreakSensor Error"); - EndState(CurrentJob,"ReadBreakSensor Error" ); + if (ReadBreakSensor()==ERROR) + { + //consider applying the debouce parameters later + //BreakSensordebouncetimemilli + //LOG_ERROR(index, "ReadBreakSensor Error"); + JobEndReason = JOB_THREAD_BREAK; + //SendJobProgress(0.0,0,false, "ReadBreakSensor Error"); + EndState(CurrentJob,"ReadBreakSensor Error" ); + } } } } @@ -416,6 +426,10 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) } //******************************************************************************************************************** +uint32_t ThreadGetMotorSpeed(threadMotorsEnum MotorId) +{ + return CurrentControlledSpeed[MotorId]; +} //******************************************************************************************************************** uint32_t ThreadInitialTestStub(HardwareMotor * request) @@ -457,8 +471,7 @@ bool InitialProcess = false; MotorControlConfig[Motor_i].m_preError = 0; MotorControlConfig[Motor_i].m_SetParam = 0;//need to update SetParams on presegment stage - if (MotorsCfg[HW_Motor_Id].has_directionthreadwize) - MotorSetDirection((TimerMotors_t)HW_Motor_Id,MotorsCfg[HW_Motor_Id].directionthreadwize); + MotorSetDirection((TimerMotors_t)HW_Motor_Id,MotorsCfg[HW_Motor_Id].directionthreadwize); if (Motor_i == FEEDER_MOTOR) // dryer motor is speed controlled. later a speed sensor will be utilized, but for now it will not be controlled { @@ -562,17 +575,17 @@ uint32_t ThreadPreSegmentState(void *JobDetails) //MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_RDRIVING, OriginalMotorSpd_2PPS[FEEDER_MOTOR]); //#warning rocker disabled - if (MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].maxfrequency) + if (MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].maxfrequency > 0) { MotorSetDirection((TimerMotors_t)HARDWARE_MOTOR_TYPE__MOTO_RLOADING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RLOADING].directionthreadwize); MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_RLOADING, 2); } - if (MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LLOADING].maxfrequency) + if (MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LLOADING].maxfrequency > 0) { MotorSetDirection((TimerMotors_t)HARDWARE_MOTOR_TYPE__MOTO_LLOADING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_LLOADING].directionthreadwize); MotorSetSpeed(HARDWARE_MOTOR_TYPE__MOTO_LLOADING, 2); } -//#warning rocker disabled + //#warning rocker disabled // MotorMovetoLimitSwitch (HARDWARE_MOTOR_TYPE__MOTO_RDRIVING,MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_RDRIVING].directionthreadwize, 0, GPI_LS_RLOADMOTOR_UP, EndState); //TODO |
