diff --git a/docs/requirements.txt b/docs/requirements.txt index 550e17e1..3902a6d6 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -9,3 +9,4 @@ git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=coo sphinx-sitemap==2.3.0 python-git-info==0.8.3 sphinxcontrib-mermaid==0.9.2 +sphinx-hoverxref==1.3.0 \ No newline at end of file diff --git a/docs/source/apriltag/vision_portal/visionportal_init/visionportal-init.rst b/docs/source/apriltag/vision_portal/visionportal_init/visionportal-init.rst index f07d0adb..df6c9bb5 100644 --- a/docs/source/apriltag/vision_portal/visionportal_init/visionportal-init.rst +++ b/docs/source/apriltag/vision_portal/visionportal_init/visionportal-init.rst @@ -137,7 +137,7 @@ Enabling and Disabling Processors --------------------------------- This note is repeated from the previous page 2, :doc:`Vision Processor Initialization -<../vision_processor_init/vision-processor-init>` +` For a Processor created at Step 2, an OpMode does **not need** to enable that Processor at this Step 3, **VisionPortal Initialization**. diff --git a/docs/source/cad_resources/index.rst b/docs/source/cad_resources/index.rst index b84cd7a5..1ada1c7b 100644 --- a/docs/source/cad_resources/index.rst +++ b/docs/source/cad_resources/index.rst @@ -5,9 +5,8 @@ CAD Resources ============= - -`Computer Aided Design (CAD) -`__ and 3D animation +:term:`Computer Aided Design (CAD) +` and 3D animation software is used in *FIRST* Tech Challenge by teams to design and visualize complex systems prior to manufacturing. There are many software options for CAD and there's no way to list them all. Some software is provided free of charge, diff --git a/docs/source/conf.py b/docs/source/conf.py index 3881c3c5..dcfecf4b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -29,6 +29,7 @@ 'sphinxcontrib.googleanalytics', 'sphinxcontrib.cookiebanner', 'sphinxcontrib.mermaid', + 'hoverxref.extension', ] autosectionlabel_prefix_document = True @@ -63,6 +64,10 @@ "source/control_hard_compon/rc_components/images/B2.svg", "source/control_hard_compon/ds_components/images/C1.svg",] +# Options for HoverXRef extension + +hoverxref_roles = ['term'] + # Specify the master doc file, AKA our homepage master_doc = "index" diff --git a/docs/source/glossary/glossary.rst b/docs/source/glossary/glossary.rst new file mode 100644 index 00000000..e0666ded --- /dev/null +++ b/docs/source/glossary/glossary.rst @@ -0,0 +1,118 @@ +Glossary +================= + +.. admonition:: Key + + .. list-table:: + + * - :bdg-primary:`GM1` + - :bdg-info:`` + + * - Game Manual Part 1 + - + +.. glossary:: + :sorted: + + OpMode + An Operational Mode (OpMode) is the heart of any *FIRST* Tech Challenge routine. This refers to a User Defined Class that outlines the behavior of the robot during a certain period of the game. + Users are able to utilize all manners of functionality from sensors to motors and servors to dictate the behavior of the robot. + For example, there might be an OpMode that causes the robot to drive forward for 5 seconds and then stop. + + Class + A Class is a blueprint for an object. It tells the program what variables and functions an object will have. + For example, a class might be called "Robot" and have variables such as "motorLeft" and "motorRight" and functions such as "driveForward" and "driveBackward". + + Object + An Object is an instance of a class. It is a variable that is defined by a class. + For example, an object might be called "robot" and be defined by the class "Robot". + This object would have variables such as "motorLeft" and "motorRight" and functions such as "driveForward" and "driveBackward". + + Variable + A Variable is a value that is held in memory by the robot. It has a type, value, and name. + The type refers to what kind of value the variable holds (integer, string, etc.). + The value is the actual value of the variable (1, "Hello World", etc.). + The name is what the variable is called in the program (motorLeft, motorRight, etc.). + + Integer + An Integer is a type of variable that holds a number with no decimal places. (Eg. -3, 0, 1, 2, 3, etc.) + + String + A string is a type of variable that holds a sequence of characters. (Eg. "Hello World!", "Robot", "2023", etc.) + + CAD + CAD stands for Computer Aided Design. It is a type of software that allows users to create 3D models of objects. + In the context of robotics, CAD is ofteb used to create 3D models of robots and robot parts. + This allows users to visualize their robot before they build it while making sure that everything fits together. + + AprilTag :bdg-primary:`GM1` + A visual fiducial system, useful for a wide variety of tasks including augmented reality, robotics, and + scamera calibration. Information about AprilTags may be found :doc:`here `. + + Logic Level Converter :bdg-primary:`GM1` + An electronic device that allows an encoder or sensor, that operates using 5V logic + levels, to work with the REV Expansion Hub and/or REV Control Hub, which operates using 3.3V logic levels. + This device may contain a step-up voltage converter (from 3.3V to 5V) and a dual channel, bidirectional logic + level converter. This device may be used directly with a 5V digital sensor or with an I2C Sensor Adaptor Cable + to a 5V I2C sensor. + + I2C Sensor Adapter Cable :bdg-primary:`GM1` + An adapter to change the pin orientation of the REV Robotics Logic Level + Converter to match a Modern Robotics compatible I2C sensor. + + Mini USB to OTG (On-The-Go) Micro Cable :bdg-primary:`GM1` + The connection between the Smartphone Android Device + Robot Controller and the REV Expansion Hub. + + Op Mode :bdg-primary:`GM1` + An Op Mode (short for "operational mode") is software that is used to customize the behavior of a + Competition Robot. The Robot Controller executes a selected Op Mode to perform certain tasks during a + Match. + + OTG Micro Adapter :bdg-primary:`GM1` + Connects a USB hub to Micro USB OTG (On-The-Go) port on a smartphone Driver + Station Android Device. + + REV Control Hub :bdg-primary:`GM1` + An integrated Android Device with four (4) DC motor channels, six (6) servo channels, + eight (8) digital I/O channels, four (4) analog input channels, and four (4) independent I2C buses. + + REV Driver Hub :bdg-primary:`GM1` + A compact mobile Android Device designed specifically for use as part of the Driver Station. + + REV Expansion Hub :bdg-primary:`GM1` + An integrated electronic device with four (4) DC motor channels, six (6) servo + channels, eight (8) digital I/O channels, four (4) analog input channels, and four (4) independent I2C buses. + + REV SPARKmini Motor Controller :bdg-primary:`GM1` + An electronic device that accepts a PWM control signal (from a servo + controller) and supplies 12V power to a DC motor. + + REV Servo Power Module :bdg-primary:`GM1` + An electronic device that boosts the power supplied to 3-wire servos. A REV + Servo Power Module has 6 input servo ports and 6 matching output ports. It draws power from a 12V source + and provides 6V power to each output servo port. A REV Servo Power Module can provide up to 15A of + current across all output servo ports for a total of 90 Watts of power per module. + + Robot Controller :bdg-primary:`GM1` + A REV Control Hub or an allowed smartphone Android Device connected to a REV + Expansion Hub located on the Robot that processes Team written software, reads on-board sensors, and + receives commands from the Drive Team by way of the Driver Station. The Robot Controller sends instructions + to the motor and servo controllers to make the Robot move. + + VEX Motor Controller 29 :bdg-primary:`GM1` + An electronic device that accepts a PWM control signal from a servo controller + through a REV Servo Power Module to drive a VEX EDR 393 motor + + Vision Camera :bdg-primary:`GM1` + COTS devices with exactly one image sensor able to stream captured images and/or video. + Vision cameras must be UVC compatible and must connect directly to a REV Control Hub via USB or to the + Robot Controller through a powered USB hub. Common Vision Cameras are the Logitech C270 HD, Logitech + C920 HD PRO, and Microsoft Lifecam HD-3000. + + Vision Sensor :bdg-primary:`GM1` + COTS devices with exactly one image sensor not able to stream captured images and/or + video. Instead, the images and/or video is processed by on-board algorithms and only the results are + communicated back to a computer or system. Vision Sensors must follow all sensor rules in . Common + Vision Sensors are the HuskyLens and Pixy2, though only the HuskyLens has included SDK support as of + SDK 9.0. \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index ba585f06..74d2bb6a 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -35,6 +35,7 @@ to see why. persona_pages/veteran_teams/veteran_teams persona_pages/coach_admin/coach_admin persona_pages/mentor_tech/mentor_tech + glossary/glossary .. toctree:: :caption: Game and Season-Specific Resources