aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-07-26 16:34:16 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-07-26 16:34:16 +0300
commit5accee4df85cc47b5700ad32090451ded2a121fa (patch)
tree11dc6229de126d5c9fc8135bfeacd88151e6ed77 /Software/Embedded_SW/Embedded/Modules
parent4ff8fc0265f11be7b73548e36c7ee3d1debfb8e4 (diff)
downloadTango-5accee4df85cc47b5700ad32090451ded2a121fa.tar.gz
Tango-5accee4df85cc47b5700ad32090451ded2a121fa.zip
warning removed. diagnostics stops when the commtx mailbox is full.
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.c14
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/Diagnostics.h4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_ex.h2
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c2
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];