diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c index fb5cd884d..e9820d150 100644 --- a/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c +++ b/Software/Embedded_SW/Embedded/StateMachines/Initialization/InitSequence.c @@ -82,6 +82,7 @@ uint32_t InitSequenceMachineReadyToDye(void); uint32_t InitSequenceStateMachine( INIT_SEQUENCE_STAGES_ENUM ReadValue); uint32_t PowerUpUpdate(MACHINE_STATE_STAGES_ENUM stage); +int InitFailures = 0; MACHINE_STATE_STAGES_ENUM GetMachineState(void) { @@ -100,25 +101,27 @@ void StopInitSequence(void) uint32_t InitSequenceCallBackFunction(uint32_t IfIndex, uint32_t BusyFlag) { MACHINE_STATE_STAGES_ENUM status; - int InitFailures = 0; if (SafeRemoveControlCallback(HWControlId, InitSequenceCallBackFunction )==OK) HWControlId = 0xFF; else Report("Remove control callback failed",__FILE__,__LINE__,(int)HWControlId,RpWarning,(int)InitSequenceCallBackFunction,0); MCU_E2PromRead(EEPROM_INIT_FAILURE_COUNTER,&InitFailures); + InitFailures++; + MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,InitFailures); + if (InitFailures > 100) { InitFailures = 0; MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,0); } - if (InitFailures > 3) + /*if (InitFailures > 3) { Report("HWConfigurationInit repeated failure",__FILE__,__LINE__,(int)InitFailures,RpWarning,(int)EEPROM_INIT_FAILURE_COUNTER,0); - SetMachineState(status); + SetMachineState(MACHINE_STATE_HW_CONFIG_FAILED); AlarmHandlingSetAlarm (EVENT_TYPE__MACHINE_STATE_HW_CONFIG_FAILED,ON); SetMachineStatus(MACHINE_STATE__Error); return ERROR; - } + }*/ status = (MACHINE_STATE_STAGES_ENUM)HWConfigurationInit(); if (status == OK) { @@ -173,7 +176,6 @@ void InitSequenceBuiltInTestCallBack(uint32_t IfIndex, uint32_t BusyFlag) InitStages++; //InitSequenceStateMachine(InitStages); AlarmHandlingSetAlarm(EVENT_TYPE__POWER_UP_BIT_FAILURE,false); - MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,0); } else { @@ -262,6 +264,7 @@ double MainCurrent,SecondaryCurrent,StableCurrent; double InitDrierAcVoltage = 0.0; int InitDrierAcVoltageCount = 0; double Zone2Resistance = 0.0; +double Zone1Resistance = 0.0; int WaitForCurrentRaise = 0;//let the heater current raise void InitCurrentReadingStable(void) { @@ -302,6 +305,11 @@ bool DetectIfCurrentReadingStable(double HeaterCurrent) } return ret; } + +double GetZone1RMSCurrent(double VAC) +{ + return (VAC/Zone1Resistance); +} double GetZone2RMSCurrent(double VAC) { return (VAC/Zone2Resistance); @@ -326,6 +334,7 @@ uint32_t PowerManagementCallBack(uint32_t IfIndex, uint32_t BusyFlag) InitDrierAcVoltage /= InitDrierAcVoltageCount; MainCurrent = StableCurrent; InitCurrentReadingStable(); + Zone1Resistance = InitDrierAcVoltage/MainCurrent; DeActivateHeater(HEATER_TYPE__DryerMainHeater); ActivateHeater(HEATER_TYPE__DryerSecondaryHeater); ReportWithPackageFilter(InitFilter,"starting secondary heater ", __FILE__,__LINE__,(int)(StableCurrent*100), RpMessage, Maxcount_Heater_Current, 0); @@ -518,6 +527,12 @@ uint32_t InitSequenceWaitForCoolerCallBackFunction(uint32_t IfIndex, uint32_t Bu } uint32_t InitSequenceWaitForCooler(void) { + Trigger_SetWHSFanSpeed(FAN1, SmallFansCfg); + Trigger_SetWHSFanSpeed(FAN2, SmallFansCfg); + Trigger_SetWHSFanSpeed(FAN3, SmallFansCfg); + Trigger_SetWHSFanSpeed(FAN4, SmallFansCfg); + Trigger_SetWHSFanSpeed(FAN5, LargeFansCfg); + Trigger_SetWHSFanSpeed(FAN6, LargeFansCfg); if (WHS_Type == WHS_TYPE_UNKNOWN) { InitStages++; @@ -574,6 +589,7 @@ uint32_t InitSequenceStartHeating(void) { SetMachineReadyForHeating(true); //SetMachineStatus(MACHINE_STATE__Ready); //prevent job while waiting for the cooler + MCU_E2PromProgram(EEPROM_INIT_FAILURE_COUNTER,0); if (InitialHeating) { |
