 Serial.print(downLow);
 Serial.print("-");
 Serial.println(downHigh);
+
+        
+ frequency = ( ((upLow + downLow) / 2) + ((((upHigh + downHigh) / 2) - ((upLow + downLow)/ 2)) / 2)   );
+ Serial.print("Centre frequency offset is ");
+ Serial.println(frequency);
+ config.ee_frequency_hi = frequency >> 8;
+ config.ee_frequency_lo = frequency & 0x00FF;
+
+  config.crc = ~0;
+  for (byte i = 0; i < sizeof config - 2; ++i)
+    config.crc = _crc16_update(config.crc, ((byte*) &config)[i]);
+
+  // save to EEPROM
+  for (byte i = 0; i < sizeof config; ++i) {
+    byte b = ((byte*) &config)[i];
+    eeprom_write_byte(RF12_EEPROM_ADDR + i, b);
+  }
+  if (!rf12_config())
+    Serial.println("config save failed");
+
  delay(32767);
 }
 

  for (scan = (frequency + 50); scan > (frequency - 50); --scan)
  {
   rf12_control(0xA000 + scan); 
//   Serial.print("Sending "); 
//   Serial.println(scan);
   byte good = probe();
   if (good){
     if (scan > downHigh) downHigh = scan;
     if (scan < downLow) downLow = scan;
     Serial.print("\n");
     Serial.print(good);
//     Serial.print("Received "); 
//     Serial.println(scan);
     delay(50); 
   }
      else {

  
  Serial.begin(SERIAL_BAUD);
  Serial.println("\n[RF12tune.0]");
  
  for (byte i = 0; i < (RF12_EEPROM_SIZE * 2); i+=2 ) {
    w = ChkHex(importedConfig[i]);
