     }
 }
 
-#ifdef USE_DIVERSITY
 uint16_t readRSSI()
 {
     return readRSSI(-1);
 }
 uint16_t readRSSI(uint8_t receiver)
 {
-#else
-uint16_t readRSSI()
-{
-#endif
     uint16_t rssi = 0;
     uint16_t rssiA = 0;
-#ifdef USE_DIVERSITY
     uint16_t rssiB = 0;
-#endif
     for (uint8_t i = 0; i < 10; i++)
     {
         rssiA += analogRead(rssiPinA);
-#ifdef USE_DIVERSITY
         rssiB += analogRead(rssiPinB);
-#endif
-    }
-    rssiA = rssiA/10;
-#ifdef USE_DIVERSITY
-    rssiB = rssiB/10;
+    }
+    rssiA = rssiA/10; // average of 10 readings
+    rssiB = rssiB/10; // average of 10 readings
     // choosing which receiver RSSI to use.. do not change LED
     if(receiver == useReceiverA)
     {

#define EEPROM_ADR_RSSI_MIN_A_H 3
#define EEPROM_ADR_RSSI_MAX_A_L 4
#define EEPROM_ADR_RSSI_MAX_A_H 5
#ifdef USE_DIVERSITY
#define EEPROM_ADR_DIVERSITY 6
#define EEPROM_ADR_RSSI_MIN_B_L 7
#define EEPROM_ADR_RSSI_MIN_B_H 8
#define EEPROM_ADR_RSSI_MAX_B_L 9
#define EEPROM_ADR_RSSI_MAX_B_H 10
#endif
//#define DEBUG

// Channels to sent to the SPI registers
const uint16_t channelTable[] PROGMEM = {

        // save 16 bit
        EEPROM.write(EEPROM_ADR_RSSI_MAX_B_L,lowByte(RSSI_MAX_VAL));
        EEPROM.write(EEPROM_ADR_RSSI_MAX_B_H,highByte(RSSI_MAX_VAL));
    }

    // read last setting from eeprom
    state=EEPROM.read(EEPROM_ADR_STATE);
    channelIndex=EEPROM.read(EEPROM_ADR_TUNE);
    rssi_min_a=((EEPROM.read(EEPROM_ADR_RSSI_MIN_A_H)<<8) | (EEPROM.read(EEPROM_ADR_RSSI_MIN_A_L)));
    rssi_max_a=((EEPROM.read(EEPROM_ADR_RSSI_MAX_A_H)<<8) | (EEPROM.read(EEPROM_ADR_RSSI_MAX_A_L)));
    diversity_mode = EEPROM.read(EEPROM_ADR_DIVERSITY);
    rssi_min_b=((EEPROM.read(EEPROM_ADR_RSSI_MIN_B_H)<<8) | (EEPROM.read(EEPROM_ADR_RSSI_MIN_B_L)));
    rssi_max_b=((EEPROM.read(EEPROM_ADR_RSSI_MAX_B_H)<<8) | (EEPROM.read(EEPROM_ADR_RSSI_MAX_B_L)));
    force_menu_redraw=1;
}

