Hi Paul,
There are people who have posted video's on youtube of the same, however don't tell you or give any guidance of how to do this.
I have no C++ coding knowledge and very little electronica knowledge so any help would be greatly appreciated.
I believe EDIS sends a square wave depending on the RPM of the engine, then waits for the signal back obviously in us.
This may help?
When the EDIS module receives proper a VR signal, it generates a 12-volt square-wave signal with a period linked to the next cylinder to fire. In other words, when this signal (Ford calls it the PIP, for Profile Ignition Pick-up) goes from +12V to ground, one of the ignition coils is firing. This signal follows the ignition coils, not the VR sensor (as indicated on some incorrect documentation floating around).
Then the returning signal is:
The PIP signal is used as a reference to synchronize the generation of the SAW pulse. The SAW signal is generated (by Arduino) and is an input to the EDIS module. This signal is a +5V positive square wave pulse, and the width of this pulse determines the advance that the EDIS module will use for subsequent ignition events, up to a half second or so. If the SAW signal is lost for much longer than this, the 'limp-home' mode is enabled, and advance is set at 10° BTDC. So the SAW signal does not have to be sent on every PIP cycle - the EDIS module will remember the last SAW commanded advance and "remember" it for subsequent ignition advance values until a new pulse is received or until 'limp-home' mode is enabled.
See attached relationship
Thanks
