Chiller daikin logic added

This commit is contained in:
2025-09-16 09:08:47 -05:00
parent 14cf23281d
commit 3738747b55
18 changed files with 1063 additions and 58 deletions

View File

@@ -59,6 +59,17 @@ void PIDStrategy::setInput(float input) {
_input = input;
}
/**
* @brief Manually sets the lower and upper limit of the PID.
* @note This is typically not needed as the `execute` method receives the current
* limit value on each call from the `_applyStrategies` loop.
* @param input The new process variable value.
*/
void PIDStrategy::setLimits(float lowerLimit, float upperLimit) {
_lowerLimit = lowerLimit;
_upperLimit = upperLimit;
}
/**
* @brief Executes one cycle of the PID control algorithm.
*

View File

@@ -66,7 +66,8 @@ public:
void setGains(float kp, float ki, float kd);
/** @brief Manually sets the process variable (input) value. */
void setInput(float input);
/** @brief Manually sets the lower and upper limits of the PID. */
void setLimits(float lowerLimit, float upperLimit);
private:
float _kp; /**< @brief Proportional gain. */
@@ -77,6 +78,8 @@ private:
float _input; /**< @brief The current value of the process variable. */
float _lastError; /**< @brief The error from the previous calculation. */
float _integral; /**< @brief The accumulated integral term. */
float _lowerLimit; /**< @brief The lower limit for the output. */
float _upperLimit; /**< @brief The upper limit for the output. */
std::string _inputSensorName; /**< @brief The description key for the input sensor point. */
std::string _setpointName; /**< @brief The description key for the setpoint point. */
};