aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded
diff options
context:
space:
mode:
authorMirta <mirta@twine-s.com>2018-07-02 14:10:19 +0300
committerMirta <mirta@twine-s.com>2018-07-02 14:10:19 +0300
commit26e06d33c782ae97a7ed48a964a702ae2bad8a3d (patch)
tree15b757d63097c1abf8d784d54844a2e6bcd3a95d /Software/Embedded_SW/Embedded
parent494945f8eaede2b776089d727e2b77ff05a3c6d2 (diff)
parent2dfca3d422f3537e3685d06906472f704e2eeb10 (diff)
downloadTango-26e06d33c782ae97a7ed48a964a702ae2bad8a3d.tar.gz
Tango-26e06d33c782ae97a7ed48a964a702ae2bad8a3d.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c12
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c14
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c1
-rw-r--r--Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c29
5 files changed, 45 insertions, 12 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index f9e9c391d..53cca5284 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -141,6 +141,7 @@ uint32_t AlarmHandlingConsequentActions(EventType EventId, DebugLogCategory Seve
break;
}
+ return OK;
}
uint32_t AlarmHandlingLoop(uint32_t tick)
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c
index 2349574c7..2e989bbf5 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c
@@ -58,6 +58,9 @@ double mixertemperature[DIAGNOSTICS_LIMIT];
double headzone1temperature[DIAGNOSTICS_LIMIT];
double headzone2temperature[DIAGNOSTICS_LIMIT];
double headzone3temperature[DIAGNOSTICS_LIMIT];
+double headzone4temperature[DIAGNOSTICS_LIMIT];
+double headzone5temperature[DIAGNOSTICS_LIMIT];
+double headzone6temperature[DIAGNOSTICS_LIMIT];
double dryerzone1temperature[DIAGNOSTICS_LIMIT];
double dryerzone2temperature[DIAGNOSTICS_LIMIT];
double dryerzone3temperature[DIAGNOSTICS_LIMIT];
@@ -124,6 +127,9 @@ void DiagnosticCollection(void)
headzone1temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP1);
headzone2temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP2);
headzone3temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP3);
+ //headzone4temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP4);
+ //headzone5temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DYEINGH_TEMP5);
+ //headzone6temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_AN_ENCLOSURETEMP3);
dryerzone1temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DRYER_TEMP1);
dryerzone2temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DRYER_TEMP2);
dryerzone3temperature[DiagnosticsIndex] = TemperatureSensorRead(TEMP_SENSE_ANALOG_DRYER_TEMP3);
@@ -183,6 +189,9 @@ void SendDiagnostics(void)
DiagnosticsMonitor.n_headzone1temperature = DiagnosticsIndex;
DiagnosticsMonitor.n_headzone2temperature = DiagnosticsIndex;
DiagnosticsMonitor.n_headzone3temperature = DiagnosticsIndex;
+ //DiagnosticsMonitor.n_headzone4temperature = DiagnosticsIndex;
+ //DiagnosticsMonitor.n_headzone5temperature = DiagnosticsIndex;
+ //DiagnosticsMonitor.n_headzone6temperature = DiagnosticsIndex;
DiagnosticsMonitor.n_dryerzone1temperature = DiagnosticsIndex;
DiagnosticsMonitor.n_dryerzone2temperature = DiagnosticsIndex;
DiagnosticsMonitor.n_dryerzone3temperature = DiagnosticsIndex;
@@ -208,6 +217,9 @@ void SendDiagnostics(void)
DiagnosticsMonitor.headzone1temperature = headzone1temperature;
DiagnosticsMonitor.headzone2temperature = headzone2temperature;
DiagnosticsMonitor.headzone3temperature = headzone3temperature;
+ //DiagnosticsMonitor.headzone4temperature = headzone4temperature;
+ //DiagnosticsMonitor.headzone5temperature = headzone5temperature;
+ //DiagnosticsMonitor.headzone6temperature = headzone6temperature;
DiagnosticsMonitor.dryerzone1temperature = dryerzone1temperature;
DiagnosticsMonitor.dryerzone2temperature = dryerzone2temperature;
DiagnosticsMonitor.dryerzone3temperature = dryerzone3temperature;
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index 32509dfea..b893be716 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -43,16 +43,16 @@ typedef struct HeatersControlMessage{
/******************** GLOBAL PARAMETERS ********************************************/
HeaterCommand HeaterCmd[MAX_HEATERS_NUM];
-uint32_t ControlIdtoHeaterId [MAX_HEATERS_NUM] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
+uint32_t ControlIdtoHeaterId [MAX_HEATERS_NUM] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
uint32_t DryerHeaterMaxTempControl = 0xFF;
#warning the PT100 id for the dryer control is number2 - dryer internal ambient sensor.
#warning the PT100 for head 4 is number 5
-uint32_t HeaterId2PT100Id[MAX_HEATERS_NUM] = {TEMP_SENSE_ANALOG_DRYER_TEMP2,TEMP_SENSE_ANALOG_DRYER_TEMP1,TEMP_SENSE_ANALOG_DRYER_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP1,TEMP_SENSE_ANALOG_DYEINGH_TEMP2,TEMP_SENSE_ANALOG_DYEINGH_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP5,TEMP_SENSE_ANALOG_MIXCHIP_TEMP};
+uint32_t HeaterId2PT100Id[MAX_HEATERS_NUM] = {TEMP_SENSE_ANALOG_DRYER_TEMP2,TEMP_SENSE_ANALOG_DRYER_TEMP1,TEMP_SENSE_ANALOG_DRYER_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP1,TEMP_SENSE_ANALOG_DYEINGH_TEMP2,TEMP_SENSE_ANALOG_DYEINGH_TEMP3,TEMP_SENSE_ANALOG_DYEINGH_TEMP5,TEMP_SENSE_AN_ENCLOSURETEMP3,TEMP_SENSE_ANALOG_MIXCHIP_TEMP};
uint32_t DryerInternalPT100Id = TEMP_SENSE_ANALOG_DRYER_TEMP1;
bool HeatersRestart = false;
-bool HeaterMaxTempFlag[MAX_HEATERS_NUM] = {false,false,false,false,false,false,false,false};
-bool HeaterControlFlag[MAX_HEATERS_NUM] = {true,true,true,true,true,true,true,true};
+bool HeaterMaxTempFlag[MAX_HEATERS_NUM] = {false,false,false,false,false,false,false,false,false,false};
+bool HeaterControlFlag[MAX_HEATERS_NUM] = {true,true,true,true,true,true,true,true,false,false};
uint32_t OutputProportionalSingleStep = 0; //A/C Heaters step size from one decision point to another - in cpu clocks. 120000 = 1 millisecod
uint32_t Heater_timerBase = TIMER2_BASE; //Timer handle
@@ -441,7 +441,7 @@ uint32_t HeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
{
int index=MAX_HEATERS_NUM;
- double temperror = 0.0, correction = 0.0;
+ double temperror = 0.0;
/*char str[100];
uint8_t len = 0;*/
if (IfIndex>>8 != IfTypeHeaters)
@@ -515,8 +515,8 @@ uint32_t DCHeaterControlCBFunction(uint32_t IfIndex, uint32_t readValue)
HeaterPIDConfig[index].m_mesuredParam = temperror;
HeaterPIDConfig[index].m_calculatedError = PIDAlgorithmCalculation(HeaterPIDConfig[index].m_SetParam , HeaterPIDConfig[index].m_mesuredParam,
&HeaterPIDConfig[index].m_params, &HeaterPIDConfig[index].m_preError, &HeaterPIDConfig[index].m_integral);
- correction = HeaterPIDConfig[index].m_calculatedError;
-// HeaterRecalculateHeaterParams(index, (int)(HeaterPIDConfig[index].m_calculatedError*100));
+#warning PID is now only proportional (above)
+ // HeaterRecalculateHeaterParams(index, (int)(HeaterPIDConfig[index].m_calculatedError*100));
}
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
index af6da0761..a2f2d0d91 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/JobSTM.c
@@ -202,6 +202,7 @@ uint32_t PrepareReady(int ModuleId, ModuleStateEnum result)
if (ready == false) return OK;
else
{
+ SendJobProgress(0.0, 0, false, "Prepare Ready");
if (status == OK) Message.messageId = PreparationResultsOk;
else Message.messageId = PreparationResultsFail;
//memcpy(Message.messageData,JobDetails,MAX_MSG_LEN);
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
index 9e265e55d..9558dc814 100644
--- a/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
+++ b/Software/Embedded_SW/Embedded/StateMachines/Printing/PrintingSTM.c
@@ -161,8 +161,16 @@ uint32_t PreSegmentReady(int ModuleId, ModuleStateEnum result)
else
{
Message.messageId = PrintMessage;
- if (status == OK) PrtMessage->messageId = PreSegmentResultsOk;
- else PrtMessage->messageId = PreSegmentResultsFail;
+ if (status == OK)
+ {
+ SendJobProgress(0.0, 0, false, "PreSegment Ready");
+ PrtMessage->messageId = PreSegmentResultsOk;
+ }
+ else
+ {
+ PrtMessage->messageId = PreSegmentResultsFail;
+ SendJobProgress(0.0, 0, false, "PreSegment Failed");
+ }
//memcpy(Message.messageData,JobDetails,MAX_MSG_LEN);
Message.msglen = 10;
if (JobmsgQ != NULL)
@@ -175,6 +183,7 @@ uint32_t PreSegmentReady(int ModuleId, ModuleStateEnum result)
//********************************************************************************************************************
static uint32_t PreSegmentState(void *JobDetails, int SegmentId)
{
+ SendJobProgress(0.0, SegmentId, false, "PreSegment Start");
if (Configured[Module_Thread])
{
PreSegmentWaiting[Module_Thread] = ModuleWaiting;
@@ -230,8 +239,16 @@ uint32_t SegmentReady(int ModuleId, ModuleStateEnum result)
else
{
Message.messageId = PrintMessage;
- if (status == OK) PrtMessage->messageId = SegmentResultsOk;
- else PrtMessage->messageId = SegmentResultsFail;
+ if (status == OK)
+ {
+ PrtMessage->messageId = SegmentResultsOk;
+ SendJobProgress(0.0, 0, false, "Segment Done");
+ }
+ else
+ {
+ PrtMessage->messageId = SegmentResultsFail;
+ SendJobProgress(0.0, 0, false, "Segment Fail");
+ }
//memcpy(Message.messageData,JobDetails,MAX_MSG_LEN);
Message.msglen = 10;
if (JobmsgQ != NULL)
@@ -244,6 +261,7 @@ uint32_t SegmentReady(int ModuleId, ModuleStateEnum result)
//********************************************************************************************************************
static uint32_t SegmentState(void *JobDetails, int SegmentId)
{
+ SendJobProgress(0.0, SegmentId, false, "Segment Start");
if (Configured[Module_IDS])
{
SegmentWaiting[Module_IDS] = ModuleWaiting;
@@ -266,6 +284,7 @@ static uint32_t SegmentState(void *JobDetails, int SegmentId)
uint32_t EndState(void *JobDetails, char *Message)
{
SendJobProgress(1.00,0,true,Message);
+ ROM_IntMasterDisable();
DiagnosticsStop();
if (Configured[Module_Winder])
{
@@ -288,7 +307,7 @@ uint32_t EndState(void *JobDetails, char *Message)
//EndWaiting[Module_Thread] = ModuleWaiting;
ThreadEndState(CurrentJob);
}
-
+ ROM_IntMasterEnable();
JobMessageStruc JobMessage;
bool retcode = false;