Skip to content

Commit 7340eff

Browse files
committed
Remove PID Widget features only used by old PIDController
Fixes wpilibsuite#660
1 parent f980ac5 commit 7340eff

File tree

6 files changed

+19
-87
lines changed

6 files changed

+19
-87
lines changed

plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/data/PIDCommandData.java

+2-16
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,9 @@ public PIDCommandData(String name,
1616
double p,
1717
double i,
1818
double d,
19-
double f,
20-
double setpoint,
21-
boolean enabled) {
19+
double setpoint) {
2220
commandData = new CommandData(name, running, isParented);
23-
pidControllerData = new PIDControllerData(p, i, d, f, setpoint, enabled);
21+
pidControllerData = new PIDControllerData(p, i, d, setpoint);
2422
}
2523

2624
public PIDCommandData(Map<String, Object> map) {
@@ -73,26 +71,14 @@ public double getD() {
7371
return pidControllerData.getD();
7472
}
7573

76-
public double getF() {
77-
return pidControllerData.getF();
78-
}
79-
8074
public double getSetpoint() {
8175
return pidControllerData.getSetpoint();
8276
}
8377

84-
public boolean isEnabled() {
85-
return pidControllerData.isEnabled();
86-
}
87-
8878
public PIDCommandData withP(double p) {
8979
return new PIDCommandData(commandData, pidControllerData.withP(p));
9080
}
9181

92-
public PIDCommandData withEnabled(boolean enabled) {
93-
return new PIDCommandData(commandData, pidControllerData.withEnabled(enabled));
94-
}
95-
9682
public PIDCommandData withRunning(boolean running) {
9783
return new PIDCommandData(commandData.withRunning(running), pidControllerData);
9884
}

plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/data/PIDControllerData.java

+12-39
Original file line numberDiff line numberDiff line change
@@ -12,40 +12,32 @@ public final class PIDControllerData extends ComplexData<PIDControllerData> {
1212
private final double p;
1313
private final double i;
1414
private final double d;
15-
private final double f;
1615
private final double setpoint;
17-
private final boolean enabled;
1816

1917
/**
2018
* Creates a new PIDController data object.
2119
*
2220
* @param p the proportional constant
2321
* @param i the integral constant
2422
* @param d the derivative constant
25-
* @param f the feedforward constant
2623
* @param setpoint the controller setpoint
27-
* @param enabled whether or not the controller is enabled
2824
*/
29-
public PIDControllerData(double p, double i, double d, double f, double setpoint, boolean enabled) {
25+
public PIDControllerData(double p, double i, double d, double setpoint) {
3026
this.p = p;
3127
this.i = i;
3228
this.d = d;
33-
this.f = f;
3429
this.setpoint = setpoint;
35-
this.enabled = enabled;
3630
}
3731

3832
/**
3933
* Creates a new data object from a map. The map should contain values for all the properties of the data object. If
40-
* a value is missing, the default value of {@code 0} (for numbers) or {@code false} (for booleans) is used.
34+
* a value is missing, the default value of {@code 0} (for numbers) is used.
4135
*/
4236
public PIDControllerData(Map<String, Object> map) {
4337
this((double) map.getOrDefault("p", 0.0),
4438
(double) map.getOrDefault("i", 0.0),
4539
(double) map.getOrDefault("d", 0.0),
46-
(double) map.getOrDefault("f", 0.0),
47-
(double) map.getOrDefault("setpoint", 0.0),
48-
(boolean) map.getOrDefault("enabled", false));
40+
(double) map.getOrDefault("setpoint", 0.0));
4941
}
5042

5143
public double getP() {
@@ -60,40 +52,25 @@ public double getD() {
6052
return d;
6153
}
6254

63-
public double getF() {
64-
return f;
65-
}
66-
6755
public double getSetpoint() {
6856
return setpoint;
6957
}
7058

71-
public boolean isEnabled() {
72-
return enabled;
73-
}
7459

7560
public PIDControllerData withP(double p) {
76-
return new PIDControllerData(p, i, d, f, setpoint, enabled);
61+
return new PIDControllerData(p, i, d, setpoint);
7762
}
7863

7964
public PIDControllerData withI(double i) {
80-
return new PIDControllerData(p, i, d, f, setpoint, enabled);
65+
return new PIDControllerData(p, i, d, setpoint);
8166
}
8267

8368
public PIDControllerData withD(double d) {
84-
return new PIDControllerData(p, i, d, f, setpoint, enabled);
85-
}
86-
87-
public PIDControllerData withF(double f) {
88-
return new PIDControllerData(p, i, d, f, setpoint, enabled);
69+
return new PIDControllerData(p, i, d, setpoint);
8970
}
9071

9172
public PIDControllerData withSetpoint(double setpoint) {
92-
return new PIDControllerData(p, i, d, f, setpoint, enabled);
93-
}
94-
95-
public PIDControllerData withEnabled(boolean enabled) {
96-
return new PIDControllerData(p, i, d, f, setpoint, enabled);
73+
return new PIDControllerData(p, i, d, setpoint);
9774
}
9875

9976
@Override
@@ -102,9 +79,7 @@ public Map<String, Object> asMap() {
10279
.put("p", p)
10380
.put("i", i)
10481
.put("d", d)
105-
.put("f", f)
10682
.put("setpoint", setpoint)
107-
.put("enabled", enabled)
10883
.build();
10984
}
11085

@@ -120,24 +95,22 @@ public boolean equals(Object obj) {
12095
return this.p == that.p
12196
&& this.i == that.i
12297
&& this.d == that.d
123-
&& this.f == that.f
124-
&& this.setpoint == that.setpoint
125-
&& this.enabled == that.enabled;
98+
&& this.setpoint == that.setpoint;
12699
}
127100

128101
@Override
129102
public int hashCode() {
130-
return Objects.hash(p, i, d, f, setpoint, enabled);
103+
return Objects.hash(p, i, d, setpoint);
131104
}
132105

133106
@Override
134107
public String toString() {
135-
return String.format("PIDControllerData(p=%s, i=%s, d=%s, f=%s, setpoint=%s, enabled=%s)",
136-
p, i, d, f, setpoint, enabled);
108+
return String.format("PIDControllerData(p=%s, i=%s, d=%s, setpoint=%s)",
109+
p, i, d, setpoint);
137110
}
138111

139112
@Override
140113
public String toHumanReadableString() {
141-
return String.format("p=%.3f, i=%.3f, d-%.3f, f=%.3f, setpoint=%.3f, enabled=%s", p, i, d, f, setpoint, enabled);
114+
return String.format("p=%.3f, i=%.3f, d=%.3f, setpoint=%.3f", p, i, d, setpoint);
142115
}
143116
}

plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/data/types/PIDCommandType.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public Function<Map<String, Object>, PIDCommandData> fromMap() {
2121

2222
@Override
2323
public PIDCommandData getDefaultValue() {
24-
return new PIDCommandData("", false, false, 0, 0, 0, 0, 0, false);
24+
return new PIDCommandData("", false, false, 0, 0, 0, 0);
2525
}
2626

2727
}

plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/data/types/PIDControllerType.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public Function<Map<String, Object>, PIDControllerData> fromMap() {
2121

2222
@Override
2323
public PIDControllerData getDefaultValue() {
24-
return new PIDControllerData(0, 0, 0, 0, 0, false);
24+
return new PIDControllerData(0, 0, 0, 0);
2525
}
2626

2727
}

plugins/base/src/main/java/edu/wpi/first/shuffleboard/plugin/base/widget/PIDControllerWidget.java

-23
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,7 @@ public class PIDControllerWidget extends SimpleAnnotatedWidget<PIDControllerData
3030
@FXML
3131
private NumberField dField;
3232
@FXML
33-
private NumberField fField;
34-
@FXML
3533
private NumberField setpointField;
36-
@FXML
37-
private ToggleSwitch enableToggle;
38-
39-
private boolean togglingFromDataChange = true;
4034

4135
@FXML
4236
private void initialize() {
@@ -45,25 +39,13 @@ private void initialize() {
4539
pField.setNumber(newData.getP());
4640
iField.setNumber(newData.getI());
4741
dField.setNumber(newData.getD());
48-
fField.setNumber(newData.getF());
4942
setpointField.setNumber(newData.getSetpoint());
50-
togglingFromDataChange = true;
51-
enableToggle.setSelected(newData.isEnabled());
52-
togglingFromDataChange = false;
5343
});
5444

5545
actOnFocusLost(pField);
5646
actOnFocusLost(iField);
5747
actOnFocusLost(dField);
58-
actOnFocusLost(fField);
5948
actOnFocusLost(setpointField);
60-
61-
enableToggle.selectedProperty().addListener((__, prev, cur) -> {
62-
if (!togglingFromDataChange) {
63-
PIDControllerData data = getData();
64-
setData(data.withEnabled(!data.isEnabled()));
65-
}
66-
});
6749
}
6850

6951
private void actOnFocusLost(TextField field) {
@@ -94,11 +76,6 @@ private void setD() {
9476
setData(getData().withD(dField.getNumber()));
9577
}
9678

97-
@FXML
98-
private void setF() {
99-
setData(getData().withF(fField.getNumber()));
100-
}
101-
10279
@FXML
10380
private void setSetpoint() {
10481
setData(getData().withSetpoint(setpointField.getNumber()));

plugins/base/src/main/resources/edu/wpi/first/shuffleboard/plugin/base/widget/PIDControllerWidget.fxml

+3-7
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
xmlns:fx="http://javafx.com/fxml"
1111
fx:controller="edu.wpi.first.shuffleboard.plugin.base.widget.PIDControllerWidget"
1212
fx:id="root"
13-
minWidth="112" minHeight="232"
13+
minWidth="112" minHeight="168"
1414
hgap="4" vgap="4">
1515
<columnConstraints>
1616
<ColumnConstraints minWidth="52" prefWidth="52" maxWidth="52"/>
@@ -22,13 +22,9 @@
2222
<Label text="P" GridPane.columnIndex="0" GridPane.rowIndex="0"/>
2323
<Label text="I" GridPane.columnIndex="0" GridPane.rowIndex="1"/>
2424
<Label text="D" GridPane.columnIndex="0" GridPane.rowIndex="2"/>
25-
<Label text="F" GridPane.columnIndex="0" GridPane.rowIndex="3"/>
26-
<Label text="Setpoint" GridPane.columnIndex="0" GridPane.rowIndex="4"/>
27-
<Label text="Enabled" GridPane.columnIndex="0" GridPane.rowIndex="5"/>
25+
<Label text="Setpoint" GridPane.columnIndex="0" GridPane.rowIndex="3"/>
2826
<NumberField fx:id="pField" onAction="#setP" GridPane.columnIndex="1" GridPane.rowIndex="0" GridPane.hgrow="ALWAYS"/>
2927
<NumberField fx:id="iField" onAction="#setI" GridPane.columnIndex="1" GridPane.rowIndex="1" GridPane.hgrow="ALWAYS"/>
3028
<NumberField fx:id="dField" onAction="#setD" GridPane.columnIndex="1" GridPane.rowIndex="2" GridPane.hgrow="ALWAYS"/>
31-
<NumberField fx:id="fField" onAction="#setF" GridPane.columnIndex="1" GridPane.rowIndex="3" GridPane.hgrow="ALWAYS"/>
32-
<NumberField fx:id="setpointField" onAction="#setSetpoint" GridPane.columnIndex="1" GridPane.rowIndex="4" GridPane.hgrow="ALWAYS"/>
33-
<ToggleSwitch fx:id="enableToggle" maxWidth="0" GridPane.columnIndex="1" GridPane.rowIndex="5"/>
29+
<NumberField fx:id="setpointField" onAction="#setSetpoint" GridPane.columnIndex="1" GridPane.rowIndex="3" GridPane.hgrow="ALWAYS"/>
3430
</GridPane>

0 commit comments

Comments
 (0)