Krycholrc wrote:Hello
I was able to solve this problem. I did as in FW from 2018 before adding the Pulse Duration function which gives a resolution of 1ms which causes the meter to go crazy. The only drawback is you can not set the Ignition Dwell too high, in my case, max 2.8ms for a good reading of 7000RPM in BMW tacho.
In scheduledIO.ino change this line:Code: Select allIn timers.ino uncoment all tacho output like this:inline void beginCoil1Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil1Charging_DIRECT(); } else { coil1Charging_MC33810(); } TACHO_PULSE_LOW(); } inline void endCoil1Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil1StopCharging_DIRECT(); } else { coil1StopCharging_MC33810(); } TACHO_PULSE_HIGH(); } inline void beginCoil2Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil2Charging_DIRECT(); } else { coil2Charging_MC33810(); } TACHO_PULSE_LOW(); } inline void endCoil2Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil2StopCharging_DIRECT(); } else { coil2StopCharging_MC33810(); } TACHO_PULSE_HIGH(); } inline void beginCoil3Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil3Charging_DIRECT(); } else { coil3Charging_MC33810(); } TACHO_PULSE_LOW(); } inline void endCoil3Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil3StopCharging_DIRECT(); } else { coil3StopCharging_MC33810(); } TACHO_PULSE_HIGH(); } inline void beginCoil4Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil4Charging_DIRECT(); } else { coil4Charging_MC33810(); } TACHO_PULSE_LOW(); } inline void endCoil4Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil4StopCharging_DIRECT(); } else { coil4StopCharging_MC33810(); } TACHO_PULSE_HIGH(); } inline void beginCoil5Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil5Charging_DIRECT(); } else { coil5Charging_MC33810(); } TACHO_PULSE_LOW(); } inline void endCoil5Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil5StopCharging_DIRECT(); } else { coil5StopCharging_MC33810(); } TACHO_PULSE_HIGH(); } inline void beginCoil6Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil6Charging_DIRECT(); } else { coil6Charging_MC33810(); } TACHO_PULSE_LOW(); } inline void endCoil6Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil6StopCharging_DIRECT(); } else { coil6StopCharging_MC33810(); } TACHO_PULSE_HIGH(); } inline void beginCoil7Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil7Charging_DIRECT(); } else { coil7Charging_MC33810(); } TACHO_PULSE_LOW(); } inline void endCoil7Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil7StopCharging_DIRECT(); } else { coil7StopCharging_MC33810(); } TACHO_PULSE_HIGH(); } inline void beginCoil8Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil8Charging_DIRECT(); } else { coil8Charging_MC33810(); } TACHO_PULSE_LOW(); } inline void endCoil8Charge() { if(ignitionOutputControl != OUTPUT_CONTROL_MC33810) { coil8StopCharging_DIRECT(); } else { coil8StopCharging_MC33810(); } TACHO_PULSE_HIGH(); } //The below 3 calls are all part of the rotary ignition mode inline void beginTrailingCoilCharge() { beginCoil2Charge(); } inline void endTrailingCoilCharge1() { endCoil2Charge(); beginCoil3Charge(); } //Sets ign3 (Trailing select) high inline void endTrailingCoilCharge2() { endCoil2Charge(); endCoil3Charge(); } //sets ign3 (Trailing select) low //As above but for ignition (Wasted COP mode) void beginCoil1and3Charge() { beginCoil1Charge(); beginCoil3Charge(); TACHO_PULSE_LOW(); } void endCoil1and3Charge() { endCoil1Charge(); endCoil3Charge(); TACHO_PULSE_HIGH(); } void beginCoil2and4Charge() { beginCoil2Charge(); beginCoil4Charge(); TACHO_PULSE_LOW(); } void endCoil2and4Charge() { endCoil2Charge(); endCoil4Charge(); TACHO_PULSE_HIGH(); } //For 6cyl wasted COP mode) void beginCoil1and4Charge() { beginCoil1Charge(); beginCoil4Charge(); TACHO_PULSE_LOW(); } void endCoil1and4Charge() { endCoil1Charge(); endCoil4Charge(); TACHO_PULSE_HIGH(); } void beginCoil2and5Charge() { beginCoil2Charge(); beginCoil5Charge(); TACHO_PULSE_LOW(); } void endCoil2and5Charge() { endCoil2Charge(); endCoil5Charge(); TACHO_PULSE_HIGH(); } void beginCoil3and6Charge() { beginCoil3Charge(); beginCoil6Charge(); TACHO_PULSE_LOW(); } void endCoil3and6Charge() { endCoil3Charge(); endCoil6Charge(); TACHO_PULSE_HIGH(); } //For 8cyl wasted COP mode) void beginCoil1and5Charge() { beginCoil1Charge(); beginCoil5Charge(); TACHO_PULSE_LOW(); } void endCoil1and5Charge() { endCoil1Charge(); endCoil5Charge(); TACHO_PULSE_HIGH(); } void beginCoil2and6Charge() { beginCoil2Charge(); beginCoil6Charge(); TACHO_PULSE_LOW(); } void endCoil2and6Charge() { endCoil2Charge(); endCoil6Charge(); TACHO_PULSE_HIGH(); } void beginCoil3and7Charge() { beginCoil3Charge(); beginCoil7Charge(); TACHO_PULSE_LOW(); } void endCoil3and7Charge() { endCoil3Charge(); endCoil7Charge(); TACHO_PULSE_HIGH(); } void beginCoil4and8Charge() { beginCoil4Charge(); beginCoil8Charge(); TACHO_PULSE_LOW(); } void endCoil4and8Charge() { endCoil4Charge(); endCoil8Charge(); TACHO_PULSE_HIGH(); }
thank you LPG2CV 1. About the timing: Just to be[…]
I'm currently in the process of changing only the […]
Still can't find what you're looking for?