From 3a428f35725f89dfb61ac78c1421de21db29d3de Mon Sep 17 00:00:00 2001 From: Uday Vidyadharan <55924756+uvidyadharan@users.noreply.github.com> Date: Fri, 27 Oct 2023 11:58:03 -0500 Subject: [PATCH 1/3] Add Glossary --- docs/requirements.txt | 3 ++- docs/source/cad_resources/index.rst | 5 ++--- docs/source/conf.py | 5 +++++ docs/source/glossary/glossary.rst | 35 +++++++++++++++++++++++++++++ docs/source/index.rst | 1 + 5 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 docs/source/glossary/glossary.rst diff --git a/docs/requirements.txt b/docs/requirements.txt index 8574fb7b..3b78295f 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -8,4 +8,5 @@ git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=goo git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=cookiebanner sphinx-sitemap==2.3.0 python-git-info==0.8.3 -sphinxcontrib-mermaid==0.9.2 \ No newline at end of file +sphinxcontrib-mermaid==0.9.2 +sphinx-hoverxref==1.3.0 \ No newline at end of file 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 96d29d90..ce1c8d72 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 @@ -61,6 +62,10 @@ "source/control_hard_compon/rc_components/images/B1.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..aab2fc41 --- /dev/null +++ b/docs/source/glossary/glossary.rst @@ -0,0 +1,35 @@ +Glossary +================= + +.. glossary:: + + 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. \ No newline at end of file diff --git a/docs/source/index.rst b/docs/source/index.rst index d425ab68..5abef1e0 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 From ec7e21561d60f861062a9523b9932f0a4da900ad Mon Sep 17 00:00:00 2001 From: Uday Vidyadharan <55924756+uvidyadharan@users.noreply.github.com> Date: Fri, 19 Jan 2024 14:27:24 -0600 Subject: [PATCH 2/3] Update Glossary with GM1 --- .../visionportal_init/visionportal-init.rst | 2 +- docs/source/glossary/glossary.rst | 75 ++++++++++++++++++- 2 files changed, 75 insertions(+), 2 deletions(-) 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/glossary/glossary.rst b/docs/source/glossary/glossary.rst index aab2fc41..a8af4531 100644 --- a/docs/source/glossary/glossary.rst +++ b/docs/source/glossary/glossary.rst @@ -2,6 +2,7 @@ Glossary ================= .. 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. @@ -32,4 +33,76 @@ Glossary 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. \ No newline at end of file + 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 From c0f60d192cfd7d7a7fd71a3cd5d982ccf1647505 Mon Sep 17 00:00:00 2001 From: Uday Vidyadharan <55924756+uvidyadharan@users.noreply.github.com> Date: Fri, 19 Jan 2024 14:45:38 -0600 Subject: [PATCH 3/3] Add Key to Glossary --- docs/source/glossary/glossary.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/source/glossary/glossary.rst b/docs/source/glossary/glossary.rst index a8af4531..e0666ded 100644 --- a/docs/source/glossary/glossary.rst +++ b/docs/source/glossary/glossary.rst @@ -1,6 +1,16 @@ Glossary ================= +.. admonition:: Key + + .. list-table:: + + * - :bdg-primary:`GM1` + - :bdg-info:`` + + * - Game Manual Part 1 + - + .. glossary:: :sorted: