Skip to content

Created intake subsystem, intake command, and added it to OI #12

Open
riy8j wants to merge 4 commits intoDevfrom
IntakeSubsystem
Open

Created intake subsystem, intake command, and added it to OI #12
riy8j wants to merge 4 commits intoDevfrom
IntakeSubsystem

Conversation

@riy8j
Copy link

@riy8j riy8j commented Feb 13, 2026

Context: I created Intake Subsystem, Command, and abilities to work in OI that will be changed once we have AutoAlign
Description: Moves IntakeArm and intake itself for the balls and adjust.
Tested: It simulated and Showed Motor properties.
Issues: only issues with Joystick not being plugged in and some possible minor issues with .withLength and .withPIDProperties in IntakeSystem. We can adjust after mechanical and electrical give us more data if there are any issues as well.
References: https://github.com/jcballock/2026-frc-learning repo/blob/main/src/main/java/frc/robot/subsystems/IntakeSubsystem.java

…n move as asked. Some of the values are needed and will be changed once we have more info from mechanical and Electrical.
@riy8j riy8j requested a review from jcballock February 14, 2026 00:28
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

camelCase!

Suggested change
public IntakeSubsystem IntakeSubsystem;
public IntakeSubsystem intakeSubsystem;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

camelCase

@riy8j riy8j requested a review from jcballock February 14, 2026 02:01
}

@Override
public void execute() {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are we trying to accomplish with this command? It seems like it is very similar to the commands you wrote for intake and outtake?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The command seems to handle the intake’s speed and power, and it also affects the arm movement. Since the arm already has logic in the subsystem, it might be cleaner to give it its own command so responsibilities stay clear. If the command can be seen as not necessary, i'll adjust it.

Copy link
Contributor

@jcballock jcballock Feb 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep understood I think there are kinda some confusing things going on here. On line 26 you are calling the setSpeed function you made in the intake subsystem which does this

    public void setSpeed(double i) {
        intakeMotor.setControl(new VoltageOut(i));
        intakeArmMotor.setControl(new VoltageOut(i));
    }

This function is turning on the intake and intake arm, but then after that you call the intakeSubsystem.setAngle which overwrites the intakeArmMotor control. Additionally the setSpeed and stop functions operate very similarly to the setDutyCycle command you wrote.

You have two options:

  • If you want to have different command classes then I would recommend looking over the subsystem code you wrote to 1) generate any commands as classes and 2) clean up dead code.
  • If you don't want to have different command classes then I would recommend removing this class and the new functions generated and stick to the commands that you wrote in the subsystem already (intake, outtake, retract, etc.).

…eam to fix the code based on inputs. I also got some help from others so if there is some noticeable change, don't worry about it.
@riy8j riy8j requested a review from jcballock February 18, 2026 02:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments