function to class / debug

Hey people
trying to get the attached code to work, cant see where im going wrong.
All im trying to do is use the class to blink the LED on pin 13.

int pin = 13;
class TestTimer{
  public:
    unsigned long snapshot;
    unsigned long (target);
    bool timerUp;

  void setTimer(unsigned long value){
    target = value;
  }
  
  void startTimer(){
    timerUp = false;
    unsigned long x = (millis()-snapshot);
    if(x >= target){
      snapshot = millis();
    timerUp = !timerUp;  
    }          
  }
};

//TestTimer serial;
TestTimer LED;


void setup() {
  pinMode(pin, OUTPUT);
  
//  Serial.begin(115200);
//  serial.setTimer(1000);
  
  LED.setTimer(500);
//  serial.startTimer();
  
}

void loop() {  
  LED.startTimer();
  
  if (LED.timerUp = false){
    digitalWrite(pin, LOW);
  }
  if(LED.timerUp = true){
    digitalWrite(pin, HIGH);
  }
   
//  Serial.print(serial.snapshot);
//  Serial.print("  -  ");
//  Serial.println(serial.timerUp);
}

i know the timer works because if i put (Serial.print something) in the place of (timerUp = !timerUp);
it will print out once per time frame.

What rules are good to stick to when trying to debug code when its not going your way.

 if (LED.timerUp = false){

BZZZZZT

Hint: data (variable) members of a class are generally not "public".

AWOL == the shit
thanks, so simple. kept looking at the wrong things

because that was so simple can you tell a novice some rules you stick to when debugging
answer == why yes joe sure

The rules of debugging?
Same as Sherlock - " How often have I said to you that when you have eliminated the impossible, whatever remains, however improbable, must be the truth?"

Doubt everything - except the compiler.

Also, if you've tested a variable to see if a variable is false, and it isn't, there's no need to test it again to see if it is true.

lesson 1 finished
Thanks