control loop refinement
This commit is contained in:
		| @ -75,20 +75,22 @@ void taskControl(void *pvParameters) | ||||
|         sControlTemperatureEntry currentControlEntry = getCurrentTemperatureEntry(); | ||||
|         ESP_LOGI(TAG, "Control Entry Hour: %i Minute: %i ChamberTemp: %lf ReturnFlowTemp: %lf", currentControlEntry.timestamp.hour, currentControlEntry.timestamp.minute, currentControlEntry.fChamberTemperature, currentControlEntry.fReturnFlowTemperature); | ||||
|  | ||||
|         if (getChamberTemperature().fCurrentValue >= currentControlEntry.fChamberTemperature) | ||||
|         if (bHeatingInAction == true) | ||||
|         { | ||||
|             bHeatingInAction = false; | ||||
|             setCirculationPumpState(ENABLED); | ||||
|             setBurnerState(DISABLED); | ||||
|             setSafetyControlState(ENABLED); | ||||
|             ESP_LOGI(TAG, "Chamber Target Temperature reached!"); | ||||
|  | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             if (bHeatingInAction) | ||||
|             if (getChamberTemperature().fCurrentValue >= currentControlEntry.fChamberTemperature) | ||||
|             { | ||||
|                 // TODO: Check burner fault signal here | ||||
|                 ESP_LOGI(TAG, "Chamber Target Temperature reached: Disable burner"); | ||||
|                 bHeatingInAction = false; | ||||
|                 setCirculationPumpState(ENABLED); | ||||
|                 setBurnerState(DISABLED); | ||||
|                 setSafetyControlState(ENABLED); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 if (bHeatingInAction) | ||||
|                 { | ||||
|                     // TODO: Check burner fault signal here | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
| @ -96,6 +98,7 @@ void taskControl(void *pvParameters) | ||||
|         { | ||||
|             if (getReturnFlowTemperature().average60s.fValue <= currentControlEntry.fReturnFlowTemperature) | ||||
|             { | ||||
|                 ESP_LOGI(TAG, "Return Flow Target Temperature reached: Enable Burner"); | ||||
|                 bHeatingInAction = true; | ||||
|                 setCirculationPumpState(ENABLED); | ||||
|                 setBurnerState(ENABLED); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user