Macros Programming Error?

So I created a simple macros program for this year’s competition tower takeover. The point of this macros is to move the tray first and then move the lift up. When I tested it out I could see the kind of hear and slightly see the motors move but nothing really happens. I will put the code below. Can someone pls help me.

void DR4bUp() {
  Lift.rotateFor(2.5, vex::rotationUnits::rev);
  int tilterMotorPCT = 70;
  Tilter.spin(vex::directionType::fwd, tilterMotorPCT, vex::velocityUnits::pct);
}
void DR4BDown(){
  Lift.rotateFor(-2.5, vex::rotationUnits::rev);
  int tilterMotorPCT = 70;
  Tilter.spin(vex::directionType::rev, tilterMotorPCT, vex::velocityUnits::pct);
  
}

void usercontrol(void) {
  // User control code here, inside the loop

  while (true) {

Controller1.ButtonR2.pressed( DR4BDown );
 Controller1.ButtonR1.pressed( DR4bUp );
}

put the event registration calls outside of the while loop.

void usercontrol(void) {
  // register event handlers
  Controller1.ButtonR2.pressed( DR4BDown );
  Controller1.ButtonR1.pressed( DR4bUp );

  // User control code here, inside the loop
  while (true) {
      task::sleep(20);
  }
}
6 Likes