> Michael Rigby-Jones wrote: > The trouble with the > software only approach is that you have to complete all calculations > and keep a pretty accurate counter in between firing cycles. Not neccessarily. The last software I wrote precalculated a set of variables and these are used at run time - virtually no math while running. The data is then available exactly when needed. As I mentioned earlier, I can keep track of RPM, pos or neg advance, vac adv, dwell and rev limit in about 50 instructions. That is about 25uS @ 8MHz, but it still becomes an issue at high RPM. To test the software, I had two signal generators running. One at 500RPM and another about 6000RPM simulating the timing for a V8. I used a switch to change signals and as far as I could see the PIC coped OK. I didn't have a storage CRO to see the changeover glitch though. On the test bench the PIC could run a single 4 stroke upto 35,000 RPM. The system has been quite popular with old car enthusiasts because of hard to find distributor parts, and with people running engines on gas because 2 data sets can be stored and changed over even when the engine is running. I have had ideas on doing another one with more features, but the time it takes for development to cover a reasonable spectrum of engines.....oooh the pain. The last time I was 'playing' with this idea I was using a 16C74 and I could change the timing parameters even while the engine was running. There are four basic things needed to make a system work. Good programmer Electronics wiz Someone who knows engines inside and out. Time, time and more time. Even so, it was probably one of the most interesting projects I have done. Not too bad when you consider the whole shebang used only 1021 words of ROM. -- Best regards Tony http://www.picnpoke.com mailto:sales@picnpoke.com