task DebugTask(debug);
task AutoSelectTask(selectAuto);
task trackingTask(a);
task OutakeUntil(outtakeUntil);
these are the 4 tasks i use, I stop the select Auto when the autonomous code starts
Here is the part of the auto I was running
Drive.PIDMoveTo(10, 0, 0, 600, 0, 60);
intakes.spin(127);
task::sleep(1000);
tower.stop();
intakes.stop();
//FIRST BALL
OutakeUntil.resume();
//SECOND TOWER
Drive.TurnTo(2, 0, 0, 1000, 90);
Drive.PIDMoveTo(10, 0, 0, 2000, 2, 90.0f);
OutakeUntil.suspend();
tower.stop();
intakes.stop();
Drive.TurnTo(2, 0, 0, 1000, 180);
intakes.spin(127);
Drive.PIDMoveTo(10, 0, 0, 1000, 3, 180.0f);
tower.spin(127,spitBall,1000);
tower.stop();
Drive.setAngle(180);
//SECOND BALL
tower.spin(-127, spitBall);
intakes.spin(-127);
Drive.PIDMoveTo(10, 0, 0, 1700, 2, 180.0f);
OutakeUntil.resume();
Drive.TurnTo(2, 0, 0, 800, 90);
//THIRD TOWER
Drive.PIDMoveTo(10, 0, 0, 1800, 5, 90.0f);
OutakeUntil.suspend();
tower.stop();
intakes.stop();
Drive.TurnTo(2, 0, 0, 1000, 135);
Drive.PIDMoveTo(10, 0, 0, 1800, 6, 135.0f);
intakes.spin(127);
intakes.spin(127);
tower.spin(127, spitBall,1000);
tower.stop();
intakes.stop();
If you see a command twice, it is because it won’t run if it isn’t put twice.
RightIntake.spin(directionType::fwd,speed,velocityUnits::pct);
LeftIntake.spin(directionType::fwd,speed,velocityUnits::pct);
that is everything in the intakes.spin function that skips
tell me if you need anything else;