     if(baseColor.value){ //test if the base is still lit
         baseColor.value--; //cut the brightness
     }
-    if(beaconColor.value){ //test if the beacon is still lit
+    
+    if(beaconColor.value > extinguishValue){ //test if the beacon is still lit
         beaconColor.value--; //decrement the inital beacon color brightness
         
         //make the entire ring array as bright as the initial beacon color

        }
        
    }
    baseLedsLit = map(baseColor.value,0,255,2,STRIP_LEDS); // figure out how many base LEDs are lit
    fill_solid(stripLeds, STRIP_LEDS, CRGB::Black); //turn the beacon black
    fill_solid(stripLeds, baseLedsLit, baseColor); //write the relevant LEDs the color
}

void beaconFill(NSFastLED :: CHSV color){ //Fills the ring LED's with the HSV array made from the beacon color sent
    fill_solid(HSVRing, RING_LEDS, color);
    uint8_t hue = color.hue;
    for (int i = 1; i < RING_LEDS/2; i++){ //this tweaks the hues around the ring
        HSVRing[i].hue = hue+i;
        HSVRing[RING_LEDS-i].hue = hue + i;
    }
}
void beaconSpin(){

/*
__________________________Communication Variables__________________________
*/
String selfName = "Tim"; //The name of this device
String otherName = "Bonnie"; //The name of the device you're listening to
char publishString [64]; //the string being published
/*
__________________________Misc Variables__________________________
*/
const int button = D3; //The push button pin
const int potPin = A0; //The pin with the brightness potentiometer attached.
uint8_t brightness = 254; //Global brightness assignment
uint8_t baseLedsLit; //The current number of lit LEDS
uint8_t whileDelay = 8; //delay used in the while loop, in ms (Zero might mess with the wifi if held too long)
uint8_t extinguishValue = 20; //Cut off the light here before things get weird.

unsigned long decayRate = 7500; //decay rate in MS (11500). a fully lit beacon decays to zero in a bit more than 8 hours.
unsigned long decayUpdate = 0;

unsigned long spinRate = 250; //spin rate in MS. ideally a full rotation happens every 5 seconds or so
unsigned long spinUpdate = 0;

/*
