L090MecanumOpMode¶
What each lesson’s patch does to this file, in the order the lessons come, from
applying solutions/ on solutions-auto-schedules.1. A line marked + is new, and a line marked -
is gone; each number is the line’s place in the file after the lesson.
L090¶
--- mytry/L090MecanumOpMode.java (before L090)
+++ mytry/L090MecanumOpMode.java (after L090)
@@ lines 86 to 123 @@
86 // When on L090S030, see
87 // https://msb-stitt.github.io/ftc31459-26-27-biobuzz/guide/tasks/l090.html#l090s030
88 // for what to do here.
+ 89 double strafe = deadband(-leftStickX, band);
+ 90 strafe = signedSquared(strafe);
+ 91 Tracker.publish("arcade/strafe", strafe);
92
93 // When on L090S040, see
94 // https://msb-stitt.github.io/ftc31459-26-27-biobuzz/guide/tasks/l090.html#l090s040
95 // for what to do here.
+ 96 double frontLeftPower = forward - strafe - turn;
+ 97 double frontRightPower = forward + strafe + turn;
+ 98 double backLeftPower = forward + strafe - turn;
+ 99 double backRightPower = forward - strafe + turn;
+ 100 double frontLeftSize = Math.abs(frontLeftPower);
+ 101 double frontRightSize = Math.abs(frontRightPower);
+ 102 double backLeftSize = Math.abs(backLeftPower);
+ 103 double backRightSize = Math.abs(backRightPower);
+ 104 double biggest = Math.max(frontLeftSize, frontRightSize);
+ 105 biggest = Math.max(biggest, backLeftSize);
+ 106 biggest = Math.max(biggest, backRightSize);
+ 107 biggest = Math.max(1.0, biggest);
+ 108 frontLeftPower = frontLeftPower / biggest;
+ 109 frontRightPower = frontRightPower / biggest;
+ 110 backLeftPower = backLeftPower / biggest;
+ 111 backRightPower = backRightPower / biggest;
+ 112 Tracker.publish("power/frontLeft", frontLeftPower);
+ 113 Tracker.publish("power/frontRight", frontRightPower);
+ 114 Tracker.publish("power/backLeft", backLeftPower);
+ 115 Tracker.publish("power/backRight", backRightPower);
+ 116
+ 117 hardware.frontLeft.setPower(frontLeftPower);
+ 118 hardware.frontRight.setPower(frontRightPower);
+ 119 hardware.backLeft.setPower(backLeftPower);
+ 120 hardware.backRight.setPower(backRightPower);
121
122 boolean buttonA = gamepad1.a;
123 Tracker.publish("button/a", buttonA);