From f6b8c2ff37a33a28273cf53c3160d8cb67578872 Mon Sep 17 00:00:00 2001 From: Rob Berwick Date: Sun, 21 Apr 2024 20:34:40 +0100 Subject: [PATCH] Add get_error_sum and reset_error_sum methods --- drivers/pid/pid.cpp | 10 +++++++++- drivers/pid/pid.hpp | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/pid/pid.cpp b/drivers/pid/pid.cpp index 0d8cdb4f2a..8ccb47bf84 100644 --- a/drivers/pid/pid.cpp +++ b/drivers/pid/pid.cpp @@ -27,4 +27,12 @@ namespace pimoroni { return (error * kp) + (error_sum * ki) - (value_change * kd); } -} \ No newline at end of file + + float PID::get_error_sum() const { + return error_sum; + } + + void PID::reset_error_sum() { + error_sum = 0.0f; + } +} diff --git a/drivers/pid/pid.hpp b/drivers/pid/pid.hpp index ef60394199..0aa84c6859 100644 --- a/drivers/pid/pid.hpp +++ b/drivers/pid/pid.hpp @@ -14,6 +14,9 @@ namespace pimoroni { float calculate(float value); float calculate(float value, float value_change); + [[nodiscard]] float get_error_sum() const; + void reset_error_sum(); + public: float kp; float ki;