Skip to content

Commit

Permalink
I tried to touch every single file
Browse files Browse the repository at this point in the history
  • Loading branch information
jasondaming committed Dec 21, 2023
1 parent a61ed24 commit 6386f7e
Show file tree
Hide file tree
Showing 62 changed files with 95 additions and 89 deletions.
4 changes: 2 additions & 2 deletions source/docs/controls-overviews/control-system-hardware.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 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 Expand Up @@ -274,7 +274,7 @@ Venom Motor Controller
:alt: Venom Motor Controller
:width: 500

The `Venom Motor Controller <https://www.playingwithfusion.com/productview.php?pdid=99>`__ from Playing With Fusion is integrated into a motor based on the original CIM. Speed, current, temperature, and position are all measured onboard, enabling advanced control modes without complicated sensing and wiring schemes.
The `Venom Motor Controller <https://www.playingwithfusion.com/productview.php?pdid=99>`__ from Playing With Fusion is integrated into a motor based on the original :term:`CIM`. Speed, current, temperature, and position are all measured onboard, enabling advanced control modes without complicated sensing and wiring schemes.

Nidec Dynamo BLDC Motor with Controller
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
2 changes: 1 addition & 1 deletion source/docs/hardware/hardware-basics/can-wiring-basics.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CAN Wiring Basics
=================

CAN is a two wire network that is designed to facilitate communication between multiple devices on your robot. It is recommended that CAN on your robot follow a "daisy-chain" topology. This means that the CAN wiring should usually start at your roboRIO and go into and out of each device successively until finally ending at the PDP.
:term:`CAN` is a two wire network that is designed to facilitate communication between multiple devices on your robot. It is recommended that CAN on your robot follow a "daisy-chain" topology. This means that the CAN wiring should usually start at your roboRIO and go into and out of each device successively until finally ending at the :term:`PDP`.

.. image:: images/can-wiring-basics/daisychain.png

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ Swarf is fine chips or filings of stone, metal, or other material produced by a
Radio Barrel Jack
-----------------

Make sure the correct barrel jack is used, not one that is too small and falls out for no reason. This isn’t common, but ask an FTA and every once in awhile a team will use some random barrel jack that is not sized correctly, and it falls out in a match on first contact.
Make sure the correct barrel jack is used, not one that is too small and falls out for no reason. This isn’t common, but ask an :term:`FTA` and every once in awhile a team will use some random barrel jack that is not sized correctly, and it falls out in a match on first contact.

Ethernet Cable
--------------
Expand Down
4 changes: 2 additions & 2 deletions source/docs/hardware/hardware-basics/status-lights-ref.rst
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ PDP Status/Comm LEDs

.. tip:: If a PDP LED is showing more than one color, see the PDP LED special states table below. For more information on resolving PDP faults see the PDP User Manual.

.. note:: Note that the No CAN Comm fault will occur if the PDP cannot communicate with the roboRIO via CAN Bus.
.. note:: Note that the No :term:`CAN` Comm fault will occur if the PDP cannot communicate with the roboRIO via CAN Bus.

PDP Special States
^^^^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -610,7 +610,7 @@ REV Robotics Servo Power Module
Status LEDs
^^^^^^^^^^^

Each channel has a corresponding status LED that will indicate the sensed state of the connected PWM signal. The table below describes each state’s corresponding LED pattern.
Each channel has a corresponding status LED that will indicate the sensed state of the connected :term:`PWM` signal. The table below describes each state’s corresponding LED pattern.

