As the author says, there are some flaws, I am working on improving it by using slightly different routines and Pic usage, also higher resolution pulse which allows for much shorter duration between reads.I see. But can the error really be zero? If the error is a 32bit floating point, it can be as low 10^-38 or something, and practically you may encounter a situation where it never will be EXACTLY zero.
Anyway, i took a quick glance at the thesis. And even though it works, and i think you can actually prove that it works, it still doesn't seem like an optimal solution.
Obviously not as good as a true PID, but I am aiming for a live able result.
Max.