Add intake and drive controls for stacking
This commit is contained in:
parent
9c717e5456
commit
8a75f10c2f
Binary file not shown.
Binary file not shown.
1462
build/38535A4.map
1462
build/38535A4.map
File diff suppressed because it is too large
Load Diff
BIN
build/src/main.o
BIN
build/src/main.o
Binary file not shown.
88
src/main.cpp
88
src/main.cpp
@ -10,12 +10,13 @@
|
|||||||
// ---- START VEXCODE CONFIGURED DEVICES ----
|
// ---- START VEXCODE CONFIGURED DEVICES ----
|
||||||
// Robot Configuration:
|
// Robot Configuration:
|
||||||
// [Name] [Type] [Port(s)]
|
// [Name] [Type] [Port(s)]
|
||||||
// Drivetrain drivetrain 10, 1
|
// Drivetrain drivetrain 1, 2
|
||||||
// LiftMotor motor 9
|
// LiftMotor motor 18
|
||||||
// TiltMotor motor 8
|
// LiftMotor2 motor 12
|
||||||
|
// TiltMotor motor 3
|
||||||
// Controller1 controller
|
// Controller1 controller
|
||||||
// IntakeR motor 2
|
// IntakeR motor 17
|
||||||
// IntakeL motor 3
|
// IntakeL motor 8
|
||||||
// ---- END VEXCODE CONFIGURED DEVICES ----
|
// ---- END VEXCODE CONFIGURED DEVICES ----
|
||||||
|
|
||||||
#include "vex.h"
|
#include "vex.h"
|
||||||
@ -231,7 +232,6 @@ void usercontrol(void) {
|
|||||||
Controller1.Screen.print("Normal Driving ");
|
Controller1.Screen.print("Normal Driving ");
|
||||||
bool recording = false;
|
bool recording = false;
|
||||||
bool donerecording = false;
|
bool donerecording = false;
|
||||||
//uint8_t * data = (uint8_t*)malloc(sizeof(uint8_t) * 5);
|
|
||||||
|
|
||||||
// User control code here, inside the loop
|
// User control code here, inside the loop
|
||||||
while (1) {
|
while (1) {
|
||||||
@ -435,18 +435,54 @@ void controllerBaseInput() {
|
|||||||
drivetrainLeftSideSpeed = -powerLevel;
|
drivetrainLeftSideSpeed = -powerLevel;
|
||||||
drivetrainRightSideSpeed = powerLevel;
|
drivetrainRightSideSpeed = powerLevel;
|
||||||
}
|
}
|
||||||
|
int IntakeSpeed = Controller1.Axis2.position();
|
||||||
|
if (IntakeSpeed < 5 && IntakeSpeed > -5) {
|
||||||
|
// check if the left motor has already been stopped
|
||||||
|
if (IntakeStop) {
|
||||||
|
// stop the left drive motor
|
||||||
|
IntakeL.stop();
|
||||||
|
IntakeR.stop();
|
||||||
|
// tell the code that the left motor has been stopped
|
||||||
|
IntakeStop = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// reset the toggle so that the deadband code knows to stop the left motor next time the input is in the deadband range
|
||||||
|
IntakeStop = true;
|
||||||
|
}
|
||||||
|
// only tell the left drive motor to spin if the values are not in the deadband range
|
||||||
|
if(speedin) {
|
||||||
|
Controller1.Screen.setCursor(2, 0);
|
||||||
|
//Controller1.Screen.clearLine();
|
||||||
|
Controller1.Screen.print("Fast intake");
|
||||||
|
} else {
|
||||||
|
Controller1.Screen.setCursor(2, 0);
|
||||||
|
//Controller1.Screen.clearLine();
|
||||||
|
Controller1.Screen.print("Slow intake");
|
||||||
|
IntakeSpeed /= 4;
|
||||||
|
}
|
||||||
|
|
||||||
if(Controller1.ButtonDown.pressing()) {
|
if(Controller1.ButtonDown.pressing()) {
|
||||||
drivetrainLeftSideSpeed = -33;
|
drivetrainLeftSideSpeed = -20;
|
||||||
drivetrainRightSideSpeed = -33;
|
drivetrainRightSideSpeed = -20;
|
||||||
|
IntakeStop = true;
|
||||||
|
IntakeSpeed = -20;
|
||||||
}
|
}
|
||||||
else if(Controller1.ButtonUp.pressing()) {
|
else if(Controller1.ButtonUp.pressing()) {
|
||||||
drivetrainLeftSideSpeed = 33;
|
drivetrainLeftSideSpeed = 20;
|
||||||
drivetrainRightSideSpeed = 33;
|
drivetrainRightSideSpeed = 20;
|
||||||
|
IntakeStop = true;
|
||||||
|
IntakeSpeed = 20;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
drivetrainLeftSideSpeed *= driveMultiplier;
|
drivetrainLeftSideSpeed *= driveMultiplier;
|
||||||
drivetrainRightSideSpeed *= driveMultiplier;
|
drivetrainRightSideSpeed *= driveMultiplier;
|
||||||
}
|
}
|
||||||
|
if (IntakeStop) {
|
||||||
|
IntakeL.setVelocity(IntakeSpeed, percent);
|
||||||
|
IntakeR.setVelocity(IntakeSpeed, percent);
|
||||||
|
IntakeL.spin(forward);
|
||||||
|
IntakeR.spin(forward);
|
||||||
|
}
|
||||||
// check if the value is inside of the deadband range
|
// check if the value is inside of the deadband range
|
||||||
if (drivetrainLeftSideSpeed < 5 && drivetrainLeftSideSpeed > -5) {
|
if (drivetrainLeftSideSpeed < 5 && drivetrainLeftSideSpeed > -5) {
|
||||||
// check if the left motor has already been stopped
|
// check if the left motor has already been stopped
|
||||||
@ -498,37 +534,7 @@ void controllerBaseInput() {
|
|||||||
// set the toggle so that we don't constantly tell the motor to stop when the buttons are released
|
// set the toggle so that we don't constantly tell the motor to stop when the buttons are released
|
||||||
Controller1LeftShoulderControlMotorsStopped = true;
|
Controller1LeftShoulderControlMotorsStopped = true;
|
||||||
}
|
}
|
||||||
int IntakeSpeed = Controller1.Axis2.position();
|
|
||||||
if (IntakeSpeed < 5 && IntakeSpeed > -5) {
|
|
||||||
// check if the left motor has already been stopped
|
|
||||||
if (IntakeStop) {
|
|
||||||
// stop the left drive motor
|
|
||||||
IntakeL.stop();
|
|
||||||
IntakeR.stop();
|
|
||||||
// tell the code that the left motor has been stopped
|
|
||||||
IntakeStop = false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// reset the toggle so that the deadband code knows to stop the left motor next time the input is in the deadband range
|
|
||||||
IntakeStop = true;
|
|
||||||
}
|
|
||||||
// only tell the left drive motor to spin if the values are not in the deadband range
|
|
||||||
if(speedin) {
|
|
||||||
Controller1.Screen.setCursor(2, 0);
|
|
||||||
//Controller1.Screen.clearLine();
|
|
||||||
Controller1.Screen.print("Fast intake");
|
|
||||||
} else {
|
|
||||||
Controller1.Screen.setCursor(2, 0);
|
|
||||||
//Controller1.Screen.clearLine();
|
|
||||||
Controller1.Screen.print("Slow intake");
|
|
||||||
IntakeSpeed /= 4;
|
|
||||||
}
|
|
||||||
if (IntakeStop) {
|
|
||||||
IntakeL.setVelocity(IntakeSpeed, percent);
|
|
||||||
IntakeR.setVelocity(IntakeSpeed, percent);
|
|
||||||
IntakeL.spin(forward);
|
|
||||||
IntakeR.spin(forward);
|
|
||||||
}
|
|
||||||
// only tell the right drive motor to spin if the values are not in the deadband range
|
// only tell the right drive motor to spin if the values are not in the deadband range
|
||||||
|
|
||||||
// check the ButtonR1/ButtonR2 status to control Intake
|
// check the ButtonR1/ButtonR2 status to control Intake
|
||||||
|
Loading…
x
Reference in New Issue
Block a user