 
     
     Serial.println(config.msg);
-    Serial.println(config.crc, HEX);
+    showNibble(config.crc >> 12);
+    showNibble(config.crc >> 8);
+    showNibble(config.crc >> 4);
+    showNibble(config.crc);
     
     
     if (rf12_config()) Serial.println("Config Initialized");
      
     frequency = (config.ee_frequency_hi << 8) + config.ee_frequency_lo;              // Loose flag nibble to get frequency high order
-    Serial.println(frequency);
-    
+  for (scan = (frequency - 50); scan < (frequency + 50); ++scan)
+  {
+   rf12_control(0xA000 + scan); 
+   Serial.print("Sending "); 
+   Serial.println(scan);
+   delay(50); 
+   byte acked = probe();
+   if (acked){
+     Serial.print("Received "); 
+     Serial.println(scan);
+   }
+      else {
+        Serial.print("No Ack ");
+        Serial.println(scan);
+      }
+  }   
  delay(32767);
+}
+
+static byte probe() 
+  {
+      for (byte i = 0; i < RETRY_LIMIT; ++i) 
+      {
+        while (!rf12_canSend())
+        rf12_recvDone();
+        rf12_sendStart(RF12_HDR_ACK, &config, sizeof config, RADIO_SYNC_MODE);
+        byte acked = waitForAck();
+        if (acked) {
+          return 1;
+        }
+      }
+    return 0;
+  }
+
+// wait a few milliseconds for proper ACK to me, return true if indeed received
+static byte waitForAck() {
+    MilliTimer ackTimer;
+    while (!ackTimer.poll(ACK_TIME)) {
+        if (rf12_recvDone() && rf12_crc == 0 &&
+                // see http://talk.jeelabs.net/topic/811#post-4712
+                rf12_hdr == (RF12_HDR_DST | RF12_HDR_CTL | (config.nodeId & 0x1F)))
+            return 1;
+    }
+    return 0;
 }
 static char ChkHex(char c) {
   if ((c > 64) && (c < 71)) return (c + 9);    // "A" to "F"

//    Serial.print(h, HEX);
  }
 Serial.println(); 
 Serial.println(config.crc, HEX);
 
///   for (byte i = 0; i < sizeof RF12_EEPROM_SIZE - 2; ++i)
///    config.crc = _crc16_update(config.crc, ((byte*) &config)[i]);

#else
#define SERIAL_BAUD 57600
#endif
byte h, w;

void setup() {
