-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #44 from Team-8-bit/user/nolan/leafblower
User/nolan/leafblower
- Loading branch information
Showing
11 changed files
with
126 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
15 changes: 15 additions & 0 deletions
15
robot/src/main/kotlin/org/team9432/robot/commands/bazooka/ApplyBazooka.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package org.team9432.robot.commands.bazooka | ||
|
||
import org.team9432.lib.commandbased.commands.SequentialCommand | ||
import org.team9432.lib.commandbased.commands.WaitCommand | ||
import org.team9432.robot.commands.amp.ScoreAmp | ||
import org.team9432.robot.commands.shooter.TrapNote | ||
import org.team9432.robot.subsystems.Bazooka | ||
|
||
fun ApplyBazooka() = SequentialCommand( | ||
Bazooka.Commands.setVoltage(12.0), | ||
WaitCommand(0.5), | ||
TrapNote(), | ||
WaitCommand(1.0), | ||
Bazooka.Commands.stop() | ||
) |
5 changes: 5 additions & 0 deletions
5
robot/src/main/kotlin/org/team9432/robot/commands/bazooka/BazookaAlignmentTest.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package org.team9432.robot.commands.bazooka | ||
|
||
import org.team9432.robot.subsystems.Bazooka | ||
|
||
fun BazookaAlignmentTest() = Bazooka.Commands.runVoltage(12.0) |
50 changes: 50 additions & 0 deletions
50
robot/src/main/kotlin/org/team9432/robot/commands/shooter/TrapNote.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
package org.team9432.robot.commands.shooter | ||
|
||
import edu.wpi.first.math.geometry.Rotation2d | ||
import org.team9432.lib.commandbased.commands.* | ||
import org.team9432.robot.FieldConstants | ||
import org.team9432.robot.MechanismSide | ||
import org.team9432.robot.RobotState | ||
import org.team9432.robot.RobotState.NotePosition | ||
import org.team9432.robot.commands.drivetrain.teleop.TeleTargetDrive | ||
import org.team9432.robot.commands.hopper.MoveToPosition | ||
import org.team9432.robot.led.LEDState | ||
import org.team9432.robot.oi.Controls | ||
import org.team9432.robot.subsystems.Hood | ||
import org.team9432.robot.subsystems.Shooter | ||
import org.team9432.robot.subsystems.Superstructure | ||
|
||
fun TrapNote() = ParallelDeadlineCommand( | ||
Hood.Commands.followAngle { Rotation2d.fromDegrees(0.0) }, | ||
Shooter.Commands.runAtTrapSpeeds(), | ||
|
||
deadline = SequentialCommand( | ||
ParallelCommand( | ||
// Move the note to the speaker side of the hopper | ||
MoveToPosition(NotePosition.SPEAKER_HOPPER), | ||
SequentialCommand( | ||
WaitCommand(0.1), | ||
WaitUntilCommand { Shooter.atSetpoint() } | ||
) | ||
), | ||
InstantCommand { LEDState.speakerShooterReady = true }, | ||
ParallelDeadlineCommand( | ||
// Keep aiming while waiting for confirmation | ||
deadline = WaitUntilCommand { Controls.readyToShootSpeaker }, // Wait for driver confirmation | ||
), | ||
InstantCommand { LEDState.speakerShooterReady = false }, | ||
|
||
ParallelDeadlineCommand( | ||
// Shoot the note | ||
Superstructure.Commands.runLoad(MechanismSide.SPEAKER), | ||
// Do this until the note is no longer in the beam break, plus a little bit | ||
deadline = SequentialCommand( | ||
WaitUntilCommand { !RobotState.noteInSpeakerSideHopperBeambreak() }, | ||
WaitCommand(0.2) | ||
) | ||
), | ||
|
||
// Update the note position | ||
InstantCommand { RobotState.notePosition = NotePosition.NONE }, | ||
) | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
26 changes: 26 additions & 0 deletions
26
robot/src/main/kotlin/org/team9432/robot/subsystems/Bazooka.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package org.team9432.robot.subsystems | ||
|
||
import com.revrobotics.CANSparkLowLevel | ||
import com.revrobotics.CANSparkMax | ||
import org.team9432.lib.commandbased.KSubsystem | ||
import org.team9432.lib.commandbased.commands.InstantCommand | ||
import org.team9432.lib.commandbased.commands.SimpleCommand | ||
import org.team9432.robot.Devices | ||
|
||
object Bazooka: KSubsystem() { | ||
private val motor = CANSparkMax(Devices.BAZOOKA_ID, CANSparkLowLevel.MotorType.kBrushed) | ||
|
||
fun setVoltage(volts: Double) = motor.setVoltage(volts) | ||
fun stop() = motor.setVoltage(0.0) | ||
|
||
object Commands { | ||
fun setVoltage(volts: Double) = InstantCommand(Bazooka) { Bazooka.setVoltage(volts) } | ||
fun runVoltage(volts: Double) = SimpleCommand( | ||
requirements = setOf(Bazooka), | ||
initialize = { Bazooka.setVoltage(volts) }, | ||
end = { Bazooka.stop() } | ||
) | ||
|
||
fun stop() = InstantCommand(Bazooka) { Bazooka.stop() } | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters