Der Code wird auch bei Drehgebern eingesetzt. Er ist inkremental. Für eine Umdrehung ist es ein Gray-Code.

Da liegt nicht das Problem. Die Umsetzung in den Zähler ist interessant.

In der billigen Grundversion, die ich als Referenz angeboten habe, registriert der Zähler nur eine ansteigende Flanke von b.
Da können sich Fehler akkumulieren wenn immer vor der ansteigenden Flanke nach rechts umgekehrt wird und die Flanke nach links noch einmal hin und zurück durchfahren wird.
Manfred