 
 unsigned int getRPM()
 {
-  if (debug)
+  noInterrupts();
+  if (debug  && loopsSinceSerialWrite >= serialOutLoops)
   {
     Serial.print("t0: ");
     Serial.print(tachDuration0);

        break;
      case DWELL:
        //Charging Coil
        Timer1.attachInterrupt(ISR_IGNITION, dwell);
        Timer1.start();
        break;

volatile unsigned long tachDuration1 = 0;
volatile unsigned long tachDuration2 = 0;
volatile unsigned long tachLast = 0;
volatile byte ignitionMode = OFF;
volatile byte remainingCount = 0;
volatile bool updateTimer = false;
int loopsSinceSerialWrite = 0;
long period = 0;

// -------------------------
