Last night I set a 5us glitch filter on the laptop scope, and captured a few revs with crank and 3 injector signals to the factory FICM. A 5us filter seems to catch all the errors, so that's doable.
We have been focused on the injector pulse glitches this last round. High and Low time limits on those pulses. Raw code was just pulse in equals pulse out. Knowing we should probably check that ECM signal data for errors, and reject anything over 3500us or less than 100. A simple starter filter logic, so we can adjust those values to reject anything outside of normal pulse parameters. Not looking to limit firing to any specific crank positions. Just a maximum of 3 pulse per revolution for now should cover our replacement needs.
To bench test all this, I had someone modify the original ardu-stim emulator code to output one 60-3 Crank, and eight programble cam signals. Each cam signal contains our pilot and main injection pulse patterns over 720deg of crank rotation. Which makes a nice, clean, and highly programable pattern generator, that ties the injector pulse pattern to an exact crank tooth positon. Works great on bench, emulating a perfect crank and all injetors signals to way past 10k RPM. But it doesn't allow ya to inject errors or change pulse timing on the fly. So for understanding the basic logic flow and testing with evaluation boards that worked fine. But toss in a bunch of live changing varables and some crank signal glitchs, then learn how good the code handles it. Currently the plan just rejects anything out of spec. When in doubt, toss it out.. Better to cut any questionable pulse, than have one glitch a big fuel shot at 50deg BTDC.
So past few days I've been piggybacking our STM Evaluation board off the running ECM / FICM to see how well our code mirrors the OEM hardware. Besides those crank glitchs, looking good. Then we can mock everything up on the bench with high confidence in our data valid specs. Hopefully my un-bricked LLY ECM shows up tomorrow, then I can let it rip and scamble the signals without risking bending a rod..