Hallo marvin,
ich glaube da gibt es ein heftiges Problem in der Lib.
Denn PollSwitch() beeinflußt unangenehm die encoder[]-Werte. Obwohl dies doch die Verwendung von autoencode verhindern sollte.
Ich habe mal die Werte von WHEEL_LEFT und WHEEL_RIGHT in Deiner Interrupt-Routine recorded. Während dessen habe ich 6 mal (um den Effekt hier deutlicher zu zeigen) PollSwitch() aufgerufen. In der angehängten Grafik sieht man den desaströsen Effekt auf die WHEEL_LEFT- und WHEEL_RIGHT-Werte. Entsprechend falsch erhöhen sich dadurch die encoder[]-Werte rasant.
(In meiner konkreten Anwendung, flippt mein PID Regler durch diesen falschen Input, genau in dem Augenblick aus, wo er eigentlich vor einer Wand zum halten kommen sollte)
Lesezeichen