Skip to content

Commit 7f43674

Browse files
committed
made changes to spark max almost done
1 parent a1e5a32 commit 7f43674

1 file changed

Lines changed: 90 additions & 10 deletions

File tree

src/main/java/frc/robot/subsystems/dropper/DropperIOSparkMax.java

Lines changed: 90 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,114 @@
22

33
import static frc.robot.Constants.NEO_CURRENT_LIMIT;
44

5+
import com.revrobotics.RelativeEncoder;
6+
import com.revrobotics.servohub.ServoHub.ResetMode;
7+
import com.revrobotics.spark.SparkBase.PersistMode;
8+
import com.revrobotics.spark.SparkFlex;
9+
import com.revrobotics.spark.SparkLowLevel.MotorType;
510
import com.revrobotics.spark.config.SparkFlexConfig;
11+
import com.revrobotics.spark.config.SparkBaseConfig.IdleMode;
12+
13+
import edu.wpi.first.math.controller.ProfiledPIDController;
14+
import edu.wpi.first.math.util.Units;
15+
import edu.wpi.first.units.measure.Angle;
616

717
public class DropperIOSparkMax implements DropperIO {
818

919
private ProfiledPIDController controller = new ProfiledPIDController(0, 0, 0, new TrapezoidProfile(-12, 12));
10-
private SparkFlex motor;
11-
private RelativeEncoder encoder;
20+
private SparkFlex rightMotor;
21+
private RelativeEncoder rightEncoder;
22+
private SparkFlex leftMotor;
23+
private RelativeEncoder leftEncoder;
1224

1325
public DropperIOSparkMax() {
14-
leftmotor = new SparkFlex(DropperConstants.blank, MotorType.kBrushless);//make a constant for motor id and ask the type of motor
15-
rightmotor = new SparkFlex(DropperConstants.blankmotorid, MotorType.kbrushless);
26+
//motors
27+
leftMotor = new SparkFlex(DropperConstants.blank, MotorType.kBrushless);//make a constant for motor id and ask the type of motor
28+
rightMotor = new SparkFlex(DropperConstants.blankmotorid, MotorType.kBrushless);
1629

1730
leftEncoder = leftMotor.getEncoder();
1831
rightEncoder = rightMotor.getEncoder();
1932

20-
SparkFlexConfig config = new SparkFlexConfig();
21-
config
22-
.idleMode(IdleMode.kbrake)
33+
SparkFlexConfig configLeft = new SparkFlexConfig();
34+
configLeft
35+
.idleMode(IdleMode.kBrake)
2336
.voltageCompensation(12)
2437
.smartCurrentLimit(NEO_CURRENT_LIMIT)
2538
.inverted(true);
2639

27-
leftMo
40+
leftMotor.configure(configLeft, ResetMode.kResetSafeParameters, PersistMode.kPersistParameters);
2841

42+
SparkFlexConfig configRight = new SparkFlexConfig();
43+
configRight
44+
.idleMode(IdleMode.kBrake)
45+
.voltageCompensation(12)
46+
.smartCurrentLimit(NEO_CURRENT_LIMIT)
47+
.inverted(false);
48+
rightMotor.configure(configLeft, ResetMode.kResetSafeParameters, PersistMode.kPersistParameters);
49+
}
50+
//methods from IO
51+
52+
@Override
53+
54+
public void updateInputs(DropperIOInputs inputs){
55+
//do later im lazy
56+
}
57+
58+
@Override //not sure if there is one of these for each motor or not
59+
60+
public double getAngle(){
61+
return leftEncoder.getPosition() * 6.28; //its just two pi make a pi constant later
62+
}
63+
64+
@Override
65+
66+
public double getAngVelocity(){
67+
double rpm = leftEncoder.getVelocity();//in rotations per min i think so convert
68+
double rps = rpm * 6.28 / 60; //radians per second (its just 2pi divide by 60)
69+
return rps;
70+
}
71+
72+
@Override
73+
public void setVoltage(double voltage) {
74+
leftMotor.setVoltage(voltage);//???
75+
rightMotor.setVoltage(voltage);//idk about this
76+
}
77+
78+
@Override
79+
80+
public void setPosition(){
2981

30-
3182
}
3283

84+
@Override
3385

86+
public void stop(){
87+
leftMotor.stopMotor();
88+
rightMotor.stopMotor();
89+
}
90+
91+
//PID
92+
93+
public void setPIDGains(double kp, ki, kd){
94+
velocityPID.setP(p);//idek
95+
velocityPID.setI(i);
96+
velocityPID.setD(d);
97+
}
98+
99+
100+
101+
}
102+
103+
/*
104+
public default void setVoltage(double voltage) {}
105+
106+
public default void setPosition(int position) {}
107+
108+
public default void stop() {}
34109
35-
}
110+
// PID
111+
public default void setPIDGains(double kp, ki, kd) {}
112+
public default double getP() {}
113+
public default double getI() {}
114+
public default double getD() {}
115+
*/

0 commit comments

Comments
 (0)