 
     unsigned char nodeId = ((rf12_buf[0] & 0x0f) << 2) | (rf12_buf[1] >> 6);
     unsigned int val = (rf12_buf[1] & 0x0f) << 8 | rf12_buf[2];
-    packetReceived(nodeId, val);
+    return packetReceived(nodeId, val);
   }
   if (_pinLedRx != 0xff) digitalWrite(_pinLedRx, LOW);
+  return false;
 }
 
 static unsigned int analogReadSleep(unsigned char pin)
 {
-  _adcBusy = 1;
+  _adcBusy = true;
   ADMUX = (DEFAULT << 6) | pin;
   bitSet(ADCSRA, ADIE);
   set_sleep_mode(SLEEPMODE_ADC);

  {
    if (PIN_DISABLED(pin))
      continue;
    if (hasTransmitted) sleep(WDTO_15MS, false);
    transmitTemp(pin);
    hasTransmitted = true;
  }
  
#if RECEIVE_TEST == 0
  rf12_sleep(RF12_SLEEP);
#endif
  if (_pinLedTx != 0xff)
  {
    digitalWrite(_pinLedTx, HIGH);
    sleep(WDTO_15MS, false);
    digitalWrite(_pinLedTx, LOW);
  }
}

  updateBatteryLow();
  // We're done with the ADC shut it down until the next wake cycle
  ADCSRA &= ~bit(ADEN);
  if (_isRecent && (millis() > RECENT_EXPIRE_SECS))
  {
    //Serial.print("No longer recent\n");
    _isRecent = 0;
