diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2018-08-06 12:42:51 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2018-08-06 12:42:51 +0300 |
| commit | 1a134b69d53832f80bfeea6d6055fd2b00747026 (patch) | |
| tree | 73dd34fcb42a95a89b1d5707a89b9fc24149cc12 /Software/Embedded_SW/Embedded/Modules/Thread | |
| parent | c51a733edf3be17e796dc376b75948e324507a9d (diff) | |
| download | Tango-1a134b69d53832f80bfeea6d6055fd2b00747026.tar.gz Tango-1a134b69d53832f80bfeea6d6055fd2b00747026.zip | |
include blower and break sensor configuration
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread')
4 files changed, 27 insertions, 7 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h b/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h index f928b0394..2aa0b220a 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread.h @@ -36,6 +36,9 @@ extern TimerMotors_t ThreadMotorIdToMotorId[MAX_THREAD_MOTORS_NUM]; extern HardwareDancerType ThreadMotorIdToDancerId[MAX_THREAD_MOTORS_NUM]; extern HardwarePidControlType ThreadMotorIdToControlId[MAX_THREAD_MOTORS_NUM]; +extern bool BreakSensorenabled; +extern int32_t BreakSensordebouncetimemilli; + extern HardwareMotor MotorsCfg[NUM_OF_MOTORS]; extern HardwarePidControl MotorsControl[MAX_THREAD_MOTORS_NUM]; //extern InternalWinderConfigStruc InternalWinderCfg; diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h index 79c2bf843..2961bd105 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h @@ -24,6 +24,7 @@ typedef enum threadMotorsEnum extern double TotalProcessedLength; uint32_t InternalWindingConfigMessage(JobSpool* request); +uint32_t ThreadConfigBreakSensor(void *request); uint32_t ThreadGetMotorSpeed(threadMotorsEnum MotorId); uint32_t ThreadPrepareState(void *JobDetails); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c index c5f45da78..1b960dada 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c @@ -7,6 +7,7 @@ #include "PMR/Hardware/HardwareMotor.pb-c.h" #include "PMR/Hardware/HardwareDancer.pb-c.h" #include "PMR/Hardware/HardwareWinder.pb-c.h" +#include "PMR/Hardware/HardwareBreakSensor.pb-c.h" #include "PMR/Printing/JobSpool.pb-c.h" #include "PMR/common/MessageContainer.pb-c.h" @@ -20,6 +21,9 @@ double NormalizedErrorCoEfficient[MAX_THREAD_MOTORS_NUM] = {0}; int DancerStopActivityLimit[MAX_THREAD_MOTORS_NUM] = {0}; HardwareDancer DancersCfg[MAX_SYSTEM_DANCERS] = {0}; +bool BreakSensorenabled; +int32_t BreakSensordebouncetimemilli; + HardwarePidControlType ThreadMotorIdToControlId[MAX_THREAD_MOTORS_NUM] = {HARDWARE_PID_CONTROL_TYPE__MotorFeeder,HARDWARE_PID_CONTROL_TYPE__MotorDryer,HARDWARE_PID_CONTROL_TYPE__MotorPooler,HARDWARE_PID_CONTROL_TYPE__MotorWinder,0}; //******************************************************************************************************************** @@ -96,7 +100,14 @@ uint32_t DancerConfigMessage(HardwareDancer * request) return Dancer_i; } +uint32_t ThreadConfigBreakSensor(void *request) +{ + HardwareBreakSensor *SensorCfg = (HardwareBreakSensor*)request; + BreakSensorenabled = SensorCfg->enabled; + BreakSensordebouncetimemilli = SensorCfg->debouncetimemilli; + return OK; +} uint32_t thread_init(void) { //memset (MotorsCfg,0,sizeof(MotorsCfg)); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index fbf5cb811..c3b58625f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -354,16 +354,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" ); + } } } } |
