http://www.google.com/patents?id=kJQyAA ... ta&f=false
som innehåller en del kul info för nyfikna typer.. där har dom nåt dom kallar för "freerun counter"
Och då slog det mig att men för fan, 40-160 är inte -120 det är 135.. 155-20 blir också 135, för en del kanske det förefaller självklart, andra kanske behöver en förklaring(och några kanske bara ger fulla fan i det

Tidigare har jag mätt tiden spridarn har varit på genom att nollställa timern när spridarn slår på och lagra undan tiden när spridarn slog av, vilket innebär att man måste ha en timer för varje spridarsignal, och det har ju iofs funkat hittils men detta är ändå lite snyggare. För enkelhets och pga en viss "meeeh oooorrrka" faktor så fipplar jag i basic. koden liknar rätt mycket den tidigare men med ovan nämnda skillnad.
http://hem.bredband.net/nikwal/forum.bas (eller .hex)
angående räkneexemplet ovan. Ponera att vi har en 8bitars timer och spridarn slår på när timern står på 50 och av på 70 så är det ju lätt att räkna 70-50 och få 20 i spridarlängd. Om nu spridarn gör exakt samma sak men timern råkar stå på 250 så kommer avslaget bli på typ 15 och med samma matematik så blir 15-250=-235 ,gör sedan en XOR 255 i kalkylatorn för att begränsa det till 8bitar och märk att man får värdet 20.
För att sedan kunna slå av spridarn på rätt ställe så duger det ju inte längre med att kolla om värdet är högre än en viss tid, pga att timern kan ha slagit över till 0 igen.. så då i det här fallet flyttar jag värdena så dom refererar till 0, och då blir sluttiden samma som längden på pulsen och timerns värde flyttas ner med med värdet för vad timern stod på när spridarn slog på. Då blir det genast lättare att kolla om den ska slå av..
Det går naturligtvis att göra snyggare än såhär.. Jag återkommer om jag finner ut nåt mera

Om nån ännu inte kommit på vad allt detta ska vara bra för så är det att man kan mäta en jäkla massa olika pulser utan att det egentligen surar ner programmet nånting..