aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Thread
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-08-06 12:42:51 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-08-06 12:42:51 +0300
commit1a134b69d53832f80bfeea6d6055fd2b00747026 (patch)
tree73dd34fcb42a95a89b1d5707a89b9fc24149cc12 /Software/Embedded_SW/Embedded/Modules/Thread
parentc51a733edf3be17e796dc376b75948e324507a9d (diff)
downloadTango-1a134b69d53832f80bfeea6d6055fd2b00747026.tar.gz
Tango-1a134b69d53832f80bfeea6d6055fd2b00747026.zip
include blower and break sensor configuration
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Thread')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread.h3
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_ex.h1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c11
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c19
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" );
+ }
}
}
}