 
 // If defined will dump all the unencoded RX data, and partial decode fails
 #define DUMP_RX
+// If defined USE_TIMER1_PRESCALE will use TIMER1 instead of micros() to time pulses
+//#define USE_TIMER1_PRESCALE 64
 
 static uint16_t g_TxId;
 static uint8_t g_TxCnt;

  }
  if (v != 0)
  {
    if (decodeRxPulse(v) == 1)
    {
      decodeRxPacket();


static void pinChange(void)
{
#if defined(USE_TIMER1_PRESCALE)
  if (bit_is_clear(TIFR1, TOV1))
  {
    uint16_t cnt = TCNT1;
    pulse_433 = cnt;
  }
  TCNT1 = 0;
  bitClear(TIFR1, TOV1);
#else
  static uint16_t last_433;

  uint16_t now = micros();
  uint16_t cnt = now - last_433;
  if (cnt > 10)
    pulse_433 = cnt;

  last_433 = now;
#endif
}

ISR(VECT) {
