diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2018-07-26 16:34:16 +0300 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2018-07-26 16:34:16 +0300 |
| commit | 5accee4df85cc47b5700ad32090451ded2a121fa (patch) | |
| tree | 11dc6229de126d5c9fc8135bfeacd88151e6ed77 /Software/Embedded_SW/Embedded/Modules | |
| parent | 4ff8fc0265f11be7b73548e36c7ee3d1debfb8e4 (diff) | |
| download | Tango-5accee4df85cc47b5700ad32090451ded2a121fa.tar.gz Tango-5accee4df85cc47b5700ad32090451ded2a121fa.zip | |
warning removed. diagnostics stops when the commtx mailbox is full.
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
8 files changed, 22 insertions, 12 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c index 53cca5284..9337676e4 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c @@ -29,7 +29,7 @@ #include <PMR/Diagnostics/EventType.pb-c.h> #include "PMR/debugging/DebugLogCategory.pb-c.h" - +#include "StateMachines/Printing/PrintingSTM.h" Task_Handle AlarmHandling_Task_Handle; @@ -126,10 +126,12 @@ uint32_t AlarmHandlingConsequentActions(EventType EventId, DebugLogCategory Seve //raise flag fr next job break; case DEBUG_LOG_CATEGORY__Error: - AbortJob(NULL,event_type__descriptor.name[EventId]); + JobEndReason = JOB_OTHER_ALARM; + EndState(NULL,event_type__descriptor.name[EventId]); //Stop Job break; case DEBUG_LOG_CATEGORY__Critical: + JobEndReason = JOB_OTHER_ALARM; EndState(NULL,event_type__descriptor.name[EventId]); //stop job //turn machine off diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c index e67fe68bb..63624b596 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c @@ -37,6 +37,9 @@ char DiagnosticsToken[36+1] = {0}; bool DiagnosticsActive = false; void SendDiagnostics(void); +uint32_t DiagnosticsStart(void); +uint32_t DiagnosticsStop(void); + uint32_t Diagnostics_ControlTrigger(uint32_t IfIndex, uint32_t ReadValue); @@ -251,9 +254,11 @@ void SendDiagnostics(void) free(responseContainer.data.data); DiagnosticsReset(); - SendChars(container_buffer, container_size); - + if (SendChars(container_buffer, container_size) == false) //comm tx mailbox full + { + DiagnosticsStop(); + } } uint32_t DiagnosticsControlId = 0xff; bool DiagnosticRequestAccepted = false; @@ -261,7 +266,7 @@ uint32_t DiagnosticsEmptyCBFunction(uint32_t IfIndex, uint32_t ReadValue) { return OK; } -uint32_t DiagnosticsStart() +uint32_t DiagnosticsStart(void) { if ( DiagnosticsActive == false) @@ -274,7 +279,7 @@ uint32_t DiagnosticsStart() } return OK; } -uint32_t DiagnosticsStop() +uint32_t DiagnosticsStop(void) { if ( DiagnosticsActive == true) { @@ -293,7 +298,6 @@ uint32_t StartDiagnosticsRequestFunc(MessageContainer* requestContainer) // ReportInitParams InitParams; //ControlStart(); DiagnosticRequestAccepted = true; -#warning test only - shoud be started and stopped with job execution DiagnosticsStart(); StartDiagnosticsRequest* request = start_diagnostics_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.h b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.h index d25b8f7fe..97820f8a8 100644 --- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.h +++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.h @@ -11,8 +11,8 @@ uint32_t StartDiagnosticsRequestFunc(MessageContainer* requestContainer); uint32_t StopDiagnosticsRequestFunc(MessageContainer* requestContainer); -uint32_t DiagnosticsStart(); -uint32_t DiagnosticsStop(); +uint32_t DiagnosticsStart(void); +uint32_t DiagnosticsStop(void); void DiagnosticsReset(void); void DiagnosticCollection(void); diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index cc87f6611..757db6116 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -11,6 +11,8 @@ #include "ids/ids.h" #include "control/control.h" #include "heaters/heaters_ex.h" +#include "StateMachines/Printing/PrintingSTM.h" + #include "PMR/common/MessageContainer.pb-c.h" #include "PMR/Hardware/UploadHardWareConfigurationRequest.pb-c.h" #include "PMR/Hardware/UploadHardWareConfigurationResponse.pb-c.h" @@ -125,8 +127,6 @@ void HWSystemResetRequest(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__SystemResetResponse, requestContainer->token, true, &response, &system_reset_response__pack, &system_reset_response__get_packed_size); - Write_status_response(status); - //free(request); system_reset_request__free_unpacked(request,NULL); //------------------------------------------------------------------------------------------- diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h index 6fd9fd8d8..b19cd61be 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h @@ -12,6 +12,8 @@ void HeatingTestPollRequest(MessageContainer* requestContainer); bool HeaterCheckReady(void); +void HeatingStopReporting(void); + bool HeaterGetOverTemperatureState(uint8_t HeaterId); uint32_t HeatersEnd(void); diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 7cd70067d..a145ac1f9 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -45,7 +45,6 @@ typedef struct HeatersControlMessage{ HeaterCommand HeaterCmd[MAX_HEATERS_NUM]; 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. uint32_t HeaterId2PT100Id[MAX_HEATERS_NUM] = {TEMP_SENSE_ANALOG_DRYER_TEMP1,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_TEMP4,TEMP_SENSE_ANALOG_DYEINGH_TEMP5,TEMP_SENSE_ANALOG_MIXCHIP_TEMP,TEMP_SENSE_ANALOG_MIXCHIP_TEMP}; uint32_t DryerInternalPT100Id = TEMP_SENSE_ANALOG_DRYER_TEMP2; diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index c8d2e6362..0680e97a4 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -10,6 +10,7 @@ #include "drivers/Motors/Motor.h" #include "StateMachines/Printing/PrintingSTM.h" #include "Modules/Control/Control.h" +#include "Modules/Control/MillisecTask.h" #include "modules/General/process.h" diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index d19b447d9..b6c1fea57 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -360,6 +360,7 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) if (ReadBreakSensor()==ERROR) { //LOG_ERROR(index, "ReadBreakSensor Error"); + JobEndReason = JOB_DANCER_FAIL; //SendJobProgress(0.0,0,false, "ReadBreakSensor Error"); EndState(CurrentJob,"ReadBreakSensor Error" ); } @@ -371,6 +372,7 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) { usnprintf(Message, 60, "Dancer %d limit %d value %d Zero %d",DancerId,DancerStopActivityLimit[index],avreageSampleValue,DancersCfg[DancerId].zeropoint); JobAbortedByUser = true; + JobEndReason = JOB_THREAD_BREAK; EndState(CurrentJob,Message ); } NormalizedError = avreageSampleValue*NormalizedErrorCoEfficient[index]; |
