error handling and cleanup
This commit is contained in:
@ -1,15 +1,70 @@
|
||||
/**
|
||||
* @file outputs.h
|
||||
* @brief Output control for circulation pump, burner, and safety contact.
|
||||
*
|
||||
* This module controls the relay outputs via GPIO pins. All outputs
|
||||
* are active-low (relay energized when GPIO is low).
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "esp_err.h"
|
||||
|
||||
/**
|
||||
* @brief Output state enumeration.
|
||||
*/
|
||||
typedef enum _Output
|
||||
{
|
||||
ENABLED,
|
||||
DISABLED
|
||||
ENABLED, /**< Output active (relay energized, GPIO low). */
|
||||
DISABLED /**< Output inactive (relay de-energized, GPIO high). */
|
||||
} eOutput;
|
||||
|
||||
void initOutputs(void);
|
||||
/**
|
||||
* @brief Initialize the outputs module.
|
||||
*
|
||||
* Configures GPIO pins for circulation pump, burner, and safety contact
|
||||
* as outputs. All outputs are initialized to DISABLED (safe state).
|
||||
*
|
||||
* @return ESP_OK on success, ESP_FAIL on error.
|
||||
*/
|
||||
esp_err_t initOutputs(void);
|
||||
|
||||
/**
|
||||
* @brief Get the current circulation pump state.
|
||||
* @return eOutput state (ENABLED or DISABLED).
|
||||
*/
|
||||
eOutput getCirculationPumpState(void);
|
||||
|
||||
/**
|
||||
* @brief Set the circulation pump state.
|
||||
* @param in Desired state (ENABLED or DISABLED).
|
||||
*/
|
||||
void setCirculationPumpState(eOutput in);
|
||||
|
||||
/**
|
||||
* @brief Get the current burner state.
|
||||
* @return eOutput state (ENABLED or DISABLED).
|
||||
*/
|
||||
eOutput getBurnerState(void);
|
||||
|
||||
/**
|
||||
* @brief Set the burner state.
|
||||
* @param in Desired state (ENABLED or DISABLED).
|
||||
*/
|
||||
void setBurnerState(eOutput in);
|
||||
|
||||
/**
|
||||
* @brief Get the current safety contact state.
|
||||
* @return eOutput state (ENABLED or DISABLED).
|
||||
*/
|
||||
eOutput getSafetyControlState(void);
|
||||
void setSafetyControlState(eOutput in);
|
||||
|
||||
/**
|
||||
* @brief Set the safety contact state.
|
||||
*
|
||||
* The safety contact controls power to the burner. When DISABLED,
|
||||
* the burner cannot operate regardless of the burner signal.
|
||||
*
|
||||
* @param in Desired state (ENABLED or DISABLED).
|
||||
*/
|
||||
void setSafetyControlState(eOutput in);
|
||||
|
||||
Reference in New Issue
Block a user