PS4 Controls Servo For a Little Bit Then Stops

I have written code with the USB host shield library to control a servo with a PS4 controller, it works for little bit then after a little bit it stops working in my code I put a marker on the Base Servo function it stops giving me that message after a little bit here is my code:

#include <Servo.h>
#include <PS4USB.h>

// Satisfy the IDE, which needs to see the include statment in the ino too.
#ifdef dobogusinclude
#include <spi4teensy3.h>
#include <SPI.h>
#endif

USB Usb;
PS4USB PS4(&Usb);

bool printAngle, printTouch;
uint8_t oldL2Value, oldR2Value;

int BaseServoPin = 7;
int FirstSegmentServoPin = 44 ;
int SecondSegmentServoPin = 45;
int ClawRotationServoPin = 10;
int ClawSliderServoPin = 9;
int ClawPennyGrabberServoPin = 8;

double BSV = 90;
double FSS = 90;
double SSS = 90;
double CRS = 90;
double CSS = 90;
double CPGS = 90;

Servo BaseServo;
Servo FirstSegmentServo;
Servo SecondSegmentServo;
Servo ClawRotationServo;
Servo ClawSliderServo;
Servo ClawPennyGrabberServo;

void setup()
{
Serial.begin(115200);
#if !defined(MIPSEL)
while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
#endif
if (Usb.Init() == -1) {
Serial.print(F("\r\nOSC did not start"));
while (1); // Halt
}
Serial.print(F("\r\nPS4 USB Library Started"));

BaseServo.attach(BaseServoPin);
FirstSegmentServo.attach(FirstSegmentServoPin);
SecondSegmentServo.attach(SecondSegmentServoPin);
ClawRotationServo.attach(ClawRotationServoPin);
ClawSliderServo.attach(ClawSliderServoPin);
ClawPennyGrabberServo.attach(ClawPennyGrabberServoPin);
}

void loop(){
Usb.Task();

if(PS4.connected()){
BaseServoControl();
BaseServo.write(BSV);
FirstSegmentServoControl();
FirstSegmentServo.write(FSS);
SecondSegmentServoControl();
SecondSegmentServo.write(SSS);
DropPenny();
ClawSliderServo.write(CSS);
ClawRotation();
ClawRotationServo.write(CRS);
}
}

void BaseServoControl(){
if(BSV < 170){
if(PS4.getAnalogHat(LeftHatX) > 137 ){
BSV+=.02;
Serial.println("Base Servo");
}
}
if(BSV > 10){
if(PS4.getAnalogHat(LeftHatX) < 117 ){
BSV-=.02;
Serial.println("Base Servo");
}

}
}

void FirstSegmentServoControl(){
if(FSS <= 179){
if(PS4.getAnalogButton(L2) > 20){
FSS+=.02;
}
}
if(FSS >= 10){
if(PS4.getAnalogButton(R2) > 20){
FSS-= .02;
}
}
}
void SecondSegmentServoControl(){
if(SSS <=170){
if(PS4.getAnalogHat(LeftHatY) > 137 ){
SSS+=.07;
}
}
if(SSS >= 10){
if(PS4.getAnalogHat(LeftHatY) < 117 ){
SSS-=.07;
}
}
}

void DropPenny(){
if(PS4.getButtonClick(SQUARE)){
CSS = CSS - 30;
CSS = CSS + 30;
}
}

void ClawRotation(){
if(PS4.getButtonClick(TRIANGLE)){
CRS+=.07;
}
if(PS4.getButtonClick(X)){
CRS-=.07;
}
}
void ClawPennyGrabber(){
if(PS4.getButtonClick(L1)){
CPGS = 30;
}
if(PS4.getButtonClick(R1)){
CRS-= 0;
}
}

P.S It isn't a power source problem I check amperage and voltage seems to be stable

Use code tags </>

What happens when BSV == 50 and PS4.getAnalogHat(LeftHatX) == 125 ?

It would do nothing, because the controller isn't moving far enough to warrant a response