Hi @ussserrr
Thanks for sharing this neat library! I use it to control the temperature in an chamber I use for smoking meat.
Now while implementing, I looked at your code and I think the calculation of the D error is not done correctly.
You are currently calculating the difference between the input and the last_input. But I think it should be the difference between the Perr and the last Perr. Because we want the D portion to react fast to jumps in the error value.
Do you agree?