aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-07-15 15:17:46 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-07-15 15:17:46 +0300
commit2cee68f95ca7cb2dd1ebad34fd80cc583a08c02e (patch)
tree127b949cc836bd7d70bc1deeb8970383b63ae46d /Software
parent3a674ea0ef5c71843bd876da3bb5e0b0f535110e (diff)
downloadTango-2cee68f95ca7cb2dd1ebad34fd80cc583a08c02e.tar.gz
Tango-2cee68f95ca7cb2dd1ebad34fd80cc583a08c02e.zip
coordinate between heaters process and job progress (semaphors might be needed)
Diffstat (limited to 'Software')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c4
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c9
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.h1
-rw-r--r--Software/PMR/Messages/Diagnostics/DiagnosticsMonitors.proto66
4 files changed, 47 insertions, 33 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 80df0c536..351fc3035 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -320,6 +320,10 @@ bool HeaterCheckReady(void)
void HeaterPrepareReady(void)
{
int i;
+ if (GetHeatersPrepareWaiting == false)
+ {
+ return;
+ }
for (i=0;i<MAX_HEATERS_NUM;i++)
{
if (HeaterReady[i] == false)
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index 429d81f46..f135cec56 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
@@ -131,7 +131,15 @@ static ReturnCode ValidateState(void *JobDetails)
return retcode;
}
+//********************************************************************************************************************
+bool GetHeatersPrepareWaiting(void)
+{
+ if (PrepareWaiting[Module_Heaters] == ModuleWaiting)
+ return true;
+ else
+ return false;
+}
//********************************************************************************************************************
static ReturnCode PrepareState(void *JobDetails)
{
@@ -194,6 +202,7 @@ uint32_t PrepareReady(int ModuleId, ModuleStateEnum result)
if (PrepareWaiting[ModuleId] != ModuleWaiting)
{
LOG_ERROR (ModuleId, "Message from unrelated module!!");
+ return ERROR;
}
PrepareWaiting[ModuleId] = result;
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.h b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.h
index 8bdecbaa1..4d5c9ac6f 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.h
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.h
@@ -144,5 +144,6 @@ uint32_t DistanceToSpoolReady(int ModuleId, ModuleStateEnum result);
uint32_t PrintingHWConfiguration(void *Configuration);
uint32_t EndState(void *JobDetails, char *Message);
+bool GetHeatersPrepareWaiting(void);
#endif /* STATEMACHINES_PRINTSTM_H_ */
diff --git a/Software/PMR/Messages/Diagnostics/DiagnosticsMonitors.proto b/Software/PMR/Messages/Diagnostics/DiagnosticsMonitors.proto
index 893f28a27..f64c16181 100644
--- a/Software/PMR/Messages/Diagnostics/DiagnosticsMonitors.proto
+++ b/Software/PMR/Messages/Diagnostics/DiagnosticsMonitors.proto
@@ -18,70 +18,70 @@ option java_package = "com.twine.tango.pmr.diagnostics";
message DiagnosticsMonitors
{
- //Dancer 1 (Min = 0, Max = 255, PPF = 10)
+ //Dancer 1 (Min = 0, Max = 16384, PPF = 100)
repeated double Dancer1Angle = 1;
- //Dancer 2 (Min = 0, Max = 1200, PPF = 1)
+ //Dancer 2 (Min = 0, Max = 16384, PPF = 100)
repeated double Dancer2Angle = 2;
- //Dancer 3 (Min = 0, Max = 1200, PPF = 1)
+ //Dancer 3 (Min = 0, Max = 16384, PPF = 100)
repeated double Dancer3Angle = 3;
- //Feeder Motor (Min = 0, Max = 100, PPF = 1)
+ //Feeder Motor (Min = 0, Max = 100000, PPF = 100)
repeated double FeederMotorFrequency = 4;
- //Dryer Motor (Min = 0, Max = 100, PPF = 1)
+ //Dryer Motor (Min = 0, Max = 100000, PPF = 100)
repeated double DryerMotor = 5;
- //Poller Motor (Min = 0, Max = 100, PPF = 1)
+ //Poller Motor (Min = 0, Max = 100000, PPF = 100)
repeated double PollerMotor = 6;
- //Winder Motor (Min = 0, Max = 100, PPF = 1)
+ //Winder Motor (Min = 0, Max = 100000, PPF = 100)
repeated double WinderMotor = 7;
- //Screw Motor (Min = 0, Max = 100, PPF = 1)
+ //Screw Motor (Min = 0, Max = 100000, PPF = 100)
repeated double ScrewMotor = 8;
- //Thread Speed (Min = 0, Max = 100, PPF = 1)
+ //Thread Speed (Min = 0, Max = 100, PPF = 100)
repeated double ThreadSpeed = 9;
- //Mixer (Min = 0, Max = 100, PPF = 1)
+ //Mixer (Min = 0, Max = 300, PPF = 10)
repeated double MixerTemperature = 10;
- //Head Zone 1 (Min = 0, Max = 100, PPF = 1)
+ //Head Zone 1 (Min = 0, Max = 300, PPF = 10)
repeated double HeadZone1Temperature = 11;
- //Head Zone 2 (Min = 0, Max = 100, PPF = 1)
+ //Head Zone 2 (Min = 0, Max = 300, PPF = 10)
repeated double HeadZone2Temperature = 12;
- //Head Zone 3 (Min = 0, Max = 100, PPF = 1)
+ //Head Zone 3 (Min = 0, Max = 100, PPF = 10)
repeated double HeadZone3Temperature = 13;
//Head Air Flow (Min = 0, Max = 100, PPF = 1)
repeated double HeadAirFlow = 14;
- //Feeder Tension (Min = 0, Max = 100, PPF = 1)
+ //Feeder Tension (Min = 0, Max = 100, PPF = 10)
repeated double FeederTension = 15;
- //Puller Tension (Min = 0, Max = 100, PPF = 1)
+ //Puller Tension (Min = 0, Max = 100, PPF = 10)
repeated double PullerTension = 16;
- //Dryer Zone 1 (Min = 0, Max = 100, PPF = 1)
+ //Dryer Zone 1 (Min = 0, Max = 300, PPF = 10)
repeated double DryerZone1Temperature = 17;
- //Dryer Zone 2 (Min = 0, Max = 100, PPF = 1)
+ //Dryer Zone 2 (Min = 0, Max = 300, PPF = 10)
repeated double DryerZone2Temperature = 18;
- //Dryer Zone 3 (Min = 0, Max = 100, PPF = 1)
+ //Dryer Zone 3 (Min = 0, Max = 300, PPF = 10)
repeated double DryerZone3Temperature = 19;
- //Dryer Air Flow (Min = 0, Max = 100, PPF = 1)
+ //Dryer Air Flow (Min = 0, Max = 100, PPF = 10)
repeated double DryerAirFlow = 20;
- //Winder Tension (Min = 0, Max = 100, PPF = 1)
+ //Winder Tension (Min = 0, Max = 100, PPF = 10)
repeated double WinderTension = 21;
- //Dispensers Motors (Min = 0, Max = 1080, PPF = 10) Channel Count = 8
+ //Dispensers Motors (Min = 0, Max = 100000, PPF = 10) Channel Count = 8
repeated DoubleArray DispensersMotorsFrequency = 22;
//Dispensers Angular Encoders (Min = 0, Max = 100, PPF = 1) Channel Count = 8
@@ -99,40 +99,40 @@ message DiagnosticsMonitors
//Filter Delta Pressure (Min = 0, Max = 100, PPF = 1)
repeated double FilterDeltaPressure = 27;
- //Chiller Temperature (Min = 0, Max = 100, PPF = 1)
+ //Chiller Temperature (Min = 0, Max = 300, PPF = 10)
repeated double ChillerTemperature = 28;
- //Dispenser 1 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
+ //Dispenser 1 Motor Frequency (Min = 0, Max = 100000, PPF = 100)
repeated double Dispenser1MotorFrequency = 29;
- //Dispenser 2 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
+ //Dispenser 2 Motor Frequency (Min = 0, Max = 100000, PPF = 100)
repeated double Dispenser2MotorFrequency = 30;
- //Dispenser 3 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
+ //Dispenser 3 Motor Frequency (Min = 0, Max = 100000, PPF = 100)
repeated double Dispenser3MotorFrequency = 31;
- //Dispenser 4 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
+ //Dispenser 4 Motor Frequency (Min = 0, Max = 100000, PPF = 100)
repeated double Dispenser4MotorFrequency = 32;
- //Dispenser 5 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
+ //Dispenser 5 Motor Frequency (Min = 0, Max = 100000, PPF = 100)
repeated double Dispenser5MotorFrequency = 33;
- //Dispenser 6 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
+ //Dispenser 6 Motor Frequency (Min = 0, Max = 100000, PPF = 100)
repeated double Dispenser6MotorFrequency = 34;
- //Dispenser 7 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
+ //Dispenser 7 Motor Frequency (Min = 0, Max = 100000, PPF = 100)
repeated double Dispenser7MotorFrequency = 35;
- //Dispenser 8 Motor Frequency (Min = 0, Max = 1080, PPF = 10)
+ //Dispenser 8 Motor Frequency (Min = 0, Max = 100000, PPF = 100)
repeated double Dispenser8MotorFrequency = 36;
- //Head Zone 4 (Min = 0, Max = 100, PPF = 1)
+ //Head Zone 4 (Min = 0, Max = 300, PPF = 10)
repeated double HeadZone4Temperature = 37;
- //Head Zone 5 (Min = 0, Max = 100, PPF = 1)
+ //Head Zone 5 (Min = 0, Max = 300, PPF = 10)
repeated double HeadZone5Temperature = 38;
- //Head Zone 6 (Min = 0, Max = 100, PPF = 1)
+ //Head Zone 6 (Min = 0, Max = 300, PPF = 10)
repeated double HeadZone6Temperature = 39;
}