Om man vet hur lång tid det tar att göra en händelse när man bygger upp "kön" så kan ju dessa problem lösas på flera sätt om du vill att tändningen alltid ska ha prio över spridartiden tex.
Sen om tändningshändelsen börjat och du vill börja en spridarhändelse så snabbt som möjligt är ju det bara att ändra comp så tidigt i int.handlern som möjligt. Om den på nått sätt redan räknat förbi din händelse redan före du hunnit ändra comp tiden så får du ju bara manuellt slå på interuptflaggan igen och den kommer starta automatiskt efter att den kört klart int.handlern första gången.

En liten adhoc lösning. men men

Så då kan det köas en händelse, inga mer. Men då den kommer in i int.handlern igen så kommer den ju kolla igen om den räknat förbi den där nästa händelse och köar den också. Så detta borde funka även om du sätter många händelser tätt bakom varann. Men den kan bara göra en ändring var 700e nanosekund.
Jo jag behöver 2 utgångar till varje tändkanal. Den ena till en IGBT för att ladda upp en konding till 300-600V sen den andra till en Triac för att ladda ur den. Det är lite roliga spänningar och strömmar man leker med

. Enligt simuleringar så borde jag komma upp till ca 200A och 600V över Triacen när jag ska tända. Sen på sekundärsidan så kommer jag upp till ca 10-30kV
VEMS och MS har ju bara vanlig induktionständning. Man drar pri.spolen i en bestämd tid och när man släpper den så får man gnista. Jag ska ju ha CDI på min (Capacitiv discharge ignition). Då laddar man en kondensator till en bestämd spänning och sedan laddar ur denna över pri.spolen. På så sätt kan man få mer energi i gnistan. Bra vid höga laddtryck och svårantändlig soppa tex. etanol och metanol.
Som du nämnde med ojämn vinkelhastighet: VEMS och MS är ju helt värdelösa när det gäller att använda multi-tooth triggerhjul. Dom använder bara lika många tänder som tändpunkter du har. Så även om du har en 4 cylindrig motor och 36-1 hjul så använder den bara 2 av tänderna för att räkna ut när den ska tända! Så från att den fått en triggersignal så kan det vara ca 60-40 grader tills den ska tända å enda sättet att ungefär räkna ut det är att ta den genomsnittliga hastigheten och räkna ut en tid när den BORDE vara där.
Jag har tänkt lösa det så att om jag ska tända 43 grader efter jag fått triggersignalen så ska jag först räkna 4 tänder sen räkna ut en tid när den borde roterat de sista 3 graderna. (på ett 36-1 tex.) Så den uppskattade tiden sträcker sig max över 10 grader och jag borde få en MYCKET MYCKET exaktare timing.