Solar tracker using linear actuators

PositionStops

/* IF HORIZPOT REACHES MIN 235 OR MAX 700 STOP MOTOR"B" FROM DRIVING PAST MIN OR MAX BUT ALLOW MOTOR TO DRIVE BACK THE OPPOSITE WAY
 * IF VERTPOT REACHES MIN 285 OR MAX 555 DO SAME AS ABOVE FOR MOTOR"A" 
 */
bool PositionStopUp(){
   if(vertPotVal <= 285){
      digitalWrite(AIN1, LOW);
      digitalWrite(AIN2, LOW);
      return true;
   }
   return false;
}

bool PositionStopDown(){
   if(vertPotVal >= 555){
      digitalWrite(AIN1, LOW);
      digitalWrite(AIN2, LOW);
      return true;
   }
   return false;
}

bool PositionStopLeft(){
   if(horizPotVal <= 235){
      digitalWrite(BIN1, LOW);
      digitalWrite(BIN2, LOW);
      return true;
   }
   return false;
}

bool PositionStopRight(){
   if(horizPotVal >= 700){
      digitalWrite(BIN1, LOW);
      digitalWrite(BIN2, LOW);
      return true;
   }
   return false;
}

void StopVert(){
   digitalWrite(AIN1, LOW);
   digitalWrite(AIN2, LOW);
}

void StopHoriz(){
   digitalWrite(BIN1, LOW);
   digitalWrite(BIN2, LOW);
}

UpdatePosition

void UpdatePosition(){
   
   startAlignMillis = millis();

  if((motorAstate == true) || (motorBstate == true)){   
     digitalWrite(redLEDpin, HIGH);                    //WHEN MOVING INTO ALIGNMENT TURN
     digitalWrite(blueLEDpin, LOW);                   // BLUE LED ON
     digitalWrite(greenLEDpin, HIGH);
  }
  
  if(motorAstate == true){ 
// CHECK IF THE DIFFERENCE IS WITHIN THE TOLERANCE ELSE CHANGE THE VERTICAL ANGLE  
     if(-1*tolerance > dvert || dvert > tolerance){
        digitalWrite(StandBy, HIGH);
        analogWrite(APWM, 200);
      
        if(avt > avb){                 //DRIVE MOTOR DOWN
           if(!PositionStopDown()){
              digitalWrite(AIN1, HIGH);
              digitalWrite(AIN2, LOW);
           }
        }
        else if(avt < avb){            //DRIVE MOTOR UP
           if(!PositionStopUp()){
              digitalWrite(AIN1, LOW);
              digitalWrite(AIN2, HIGH);
           }
        }
     }
     else{                   // IF THE DIFFERENCE IS WITHIN THE TOLERANCE TURN OFF MOTOR
        StopVert();
        digitalWrite(APWM, LOW);
        motorAstate = false;
     }
  }

  if(motorBstate == true){  
// CHECK IF THE DIFFERENCE IS WITHIN THE TOLERANCE ELSE CHANGE THE HORIZONTAL ANGLE 
     if(-1*tolerance > dhoriz || dhoriz > tolerance){
        digitalWrite(StandBy, HIGH);
        analogWrite(BPWM, 200);
    
        if(avl > avr){                      //DRIVE MOTOR RIGTH
           if(!PositionStopRight()){
              digitalWrite(BIN1, HIGH);
              digitalWrite(BIN2, LOW);
           }
        }
        else if(avl < avr){                  //DRIVE MOTOR LEFT
           if(!PositionStopLeft()){
              digitalWrite(BIN1, LOW);
              digitalWrite(BIN2, HIGH);
           }
        }
     }
     else{                    // IF THE DIFFERENCE IS WITHIN THE TOLERANCE TURN OFF MOTOR
        StopHoriz();
        digitalWrite(BPWM, LOW);
        motorBstate = false;
     }
  }

  if((motorAstate == false) && (motorBstate == false)){ 
 // WHEN ALINDED FADE GREEN LED ON AND OFF. TURN OFF MOTOR DRIVER FOR THE alingnedInterval
     digitalWrite(redLEDpin, HIGH);
     digitalWrite(blueLEDpin, HIGH);
     time = millis();                            
     value = 128+127*cos(2*PI/slowFlash*time);
     analogWrite(greenLEDpin, value); 
     //Serial.print("   Aligned  ");
     digitalWrite(StandBy, LOW);    
     comingFromAligned = true;
  
     if(isAlignFirstLoop == true){          //RESET THE TIMER
        prevAlignMillis = startAlignMillis;
        isAlignFirstLoop = false;
     }
     
     if((unsigned long)startAlignMillis - prevAlignMillis >= alignedInterval){    
        motorAstate = true; //ONCE THE ALIGNED INTERVAL HAS FINISHED SET MOTOR STATES TO HIGH
        motorBstate = true;
        isAlignFirstLoop = true;    //SET PREVMILLIS TO CURRENTMILLIS
     //   Serial.print("   UPDATE PING !!!!!!!!!!!!!          ");
     }
   }
}