Another update - I'm still alive and well, and still employed. I hope everyone here is enjoying the same.
Made some significant progress today running fully interrupt driven dwell (i.e. no hazard of routine starvation). In the process of locating the issue I implemented some real-time profiling that helped me identify how dwell wasn't being initiated by the controller around the transition points in certain conditions. This is where dwell needs to extend beyond one cylinder firing event or simply put more than 90 / 180 / 270 degrees of crank rotation. After sweep testing a few more routines I found a couple possible issues that were easily fixed.
The result is something the butt-dyno says is damned good, but the profiling numbers say still lacks ever so slightly. Possibly a missed dwell happening during decel events where I lift my foot off the go pedal.
Hoping to put a couple hundred miles on it Monday and will report back. I'm excited! Not only because it's no longer exhibiting the rev-limiter type behavior around the transition points, but I'm also happy to report the microcontroller seems to have more than enough processing power to compute dwell from time to degrees on the fly once per combustion event (using the 16 bit RPM value) as far as I've been able to push it (around 5800 rpm).
Bookmarks