diff options
| author | Shlomo Hecht <shlomo@twine-s.com> | 2020-02-25 11:35:18 +0200 |
|---|---|---|
| committer | Shlomo Hecht <shlomo@twine-s.com> | 2020-02-25 11:35:18 +0200 |
| commit | 5c8596be64deacfbe282c03ba21cec66ed4e2494 (patch) | |
| tree | a8d3632748b8a56859936810e170883f92e4fbc0 /Software/Embedded_SW/Embedded | |
| parent | c3b9b401883c2ef45accfa2d26c7ff6276691c34 (diff) | |
| parent | fdb539e472eaaaff74a05aa661e471543ae07313 (diff) | |
| download | Tango-5c8596be64deacfbe282c03ba21cec66ed4e2494.tar.gz Tango-5c8596be64deacfbe282c03ba21cec66ed4e2494.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded')
16 files changed, 103 insertions, 55 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c index 201b896ff..3cf96dd03 100644 --- a/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c +++ b/Software/Embedded_SW/Embedded/Common/SW_Info/SW_Info.c @@ -20,7 +20,7 @@ typedef struct } TangoVersion_t; -TangoVersion_t _gTangoVersion = {1,4,6,12}; +TangoVersion_t _gTangoVersion = {1,4,6,13}; #define BUILD_DATE __DATE__ char Dat[50] = BUILD_DATE; char _gTangoName [MAX_STRING_LEN] = "Tango01 ";//d diff --git a/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.h b/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.h index 65064c837..2d5a95c2a 100644 --- a/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.h +++ b/Software/Embedded_SW/Embedded/Drivers/ADC_Sampling/ADC.h @@ -30,8 +30,8 @@ typedef enum ADC_LEFT_DANCER_1 ,//13 ADC_LEFT_DANCER_2 ,//14 ADC_RIGHT_DANCER ,//15 - ADC_DRYER_CURRENT_2 ,//16 - ADC_DRYER_CURRENT_1 ,//17 + ADC_DRYER_CURRENT_1 ,//16 + ADC_DRYER_CURRENT_2 ,//17 ADC_DRYER_CURRENT_3 ,//18 ADC_FPGA_3V3 ,//19 ADC_MAX_ADC_DEVICES ,//20 diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c index 2debef0d6..a2fffd7f8 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_EMC2302_Fan/WHS_Fan.c @@ -16,7 +16,7 @@ FAN_DRIVER_INFO Fan_Driver_Info[maxFAN-1]; #define NUM_OF_FAN_DRIVER 3 - +#define DEFAULT_FAN_SPEED 0xFF #define FAN_SPEED_OFF 0x00 #define PUSH_PULL 1 uint8_t Fan_Mux_Channel = UNKNOWN; @@ -147,9 +147,9 @@ uint16_t WHS_Get_fan_tach(WHS_fan_num fan_number) void Read_All_WHS_Fans_Tach() { - WHS_fan_num fan_number=0; + WHS_fan_num fan_number = FAN1; - for (fan_number = FAN1 ; fan_number < FAN5/*maxFAN*/; fan_number++) + for (fan_number = FAN1 ; fan_number < maxFAN; fan_number++) { WHS_Read_fan_tach(fan_number); } @@ -248,7 +248,7 @@ bool init_WHS_fan() { Select_WHS_Fan_Mux_Channel(fan_number); status |= D_Fan_PWM_Output_Config(I2C_ID_WHS_CARD ,I2CFanViaSwitch_ADDRESS, !(fan_number & 0x01), PUSH_PULL ); - status |= D_Fan_Setting(I2C_ID_WHS_CARD ,I2CFanViaSwitch_ADDRESS, !(fan_number & 0x01), FAN_SPEED_OFF); + status |= D_Fan_Setting(I2C_ID_WHS_CARD ,I2CFanViaSwitch_ADDRESS, !(fan_number & 0x01), DEFAULT_FAN_SPEED);//FAN_SPEED_OFF } diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c index aa2be496e..20b2cc25e 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.c @@ -20,10 +20,11 @@ #include <Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.h> -MAX11614 U20_MAX11614 ; - - +MAX11614 U20_MAX11614 ; +static WHS_Display_View display_view = AVARAGE; +//static uint16_t orf1V0Value = 0; +//static uint16_t orf3V0Value = 0; uint32_t WHS_MAX11614_Init () { @@ -267,6 +268,12 @@ bool get_orf_1(uint16_t *value) // U34 connected to AIN2 return status; } +bool SetDisplayView(WHS_Display_View view ) +{ + display_view = view; + return display_view; +} + uint16_t Orf_zero_value[HEAD_FLOW_METER+1] = {1112,0,1040}; @@ -279,15 +286,29 @@ double GetWHSAirFlow(uint8_t OR_Id) switch (OR_Id) { case DRIER_FLOW_METER: - //get_orf_1(&value); - Q_value = get_average_ORF1_Q(); + if (display_view == AVARAGE) + { + Q_value = get_average_ORF3_Q(); + } + else // CURRENT + { + get_orf_3(&value); + Q_value = get_Q(value-orf3V0Value); + } break; case NU_FLOW_METER: get_orf_2(&value); break; case HEAD_FLOW_METER: - //get_orf_3(&value); - Q_value = get_average_ORF3_Q(); + if (display_view == AVARAGE) + { + Q_value = get_average_ORF1_Q(); + } + else //CURRENT + { + get_orf_1(&value); + Q_value = get_Q(value-orf1V0Value); + } break; default: break; diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h index 8e3502f0a..ba12b0e6f 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_MAX11614_ADC/WHS_MAX11614_A2D.h @@ -31,8 +31,17 @@ typedef enum }WHS_Flow_Meter; +typedef enum +{ + CURRENT = 0, + AVARAGE +}WHS_Display_View; + double GetWHSAirFlow(uint8_t OR_Id); -uint16_t GetWHSGasSensor(); -uint16_t GetWHSWasteTankLevel(); +uint16_t GetWHSGasSensor(void); +uint16_t GetWHSWasteTankLevel(void); +bool SetDisplayView(WHS_Display_View view ); +//uint16_t Get_orf1_V0(void); +//uint16_t Get_orf3_V0(void); #endif /* WHS_MAX11614_H_ */ diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c index 22c409a05..ddf2ca9ea 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/WHS_Card/D_Max5805_ADC_Blower/WHS_Blower.c @@ -224,11 +224,10 @@ double WHS_Blower_Avarege_ORF1() i += 1; } sum_orifice_Q -= average_orf1_Q_buff[i]; - //get_orf_1(&orifice_hex_value ); average_orf1_Q_buff[i] = get_Q(orifice_hex_value); sum_orifice_Q += average_orf1_Q_buff[i]; average_Q_orifice1 = sum_orifice_Q / ORF_BUFF_SIZE; - ReportWithPackageFilter(WasteFilter,"------------ average_Q_orifice3 hex head -----------------", __FILE__,__LINE__,(int)orifice_hex_value, RpMessage, (average_Q_orifice3*1000), 0); + ReportWithPackageFilter(WasteFilter,"------------ average_Q_orifice1 hex head -----------------", __FILE__,__LINE__,(int)orifice_hex_value, RpMessage, (average_Q_orifice1*1000), 0); } return average_Q_orifice1; } @@ -251,8 +250,7 @@ double WHS_Blower_Avarege_ORF3() { average_orf3_Q_buff[i] = Q_temp; } - ReportWithPackageFilter(WasteFilter,"------------ average_Q_orifice3 hex head new value-----------------", __FILE__,__LINE__,(int)orifice_hex_value, RpMessage, (average_Q_orifice3*1000), 0); - + ReportWithPackageFilter(WasteFilter,"------------ average_Q_orifice3 hex head new value-----------------", __FILE__,__LINE__,(int)orifice_hex_value, RpMessage, (average_Q_orifice3 * 1000), 0); } else { @@ -269,7 +267,7 @@ double WHS_Blower_Avarege_ORF3() sum_orifice_Q += average_orf3_Q_buff[i]; average_Q_orifice3 = sum_orifice_Q /ORF_BUFF_SIZE; } - ReportWithPackageFilter(WasteFilter,"------------ average_Q_orifice3 hex head -----------------", __FILE__,__LINE__,(int)orifice_hex_value, RpMessage, (average_Q_orifice3*1000), 0); + ReportWithPackageFilter(WasteFilter,"------------ average_Q_orifice3 hex head -----------------", __FILE__,__LINE__,(int)orifice_hex_value, RpMessage, (average_Q_orifice3 * 1000), 0); return average_Q_orifice3; } @@ -322,7 +320,7 @@ bool Test_WHS_blower() bool WHS_Set_Blower_Control_Closed_Loop(double SetPoint_Q) { //double average_ORF1_Q = 0; - double current_dying_head_flow_Q = 0; + double current_dying_head_flow_Q = 0.0; uint16_t volt; double tmp = 0.0; @@ -395,7 +393,7 @@ void WHS_Start_Blower_Control_Closed_Loop () } double WHS_Get_Blower_Control_Closed_Loop_SetPoint(void) { - double SetPoint = 0; + double SetPoint = 0.0; // to do return the setpoint return SetPoint; } diff --git a/Software/Embedded_SW/Embedded/Drivers/SSI_Comm/Dancer/Dancer.c b/Software/Embedded_SW/Embedded/Drivers/SSI_Comm/Dancer/Dancer.c index b2be0d407..749fad6b0 100644 --- a/Software/Embedded_SW/Embedded/Drivers/SSI_Comm/Dancer/Dancer.c +++ b/Software/Embedded_SW/Embedded/Drivers/SSI_Comm/Dancer/Dancer.c @@ -85,6 +85,10 @@ uint32_t Read_Dryer_ENC_Position () //REPORT_MSG(Dryer_ENC.Position,"Read_Dryer_ENC_Position"); return Dryer_ENC.Position; } +uint32_t Read_Dryer_Status(HardwareDancerType DancerId) +{ + return Dryer_ENC.Gen_status; +} uint32_t Control_Read_Dryer_Position(HardwareDancerType DancerId, uint32_t Parameter1) { return Dryer_ENC.Position; diff --git a/Software/Embedded_SW/Embedded/Drivers/SSI_Comm/Dancer/Dancer.h b/Software/Embedded_SW/Embedded/Drivers/SSI_Comm/Dancer/Dancer.h index 33a961c58..8c9d8cfd7 100644 --- a/Software/Embedded_SW/Embedded/Drivers/SSI_Comm/Dancer/Dancer.h +++ b/Software/Embedded_SW/Embedded/Drivers/SSI_Comm/Dancer/Dancer.h @@ -13,6 +13,7 @@ uint32_t Read_Dancer_Position (HardwareDancerType DancerId); uint32_t Control_Read_Dancer_Position(HardwareDancerType DancerId, uint32_t Parameter1); uint32_t Read_Dryer_ENC_Position (); uint32_t Control_Read_Dryer_Position(uint32_t DryerID, uint32_t Parameter1); +uint32_t Read_Dryer_Status(HardwareDancerType DancerId); void Loop_SSI(); diff --git a/Software/Embedded_SW/Embedded/Main.c b/Software/Embedded_SW/Embedded/Main.c index 604fc73fb..845cd2ba8 100644 --- a/Software/Embedded_SW/Embedded/Main.c +++ b/Software/Embedded_SW/Embedded/Main.c @@ -122,12 +122,12 @@ bool UpdateFlag = false; /* ======== errHook ======== */ Void errHook(Error_Block *eb) { - FRESULT Fresult = FR_OK; + /*FRESULT Fresult = FR_OK; FIL *FileHandle = 0; //the system supports a single active file uint32_t Bytes = 0; char File[50] = ""; char message[300]; - int len; + int len;*/ STATUS_GREEN_LED_OFF; ACTIVITY_GREEN_LED_OFF; diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index ec59385ab..8e360cf6e 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -367,7 +367,7 @@ uint32_t EmbeddedParametersInit(void) return Fresult; } -uint32_t GenHWControlId; +/*uint32_t GenHWControlId; uint32_t GenHWInitCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag) { @@ -380,7 +380,7 @@ uint32_t GenHWInitCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag) Disable_MidTank_Pressure_Reading(Dispenser_i); } return OK; -} +}*/ uint32_t HWConfiguration(UploadHardwareConfigurationRequest* UploadRequest) { diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c index 06da53823..bc0d1002b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_print.c @@ -320,7 +320,7 @@ uint32_t HeatersTestInternalAlarmsCBFunction(uint32_t IfIndex, uint32_t readValu } readValue = MillisecGetTemperatures(InternalId2PT100Id[index]); - if((MINIMUM_HEATER_READ*100>=readValue)||(270.00*100 < readValue)) + if((MINIMUM_HEATER_READ*100>=readValue)||(200.00*100 < readValue)) { //ReportWithPackageFilter(HeatersFilter,"PT100 not working properly",__FILE__,__LINE__,HeaterId,RpError, 0,0); return ERROR; @@ -662,7 +662,7 @@ void PrepareACHeater(int HeaterId,uint32_t Frequency, uint32_t SetTemperatue) DeActivateHeater(HeaterId); HeaterCmd[HeaterId].targettemperatue = 0; #warning PT100 error is misidentified as overheat in alarms - AlarmHandlingSetAlarm(HeaterEventType[HeaterId], true); + AlarmHandlingSetAlarm(EVENT_TYPE__POWER_UP_BIT_FAILURE, true); return; } @@ -738,7 +738,7 @@ int PrepareDCHeater(int HeaterId, uint32_t Frequency, uint32_t SetTemperatue) ControlIdtoHeaterId [HeaterId] = 0xFF; } DeActivateHeater(HeaterId); - AlarmHandlingSetAlarm(HeaterEventType[HeaterId], true); + AlarmHandlingSetAlarm(EVENT_TYPE__POWER_UP_BIT_FAILURE, true); HeaterCmd[HeaterId].targettemperatue = 0; return ERROR; diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c index ccd051c71..c907f7cb8 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Progress.c @@ -146,6 +146,16 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) double temp_double = 0.0; if (WHS_Type == WHS_TYPE_NEW) { + + if (request->delay & 0x8000) // bit15 select the chip address + { + SetDisplayView( CURRENT ); + } + else + { + SetDisplayView( AVARAGE ); + } + switch(request->delay )// get A2D { case 0: @@ -182,10 +192,10 @@ void Stub_ProgressRequest(MessageContainer* requestContainer) temp_double = get_ORF3_Q(); break; case 20: - temp_double = get_average_ORF1_Q(); + temp_double = get_average_ORF1_Q(); //HEAD break; case 22: - temp_double = get_average_ORF3_Q(); + temp_double = get_average_ORF3_Q(); //Drier break; case 11: diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c index 78092ae2b..78150e9f9 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_Winder.c @@ -213,9 +213,16 @@ uint32_t Winder_PrepareStage2(uint32_t deviceID, uint32_t ReadValue) REPORT_MSG(millisecondCounter/*MotorsCfg[HARDWARE_MOTOR_TYPE__MOTO_SCREW].maxfrequency*/, "Winder_PrepareStage2"); if (ReadValue != LIMIT) { - LOG_ERROR(ReadValue,"Screw failed to reach the limit switch!!"); - //returned with a timeout - Winder_ScrewAtOffsetCallback(0,0); + if (JobIsActive()==true) + { + LOG_ERROR(ReadValue,"Screw failed to reach the limit switch!!"); + //returned with a timeout + Winder_ScrewAtOffsetCallback(0,0); + } + else //short jog, etc + { + AlarmHandlingSetAlarm (EVENT_TYPE__SCREW_MOTOR_LIMIT_TIMEOUT,OFF); //on a short jog, this callback will be called without need + } } else { diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c index 1dd101f82..9e0a2ac7f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_print.c @@ -442,7 +442,6 @@ void testDancersControl() ThreadControlActive = false; } #endif -bool dancerinvalid = false; int MotorFailedSample[MAX_THREAD_MOTORS_NUM] = {0,0,0,0,0}; char TMessage[150]; //char time[150]; @@ -481,21 +480,20 @@ uint32_t ThreadControlCBFunction(uint32_t IfIndex, uint32_t ReadValue) //if (MotorDriverResponse[ThreadMotorIdToMotorId[index]].Busy == true) // return OK; DancerId = ThreadMotorIdToDancerId[index]; - if (ReadValue < 10) +/* if (ReadValue < 10) { MotorFailedSample[index]++; ReportWithPackageFilter(ThreadFilter,"Dancer value read too small.",__FILE__,__LINE__,DancerId,RpError,ReadValue,0); return OK; - } + }*/ if (ReadValue == 0x3FFF) { - MotorFailedSample[index]++; - if (dancerinvalid == false) + if (Read_Dryer_Status(DancerId) != OK) { - dancerinvalid = true; - ReportWithPackageFilter(ThreadFilter,"Dancer value invalid.",__FILE__,__LINE__,(int)IfIndex,RpError,(int)ReadValue,0); + ReportWithPackageFilter(ThreadFilter,"Dancer value invalid.",__FILE__,ReadValue,(int)DancerId,RpError,(int)Read_Dryer_Status(DancerId),0); + MotorFailedSample[index]++; + return OK; } - return OK; } KeepReadValue = ReadValue; TranslatedReadValue = ReadValue - DancersCfg[DancerId].zeropoint; diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c index 20780b8c1..af2178348 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c @@ -213,7 +213,7 @@ uint32_t InitSequenceBlowerCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag) /////////////////////////////////////////////////////////////////////////////////////////////////////// #define MAX_CURRENT_READING 5 #define CURRENT_READING_ERROR_UNSTABLE 100 -int Heater_Current[MAX_CURRENT_READING] ; +double Heater_Current[MAX_CURRENT_READING] ; bool initial_wait = false; int count_Heater_Current = 0; int Maxcount_Heater_Current = 0; @@ -222,6 +222,7 @@ double MainCurrent,SecondaryCurrent,StableCurrent; double InitDrierAcVoltage = 0.0; int InitDrierAcVoltageCount = 0; double Zone2Resistance = 0.0; +int WaitForCurrentRaise = 0;//let the heater current raise void InitCurrentReadingStable(void) { memset(Heater_Current,0,sizeof(Heater_Current)); @@ -229,14 +230,15 @@ void InitCurrentReadingStable(void) count_Heater_Current = 0; Maxcount_Heater_Current = 0; StableCurrent = 0.0; + WaitForCurrentRaise = 0; } - +#define MaxStabilization 10 bool DetectIfCurrentReadingStable(double HeaterCurrent) { bool ret = false; int i=0; - int sum = 0; - int average = 0; + double sum = 0; + double average = 0; Maxcount_Heater_Current++; //ReportWithPackageFilter(InitFilter,"DetectIfCurrentReadingStable", __FILE__,GetHeaterState(HEATER_TYPE__DryerMainHeater),(int)(HeaterCurrent*100), RpMessage, Maxcount_Heater_Current, 0); @@ -268,12 +270,14 @@ uint32_t PowerManagementCallBack(uint32_t IfIndex, uint32_t BusyFlag) { ReportWithPackageFilter(InitFilter,"PowerManagementCallBack", __FILE__,MainHeaterStable,(int)(SecondaryHeaterStable), RpMessage, Maxcount_Heater_Current, 0); ReportWithPackageFilter(InitFilter,"PowerManagementCallBack", __FILE__,GetHeaterState(HEATER_TYPE__DryerMainHeater),(int)(GetHeaterState(HEATER_TYPE__DryerSecondaryHeater)), RpMessage, Maxcount_Heater_Current, 0); + if (WaitForCurrentRaise++ < MaxStabilization) + return OK; if ((MainHeaterStable == false)&&(Maxcount_Heater_Current<CURRENT_READING_ERROR_UNSTABLE)) { InitDrierAcVoltage += ReadVAC(); InitDrierAcVoltageCount++; - ReportWithPackageFilter(InitFilter,"main heater current not stable", __FILE__,GetHeaterState(HEATER_TYPE__DryerMainHeater),(int)(StableCurrent*100), RpMessage, Maxcount_Heater_Current, 0); + ReportWithPackageFilter(InitFilter,"main heater current not stable", __FILE__,GetHeaterState(HEATER_TYPE__DryerMainHeater),(int)(Get_Heaters_Current(HEATER_DRYER_CURRENT_1)*100), RpMessage, Maxcount_Heater_Current, 0); MainHeaterStable = DetectIfCurrentReadingStable(Get_Heaters_Current(HEATER_DRYER_CURRENT_1)); Read_Heaters_Current(HEATER_DRYER_CURRENT_1); if (MainHeaterStable == true) @@ -292,7 +296,7 @@ uint32_t PowerManagementCallBack(uint32_t IfIndex, uint32_t BusyFlag) DeActivateHeater(HEATER_TYPE__DryerMainHeater); if (Maxcount_Heater_Current>=CURRENT_READING_ERROR_UNSTABLE) { - ReportWithPackageFilter(InitFilter,"drier heaters current not stable", __FILE__,GetHeaterState(HEATER_TYPE__DryerSecondaryHeater),(int)(StableCurrent*100), RpMessage, Maxcount_Heater_Current, 0); + ReportWithPackageFilter(InitFilter,"drier heaters current not stable", __FILE__,GetHeaterState(HEATER_TYPE__DryerSecondaryHeater),(int)(Get_Heaters_Current(HEATER_DRYER_CURRENT_2)*100), RpMessage, Maxcount_Heater_Current, 0); if (SafeRemoveControlCallback(HWControlId, PowerManagementCallBack )==OK) HWControlId = 0xFF; else @@ -310,7 +314,7 @@ uint32_t PowerManagementCallBack(uint32_t IfIndex, uint32_t BusyFlag) Read_Heaters_Current(HEATER_DRYER_CURRENT_2); if (SecondaryHeaterStable == true) { - ReportWithPackageFilter(InitFilter,"main heater current stable", __FILE__,__LINE__,(int)(StableCurrent*100), RpMessage, Maxcount_Heater_Current, 0); + ReportWithPackageFilter(InitFilter,"secondary heater current stable", __FILE__,__LINE__,(int)(StableCurrent*100), RpMessage, Maxcount_Heater_Current, 0); SecondaryCurrent = StableCurrent; InitCurrentReadingStable(); DeActivateHeater(HEATER_TYPE__DryerSecondaryHeater); diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c index 5cc94a909..d737b3172 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/PowerOffSequence.c @@ -91,11 +91,7 @@ uint32_t PowerOffScheduler(uint32_t IfIndex, uint32_t BusyFlag) StoredMachineState = PowerOffMachineState; PowerOffSequenceStateMachine (PowerOffMachineState); } - if (UpdateCounter++ >= UPDATE_TIMEOUT) - { - UpdateCounter = 0; - PowerDownUpdate(PowerOffMachineState); - } + PowerDownUpdate(PowerOffMachineState); return OK; } /*******************************************************************************************************/ |
