History of MembersPage/Gabor/MitsubishiColt/Iac
Older Newer
2005-06-26 09:48:02 . . . . MembersPage/Gabor [Looking for a nicer solution]


Changes by last author:

Added:
6 wire stepper IAC

I am going to use a 6 wire stepper for IAC purpose. The two middle wires are on 12V, the rest 4 are controlled with FET-s (INJE,INJF,INJG,INJH). My h table is: h[0]=inj inj inj inj A0 60 50 90. So the lower 4 for bins are used for injector output masks, the upper 4 are for the stepper. I've made two mods in iac.c:

<code>

iac.c, move_iac() function:

- S259(DHIGH, next_step(next_phase & 0x03)); // activate next wire in sequence

+ digitalout((((next_phase << 4) & 0x30) ^ 0x40), DHIGH); // ie. next_phase==3, equivalent mdh70/f0

- S259(DLOW, next_step(phase & 0x03)); // deactivate previous wire in sequence

+ digitalout((((phase << 4) & 0x30) ^ 0x40), DLOW);

And added this at poweroff part:

+ digitalout(0x40, DLOW); digitalout(0x50, DLOW); digitalout(0x60, DLOW); digitalout(0x70, DLOW);

</code>

It seems working right, but it modifies the displayed pulsewidth as well. It bothers me a bit. Any ideas about improving this hack?

** what pulsewidth? the injector pulsewidth ???? Is this the same winavr compiler that is proven by earlier experiments (remember the element0 of h[0] ?) to be almost certainly bad ?

*** The pulsewidth shown in Megatune. Fortunately in effect it doesn't change anything. Since I installed the lastest WinAVR, I don't have any problem with h[0].