Dag Jan,
Ik heb je code even bekeken, en het lijkt er op dat je de momentane positie - bij het inschakelen - niet anders kunt bepalen dan door eerst terug te draaien naar een 0punt schakelaar.
Het hele principe zou een stuk bedrijfs-zekerder (en ook eenvoudiger te coderen) worden wanneer je ook voor de benodigde standen (of sporen) schakelaars zou gebruiken. Je bent dan niet meer afhankelijk van de spoorplanX[] arrays die je nu gebruikt.
Ik weet niet of je nu problemen met de precisie hebt - sporen die net niet recht tegen elkaar uitkomen - maar je zou kunnen overwegen een kleine servo een konische pin in een gat te laten duwen, die de positionering regelt?
Gerard