Vexcode Pro V5 Drivetrain is not working for autonomus and usercontrol

Hi, my code for the autonomous and user control is not working. The autonomous is not running (it moves about an inch and then stops and makes motor sounds) and the user control is making the robot drive forward and backward, at the same time, when it should only be driving forward. This is in the competition template but the same problems persists outside of the template as well. Code provided below:

/*----------------------------------------------------------------------------*/
/*                                                                            */
/*    Module:       main.cpp                                                  */
/*    Author:       VEX                                                       */
/*    Created:      Thu Sep 26 2019                                           */
/*    Description:  Competition Template                                      */
/*                                                                            */
/*----------------------------------------------------------------------------*/

// ---- START VEXCODE CONFIGURED DEVICES ----
// Robot Configuration:
// [Name]               [Type]        [Port(s)]
// Intake               motor         4               
// Controller1          controller                    
// Drivetrain           drivetrain    12, 11, 20, 3   
// ---- END VEXCODE CONFIGURED DEVICES ----

#include "vex.h"

using namespace vex;

// A global instance of competition
competition Competition;

// define your global instances of motors and other devices here

/*---------------------------------------------------------------------------*/
/*                          Pre-Autonomous Functions                         */
/*                                                                           */
/*  You may want to perform some actions before the competition starts.      */
/*  Do them in the following function.  You must return from this function   */
/*  or the autonomous and usercontrol tasks will not be started.  This       */
/*  function is only called once after the V5 has been powered on and        */
/*  not every time that the robot is disabled.                               */
/*---------------------------------------------------------------------------*/

void pre_auton(void) {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();

  // All activities that occur before the competition starts
  // Example: clearing encoders, setting servo positions, ...
}

/*---------------------------------------------------------------------------*/
/*                                                                           */
/*                              Autonomous Task                              */
/*                                                                           */
/*  This task is used to control your robot during the autonomous phase of   */
/*  a VEX Competition.                                                       */
/*                                                                           */
/*  You must modify the code to add your own robot specific commands here.   */
/*---------------------------------------------------------------------------*/

void autonomous(void) {
  // ..........................................................................
//Turn and Drive forward into goal with preloaded discs
Drivetrain.turnFor(left,90,degrees);
Drivetrain.driveFor(forward,36,inches); //make this more to get it into the goal if need be

//Release discs with intake
Intake.setVelocity(90,percent);
Intake.spinFor(reverse,10,turns);

//360 turn and/to "line up with discs" outside of goal
Drivetrain.turnFor(right,360,degrees);
  //Drive forward half a square
Drivetrain.driveFor(forward,12,inches);
  //Turn to line up with discs
Drivetrain.turnFor(left,90,degrees);

//Drive 1 1/2 squares to push discs on first line
Drivetrain.driveFor(forward,36,inches);

//Turn to line up with discs on second line
Drivetrain.turnFor(left,90,degrees);

//Drive to 1 1/2 squares to push discs on second line
Drivetrain.driveFor(forward,36,inches);

//Turn to push discs into the goal while driving, to create a wide, round turn
Drivetrain.driveFor(forward,48,inches,false);
Drivetrain.turnFor(left,90,degrees);

//Back up 1 square to be next to the opening of the goal and turn to be looking at opening
Drivetrain.driveFor(reverse,24,inches);
Drivetrain.turnFor(left,90,degrees);
  // ..........................................................................
}

/*---------------------------------------------------------------------------*/
/*                                                                           */
/*                              User Control Task                            */
/*                                                                           */
/*  This task is used to control your robot during the user control phase of */
/*  a VEX Competition.                                                       */
/*                                                                           */
/*  You must modify the code to add your own robot specific commands here.   */
/*---------------------------------------------------------------------------*/

void usercontrol(void) {
  // User control code here, inside the loop
  while (1) {
    // This is the main execution loop for the user control program.
    // Each time through the loop your program should update motor + servo
    // values based on feedback from the joysticks.

    // ........................................................................
      //Intake Velocity Code for Controller
 if(Controller1.ButtonR1.pressing()){
          Intake.spin(directionType::fwd,70,velocityUnits::pct);
  }
 if(Controller1.ButtonR2.pressing()){
          Intake.spin(directionType::rev,70,velocityUnits::pct);
 }

      //Drivetrain Velocity Code for Controller
 Drivetrain.setDriveVelocity(80, percent);
    // ........................................................................

    wait(20, msec); // Sleep the task for a short amount of time to
                    // prevent wasted resources.
  }
}

//
// Main will set up the competition functions and callbacks.
//
int main() {
  // Set up callbacks for autonomous and driver control periods.
  Competition.autonomous(autonomous);
  Competition.drivercontrol(usercontrol);

  // Run the pre-autonomous function.
  pre_auton();

  // Prevent main from exiting with an infinite loop.
  while (true) {
    wait(100, msec);
  }
}