aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-11-27 13:26:50 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-11-27 13:26:50 +0200
commit250c81503a8a3eb804fab1a604fdac708b0b2ab8 (patch)
treeca663654c091effee3515662db08211a43467408 /Software/Embedded_SW/Embedded/Modules
parent88aef28cf492710f288c2abe2ddc147a7997ab5f (diff)
downloadTango-250c81503a8a3eb804fab1a604fdac708b0b2ab8.tar.gz
Tango-250c81503a8a3eb804fab1a604fdac708b0b2ab8.zip
bugs and logs
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c4
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Control/control.c1
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c6
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c132
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.h7
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c10
6 files changed, 152 insertions, 8 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
index 0086d6934..059b8fc4c 100644
--- a/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
+++ b/Software/Embedded_SW/Embedded/Modules/AlarmHandling/AlarmHandling.c
@@ -773,10 +773,10 @@ uint32_t AlarmHandlingConsequentActions(uint32_t AlarmId, DebugLogCategory Sever
case DEBUG_LOG_CATEGORY__Error:
if (JobIsActive())
{
+ ReportWithPackageFilter(AlarmFilter,AlarmReasonStr, __FILE__,__LINE__,AlarmId, RpMessage, Severity, 0);
JobEndReason = getEndReason(AlarmId);
AbortJob(AlarmReasonStr);
//Report(AlarmReasonStr, __FILE__,__LINE__,AlarmId, RpMessage, Severity, 0);
- ReportWithPackageFilter(AlarmFilter,AlarmReasonStr, __FILE__,__LINE__,AlarmId, RpMessage, Severity, 0);
}
/*switch (AlarmItem[AlarmId].AlarmSource)
{
@@ -1163,10 +1163,10 @@ void AlarmHandlingInternalSetAlarm(uint32_t AlarmId, bool value)
ReportWithPackageFilter(AlarmFilter,"Alarm ON ", __FILE__,AlarmState[Alarm_i].EventPtr,AlarmItem[Alarm_i].EventType, RpMessage, value, Alarm_i);
if ((AlarmItem[Alarm_i].Severity == DEBUG_LOG_CATEGORY__Critical)&&(JobIsActive()))
{
+ ReportWithPackageFilter(AlarmFilter, AlarmReasonStr,__FILE__,__LINE__,Alarm_i,RpError, 0,0);
JobEndReason = getEndReason(Alarm_i);
SendJobProgress(0.0,0, false, "Critical alarm!!!!");
AbortJob("Critical alarm");
- ReportWithPackageFilter(AlarmFilter, AlarmReasonStr,__FILE__,__LINE__,Alarm_i,RpError, 0,0);
}
}
else
diff --git a/Software/Embedded_SW/Embedded/Modules/Control/control.c b/Software/Embedded_SW/Embedded/Modules/Control/control.c
index 0a092821e..e650a9af7 100644
--- a/Software/Embedded_SW/Embedded/Modules/Control/control.c
+++ b/Software/Embedded_SW/Embedded/Modules/Control/control.c
@@ -189,6 +189,7 @@ uint32_t ControlActivityLed( uint32_t Parameter1)
AlarmHandlingSetAlarm(EVENT_TYPE__FPGA_WATCHDOG_ACTIVATED,true);
if (JobIsActive())
{
+ ReportWithPackageFilter(HeatersFilter, "Hardware Failure Error - abort job!",__FILE__,__LINE__,index,RpError, 0,0);
JobEndReason = JOB_MOTOR_ALARM;
usnprintf(AlarmReasonStr, 100, "Hardware Failure Error");
SendJobProgress(0.0,0,false, "Hardware Failure Error");
diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
index c3d163c24..2ae86fe4d 100644
--- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
+++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c
@@ -398,12 +398,12 @@ uint32_t HeatersTestInternalAlarmsCBFunction(uint32_t IfIndex, uint32_t readValu
AlarmHandlingSetAlarm(InternalTempEventType[index], true);
if (JobIsActive())
{
+ ReportWithPackageFilter(HeatersFilter, "Internal Temperature Error - abort job!",__FILE__,__LINE__,index,RpError, 0,0);
JobEndReason = JOB_TEMPERATURE_ALARM;
usnprintf(AlarmReasonStr, 100, "Internal Temperature %d Error %d",index,readValue);
SendJobProgress(0.0,0,false, "Internal Temperature Error");
AbortJob("Internal Over Temperature Error");
//SegmentReady(Module_Heaters,ModuleFail);
- ReportWithPackageFilter(HeatersFilter, "Internal Temperature Error",__FILE__,__LINE__,index,RpError, 0,0);
HeatersEnd();
return OK;
}
@@ -1228,12 +1228,12 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
//?????HeaterReady[index] = false;
if (JobIsActive()&&(HeaterReady[index]==true))
{
+ ReportWithPackageFilter(HeatersFilter, "Temperature Error - abort job!",__FILE__,__LINE__,index,RpError, 0,0);
JobEndReason = JOB_TEMPERATURE_ALARM;
usnprintf(AlarmReasonStr, 100, "Temperature %d Error %d",index,readValue);
SendJobProgress(0.0,0,false, "Temperature Error");
AbortJob("Over Temperature Error");
//SegmentReady(Module_Heaters,ModuleFail);
- ReportWithPackageFilter(HeatersFilter, "Temperature Error",__FILE__,__LINE__,index,RpError, 0,0);
return OK;
}
//if (getIdleState() == false)
@@ -1280,11 +1280,11 @@ uint32_t DcHeaterMaxTempCBFunction(uint32_t IfIndex, uint32_t readValue)
//???HeaterReady[index] = false;
if (JobIsActive()&&(HeaterReady[index]==true))
{
+ ReportWithPackageFilter(HeatersFilter, "Temperature Error - abort job!",__FILE__,__LINE__,index,RpError, 0,0);
JobEndReason = JOB_TEMPERATURE_ALARM;
usnprintf(AlarmReasonStr, 100, "Temperature %d Error %d",index,readValue);
SendJobProgress(0.0,0,false, "Temperature Error");
AbortJob("Under Temperature Error");
- ReportWithPackageFilter(HeatersFilter, "Temperature Error",__FILE__,__LINE__,index,RpError, 0,0);
return OK;
}
//HeaterMinTempFlag[index] = true;
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c
new file mode 100644
index 000000000..c2871869d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c
@@ -0,0 +1,132 @@
+
+#include <Container.h>
+#include <PMR/Common/MessageContainer.pb-c.h>
+#include <PMR/Stubs/ProcedureRequest.pb-c.h>
+#include <PMR/Stubs/ProcedureResponse.pb-c.h>
+#include "include.h"
+#include "driverlib/gpio.h"
+
+#include "Communication/Connection.h"
+
+#include "Drivers/USB_Communication/USBCDCD.h"
+#include "drivers/Flash_Memory/FATFS/ff.h"
+#include "drivers/Flash_Memory/FATFS/Control_File_System.h"
+#include "drivers/Flash_ram/FlashProgram.h"
+#include "drivers/adc_sampling/adc.h"
+#include "drivers/Heater/TemperatureSensor.h"
+#include "drivers/ADC_Sampling/adc.h"
+#include "drivers/Flash_ram/MCU_E2Prom.h"
+#include "Drivers/SSI_Comm/Dancer/Dancer.h"
+#include "Drivers/I2C_Communication/Head_Card/PT100/Head_PT100_ADC.h"
+#include "Drivers/I2C_Communication/Head_Card/Fan/fan_click.h"
+#include "Drivers/I2C_Communication/Head_Card/Fan/Head_Fan.h"
+#include "drivers/Motors/Motor.h"
+#include "drivers/Valves/Valve.h"
+#include "drivers/FPGA/FPGA_SPI_Comm.h"
+#include <Drivers/I2C_Communication/I2C.h>
+#include <Drivers/I2C_Communication/Head_Card/I2C_Head_Mux.h>
+#include "Drivers/I2C_Communication/Head_Card/IO_Ports/Head_IO.h"
+#include "drivers/adc_sampling/adc.h"
+#include <Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.h>
+#include <Drivers/I2C_Communication/WHS_Card/WHS_data.h>
+#include <Drivers/I2C_Communication/I2C_Task.h>
+#include <Drivers/I2C_Communication/WHS_Card/D_AD5272_Rheostat/WHS_Rheostat.h>
+#include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h>
+#include <Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h>
+#include <Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.h>
+#include "Drivers/I2C_Communication/Dispenser_Card/EEPROM/Dispenser_EEPROM.h"
+#include "drivers/Uart_Comm/WHS_Controller_Comm/WHS_UART/WHS_Uart.h"
+#include <Drivers/I2C_Communication/WHS_Card/IO_Extender_Ports_TCA9555/WHS_IO.h>
+#include "drivers/Heater/TemperatureSensor.h"
+#include "Drivers/I2C_Communication/Head_Card/PT100/ADS122X04.h"
+
+#include "Modules/IFS/ifs.h"
+#include "Modules/IDS/ids_ex.h"
+#include "Modules/IDS/ids.h"
+#include "Modules/Control/MillisecTask.h"
+#include "modules/thread/thread_ex.h"
+#include "modules/heaters/heaters_ex.h"
+#include "modules/waste/waste_ex.h"
+#include "AlarmHandling/AlarmHandling.h"
+
+#include "StateMachines/Initialization/PowerOffSequence.h"
+#include "StateMachines/Initialization/PowerIdle.h"
+
+extern HeadBoardTempSensConfigStruc HeadTempSensConfig[MAX_HEAD_CARD_TEMP_SENS_ID];
+extern float NumberOfRotationPerPassage; // how many rotations per spool passage
+extern void HeaterSafetyTestSetLimits(int limit);
+
+//#include "graphics_adapter.h"
+extern uint8_t Input_Voltage;
+extern uint8_t Test_Read_Buf[4];
+
+extern uint8_t Head_Fan_PWM_Command[2];
+extern uint16_t Head_Fan_Tach[2];
+extern bool doorState;
+
+uint32_t temp1,temp2;
+
+void Stub_ProcedureRequest(MessageContainer* requestContainer)
+{
+ MessageContainer responseContainer;
+ bool ResetNeeded = false;
+
+ ProcedureRequest* request = procedure_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
+ int i,n_param = request->n_param;
+ ProcedureResponse response = PROCEDURE_RESPONSE__INIT;
+/* protobuf_c_boolean has_type;
+ int32_t type;
+ protobuf_c_boolean has_timeout;
+ int32_t timeout;
+ char *testname;
+ size_t n_param;
+ float *param;
+ * */
+ //writeLine("Procedure Request...");
+ Report(request->testname,__FILE__,__LINE__,(int)request->type,RpWarning,(int) request->n_param,0);
+
+ if (request->has_type)
+ {
+ switch (request->type)
+ {
+ default:
+ response.replymessage = request->testname;
+ if (n_param)
+ {
+ response.replyvalue = (float**)my_malloc(sizeof(float *)*(request->n_param));
+ response.n_replyvalue = request->n_param;
+ for(i=0;i<n_param;i++)
+ {
+ Report(request->testname,__FILE__,__LINE__,(int)request->type,RpWarning,(int) request->n_param,0);
+ response.replyvalue[i] = request->param[i];
+
+ }
+ }
+ response.time = msec_millisecondCounter;
+ response.type = request->type;
+ break;
+ }
+ }
+
+ responseContainer = createContainer(MESSAGE_TYPE__ProcedureResponse, requestContainer->token, true, &response, &procedure_response__pack, &procedure_response__get_packed_size);
+ uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer));
+ size_t container_size = message_container__pack(&responseContainer, container_buffer);
+ my_free(responseContainer.data.data);
+ if (response.replyvalue)
+ my_free(response.replyvalue);
+ if (request)
+ procedure_request__free_unpacked(request,NULL);
+ //writeLine("Procedure Completed!");
+ SendChars((char*)container_buffer, container_size);
+ //free(container_buffer);
+ if (ResetNeeded == true)
+ {
+ REPORT_MSG(255,"Update successful, Rebooting in 5 seconds");
+ Task_sleep (eOneSecond*5);
+ Power_Reset();
+ ResetNeeded = false;
+ }
+
+ return;
+
+}
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.h b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.h
new file mode 100644
index 000000000..f3ed1e626
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.h
@@ -0,0 +1,7 @@
+#ifndef PROCEDURE_H
+#define PROCEDURE_H
+
+#include "PMR/Common/MessageContainer.pb-c.h"
+void Stub_ProcedureRequest(MessageContainer* requestContainer);
+
+#endif //PROCEDURE_H
diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
index c3f15aff8..5a764cfc4 100644
--- a/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
+++ b/Software/Embedded_SW/Embedded/Modules/Thread/ThreadLoad.c
@@ -1132,9 +1132,13 @@ uint32_t ThreadLoadButton(THREAD_LOAD_STAGES_ENUM ReadValue)
SecondTry = false;
Report("Calling State machine 2nd try",__FILE__,LoadStages,LoadStatus,RpMessage,SecondTry,0);
load.color = BLINK;
- //if (LoadStages > THREAD_LOAD_INITIAL_TENSION)
- // ThreadLoadingRestartReport();
- ThreadLoadStateMachine(LoadStages+1);
+ if ((LoadStages == THREAD_LOAD_LIFT_DANCERS)
+ {
+ LoadStages++;
+ LoadStatus = OK;
+ }
+ else
+ ThreadLoadStateMachine(LoadStages+1);
}
else //((SecondTry == false)&&(TryAgain == false))???????
{