QuickPID icon indicating copy to clipboard operation
QuickPID copied to clipboard

Improvement idea: bool WouldCompute()

Open Nanowires opened this issue 1 year ago • 0 comments

I have the use case, where the input is not a simple read, but a bit more complex calculations. So instead of doing the maths on every loop, just to ignore the outcome, because the timer, or the time window wasn't exceeded yet, it would be a good idea to test beforehand, if I need to calculate the input again.

I.e.: Instead of

unsigned long msNow = millis();
Input = calculations();
if (myPID.Compute()) {
    windowStartTime = msNow;
}
handleOutput();

Something like

if (myPID.WouldCompute()) {
  unsigned long msNow = millis();
  Input = calculations();
  if (myPID.Compute()) {
      windowStartTime = msNow;
  }
}
handleOutput();

Nanowires avatar Feb 29 '24 09:02 Nanowires