v1.0.0
This initial release provides robust PID control features, designed to help developers easily implement advanced control systems in their ESP32 projects.
Key Features
AutoPID Class
- Constructor: Initializes a new AutoPID object with configurable input, setpoint, output pointers, output range, and PID gains (Kp, Ki, Kd).
- setGains: Allows manual adjustment of PID gains.
- setBangBang: Supports bang-bang control with both upper/lower offsets and a single range threshold.
- setOutputRange: Allows manual (re)adjustment of the output range.
- setTimeStep: Configures the PID calculation time interval.
- atSetPoint: Checks if the input has reached the desired setpoint within a specified threshold.
- run: Automatically runs PID calculations at the configured time interval.
- stop: Stops PID calculations and resets internal values.
- reset: Resets internal PID calculation values without stopping.
- isStopped: Indicates if PID calculations have been stopped.
- getIntegral: Retrieves the current value of the integral term.
- setIntegral: Overrides the current value of the integral term, useful for resuming states after power cycles.
AutoPIDRelay Class
- Constructor: Initializes a new AutoPIDRelay object with configurable input, setpoint, relay state pointers, pulse width, and PID gains (Kp, Ki, Kd).
- getPulseValue: Retrieves the current pulse length for the relay, providing additional control and monitoring capability.
Enhancements and Bug Fixes
- Comprehensive Doxygen-style documentation for all public functions to assist developers in understanding and using the library effectively.
- Optimized internal calculations for improved performance and stability.
- Various bug fixes and improvements based on initial testing and user feedback.