diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-11-27 13:26:50 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-11-27 13:26:50 +0200 |
| commit | 250c81503a8a3eb804fab1a604fdac708b0b2ab8 (patch) | |
| tree | ca663654c091effee3515662db08211a43467408 /Software/Embedded_SW/Embedded/Modules | |
| parent | 88aef28cf492710f288c2abe2ddc147a7997ab5f (diff) | |
| download | Tango-250c81503a8a3eb804fab1a604fdac708b0b2ab8.tar.gz Tango-250c81503a8a3eb804fab1a604fdac708b0b2ab8.zip | |
bugs and logs
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
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))??????? { |
