diff options
| author | Mirta <mirta@twine-s.com> | 2018-07-02 14:10:19 +0300 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2018-07-02 14:10:19 +0300 |
| commit | 26e06d33c782ae97a7ed48a964a702ae2bad8a3d (patch) | |
| tree | 15b757d63097c1abf8d784d54844a2e6bcd3a95d /Software/Embedded_SW/Embedded | |
| parent | 494945f8eaede2b776089d727e2b77ff05a3c6d2 (diff) | |
| parent | 2dfca3d422f3537e3685d06906472f704e2eeb10 (diff) | |
| download | Tango-26e06d33c782ae97a7ed48a964a702ae2bad8a3d.tar.gz Tango-26e06d33c782ae97a7ed48a964a702ae2bad8a3d.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded')
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; |
