Skip to content

Commit

Permalink
Fix link syntax that was broken in #2690 (#2702)
Browse files Browse the repository at this point in the history
  • Loading branch information
sciencewhiz authored Aug 17, 2024
1 parent fef8cc4 commit 74e95ae
Show file tree
Hide file tree
Showing 61 changed files with 115 additions and 116 deletions.
2 changes: 1 addition & 1 deletion source/docs/contributing/frc-docs/build-instructions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Ensure that [Git](https://git-scm.com/) is installed and that the frc-docs repos
Text Editors / IDE
^^^^^^^^^^^^^^^^^^

For development, we recommend that you use VS Code along with the `reStructuredText extension <https://marketplace.visualstudio.com/items?itemName=lextudio.restructuredtext>`_. However, any text editor will work.
For development, we recommend that you use VS Code along with the [reStructuredText extension](https://marketplace.visualstudio.com/items?itemName=lextudio.restructuredtext). However, any text editor will work.

By default, the reStructuredText extension enables linting with all doc8 features enabled. As frc-docs does not follow the line length lint, add the following to your VS Code ``settings.json`` to disable line length linting.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Contribution Guidelines

Welcome to the contribution guidelines for the frc-docs project. If you are unfamiliar to writing in the reStructuredText format, please read up on it [here](https://sphinx-tutorial.readthedocs.io/cheatsheet/).

.. important:: *FIRST*\ |reg| retains all rights to documentation and images provided. Credit for articles/updates will be in the `GitHub commit history. <https://github.com/wpilibsuite/frc-docs/graphs/commit-activity>`_
.. important:: *FIRST*\ |reg| retains all rights to documentation and images provided. Credit for articles/updates will be in the [GitHub commit history.](https://github.com/wpilibsuite/frc-docs/graphs/commit-activity)

Mission Statement
-----------------
Expand Down
8 changes: 4 additions & 4 deletions source/docs/contributing/frc-docs/style-guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ For documents that will have an identical software/hardware name, append "Hardwa

Suffix filenames with the ``.rst`` extension.

.. note:: If you are having issues editing files with the ``.rst`` extension, the recommended text editor is VS Code with the `reStructuredText extension <https://marketplace.visualstudio.com/items?itemName=lextudio.restructuredtext>`_.
.. note:: If you are having issues editing files with the ``.rst`` extension, the recommended text editor is VS Code with the [reStructuredText extension](https://marketplace.visualstudio.com/items?itemName=lextudio.restructuredtext).

Text
----
Expand All @@ -32,9 +32,9 @@ Use the following case for these terms:
- Linux (not linux)
- Java (not java)

Use the ASCII character set for English text. For special characters (e.g. Greek symbols) use the `standard character entity sets <https://docutils.sourceforge.io/docs/ref/rst/definitions.html#character-entity-sets>`_.
Use the ASCII character set for English text. For special characters (e.g. Greek symbols) use the [standard character entity sets](https://docutils.sourceforge.io/docs/ref/rst/definitions.html#character-entity-sets).

Use ``.. math::`` for standalone equations and ``:math:`` for inline equations. A useful LaTeX equation cheat sheet can be found `here <https://www.reed.edu/academic_support/pdfs/qskills/latexcheatsheet.pdf>`_.
Use ``.. math::`` for standalone equations and ``:math:`` for inline equations. A useful LaTeX equation cheat sheet can be found [here](https://www.reed.edu/academic_support/pdfs/qskills/latexcheatsheet.pdf).

Use literals for filenames, function, and variable names.

Expand Down Expand Up @@ -98,7 +98,7 @@ All code blocks should have a language specified.

1. Exception: Content where formatting must be preserved and has no language. Instead use ``text``.

Follow the `WPILib style guide <https://github.com/wpilibsuite/styleguide/>`_ for C++ and Java example code. For example, use two spaces for indentation in C++ and Java.
Follow the [WPILib style guide](https://github.com/wpilibsuite/styleguide/) for C++ and Java example code. For example, use two spaces for indentation in C++ and Java.

RLI (Remote Literal Include)
----------------------------
Expand Down
8 changes: 4 additions & 4 deletions source/docs/controls-overviews/control-system-hardware.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ CTRE Power Distribution Panel
:alt: CTRE Power Distribution Panel
:width: 500

The :ref:[CTRE Power Distribution Panel](docs/software/can-devices/power-distribution-module:Power Distribution Module) (PDP) is designed to distribute power from a 12VDC battery to various robot components through auto-resetting circuit breakers and a small number of special function fused connections. The PDP provides 8 output pairs rated for 40A continuous current and 8 pairs rated for 30A continuous current. The PDP provides dedicated 12V connectors for the roboRIO, as well as connectors for the Voltage Regulator Module and Pneumatics Control Module. It also includes a CAN interface for logging current, temperature, and battery voltage. For more detailed information, see the [PDP User Manual](https://store.ctr-electronics.com/content/user-manual/PDP%20User%27s%20Guide.pdf).
The :ref:`CTRE Power Distribution Panel <docs/software/can-devices/power-distribution-module:Power Distribution Module>` (PDP) is designed to distribute power from a 12VDC battery to various robot components through auto-resetting circuit breakers and a small number of special function fused connections. The PDP provides 8 output pairs rated for 40A continuous current and 8 pairs rated for 30A continuous current. The PDP provides dedicated 12V connectors for the roboRIO, as well as connectors for the Voltage Regulator Module and Pneumatics Control Module. It also includes a CAN interface for logging current, temperature, and battery voltage. For more detailed information, see the [PDP User Manual](https://store.ctr-electronics.com/content/user-manual/PDP%20User%27s%20Guide.pdf).

REV Power Distribution Hub
--------------------------
Expand Down Expand Up @@ -144,7 +144,7 @@ CTRE Pneumatics Control Module
:alt: CTRE Pneumatics Control Module
:width: 500

The :ref:[CTRE Pneumatics Control Module](docs/software/can-devices/pneumatics-control-module:Pneumatics Control Module) (PCM) contains all of the inputs and outputs required to operate 12V or 24V pneumatic solenoids and the on board compressor. The PCM contains an input for the pressure sensor and will control the compressor automatically when the robot is enabled and a solenoid has been created in the code. For more information see the [PCM User Manual](https://store.ctr-electronics.com/content/user-manual/PCM%20User%27s%20Guide.pdf).
The :ref:`CTRE Pneumatics Control Module <docs/software/can-devices/pneumatics-control-module:Pneumatics Control Module>` (PCM) contains all of the inputs and outputs required to operate 12V or 24V pneumatic solenoids and the on board compressor. The PCM contains an input for the pressure sensor and will control the compressor automatically when the robot is enabled and a solenoid has been created in the code. For more information see the [PCM User Manual](https://store.ctr-electronics.com/content/user-manual/PCM%20User%27s%20Guide.pdf).

REV Pneumatic Hub
-----------------
Expand All @@ -160,7 +160,7 @@ Digital and analog pressure sensor ports are built into the device, increasing t
Motor Controllers
-----------------

There are a variety of different :ref:[motor controllers](docs/software/hardware-apis/index:Hardware APIs) which work with the FRC Control System and are approved for use. These devices are used to provide variable voltage control of the brushed and brushless DC motors used in FRC. They are listed here in order of [usage](https://www.firstinspires.org/robotics/frc/blog/2021-beta-testing-usage-report).
There are a variety of different :ref:`motor controllers <docs/software/hardware-apis/index:Hardware APIs>` which work with the FRC Control System and are approved for use. These devices are used to provide variable voltage control of the brushed and brushless DC motors used in FRC. They are listed here in order of [usage](https://www.firstinspires.org/robotics/frc/blog/2021-beta-testing-usage-report).

.. note:: 3rd Party CAN control is not supported from WPILib. See this section on :ref:`docs/software/can-devices/third-party-devices:Third-Party CAN Devices` for more information.

Expand All @@ -171,7 +171,7 @@ Talon SRX
:alt: Talon SRX
:width: 500

The [Talon SRX Motor Controller](https://store.ctr-electronics.com/talon-srx/) is a "smart motor controller" from Cross The Road Electronics/VEX Robotics. The Talon SRX can be controlled over the CAN bus or :term:[PWM` interface. When using the CAN bus control, this device can take inputs from limit switches and potentiometers, encoders, or similar sensors in order to perform advanced control. For more information see the [Talon SRX User's Guide](https://store.ctr-electronics.com/content/user-manual/Talon%20SRX%20User's%20Guide.pdf).
The [Talon SRX Motor Controller](https://store.ctr-electronics.com/talon-srx/) is a "smart motor controller" from Cross The Road Electronics/VEX Robotics. The Talon SRX can be controlled over the CAN bus or :term:`PWM` interface. When using the CAN bus control, this device can take inputs from limit switches and potentiometers, encoders, or similar sensors in order to perform advanced control. For more information see the [Talon SRX User's Guide](https://store.ctr-electronics.com/content/user-manual/Talon%20SRX%20User's%20Guide.pdf).

Victor SPX
^^^^^^^^^^
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Analog Potentiometers - Hardware

.. warning:: Potentiometers generally have a mechanically-limited travel range. Users should be careful that their mechanisms do not turn their potentiometers past their maximum travel, as this will damage or destroy the potentiometer.

Apart from :doc:[quadrature encoders](encoders-hardware), another common way of measuring rotation on FRC\ |reg| robots is with analog potentiometers. A potentiometer is simply a variable resistor - as the shaft of the potentiometer turns, the resistance changes (usually linearly). Placing this resistor in a [voltage divider](https://en.wikipedia.org/wiki/Voltage_divider) allows the user to easily measure the resistance by measuring the voltage across the potentiometer, which can then be used to calculate the rotational position of the shaft.
Apart from :doc:`quadrature encoders <encoders-hardware>`, another common way of measuring rotation on FRC\ |reg| robots is with analog potentiometers. A potentiometer is simply a variable resistor - as the shaft of the potentiometer turns, the resistance changes (usually linearly). Placing this resistor in a [voltage divider](https://en.wikipedia.org/wiki/Voltage_divider) allows the user to easily measure the resistance by measuring the voltage across the potentiometer, which can then be used to calculate the rotational position of the shaft.

Wiring an analog potentiometer
------------------------------
Expand Down
2 changes: 1 addition & 1 deletion source/docs/hardware/sensors/gyros-hardware.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Single-axis Gyros
:alt: The Analog Devices 1-axis Gyro plugged into the SPI port of the roboRIO.
:width: 400

As per their name, single-axis gyros measure rotation rate around a single axis. This axis is generally specified on the physical device, and mounting the device in the proper orientation so that the desired axis is measured is highly important. Some single-axis gyros can output an analog voltage corresponding to the measured rate of rotation, and so connect to the roboRIO's :doc:[analog input](analog-inputs-hardware>` ports. Other single-axis gyros, such as the `ADXRS450 <https://wiki.analog.com/first) pictured above, use the :ref:`SPI port <docs/hardware/sensors/serial-buses:SPI>` on the roboRIO instead.
As per their name, single-axis gyros measure rotation rate around a single axis. This axis is generally specified on the physical device, and mounting the device in the proper orientation so that the desired axis is measured is highly important. Some single-axis gyros can output an analog voltage corresponding to the measured rate of rotation, and so connect to the roboRIO's :doc:`analog input <analog-inputs-hardware>` ports. Other single-axis gyros, such as the [ADXRS450](https://wiki.analog.com/first) pictured above, use the :ref:`SPI port <docs/hardware/sensors/serial-buses:SPI>` on the roboRIO instead.

The [Analog Devices ADXRS450 FRC Gyro Board](https://www.analog.com/en/landing-pages/001/first.html) that has been in FIRST Choice in recent years is a commonly used single axis gyro.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ The WPILib Feedforward Classes

WPILib provides a number of classes to help users implement accurate feedforward control for their mechanisms. In many ways, an accurate feedforward is more important than feedback to effective control of a mechanism. Since most FRC\ |reg| mechanisms closely obey well-understood system equations, starting with an accurate feedforward is both easy and hugely beneficial to accurate and robust mechanism control.

The WPILib feedforward classes closely match the available mechanism characterization tools available in the :ref:[SysId toolsuite](docs/software/advanced-controls/system-identification/introduction:Introduction to System Identification>`. The system identification toolsuite can be used to quickly and effectively determine the correct gains for each type of feedforward. If you are unable to empirically characterize your mechanism (due to space and/or time constraints), reasonable estimates of ``kG``, ``kV``, and ``kA`` can be obtained by fairly simple computation, and are also available from `ReCalc <https://www.reca.lc/). ``kS`` is nearly impossible to model, and must be measured empirically.
The WPILib feedforward classes closely match the available mechanism characterization tools available in the :ref:`SysId toolsuite <docs/software/advanced-controls/system-identification/introduction:Introduction to System Identification>`. The system identification toolsuite can be used to quickly and effectively determine the correct gains for each type of feedforward. If you are unable to empirically characterize your mechanism (due to space and/or time constraints), reasonable estimates of ``kG``, ``kV``, and ``kA`` can be obtained by fairly simple computation, and are also available from [ReCalc](https://www.reca.lc/). ``kS`` is nearly impossible to model, and must be measured empirically.

WPILib currently provides the following three helper classes for feedforward control:

* [SimpleMotorFeedforward`_ (`Java](https://github.wpilib.org/allwpilib/docs/development/java/edu/wpi/first/math/controller/SimpleMotorFeedforward.html), [C++](https://github.wpilib.org/allwpilib/docs/development/cpp/classfrc_1_1_simple_motor_feedforward.html), :external:py:class:`Python <wpimath.controller.SimpleMotorFeedforwardMeters>`)
* [ArmFeedforward`_ (`Java](https://github.wpilib.org/allwpilib/docs/development/java/edu/wpi/first/math/controller/ArmFeedforward.html), [C++](https://github.wpilib.org/allwpilib/docs/development/cpp/classfrc_1_1_arm_feedforward.html), :external:py:class:`Python <wpimath.controller.ArmFeedforward>`)
* [ElevatorFeedforward`_ (`Java](https://github.wpilib.org/allwpilib/docs/development/java/edu/wpi/first/math/controller/ElevatorFeedforward.html), [C++](https://github.wpilib.org/allwpilib/docs/development/cpp/classfrc_1_1_elevator_feedforward.html), :external:py:class:`Python <wpimath.controller.ElevatorFeedforward>`)
* `SimpleMotorFeedforward`_ (Java](https://github.wpilib.org/allwpilib/docs/development/java/edu/wpi/first/math/controller/SimpleMotorFeedforward.html), [C++](https://github.wpilib.org/allwpilib/docs/development/cpp/classfrc_1_1_simple_motor_feedforward.html), :external:py:class:`Python <wpimath.controller.SimpleMotorFeedforwardMeters>`)
* `ArmFeedforward`_ (Java](https://github.wpilib.org/allwpilib/docs/development/java/edu/wpi/first/math/controller/ArmFeedforward.html), [C++](https://github.wpilib.org/allwpilib/docs/development/cpp/classfrc_1_1_arm_feedforward.html), :external:py:class:`Python <wpimath.controller.ArmFeedforward>`)
* `ElevatorFeedforward`_ (Java](https://github.wpilib.org/allwpilib/docs/development/java/edu/wpi/first/math/controller/ElevatorFeedforward.html), [C++](https://github.wpilib.org/allwpilib/docs/development/cpp/classfrc_1_1_elevator_feedforward.html), :external:py:class:`Python <wpimath.controller.ElevatorFeedforward>`)

SimpleMotorFeedforward
----------------------
Expand Down
Loading

0 comments on commit 74e95ae

Please sign in to comment.