diff --git a/speeduino/scheduler.ino b/speeduino/scheduler.ino index 9761a746..49169e0d 100644 --- a/speeduino/scheduler.ino +++ b/speeduino/scheduler.ino @@ -664,7 +664,7 @@ void setIgnitionSchedule7(void (*startCallback)(), unsigned long timeout, unsign else { timeout_timer_compare = uS_TO_TIMER_COMPARE(timeout); } //Normal case noInterrupts(); - ignitionSchedule7.startCompare = IGN4_COUNTER + timeout_timer_compare; + ignitionSchedule7.startCompare = IGN7_COUNTER + timeout_timer_compare; if(ignitionSchedule7.endScheduleSetByDecoder == false) { ignitionSchedule7.endCompare = ignitionSchedule7.startCompare + uS_TO_TIMER_COMPARE(duration); } //The .endCompare value is also set by the per tooth timing in decoders.ino. The check here is so that it's not getting overridden. IGN7_COMPARE = ignitionSchedule7.startCompare; ignitionSchedule7.Status = PENDING; //Turn this schedule on diff --git a/speeduino/speeduino.ino b/speeduino/speeduino.ino index c2ee4b70..c3f3245d 100644 --- a/speeduino/speeduino.ino +++ b/speeduino/speeduino.ino @@ -1440,7 +1440,7 @@ void calculateIgnitionAngles(int dwellAngle) if(configPage4.sparkMode == IGN_MODE_SEQUENTIAL) { ignition5EndAngle = channel5IgnDegrees - currentStatus.advance; - if(ignition3EndAngle > CRANK_ANGLE_MAX_IGN) {ignition5EndAngle -= CRANK_ANGLE_MAX_IGN;} + if(ignition5EndAngle > CRANK_ANGLE_MAX_IGN) {ignition5EndAngle -= CRANK_ANGLE_MAX_IGN;} ignition5StartAngle = ignition5EndAngle - dwellAngle; if(ignition5StartAngle < 0) {ignition5StartAngle += CRANK_ANGLE_MAX_IGN;}