+-----------------------+----------------+
| State | Pattern |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This page describes wiring pneumatics with the CTRE Pneumatic Control Module (PC
Wiring Overview
---------------

A single PCM will support most pneumatics applications, providing an output for the compressor, input for the pressure switch, and outputs for up to 8 solenoid channels (12V or 24V selectable). The module is connected to the roboRIO over the CAN bus and powered via 12V from the PDP or PDH.
A single PCM will support most pneumatics applications, providing an output for the compressor, input for the pressure switch, and outputs for up to 8 solenoid channels (12V or 24V selectable). The module is connected to the roboRIO over the :term:`CAN` bus and powered via 12V from the PDP or PDH.

For complicated robot designs requiring more channels or multiple solenoid voltages, additional PCMs or PHs can be added to the control system.

Expand Down
4 changes: 2 additions & 2 deletions source/docs/hardware/hardware-basics/wiring-pneumatics-ph.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Wiring Pneumatics - REV Pneumatic Hub
=====================================

This page describes wiring pneumatics with the REV Pneumatic Hub (PH). For instructions on wiring pneumatics with the CTRE Pneumatic Control Module (PCM) see :doc:`this page <wiring-pneumatics-pcm>`.
This page describes wiring pneumatics with the REV Pneumatic Hub (:term:`PH`). For instructions on wiring pneumatics with the CTRE Pneumatic Control Module (:term:`PCM`) see :doc:`this page <wiring-pneumatics-pcm>`.

.. hint:: For pneumatics safety & mechanical requirements, consult this year's Robot Construction rules. For mechanical design guidelines, the FIRST Pneumatics Manual is located `here <https://www.firstinspires.org/sites/default/files/uploads/resource_library/frc/technical-resources/frc_pneumatics_manual.pdf>`__

Expand All @@ -16,7 +16,7 @@ This page describes wiring pneumatics with the REV Pneumatic Hub (PH). For instr
Wiring Overview
---------------

A single PH will support most pneumatics applications, providing an output for the compressor, input for a pressure switch, and outputs for up to 16 solenoid channels (12V or 24V selectable). The module is connected to the roboRIO over the CAN bus and powered via 12V from the PDP/PDH.
A single PH will support most pneumatics applications, providing an output for the compressor, input for a pressure switch, and outputs for up to 16 solenoid channels (12V or 24V selectable). The module is connected to the roboRIO over the :term:`CAN` bus and powered via 12V from the PDP/PDH.

For complicated robot designs requiring more channels or multiple solenoid voltages, additional PHs or PCMs can be added to the control system.

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 @@ -33,7 +33,7 @@ Three-axis Gyros
^^^^^^^^^^^^^^^^

.. image:: images/gyros-hardware/adis16470-gyro-to-roborio.jpeg
:alt: This is the ADIS16470 IMU plugged in to the SPI port.
:alt: This is the ADIS16470 :term:`IMU` plugged in to the SPI port.
:width: 400

Three-axis gyros measure rotation rate around all three spacial axes (typically labeled x, y, and z). The motion around these axis is called pitch, yaw, and roll.
Expand Down
10 changes: 5 additions & 5 deletions source/docs/hardware/sensors/serial-buses.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The roboRIO supports many basic types of serial communications:
- `USB Host`_
- `CAN Bus`_

Additionally, the roboRIO supports communications with peripheral devices over the CAN bus. However, as the FRC\ |reg| CAN protocol is quite idiosyncratic, relatively few peripheral sensors support it (though it is heavily used for motor controllers).
Additionally, the roboRIO supports communications with peripheral devices over the :term:`CAN` bus. However, as the FRC\ |reg| CAN protocol is quite idiosyncratic, relatively few peripheral sensors support it (though it is heavily used for motor controllers).

I2C
---
Expand All @@ -29,9 +29,9 @@ I2C
.. image:: images/serial-buses/i2c-pinout.png
:alt: I2C roboRIO port pin specifications.

To communicate to peripheral devices over I2C, each pin should be wired to its corresponding pin on the device. I2C allows users to wire a "chain" of slave devices to a single port, so long as those devices have separate IDs set.
To communicate to peripheral devices over :term:`I2C`, each pin should be wired to its corresponding pin on the device. I2C allows users to wire a "chain" of slave devices to a single port, so long as those devices have separate IDs set.

The I2C bus can also be used through the `MXP expansion port`_. The I2C bus on the MXP is independent. For example, a device on the main bus can have the same ID as a device on the MXP bus.
The I2C bus can also be used through the `MXP expansion port`_. The I2C bus on the :term:`MXP` is independent. For example, a device on the main bus can have the same ID as a device on the MXP bus.

.. warning:: Be sure to familiarize yourself on the following known issue before using the onboard I2C port: :ref:`docs/yearly-overview/known-issues:Onboard I2C Causing System Lockups`

Expand All @@ -44,7 +44,7 @@ SPI
.. image:: images/serial-buses/spi-pinout.png
:alt: SPI roboRIO port pin specifications.

To communicate to peripheral devices over SPI, each pin should be wired to its corresponding pin on the device. The SPI port supports communications to up to four devices (corresponding to the Chip Select (CS) 0-3 pins on the diagram above).
To communicate to peripheral devices over :term:`SPI`, each pin should be wired to its corresponding pin on the device. The SPI port supports communications to up to four devices (corresponding to the Chip Select (CS) 0-3 pins on the diagram above).

The SPI bus can also be used through the `MXP expansion port`_. The MXP port provides independent clock, and input/output lines and an additional CS.

Expand Down Expand Up @@ -88,7 +88,7 @@ MXP Expansion Port
.. image:: images/serial-buses/mxp-pinout.png
:alt: MXP pinout.

Several of the serial buses are also available for use through the roboRIO's MXP Expansion Port. This port allows users to make use of many additional :doc:`digital <digital-inputs-hardware>` and :doc:`analog <analog-inputs-hardware>` inputs, as well as the various serial buses.
Several of the serial buses are also available for use through the roboRIO's :term:`MXP` Expansion Port. This port allows users to make use of many additional :doc:`digital <digital-inputs-hardware>` and :doc:`analog <analog-inputs-hardware>` inputs, as well as the various serial buses.

Many peripheral devices attach directly to the MXP port for convenience, requiring no wiring on the part of the user.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ This section describes networking when connected to the Field Network for match
On the Field DHCP Configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The Field Network runs a DHCP server with pools for each team that will hand out addresses in the range of ``10.TE.AM.20`` to ``10.TE.AM.199`` with a subnet mask of ``255.255.255.0``, and a default gateway of ``10.TE.AM.4``.
The Field Network runs a :term:`DHCP` server with pools for each team that will hand out addresses in the range of ``10.TE.AM.20`` to ``10.TE.AM.199`` with a subnet mask of ``255.255.255.0``, and a default gateway of ``10.TE.AM.4``.
When configured for an event, the Team Radio runs a DHCP server with a pool for devices onboard the robot that will hand out addresses in the range of 10.TE.AM.200 to 10.TE.AM.219 with a subnet mask of 255.255.255.0, and a gateway of 10.TE.AM.1.

- OpenMesh OM5P-AN or OM5P-AC radio - Static ``10.TE.AM.1`` programmed by
Expand All @@ -50,7 +50,7 @@ It is also possible to configure static IPs on your devices to accommodate devic
- roboRIO - Static ``10.TE.AM.2`` would be a reasonable choice, subnet mask
of ``255.255.255.0`` (default)
- Driver Station - Static ``10.TE.AM.5`` would be a reasonable choice,
subnet mask **must** be ``255.0.0.0`` to enable the DS to reach both the robot and FMS Server, without additionally configuring the default gateway.
subnet mask **must** be ``255.0.0.0`` to enable the DS to reach both the robot and :term:`FMS` Server, without additionally configuring the default gateway.
If a static address is assigned and the subnet mask is set to ``255.255.255.0``, then the default gateway must be configured to ``10.TE.AM.4``.
- IP Camera (if used) - Static ``10.TE.AM.11`` would be a reasonable
choice, subnet ``255.255.255.0`` should be fine
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Dynamically assigning IP addresses means that we are letting a device on the net
What is a DHCP server?
~~~~~~~~~~~~~~~~~~~~~~

A DHCP server is a device that runs the DHCP service to monitor the network for new devices to configure. In larger businesses, this could be a dedicated computer running the DHCP service and that computer would be the DHCP server. For home networks, FRC networks, and other smaller networks, the DHCP service is usually running on the router; in this case, the router is the DHCP server.
A :term:`DHCP` server is a device that runs the DHCP service to monitor the network for new devices to configure. In larger businesses, this could be a dedicated computer running the DHCP service and that computer would be the DHCP server. For home networks, FRC networks, and other smaller networks, the DHCP service is usually running on the router; in this case, the router is the DHCP server.

This means that if you ever run into a situation where you need to have a DHCP server assigning IP addresses to your network devices, it’s as simple as finding the closest home router, and plugging it in.

Expand Down Expand Up @@ -175,7 +175,7 @@ If using the USB interface, no network setup is required (you do need the :ref:`
Ethernet/Wireless
-----------------

The :ref:`docs/zero-to-robot/step-3/radio-programming:Programming your Radio` will enable the DHCP server on the OpenMesh radio in the home use case (AP mode), if you are putting the OpenMesh in bridge mode and using a router, you can enable DHCP addressing on the router. The bridge is set to the same team-based IP address as before (``10.TE.AM.1``) and will hand out DHCP address from ``10.TE.AM.20`` to ``10.TE.AM.199``. When connected to the field, FMS will also hand out addresses in the same IP range.
The :ref:`docs/zero-to-robot/step-3/radio-programming:Programming your Radio` will enable the DHCP server on the OpenMesh radio in the home use case (AP mode), if you are putting the OpenMesh in bridge mode and using a router, you can enable DHCP addressing on the router. The bridge is set to the same team-based IP address as before (``10.TE.AM.1``) and will hand out DHCP address from ``10.TE.AM.20`` to ``10.TE.AM.199``. When connected to the field, :term:`FMS` will also hand out addresses in the same IP range.

Summary
-------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
roboRIO Network Troubleshooting
===============================

The roboRIO and FRC\ |reg| tools use dynamic IP addresses (DHCP) for network connectivity. This article describes steps for troubleshooting networking connectivity between your PC and your roboRIO
The roboRIO and FRC\ |reg| tools use dynamic IP addresses (:term:`DHCP`) for network connectivity. This article describes steps for troubleshooting networking connectivity between your PC and your roboRIO

Ping the roboRIO using mDNS
---------------------------
Expand Down
4 changes: 2 additions & 2 deletions source/docs/romi-robot/getting-to-know-romi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The wheels have a diameter of 70mm (2.75"). They have a trackwidth of 141mm (5.5

The encoders are connected directly to the motor output shaft and have 12 Counts Per Revolution (CPR). With the provided gear ratio, this nets 1440 counts per wheel revolution.

The motor PWM channels are listed in the table below.
The motor :term:`PWM` channels are listed in the table below.

+-------------+--------------------------+
| Channel | Romi Hardware Component |
Expand Down Expand Up @@ -94,7 +94,7 @@ The Romi 32U4 control board has 3 push buttons and 3 LEDs onboard that are expos
| DIO 3 | Yellow LED (output only) |
+-------------+--------------------------------------+

Writes to DIO 0, 4, 5, 6 and 7 will result in no-ops.
Writes to DIO 0, 4, 5, 6 and 7 will result in a :term:`no-op`.

Configurable GPIO Pins
^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
2 changes: 1 addition & 1 deletion source/docs/romi-robot/hardware-support.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Compatible Hardware
In general, the Romi is compatible with the following:

- Simple Digital Input/Output devices (e.g. bumper switches, single LEDs)
- Standard RC-style PWM output devices (e.g. servos, PWM based motor controllers)
- Standard RC-style :term:`PWM` output devices (e.g. servos, PWM based motor controllers)
- Analog Input sensors (e.g distance sensors that report distance as a voltage)

Incompatible Hardware
Expand Down
2 changes: 1 addition & 1 deletion source/docs/romi-robot/index.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Getting Started with Romi
=========================

The Romi is a small and inexpensive robot designed for learning about programming FRC robots. All the same tools used for programming full-sized FRC robots can be used to program the Romi. The Romi comes with two drive motors with integrated wheel encoders. It also includes an IMU sensor that can be used for measuring headings and accelerations. Using it is as simple as writing a robot program, and running it on your computer. It will command the Romi to follow the steps in the program.
The Romi is a small and inexpensive robot designed for learning about programming FRC robots. All the same tools used for programming full-sized FRC robots can be used to program the Romi. The Romi comes with two drive motors with integrated wheel encoders. It also includes an :term:`IMU` sensor that can be used for measuring headings and accelerations. Using it is as simple as writing a robot program, and running it on your computer. It will command the Romi to follow the steps in the program.

.. tip:: A course that teaches programming using the Romi Robot is available via Thinkscape. Information on this course is available `here <https://www.firstinspires.org/robotics/frc/blog/2021-skill-building-update-intro-to-programming-module>`__

Expand Down
2 changes: 1 addition & 1 deletion source/docs/romi-robot/programming-romi-in-labview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Creating a Romi Project

Creating a new program for a Romi is no different than creating a normal FRC \|reg| program, similar to the :doc:`Zero To Robot </docs/zero-to-robot/step-4/index>` programming steps. Initially, you may wish to create a separate project for use on just the Romi as the Romi hardware may be connected to different ports than on your roboRIO robot.

The Romi Robot used PWM ports 0 and 1 for left and right side respectively.
The Romi Robot used :term:`PWM` ports 0 and 1 for left and right side respectively.

.. todo:: add information on romi gyro and encoders

Expand Down
2 changes: 1 addition & 1 deletion source/docs/romi-robot/web-ui.rst
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ This section allows users to configure the 5 external GPIO channels on the Romi.

.. note:: The Raspberry Pi must be in **Writable** mode for this section to work.

To change the configuration of a GPIO channel, select an appropriate option from the dropdown lists. All channels (with the exception of EXT 0) support Digital IO, Analog In and PWM as channel types. Once the appropriate selections are made, click on :guilabel:`Save External IO Configuration`. The web service will then restart and pick up the new IO configuration.
To change the configuration of a GPIO channel, select an appropriate option from the dropdown lists. All channels (with the exception of EXT 0) support Digital IO, Analog In and :term:`PWM` as channel types. Once the appropriate selections are made, click on :guilabel:`Save External IO Configuration`. The web service will then restart and pick up the new IO configuration.

The "Robot Port" row provides the appropriate WPILib mapping for each configured GPIO channel. For example, EXT 0 is configured as a Digital IO channel, and will be accessible in WPILib as a DigitalInput (or DigitalOutput) channel 8.

Expand Down
Loading

0 comments on commit 6386f7e

Please sign in to comment.