1516X High Stakes 2.0
Codebase for 1516X High Stakes season
Loading...
Searching...
No Matches
autons.cpp File Reference
#include "robot/auton.h"
#include "globals.h"
#include "lemlib/chassis/chassis.hpp"
#include "main.h"
#include "pros/motors.h"
#include "pros/rtos.hpp"
#include "robot/intake.h"
#include "robot/ladybrown.h"
#include "robot/sweeper.h"
#include <iostream>
#include <string>

Go to the source code of this file.

Functions

void RedNegBAK (Intake &intake, Latch &latch, DistanceSensor &distance, LadyBrown &ladybrown)
 
void RedPosBAK (Intake &intake, Latch &latch, Sweeper &sweeper, DistanceSensor &distance, LadyBrown &ladybrown)
 
void BluePosBAK (Intake &intake, Latch &latch, Sweeper &sweeper, DistanceSensor &distance, LadyBrown &ladybrown)
 
void BlueNegBAK (Intake &intake, Latch &latch, DistanceSensor &distance, LadyBrown &ladybrown)
 

Variables

constexpr int delay_constant = 1050
 

Function Documentation

◆ BlueNegBAK()

void BlueNegBAK ( Intake & intake,
Latch & latch,
DistanceSensor & distance,
LadyBrown & ladybrown )

Definition at line 539 of file autons.cpp.

539 {
540
541
542 // Blue Negative 3+1 & touch
543 HookMotor.set_zero_position(HookMotor.get_position());
544 colorSensor.set_led_pwm(70);
545 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
546 //Edge of lady brown is 5.5 inches from the alliance wall stake.
547 chassis.setPose(0, 0, -112);
548
549 ladybrown.MoveToPoint(LadyBrown::ATTACK_STATE, 150, 900);
550
551 chassis.moveToPose(11, 44, 180, 2000, {.forwards=false, .horizontalDrift=5.5});
552
553 ladybrown.MoveToPoint(LadyBrown::BASE_STATE, 150, 1000);
554 chassis.waitUntilDone();
555 LatchControl.extend();
556 pros::delay(250);
557 chassis.swingToPoint(26, 55, lemlib::DriveSide::LEFT, 1500, {.direction=AngularDirection::CCW_COUNTERCLOCKWISE});
558
559 IntakeMotor.move_velocity(600);
560 HookMotor.move_velocity(200);
561 chassis.moveToPoint(26, 55, 5000);
562 chassis.turnToPoint(42, 55.5, 5000);
563
564 chassis.moveToPoint(42, 55.5, 2500, {.minSpeed = 65}, false);
565 pros::delay(750);
566
567 chassis.turnToPoint(32, 40, 1000, {.forwards=false});
568 chassis.moveToPoint(32, 40, 1000, {.forwards=false});
569 chassis.turnToPoint(38, 39, 1000);
570 chassis.moveToPoint(38, 39, 1000);
571
572 chassis.turnToPoint(-5, 39, 1000, {.direction=AngularDirection::CCW_COUNTERCLOCKWISE});
573 chassis.moveToPoint(-5, 39, 7500, {.minSpeed=25, .earlyExitRange=15});
574 chassis.waitUntil(18);
575 IntakeMotor.brake();
576
577
578 //IntakeMotor.brake();
579
580}
Robot::LadyBrown ladybrown
Definition intake.cpp:19
pros::MotorGroup drive_({LeftFront.get_port(), RightFront.get_port(), LeftMid.get_port(), RightMid.get_port(), LeftBack.get_port(), RightBack.get_port()})
pros::adi::Pneumatics LatchControl('A', false)
pros::Optical colorSensor(5)
pros::Motor IntakeMotor(-4, pros::v5::MotorGears::blue, pros::v5::MotorUnits::degrees)
lemlib::Chassis chassis(drivetrain, lateral_controller, angular_controller, sensors, &throttle_curve, &steer_curve)
pros::Motor HookMotor(3, pros::v5::MotorGears::green, pros::v5::MotorUnits::degrees)

References Robot::LadyBrown::ATTACK_STATE, Robot::LadyBrown::BASE_STATE, Robot::Globals::chassis(), Robot::Globals::colorSensor(), Robot::Globals::drive_(), Robot::Globals::HookMotor(), Robot::Globals::IntakeMotor(), ladybrown, and Robot::Globals::LatchControl().

◆ BluePosBAK()

void BluePosBAK ( Intake & intake,
Latch & latch,
Sweeper & sweeper,
DistanceSensor & distance,
LadyBrown & ladybrown )

Definition at line 287 of file autons.cpp.

287 {
288
289 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
290 chassis.setPose(0, 0,0);
291
292 // Move to first stake
293 chassis.moveToPose(0, -28, 0, 2000, {.forwards = false});
294 chassis.waitUntilDone();
295 // Grab the closest MOGO mech
296 latch.toggle();
297 pros::delay(250);
298
299 // Rotate toward blue ring
300 chassis.turnToPoint(25, -27, 1000);
301 chassis.waitUntilDone();
302
303 // Load the ring onto the stake
304 IntakeMotor.move_velocity(600);
305 HookMotor.move_velocity(200);
306
307 // Moves to 2 ring stack
308
309 chassis.moveToPoint(25, -27, 1250, {.forwards = true});
310 chassis.turnToPoint(33.5, 6, 1000);
311 SweeperControl.extend();
312 chassis.moveToPoint(35, 7, 1500);
313 chassis.waitUntilDone();
314 IntakeMotor.move_velocity(0);
315 HookMotor.move_velocity(0);
316
317 chassis.moveToPose(25, -4, 170, 2000, {.horizontalDrift = 2});
318 chassis.moveToPoint(32, 10, 1000, {.forwards = false});
319 chassis.waitUntilDone();
320 latch.toggle();
321
322 chassis.turnToPoint(-14, -36, 800);
323 SweeperControl.retract();
324 ladybrown.MoveToPoint(LadyBrown::LOAD_STATE);
325
326 chassis.moveToPoint(-14, -36, 5000);
327
328}
void toggle()
Toggles latch state.
Definition latch.cpp:16
pros::adi::Pneumatics SweeperControl('B', false)

