Skip to content

Commit 4597cc6

Browse files
authored
update rlis from sim examples (#2194)
1 parent 02d75a0 commit 4597cc6

File tree

2 files changed

+58
-30
lines changed

2 files changed

+58
-30
lines changed

source/docs/software/basic-programming/robot-preferences.rst

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,23 @@ Initializing Preferences
1313

1414
.. group-tab:: Java
1515

16-
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/armsimulation/Robot.java
16+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/armsimulation/Constants.java
1717
:language: java
18-
:lines: 35-42, 90-91, 98-105
18+
:lines: 15-20
19+
20+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/armsimulation/subsystems/Arm.java
21+
:language: java
22+
:lines: 28-30, 71-72, 79-82
1923

2024
.. group-tab:: C++
2125

22-
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibcExamples/src/main/cpp/examples/ArmSimulation/cpp/Robot.cpp
26+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibcExamples/src/main/cpp/examples/ArmSimulation/include/Constants.h
27+
:language: cpp
28+
:lines: 30-34
29+
30+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibcExamples/src/main/cpp/examples/ArmSimulation/cpp/subsystems/Arm.cpp
2331
:language: cpp
24-
:lines: 38-45, 85-86, 92-100
32+
:lines: 12, 18-22
2533

2634
Preferences are stored using a name, the key. It's helpful to store the key in a constant, like ``kArmPositionKey`` and ``kArmPKey`` in the code above to avoid typing it multiple times and avoid typos. We also declare variables, ``kArmKp`` and ``armPositionDeg`` to hold the data retrieved from preferences.
2735

@@ -36,15 +44,15 @@ Reading Preferences
3644

3745
.. group-tab:: Java
3846

39-
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/armsimulation/Robot.java
47+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/armsimulation/subsystems/Arm.java
4048
:language: java
41-
:lines: 126-134
49+
:lines: 104-111
4250

4351
.. group-tab:: C++
4452

45-
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibcExamples/src/main/cpp/examples/ArmSimulation/cpp/Robot.cpp
53+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibcExamples/src/main/cpp/examples/ArmSimulation/cpp/subsystems/Arm.cpp
4654
:language: cpp
47-
:lines: 122-130
55+
:lines: 44-52
4856

4957
Reading a preference is easy. The ``getDouble`` method takes two parameters, the key to read, and a default value to use in case the preference doesn't exist. There are similar methods for other data types like booleans, ints, and strings.
5058

@@ -54,15 +62,21 @@ Depending on the data that is stored in preferences, you can use it when you rea
5462

5563
.. group-tab:: Java
5664

57-
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/armsimulation/Robot.java
65+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/armsimulation/Robot.java
66+
:language: java
67+
:lines: 29-38
68+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/armsimulation/subsystems/Arm.java
5869
:language: java
59-
:lines: 136-147
70+
:lines: 113-119
6071

6172
.. group-tab:: C++
6273

63-
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibcExamples/src/main/cpp/examples/ArmSimulation/cpp/Robot.cpp
74+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibcExamples/src/main/cpp/examples/ArmSimulation/cpp/Robot.cpp
75+
:language: cpp
76+
:lines: 15-24
77+
.. rli:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibcExamples/src/main/cpp/examples/ArmSimulation/cpp/subsystems/Arm.cpp
6478
:language: cpp
65-
:lines: 132-143
79+
:lines: 54-60
6680

6781
Using Preferences in SmartDashboard
6882
-----------------------------------

source/docs/software/wpilib-tools/robot-simulation/physics-sim.rst

Lines changed: 32 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,58 +43,72 @@ In the following example, we simulate an elevator given the mass of the moving c
4343

4444
.. group-tab:: Java
4545

46-
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/elevatorsimulation/Robot.java
46+
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/elevatorsimulation/subsystems/Elevator.java
4747
:language: java
48-
:lines: 53-64
48+
:lines: 47-58
4949
:linenos:
50-
:lineno-start: 53
50+
:lineno-start: 47
5151

5252
.. group-tab:: C++
5353

54-
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibcExamples/src/main/cpp/examples/ElevatorSimulation/cpp/Robot.cpp
54+
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibcExamples/src/main/cpp/examples/ElevatorSimulation/include/subsystems/Elevator.h
5555
:language: cpp
56-
:lines: 61-70
56+
:lines: 51-60
5757
:linenos:
58-
:lineno-start: 61
58+
:lineno-start: 51
5959

6060
Next, :code:`teleopPeriodic`/:code:`TeleopPeriodic` (Java/C++) uses a simple PID control loop to drive our elevator to a setpoint 30 inches off the ground.
6161

6262
.. tabs::
6363

6464
.. group-tab:: Java
6565

66-
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/elevatorsimulation/Robot.java
66+
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/elevatorsimulation/Robot.java
6767
:language: java
68-
:lines: 103-113
68+
:lines: 31-40
6969
:linenos:
70-
:lineno-start: 103
70+
:lineno-start: 31
71+
72+
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/elevatorsimulation/subsystems/Elevator.java
73+
:language: java
74+
:lines: 98-105
75+
:linenos:
76+
:lineno-start: 98
7177

7278
.. group-tab:: C++
7379

74-
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibcExamples/src/main/cpp/examples/ElevatorSimulation/cpp/Robot.cpp
80+
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibcExamples/src/main/cpp/examples/ElevatorSimulation/cpp/Robot.cpp
7581
:language: cpp
76-
:lines: 100-108
82+
:lines: 20-28
7783
:linenos:
78-
:lineno-start: 100
84+
:lineno-start: 20
85+
86+
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibcExamples/src/main/cpp/examples/ElevatorSimulation/cpp/subsystems/Elevator.cpp
87+
:language: cpp
88+
:lines: 42-50
89+
:linenos:
90+
:lineno-start: 42
7991

8092
Next, :code:`simulationPeriodic`/:code:`SimulationPeriodic` (Java/C++) uses the voltage applied to the motor to update the simulated position of the elevator. We use :code:`SimulationPeriodic` because it runs periodically only for simulated robots. This means that our simulation code will not be run on a real robot.
8193

94+
.. note:: Classes inheriting from command-based's ``Subsystem`` can override the inherited ``simulationPeriodic()`` method. Other classes will need their simulation update methods called from ``Robot``'s ``simulationPeriodic``.
95+
8296
Finally, the simulated encoder's distance reading is set using the simulated elevator's position, and the robot's battery voltage is set using the estimated current drawn by the elevator.
8397

8498
.. tabs::
8599

86100
.. group-tab:: Java
87101

88-
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/elevatorsimulation/Robot.java
102+
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibjExamples/src/main/java/edu/wpi/first/wpilibj/examples/elevatorsimulation/subsystems/Elevator.java
89103
:language: java
90-
:lines: 84-101
104+
:lines: 78-91
91105
:linenos:
92-
:lineno-start: 84
106+
:lineno-start: 78
93107

94108
.. group-tab:: C++
95109

96-
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/v2023.2.1/wpilibcExamples/src/main/cpp/examples/ElevatorSimulation/cpp/Robot.cpp
110+
.. remoteliteralinclude:: https://raw.githubusercontent.com/wpilibsuite/allwpilib/43975ac7cc1287dc83191a1bda3898c901fa6e31/wpilibcExamples/src/main/cpp/examples/ElevatorSimulation/cpp/subsystems/Elevator.cpp
97111
:language: cpp
98-
:lines: 91-110
112+
:lines: 20-35
99113
:linenos:
100-
:lineno-start: 91
114+
:lineno-start: 20

0 commit comments

Comments
 (0)