aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c41
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