implement config
This commit is contained in:
@ -1,28 +1,15 @@
|
||||
#include "control.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_timer.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "inputs.h"
|
||||
#include "outputs.h"
|
||||
#include "safety.h"
|
||||
#include "sntp.h"
|
||||
|
||||
#define PERIODIC_INTERVAL 1U // Run control loop every 1 second
|
||||
#include "esp_log.h"
|
||||
#include "esp_timer.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
|
||||
// Temperature thresholds
|
||||
#define RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_DAY 30.0f
|
||||
#define RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_NIGHT 25.0f
|
||||
#define CHAMBER_TEMPERATURE_TARGET 80.0f // Max cutoff temperature
|
||||
#define CHAMBER_TEMPERATURE_THRESHOLD 45.0f // Min threshold for burner enable
|
||||
#define SUMMER_MODE_TEMPERATURE_THRESHOLD_HIGH \
|
||||
20.0f // Summer mode will be activated
|
||||
#define SUMMER_MODE_TEMPERATURE_THRESHOLD_LOW \
|
||||
15.0f // Summer mode will be deactivated --> Heating starts
|
||||
#define CIRCULATION_PUMP_TEMPERATURE_THRESHOLD \
|
||||
30.0f // Min threshold of chamber for circulation pump enable
|
||||
#define BURNER_FAULT_DETECTION_THRESHOLD \
|
||||
(60U * 4U) // Burner fault detection after 4 minutes
|
||||
#define PERIODIC_INTERVAL 1U // Run control loop every 1 second
|
||||
|
||||
static const char *TAG = "smart-oil-heater-control-system-control";
|
||||
static eControlState gControlState = CONTROL_STARTING;
|
||||
@ -30,58 +17,58 @@ static eControlState gControlState = CONTROL_STARTING;
|
||||
static const sControlDay gControlTable[] = {
|
||||
{MONDAY,
|
||||
2U,
|
||||
{{{4, 45},
|
||||
{{{CONFIG_SCHEDULE_WEEKDAY_DAY_START_HOUR, CONFIG_SCHEDULE_WEEKDAY_DAY_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_DAY,
|
||||
CHAMBER_TEMPERATURE_TARGET},
|
||||
{{22, 0},
|
||||
{{CONFIG_SCHEDULE_WEEKDAY_NIGHT_START_HOUR, CONFIG_SCHEDULE_WEEKDAY_NIGHT_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_NIGHT,
|
||||
CHAMBER_TEMPERATURE_TARGET}}},
|
||||
{TUESDAY,
|
||||
2U,
|
||||
{{{4, 45},
|
||||
{{{CONFIG_SCHEDULE_WEEKDAY_DAY_START_HOUR, CONFIG_SCHEDULE_WEEKDAY_DAY_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_DAY,
|
||||
CHAMBER_TEMPERATURE_TARGET},
|
||||
{{22, 0},
|
||||
{{CONFIG_SCHEDULE_WEEKDAY_NIGHT_START_HOUR, CONFIG_SCHEDULE_WEEKDAY_NIGHT_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_NIGHT,
|
||||
CHAMBER_TEMPERATURE_TARGET}}},
|
||||
{WEDNESDAY,
|
||||
2U,
|
||||
{{{4, 45},
|
||||
{{{CONFIG_SCHEDULE_WEEKDAY_DAY_START_HOUR, CONFIG_SCHEDULE_WEEKDAY_DAY_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_DAY,
|
||||
CHAMBER_TEMPERATURE_TARGET},
|
||||
{{22, 0},
|
||||
{{CONFIG_SCHEDULE_WEEKDAY_NIGHT_START_HOUR, CONFIG_SCHEDULE_WEEKDAY_NIGHT_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_NIGHT,
|
||||
CHAMBER_TEMPERATURE_TARGET}}},
|
||||
{THURSDAY,
|
||||
2U,
|
||||
{{{4, 45},
|
||||
{{{CONFIG_SCHEDULE_WEEKDAY_DAY_START_HOUR, CONFIG_SCHEDULE_WEEKDAY_DAY_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_DAY,
|
||||
CHAMBER_TEMPERATURE_TARGET},
|
||||
{{22, 0},
|
||||
{{CONFIG_SCHEDULE_WEEKDAY_NIGHT_START_HOUR, CONFIG_SCHEDULE_WEEKDAY_NIGHT_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_NIGHT,
|
||||
CHAMBER_TEMPERATURE_TARGET}}},
|
||||
{FRIDAY,
|
||||
2U,
|
||||
{{{4, 45},
|
||||
{{{CONFIG_SCHEDULE_FRIDAY_DAY_START_HOUR, CONFIG_SCHEDULE_FRIDAY_DAY_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_DAY,
|
||||
CHAMBER_TEMPERATURE_TARGET},
|
||||
{{23, 0},
|
||||
{{CONFIG_SCHEDULE_FRIDAY_NIGHT_START_HOUR, CONFIG_SCHEDULE_FRIDAY_NIGHT_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_NIGHT,
|
||||
CHAMBER_TEMPERATURE_TARGET}}},
|
||||
{SATURDAY,
|
||||
2U,
|
||||
{{{6, 45},
|
||||
{{{CONFIG_SCHEDULE_SATURDAY_DAY_START_HOUR, CONFIG_SCHEDULE_SATURDAY_DAY_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_DAY,
|
||||
CHAMBER_TEMPERATURE_TARGET},
|
||||
{{23, 30},
|
||||
{{CONFIG_SCHEDULE_SATURDAY_NIGHT_START_HOUR, CONFIG_SCHEDULE_SATURDAY_NIGHT_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_NIGHT,
|
||||
CHAMBER_TEMPERATURE_TARGET}}},
|
||||
{SUNDAY,
|
||||
2U,
|
||||
{{{6, 45},
|
||||
{{{CONFIG_SCHEDULE_SUNDAY_DAY_START_HOUR, CONFIG_SCHEDULE_SUNDAY_DAY_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_DAY,
|
||||
CHAMBER_TEMPERATURE_TARGET},
|
||||
{{22, 30},
|
||||
{{CONFIG_SCHEDULE_SUNDAY_NIGHT_START_HOUR, CONFIG_SCHEDULE_SUNDAY_NIGHT_START_MINUTE},
|
||||
RETURN_FLOW_TEMPERATURE_LOWER_LIMIT_NIGHT,
|
||||
CHAMBER_TEMPERATURE_TARGET}}},
|
||||
};
|
||||
@ -377,10 +364,10 @@ void findControlCurrentTemperatureEntry(void)
|
||||
/*
|
||||
ESP_LOGI(TAG, "Active entry found - Time: %02d:%02d, "
|
||||
"Return Temp: %lf, Chamber Temp: %lf",
|
||||
gCurrentControlEntry.timestamp.hour,
|
||||
gCurrentControlEntry.timestamp.minute,
|
||||
gCurrentControlEntry.fReturnFlowTemperature,
|
||||
gCurrentControlEntry.fChamberTemperature);
|
||||
gCurrentControlEntry.timestamp.hour,
|
||||
gCurrentControlEntry.timestamp.minute,
|
||||
gCurrentControlEntry.fReturnFlowTemperature,
|
||||
gCurrentControlEntry.fChamberTemperature);
|
||||
*/
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user