References Robot::Globals::chassis(), Robot::Globals::drive_(), Robot::Globals::HookMotor(), Robot::Globals::IntakeMotor(), ladybrown, Robot::LadyBrown::LOAD_STATE, Robot::Globals::SweeperControl(), and Robot::Latch::toggle().

◆ RedNegBAK()

void RedNegBAK ( Intake & intake,
Latch & latch,
DistanceSensor & distance,
LadyBrown & ladybrown )

Definition at line 69 of file autons.cpp.

69 {
70
71
72 //IntakeMotor.brake();
73
74 HookMotor.set_zero_position(HookMotor.get_position());
75 colorSensor.set_led_pwm(70);
76 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
77 //Edge of lady brown is 5.5 inches from the alliance wall stake.
78 chassis.setPose(0, 0, 112);
79
80 ladybrown.MoveToPoint(LadyBrown::ATTACK_STATE, 150, 900);
81
82 chassis.moveToPose(-11, 44, 180, 2000, {.forwards=false, .horizontalDrift=5.5});
83
84 ladybrown.MoveToPoint(LadyBrown::BASE_STATE, 150, 1000);
85 chassis.waitUntilDone();
86 LatchControl.extend();
87 pros::delay(250);
88 chassis.swingToPoint(-28, 53.5, lemlib::DriveSide::RIGHT, 1500, {.direction=AngularDirection::CW_CLOCKWISE});
89
90 IntakeMotor.move_velocity(600);
91 HookMotor.move_velocity(200);
92 chassis.moveToPoint(-28, 53.5, 5000);
93 chassis.turnToPoint(-43, 54, 5000);
94
95 chassis.moveToPoint(-43, 54, 2500, {.minSpeed = 65}, false);
96 pros::delay(750);
97
98 chassis.turnToPoint(-19, 40, 1000, {.forwards=false});
99 chassis.moveToPoint(-19, 40, 1000, {.forwards=false});
100 chassis.turnToPoint(-38, 39, 1000);
101 chassis.moveToPoint(-38, 39, 1000);
102
103 chassis.turnToPoint(9, 16.5, 1000, {.direction=AngularDirection::CW_CLOCKWISE});
104 chassis.moveToPoint(9, 16.5, 7500, {.minSpeed=25, .earlyExitRange=15});
105 chassis.waitUntil(10);
106 IntakeLift.extend();
107
108 chassis.moveToPoint(9, 16.5, 7500, {.maxSpeed=25});
109
110
111}
pros::adi::Pneumatics IntakeLift('D', false)

References Robot::LadyBrown::ATTACK_STATE, Robot::LadyBrown::BASE_STATE, Robot::Globals::chassis(), Robot::Globals::colorSensor(), Robot::Globals::drive_(), Robot::Globals::HookMotor(), Robot::Globals::IntakeLift(), Robot::Globals::IntakeMotor(), ladybrown, and Robot::Globals::LatchControl().

◆ RedPosBAK()

void RedPosBAK ( Intake & intake,
Latch & latch,
Sweeper & sweeper,
DistanceSensor & distance,
LadyBrown & ladybrown )

Definition at line 177 of file autons.cpp.

177 {
178 drive_.set_brake_mode_all(pros::E_MOTOR_BRAKE_BRAKE);
179 chassis.setPose(0, 0,0);
180
181 // Move to first stake
182 chassis.moveToPose(0, -28, 0, 2000, {.forwards = false});
183 chassis.waitUntilDone();
184 // Grab the closest MOGO mech
185 latch.toggle();
186 pros::delay(250);
187
188 // Rotate toward blue ring
189 chassis.turnToPoint(-25, -27, 1000);
190 chassis.waitUntilDone();
191
192 // Load the ring onto the stake
193 IntakeMotor.move_velocity(600);
194 HookMotor.move_velocity(200);
195
196 // Moves to 2 ring stack
197
198 chassis.moveToPoint(-25, -27, 1250, {.forwards = true});
199 chassis.turnToPoint(-33.5, 6, 1000);
200 SweeperControl.extend();
201 chassis.moveToPoint(-35, 7, 1500);
202 chassis.waitUntilDone();
203 IntakeMotor.move_velocity(0);
204 HookMotor.move_velocity(0);
205
206 chassis.moveToPose(-25, -4, 170, 2000, {.horizontalDrift = 2});
207 chassis.moveToPoint(-32, 10, 1000, {.forwards = false});
208 chassis.waitUntilDone();
209 latch.toggle();
210
211 chassis.turnToPoint(14, -36, 800);
212 SweeperControl.retract();
213 ladybrown.MoveToPoint(LadyBrown::LOAD_STATE);
214
215 chassis.moveToPoint(14, -36, 5000);
216}

References Robot::Globals::chassis(), Robot::Globals::drive_(), Robot::Globals::HookMotor(), Robot::Globals::IntakeMotor(), ladybrown, Robot::LadyBrown::LOAD_STATE, Robot::Globals::SweeperControl(), and Robot::Latch::toggle().

Variable Documentation

◆ delay_constant

int delay_constant = 1050
constexpr

Definition at line 19 of file autons.cpp.