Skip to content

v1.0.0

Compare
Choose a tag to compare
@hayschan hayschan released this 25 May 09:38
· 2 commits to main since this release

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.