In the middle of the program, the robot rushes forward with 3 motors full speed into the platform and releases both pneumatics, i did not code this
competition Competition;
// User defined function
void myblockfunction_StartOnly();
// User defined function
void myblockfunction_m2();
float myVariable;
bool digitaloutON, Digitalout2;
event message1 = event();
event m2 = event();
// User defined function
void myblockfunction_StartOnly() {
m2.broadcast();
wait(0.1, seconds);
}
// User defined function
void myblockfunction_m2() {
wait(0.5, seconds);
m2.broadcast();
wait(0.5, seconds);
}
// "when Controller1 ButtonA released" hat block
void onevent_Controller1ButtonA_released_0() {
rEings.stop();
}
int whenStarted1() {
digitaloutON = true;
DigitalOutA.set(false);
Digitalout2 = true;
DigitalOutB.set(false);
return 0;
}
int ondriver_drivercontrol_0() {
digitaloutON = true;
DigitalOutA.set(false);
Digitalout2 = true;
DigitalOutB.set(false);
rEings.setVelocity(100.0, percent);
RemoteControlCodeEnabled = true;
Drivetrain.setDriveVelocity(100.0, percent);
Drivetrain.setTurnVelocity(100.0, percent);
arm.setVelocity(100.0, percent);
arm.setMaxTorque(70.0, percent);
rEings.setVelocity(40.0, percent);
return 0;
}
int onauton_autonomous_0() {
digitaloutON = true;
DigitalOutA.set(false);
Digitalout2 = true;
DigitalOutB.set(false);
wait(0.5, seconds);
Drivetrain.setHeading(270.0, degrees);
rEings.setVelocity(100.0, percent);
RemoteControlCodeEnabled = false;
arm.setVelocity(100.0, percent);
arm.setMaxTorque(100.0, percent);
Drivetrain.setTurnVelocity(90.0, percent);
Drivetrain.setDriveVelocity(60.0, percent);
Drivetrain.driveFor(reverse, 15.0, inches, true);
Drivetrain.setStopping(brake);
wait(1.0, seconds);
m2.broadcast();
wait(1.0, seconds);
Drivetrain.setDriveVelocity(75.0, percent);
Drivetrain.driveFor(forward, 10.0, inches, true);
Drivetrain.turnToHeading(0.0, degrees, true);
Drivetrain.driveFor(forward, 20.0, inches, true);
Drivetrain.turnToHeading(0.0, degrees, true);
Drivetrain.driveFor(forward, 30.0, inches, true);
Drivetrain.setDriveVelocity(50.0, percent);
Drivetrain.driveFor(forward, 15.0, inches, true);
Drivetrain.setDriveVelocity(80.0, percent);
wait(0.5, seconds);
message1.broadcast();
wait(0.5, seconds);
Drivetrain.turnToHeading(50.0, degrees, true);
arm.spinFor(reverse, 720.0, degrees, false);
Drivetrain.driveFor(forward, 50.0, inches, true);
Drivetrain.setDriveVelocity(20.0, percent);
Drivetrain.turnToHeading(0.0, degrees, true);
Drivetrain.drive(forward);
wait(3.0, seconds);
Drivetrain.stop();
// It stops working here
arm.spinFor(forward, 420.0, degrees, true);
wait(0.5, seconds);
message1.broadcast();
wait(0.5, seconds);
arm.spinFor(reverse, 420.0, degrees, true);
return 0;
}
// "when Controller1 ButtonA pressed" hat block
void onevent_Controller1ButtonA_pressed_0() {
rEings.spin(forward);
}
// "when Controller1 ButtonL1 pressed" hat block
void onevent_Controller1ButtonL1_pressed_0() {
arm.spin(reverse);
}
// "when Controller1 ButtonY released" hat block
void onevent_Controller1ButtonY_released_0() {
rEings.stop();
}
// "when Controller1 ButtonL2 pressed" hat block
void onevent_Controller1ButtonL2_pressed_0() {
arm.spin(forward);
}
// "when Controller1 ButtonB pressed" hat block
void onevent_Controller1ButtonB_pressed_0() {
rEings.spin(forward);
}
// "when Controller1 ButtonY pressed" hat block
void onevent_Controller1ButtonY_pressed_0() {
rEings.spin(reverse);
}
// "when Controller1 ButtonR1 pressed" hat block
void onevent_Controller1ButtonR1_pressed_0() {
m2.broadcast();
}
// "when Controller1 ButtonL2 released" hat block
void onevent_Controller1ButtonL2_released_0() {
arm.setStopping(hold);
arm.stop();
}
// "when Controller1 ButtonL1 released" hat block
void onevent_Controller1ButtonL1_released_0() {
arm.setStopping(hold);
arm.stop();
}
// "when Controller1 ButtonX pressed" hat block
void onevent_Controller1ButtonX_pressed_0() {
message1.broadcast();
}
// "when I receive message1" hat block
void onevent_message1_0() {
if (digitaloutON) {
DigitalOutA.set(true);
digitaloutON = false;
}
else {
DigitalOutA.set(false);
digitaloutON = true;
}
}
// "when I receive m2" hat block
void onevent_m2_0() {
if (Digitalout2) {
DigitalOutB.set(true);
Digitalout2 = false;
}
else {
DigitalOutB.set(false);
Digitalout2 = true;
}
}
void VEXcode_driver_task() {
// Start the driver control tasks....
vex::task drive0(ondriver_drivercontrol_0);
while(Competition.isDriverControl() && Competition.isEnabled()) {this_thread::sleep_for(10);}
drive0.stop();
return;
}
void VEXcode_auton_task() {
// Start the auton control tasks....
vex::task auto0(onauton_autonomous_0);
while(Competition.isAutonomous() && Competition.isEnabled()) {this_thread::sleep_for(10);}
auto0.stop();
return;
}
int main() {
vex::competition::bStopTasksBetweenModes = false;
Competition.autonomous(VEXcode_auton_task);
Competition.drivercontrol(VEXcode_driver_task);
// Calibrate the Drivetrain
calibrateDrivetrain();
// register event handlers
Controller1.ButtonA.released(onevent_Controller1ButtonA_released_0);
Controller1.ButtonA.pressed(onevent_Controller1ButtonA_pressed_0);
Controller1.ButtonL1.pressed(onevent_Controller1ButtonL1_pressed_0);
Controller1.ButtonY.released(onevent_Controller1ButtonY_released_0);
Controller1.ButtonL2.pressed(onevent_Controller1ButtonL2_pressed_0);
Controller1.ButtonB.pressed(onevent_Controller1ButtonB_pressed_0);
Controller1.ButtonY.pressed(onevent_Controller1ButtonY_pressed_0);
Controller1.ButtonR1.pressed(onevent_Controller1ButtonR1_pressed_0);
Controller1.ButtonL2.released(onevent_Controller1ButtonL2_released_0);
Controller1.ButtonL1.released(onevent_Controller1ButtonL1_released_0);
Controller1.ButtonX.pressed(onevent_Controller1ButtonX_pressed_0);
message1(onevent_message1_0);
m2(onevent_m2_0);
wait(15, msec);
// post event registration
// set default print color to black
printf("\033[30m");
// wait for rotation sensor to fully initialize
wait(30, msec);
whenStarted1();
}