5d890b8654ee242d6acb10b26b3bf968160d1031e2ad53fb16855f9d225f63e7
				
			
			
		
	Reviewed-on: #5
smart-oil-heating-control-system
Software
Design
classDiagram
Inputs <|-- Control
Outputs <|-- Control
Sntp <|-- Control
Inputs <|-- Safety
Outputs <|--|> Safety
Inputs <|-- Metrics
Outputs <|-- Metrics
Control <|-- Metrics
Safety <|-- Metrics
Sntp <|-- Metrics
    class Inputs{
        +initInputs()
        -taskInput()
        +getChamberTemperature()
        +getOutdoorTemperature()
        +getInletFlowTemperature()
        +getReturnFlowTemperature()
        +getBurnerError()
    }
    class Outputs{
        +initOutputs()
        +getCirculationPumpState()
        +setCirculationPumpState()
        +getBurnerState()
        +setBurnerState()
        +getSafetyControlState()
        +setSafetyControlState()
    }
    class Control{
        +taskControl()
        -timetable
    }
    class Safety{
        +initSafety()
        -taskSafety()
        -setSafeState()
        -checkSensorSanity()
        +getSensorSanityStates()
        +getSafetyState()
    }
    class Wifi{
        +initWifi()
    }
    class Sntp{
        +initSntp()
        +getSntpState()
    }
    class Metrics{
        +initMetrics()
        -taskMetrics()
        -metrics
        +event_handler()
        +connect_wifi()
        +setMetrics()
    }
Hardware
| Function | ESP32 | PLC ES32C14 | 
|---|---|---|
| Output CirculationPump | IO27 | Relay 1 NO1 | 
| Output Burner Fire Signal | IO14 | Relay 2 NC2 | 
| Output Safety Contact (powers Burner) | IO12 | Relay 3 NC2 | 
| Input Burner Fault | IO19 | Digital Input IN1 | 
| Input Temperature DS10B20 | IO04 | 1-Wire | 
					Languages
				
				
								
								
									C
								
								98.9%
							
						
							
								
								
									CMake
								
								1.1%