    */
   IRreceiver(Board::InterruptPin pin, uint8_t max, uint32_t threshold) :
     InterruptPin(pin, InterruptPin::ON_FALLING_MODE),
+    Link(),
     m_threshold(threshold),
     m_start(0),
     m_ix(0),

  {}

  /**
   * Print the captured binary code to the given output stream.
   * @param[in] out stream.
   */
  void print(IOStream& out)

    m_sample[m_ix] = us;
#endif
    
    // Push event when all samples have been received
    m_ix += 1;
    if (m_ix == m_max) {
      // Remove from timer queue; cancel the timer
      detach();
      // Check the header and push event
      if ((m_code >> PRE_DATA_BITS) == PRE_DATA) {
	Event::push(Event::READ_COMPLETED_TYPE, 0, m_code);
      }
    }
  }

