Vex C++ Catapult Help

For vex c++ whenever we run our drive code our catapult keeps on dry firing. Does anybody know why this is happening. Our code is included below, Thanks.

#include “robot-config.h”

int SetCatapult(){
while(Potentiometer.value(analogUnits::range12bit) > 1400){
C1.spin(directionType::rev);
C2.spin(directionType::fwd);
}

return 0;

}
bool Once = false;

int main() {
while(true) {
SetCatapult();

    //Drive
    FL.spin(vex::directionType::fwd, Controller1.Axis3.value(), vex::velocityUnits::pct);
    BL.spin(vex::directionType::fwd, Controller1.Axis3.value(), vex::velocityUnits::pct);
    FR.spin(vex::directionType::fwd, Controller1.Axis2.value(), vex::velocityUnits::pct);
    BR.spin(vex::directionType::fwd, Controller1.Axis2.value(), vex::velocityUnits::pct);
    //Catapult
    if(Controller1.ButtonR1.pressing() && Once==false){
        SetCatapult();
        Once = true;
    }
    
    else if(Controller1.ButtonR1.pressing() && Once==true){
        C1.spin(directionType::rev);
        C2.spin(directionType::fwd);
    }
    
    //Intake
    if(Controller1.ButtonL1.pressing()){
        Intake.spin(vex::directionType::rev, 100, vex::velocityUnits::pct);
    }
    
    else if(Controller1.ButtonL2.pressing()){
        Intake.spin(vex::directionType::fwd, 100, vex::velocityUnits::pct);
    }
    
    else{
        Intake.spin(vex::directionType::fwd, 0, vex::velocityUnits::pct);
    }
}

}

You only ever start your catapult motors, never stopping them. You will discover some other problems when you fix that one.

Thanks, but how and where do you stop the catapult motors?

As john was saying you need a stop command


Else {
motor.stop(brakeType::brake);
}

Thanks

No problem