Skip to content

Commit 8f83767

Browse files
authored
Update accelerometer docs (#2291)
The Accelerometer interface was deprecated in wpilibsuite/allwpilib#5445.
1 parent b7e5b8b commit 8f83767

File tree

1 file changed

+22
-30
lines changed

1 file changed

+22
-30
lines changed

source/docs/software/hardware-apis/sensors/accelerometers-software.rst

Lines changed: 22 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -55,27 +55,19 @@ The :code:`AnalogAccelerometer` class (`Java <https://github.wpilib.org/allwpili
5555

5656
If users have a 3-axis analog accelerometer, they can use three instances of this class, one for each axis.
5757

58-
59-
The Accelerometer interface
60-
---------------------------
61-
62-
All 3-axis accelerometers in WPILib implement the :code:`Accelerometer` interface (`Java <https://github.wpilib.org/allwpilib/docs/release/java/edu/wpi/first/wpilibj/interfaces/Accelerometer.html>`__, `C++ <https://github.wpilib.org/allwpilib/docs/release/cpp/classfrc_1_1_accelerometer.html>`__). This interface defines functionality and settings common to all supported 3-axis accelerometers.
63-
64-
The :code:`Accelerometer` interface contains getters for the acceleration along each cardinal direction (x, y, and z), as well as a setter for the range of accelerations the accelerometer will measure.
65-
66-
.. warning:: Not all accelerometers are capable of measuring all ranges.
58+
There are getters for the acceleration along each cardinal direction (x, y, and z), as well as a setter for the range of accelerations the accelerometer will measure.
6759

6860
.. tabs::
6961

7062
.. code-tab:: java
7163

7264
// Sets the accelerometer to measure between -8 and 8 G's
73-
accelerometer.setRange(Accelerometer.Range.k8G);
65+
accelerometer.setRange(BuiltInAccelerometer.Range.k8G);
7466

7567
.. code-tab:: c++
7668

7769
// Sets the accelerometer to measure between -8 and 8 G's
78-
accelerometer.SetRange(Accelerometer::Range::kRange_8G);
70+
accelerometer.SetRange(BuiltInAccelerometer::Range::kRange_8G);
7971

8072
ADXL345_I2C
8173
^^^^^^^^^^^
@@ -88,13 +80,13 @@ The :code:`ADXL345_I2C` class (`Java <https://github.wpilib.org/allwpilib/docs/r
8880

8981
// Creates an ADXL345 accelerometer object on the MXP I2C port
9082
// with a measurement range from -8 to 8 G's
91-
Accelerometer accelerometer = new ADXL345_I2C(I2C.Port.kMXP, Accelerometer.Range.k8G);
83+
ADXL345_I2C accelerometer = new ADXL345_I2C(I2C.Port.kMXP, ADXL345_I2C.Range.k8G);
9284

9385
.. code-tab:: c++
9486

9587
// Creates an ADXL345 accelerometer object on the MXP I2C port
9688
// with a measurement range from -8 to 8 G's
97-
frc::ADXL345_I2C accelerometer{I2C::Port::kMXP, Accelerometer::Range::kRange_8G};
89+
frc::ADXL345_I2C accelerometer{I2C::Port::kMXP, frc::ADXL345_I2C::Range::kRange_8G};
9890

9991
ADXL345_SPI
10092
^^^^^^^^^^^
@@ -107,13 +99,13 @@ The :code:`ADXL345_SPI` class (`Java <https://github.wpilib.org/allwpilib/docs/r
10799

108100
// Creates an ADXL345 accelerometer object on the MXP SPI port
109101
// with a measurement range from -8 to 8 G's
110-
Accelerometer accelerometer = new ADXL345_SPI(SPI.Port.kMXP, Accelerometer.Range.k8G);
102+
ADXL345_SPI accelerometer = new ADXL345_SPI(SPI.Port.kMXP, ADXL345_SPI.Range.k8G);
111103

112104
.. code-tab:: c++
113105

114106
// Creates an ADXL345 accelerometer object on the MXP SPI port
115107
// with a measurement range from -8 to 8 G's
116-
frc::ADXL345_SPI accelerometer{SPI::Port::kMXP, Accelerometer::Range::kRange_8G};
108+
frc::ADXL345_SPI accelerometer{SPI::Port::kMXP, frc::ADXL345_SPI::Range::kRange_8G};
117109

118110
ADXL362
119111
^^^^^^^
@@ -126,13 +118,13 @@ The :code:`ADXL362` class (`Java <https://github.wpilib.org/allwpilib/docs/relea
126118

127119
// Creates an ADXL362 accelerometer object on the MXP SPI port
128120
// with a measurement range from -8 to 8 G's
129-
Accelerometer accelerometer = new ADXL362(SPI.Port.kMXP, Accelerometer.Range.k8G);
121+
ADXL362 accelerometer = new ADXL362(SPI.Port.kMXP, ADXL362.Range.k8G);
130122

131123
.. code-tab:: c++
132124

133125
// Creates an ADXL362 accelerometer object on the MXP SPI port
134126
// with a measurement range from -8 to 8 G's
135-
frc::ADXL362 accelerometer{SPI::Port::kMXP, Accelerometer::Range::kRange_8G};
127+
frc::ADXL362 accelerometer{SPI::Port::kMXP, frc::ADXL362::Range::kRange_8G};
136128

137129
BuiltInAccelerometer
138130
^^^^^^^^^^^^^^^^^^^^
@@ -145,13 +137,13 @@ The :code:`BuiltInAccelerometer` class (`Java <https://github.wpilib.org/allwpil
145137

146138
// Creates an object for the built-in accelerometer
147139
// Range defaults to +- 8 G's
148-
Accelerometer accelerometer = new BuiltInAccelerometer();
140+
BuiltInAccelerometer accelerometer = new BuiltInAccelerometer();
149141

150142
.. code-tab:: c++
151143

152144
// Creates an object for the built-in accelerometer
153145
// Range defaults to +- 8 G's
154-
frc::BuiltInAccelerometer accelerometer{};
146+
frc::BuiltInAccelerometer accelerometer;
155147

156148
Third-party accelerometers
157149
--------------------------
@@ -171,10 +163,10 @@ For detecting collisions, it is often more robust to measure the jerk than the a
171163

172164
.. code-tab:: java
173165

174-
double prevXAccel = 0;
175-
double prevYAccel = 0;
166+
double prevXAccel = 0.0;
167+
double prevYAccel = 0.0;
176168

177-
Accelerometer accelerometer = new BuiltInAccelerometer();
169+
BuiltInAccelerometer accelerometer = new BuiltInAccelerometer();
178170

179171
@Override
180172
public void robotPeriodic() {
@@ -184,19 +176,19 @@ For detecting collisions, it is often more robust to measure the jerk than the a
184176

185177
// Calculates the jerk in the X and Y directions
186178
// Divides by .02 because default loop timing is 20ms
187-
double xJerk = (xAccel - prevXAccel)/.02;
188-
double yJerk = (yAccel - prevYAccel)/.02;
179+
double xJerk = (xAccel - prevXAccel) / 0.02;
180+
double yJerk = (yAccel - prevYAccel) / 0.02;
189181

190182
prevXAccel = xAccel;
191183
prevYAccel = yAccel;
192184
}
193185

194186
.. code-tab:: c++
195187

196-
double prevXAccel = 0;
197-
double prevYAccel = 0;
188+
double prevXAccel = 0.0;
189+
double prevYAccel = 0.0;
198190

199-
frc::BuiltInAccelerometer accelerometer{};
191+
frc::BuiltInAccelerometer accelerometer;
200192

201193
void Robot::RobotPeriodic() {
202194
// Gets the current accelerations in the X and Y directions
@@ -205,8 +197,8 @@ For detecting collisions, it is often more robust to measure the jerk than the a
205197

206198
// Calculates the jerk in the X and Y directions
207199
// Divides by .02 because default loop timing is 20ms
208-
double xJerk = (xAccel - prevXAccel)/.02;
209-
double yJerk = (yAccel - prevYAccel)/.02;
200+
double xJerk = (xAccel - prevXAccel) / 0.02;
201+
double yJerk = (yAccel - prevYAccel) / 0.02;
210202

211203
prevXAccel = xAccel;
212204
prevYAccel = yAccel;
@@ -218,7 +210,7 @@ Most accelerometers legal for FRC use are quite noisy, and it is often a good id
218210

219211
.. code-tab:: java
220212

221-
Accelerometer accelerometer = new BuiltInAccelerometer();
213+
BuiltInAccelerometer accelerometer = new BuiltInAccelerometer();
222214

223215
// Create a LinearFilter that will calculate a moving average of the measured X acceleration over the past 10 iterations of the main loop
224216

0 commit comments

Comments
 (0)