diff --git a/docs/Makefile b/docs/Makefile index a932a713..47f046f6 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -28,7 +28,7 @@ autobuild: booklets: BOOKLETS_BUILD="true" $(SPHINXBUILD) -M latexpdf $(SOURCEDIR) $(BUILDDIR) $(SPHINXOPTS) $(O) - xargs -d '\n' --arg-file=$(BOOKLETSBUILDDIR)/booklets.txt printf -- '$(LATEXBUILDDIR)%s\n' | xargs cp -f -t $(BOOKLETSBUILDDIR) + cp $(addsuffix .pdf, $(basename $(wildcard $(LATEXBUILDDIR)*.tex))) $(BOOKLETSBUILDDIR) local-full: DOCS_BUILD="true" $(SPHINXBUILD) -b html $(SOURCEDIR) $(HTMLBUILDDIR) $(SPHINXOPTS) $(O) diff --git a/docs/requirements.txt b/docs/requirements.txt index 966ddcb1..1746d411 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -6,4 +6,5 @@ git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=jav sphinx_design==0.2.0 git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=googleanalytics git+https://github.com/FIRST-Tech-Challenge/ftcdocs-helper@main#subdirectory=cookiebanner -sphinx-sitemap==2.3.0 \ No newline at end of file +sphinx-sitemap==2.3.0 +python-git-info==0.8.3 \ No newline at end of file diff --git a/docs/source/booklets/advanced.rst b/docs/source/booklets/advanced.rst new file mode 100644 index 00000000..1ec7d508 --- /dev/null +++ b/docs/source/booklets/advanced.rst @@ -0,0 +1,30 @@ +:orphan: + +.. only:: latex + + Advanced Topics, Progrmming Resources + ====================================== + + .. toctree:: + :maxdepth: 1 + :titlesonly: + + /programming_resources/vision/vision_overview/vision-overview + /programming_resources/vision/tensorflow_pp_2022/tensorflow_pp_2022 + /programming_resources/vision/blocks_tfod_opmode/blocks-tfod-opmode + /programming_resources/vision/java_tfod_opmode/java-tfod-opmode + /programming_resources/vision/tensorflow_ff_2021/tensorflow-ff-2021 + /programming_resources/vision/webcam_controls/webcam-controls + Camera Calibration + + .. toctree:: + :maxdepth: 1 + :titlesonly: + + /programming_resources/shared/pid_coefficients/pid-coefficients + /programming_resources/shared/pidf_coefficients/pidf-coefficients + /programming_resources/shared/auto_load_opmode/auto-load-opmode + /programming_resources/shared/myblocks/index + /programming_resources/shared/external_libraries_blocks/external-libraries-blocks.rst + /programming_resources/imu/imu.rst + /programming_resources/shared/installing_kotlin/Installing-Kotlin \ No newline at end of file diff --git a/docs/source/booklets/apriltags.rst b/docs/source/booklets/apriltags.rst new file mode 100644 index 00000000..3ee1a511 --- /dev/null +++ b/docs/source/booklets/apriltags.rst @@ -0,0 +1,15 @@ +:orphan: + +.. only:: latex + + April Tags in *FIRST* Tech Challenge + ==================================== + + .. toctree:: + + AprilTag Introduction + VisionPortal Overview + Understanding AprilTag Values + AprilTag Test Images + + diff --git a/docs/source/booklets/control_system.rst b/docs/source/booklets/control_system.rst new file mode 100644 index 00000000..e49c486b --- /dev/null +++ b/docs/source/booklets/control_system.rst @@ -0,0 +1,13 @@ +:orphan: + +.. only:: latex + + *FIRST* Tech Challenge Control System + ====================================== + + .. toctree:: + + /programming_resources/shared/control_system_intro/The-FTC-Control-System + /control_hard_compon/index + /hardware_and_software_configuration/index + diff --git a/docs/source/booklets/sdk.rst b/docs/source/booklets/sdk.rst new file mode 100644 index 00000000..f6a2b0e2 --- /dev/null +++ b/docs/source/booklets/sdk.rst @@ -0,0 +1,14 @@ +:orphan: + +.. only:: latex + + *FIRST* Tech Challenge SDK + ==================================== + + .. toctree:: + + SDK Overview + Updating Components + + + diff --git a/docs/source/conf.py b/docs/source/conf.py index d04b5195..e357d900 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -4,13 +4,15 @@ import os import sys import urllib.parse as urlparse +import gitinfo project = 'FIRST Tech Challenge Docs' copyright = 'FIRST' author = 'FIRST Tech Challenge' +license = 'BSD 3-Clause' -release = '0.1' -version = '0.1.0' +release = '0.2' +version = '0.2.0' # -- General configuration extensions = [ @@ -92,6 +94,8 @@ # See: https://github.com/readthedocs/readthedocs.org/issues/5476 latex_use_xindy = False +gitInfo = gitinfo.get_git_info(dir="../../.") + latex_elements = { "papersize": "letterpaper", @@ -103,7 +107,10 @@ \setmonofont{DejaVu Sans Mono} """, - 'passoptionstopackages': r"""\PassOptionsToPackage{letterpaper,portrait,includehead=true,includefoot=true,left=0.5in,right=0.5in,top=0.9in,bottom=3in,footskip=12.4pt,headsep=25pt,}{geometry}""", + 'passoptionstopackages': r""" + \PassOptionsToPackage{letterpaper,portrait,includehead=true,includefoot=true,left=0.5in,right=0.5in,top=0.9in,bottom=3in,footskip=12.4pt,headsep=25pt,}{geometry} + \usepackage{titling} + """, "preamble": r""" \usepackage{fancyhdr} @@ -114,6 +121,8 @@ \usepackage{titlesec} + \usepackage[datesep=/,style=ddmmyyyy]{datetime2} + \titleformat {\chapter} % command [display] % shape @@ -127,6 +136,9 @@ } % before-code [ ] % after-code + + \addtolength{\topmargin}{-23.80643pt} + \setlength{\footskip}{36pt} \makeatletter \fancypagestyle{normal}{ @@ -137,10 +149,31 @@ }} \fancyfoot[RE]{ \vspace{-10mm} - \py@HeaderFamily \py@release + \py@HeaderFamily \py@release \hspace{4mm} \today + } + \fancyfoot[LO]{\vspace{-15mm} \py@HeaderFamily \textbf{Gracious Professionalism®} - \textcolor[rgb]{.96, .49, .15}{“Doing your best work while treating others with respect and kindness - It’s what makes FIRST, first.”}} + \fancyhead[R]{{\vspace{5mm} \py@HeaderFamily \@title, \thepage}} + \fancyhead[L]{{\vspace{5mm} FTC Docs}} + \fancyhead[C]{{\vspace{5mm} \begin{center}\py@HeaderFamily \thechapter \end{center}}} + + } + + \fancypagestyle{plain}{ + \fancyhf{} + \fancyfoot[LE]{{ + \includegraphics[scale=0.75]{Latex_Footer_FTC.png} + \vspace{10mm} + }} + \fancyfoot[RE]{ + \vspace{-10mm} + \py@HeaderFamily \py@release \hspace{4mm} \today } - \fancyfoot[LO]{\py@HeaderFamily \textbf{Gracious Professionalism®} - \textcolor[rgb]{.96, .49, .15}{“Doing your best work while treating others with respect and kindness - It’s what makes FIRST, first.”}} - \fancyhead[R]{{\vspace{5mm} \py@HeaderFamily \@title, \thepage \headrule}} + \fancyfoot[LO]{\vspace{-15mm} \py@HeaderFamily \textbf{Gracious Professionalism®} - \textcolor[rgb]{.96, .49, .15}{“Doing your best work while treating others with respect and kindness - It’s what makes FIRST, first.”}} + \fancyhead[R]{{\vspace{5mm} \py@HeaderFamily \@title, \thepage}} + \fancyhead[L]{{\vspace{5mm} FTC Docs}} + \fancyhead[C]{{\vspace{5mm} \begin{center}\py@HeaderFamily \thechapter \end{center}}} + + } \makeatother @@ -157,7 +190,7 @@ \begin{titlepage} - \AddToShipoutPictureBG*{\includegraphics[width=\paperwidth,height=\paperheight]{FTC_Center_Stage_Title.pdf}}; + \AddToShipoutPictureBG*{\includegraphics[width=\paperwidth,height=\paperheight]{FTC_Center_Stage_Title.pdf}} \vspace*{113mm} @@ -166,7 +199,10 @@ \textbf{\Large {2023-2024 \emph{FIRST} Tech Challenge}} \\ \vspace{4mm} - \textbf{\Huge {FTC Docs}} + \textbf{\Huge {\thetitle}} + \\ + \vspace*{\fill} + \textbf{\Large {\emph{FIRST} Tech Challenge Documentation}} \end{center} \end{flushright} @@ -187,10 +223,39 @@ \includegraphics[scale=0.8]{RTX.png} \end{center} \end{figure} - """, + 'atendofbody': rf""" + + \newpage + + \chapter{{Version Information}} + + \section{{Document Information}} + \large \textbf{{Author:}} \theauthor + \\ + \large \textbf{{Version:}} {release} + \\ + \large \textbf{{Release Date:}} \today + \\ + + \section{{Git Information}} + \large \textbf{{Git Hash: }} {gitInfo['commit']} + \\ + \large \textbf{{Git Branch: }} {gitInfo['refs']} + \\ + \large \textbf{{Git Commit Date: }} {gitInfo['author_date']} + \\ + \large \textbf{{Git Commit Author:}} {gitInfo['author']} + + + \section{{Document License}} + \large \textbf{{License:}} {license} + + + """, + "printindex": r"\footnotesize\raggedright\printindex", } @@ -245,16 +310,17 @@ if(os.environ.get("BOOKLETS_BUILD") == "true"): print('Building booklets') latex_documents = [ - (master_doc, output_name + '.tex', project, author, "manual"), - ('ftc_ml/index', "ftc_ml.tex", "FTC Machine Learning", author, "manual"), - ('programming_resources/index', "prgrm_res.tex", "FTC Programming Resources", author, "manual"), + (master_doc, output_name + '.tex', project, author, "manual"), # Main, Questionable if it should be built with booklets + ('ftc_ml/index', "ftc_ml.tex", "FTC Machine Learning", author, "manual"), # FTC ML + ('programming_resources/index', "prgrm_res.tex", "FTC Programming Resources", author, "manual"), # Programming Resources + ('programming_resources/android_studio_java/Android-Studio-Tutorial', 'android_studios.tex', 'Android Studio Guide', author, "manual"), # Android Studio + ('programming_resources/onbot_java/OnBot-Java-Tutorial', "onbot_java.tex", 'OnBot Java Guide', author, "manual"), # OnBot Java + ('programming_resources/blocks/Blocks-Tutorial', "blocks.tex", 'Blocks Guide', author, "manual"), # Blocks + ('booklets/apriltags', "april_tags.tex", 'April Tags Guide', author, "manual"), # April Tags + ('booklets/control_system', "control_system.tex", 'Control System Guide', author, "manual"), # Control System + ('booklets/sdk', "sdk.tex", 'SDK Guide', author, "manual"), # SDK + ('booklets/advanced', "advanced.tex", 'Advanced Topics, Progrmming Resources', author, "manual"), # Advanced Topics ] - - if not os.path.exists('../build/booklets'): - os.makedirs('../build/booklets') - with open('../build/booklets/booklets.txt', 'w') as file: - for doc in latex_documents: - file.write(doc[1].replace(".tex", ".pdf") + '\n') def setup(app): diff --git a/docs/source/hardware_and_software_configuration/configuring/configuring_dual_hubs/configuring-dual-hubs.rst b/docs/source/hardware_and_software_configuration/configuring/configuring_dual_hubs/configuring-dual-hubs.rst index 6a743bb7..9a1498b3 100644 --- a/docs/source/hardware_and_software_configuration/configuring/configuring_dual_hubs/configuring-dual-hubs.rst +++ b/docs/source/hardware_and_software_configuration/configuring/configuring_dual_hubs/configuring-dual-hubs.rst @@ -29,7 +29,8 @@ need the following items: .. list-table:: :header-rows: 1 - :widths: auto + :widths: 50 50 + :class: longtable * - Required Item(s) - Image diff --git a/docs/source/programming_resources/android_studio_java/Android-Studio-Tutorial.rst b/docs/source/programming_resources/android_studio_java/Android-Studio-Tutorial.rst index 741ea48d..61c1d717 100644 --- a/docs/source/programming_resources/android_studio_java/Android-Studio-Tutorial.rst +++ b/docs/source/programming_resources/android_studio_java/Android-Studio-Tutorial.rst @@ -5,6 +5,7 @@ Android Studio Programming Tutorial

Introduction

+ This tutorial will take you step-by-step through the process of configuring, programming, and operating your Control System. This tutorial uses Android Studio to help you get started programming your @@ -20,56 +21,12 @@ Android app developers use. Android Studio is only recommended for | -.. raw:: html - -

Table of Contents

- -#. Introduction - - - :doc:`The Control System <../shared/control_system_intro/The-FTC-Control-System>` - - :doc:`Required Materials <../shared/required_materials/Required-Materials>` - - :doc:`Using Your Android Device <../shared/using_android_device/Using-Your-Android-Device>` - -#. Configuring Your Hardware - - - :doc:`Configuring Your Android - Devices <../shared/configuring_android/Configuring-Your-Android-Devices>` - - :doc:`Connecting Devices to a Control or Expansion Hub ` - - :doc:`Configuring Your Hardware ` - -#. Installing Android Studio - - - :doc:`Downloading and Installing Android Studio <../tutorial_specific/android_studio/installing_android_studio/Installing-Android-Studio>` - - :doc:`Downloading the Android Studio Project <../tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder>` - - :bdg-warning:`Legacy` :doc:`Disabling Android Studio Instant Run <../tutorial_specific/android_studio/disable_instant_run/disable-instant-run>` - -#. Managing an Android Studio Project - - - :bdg-warning:`Legacy` :doc:`Downloading an FTC Android Studio Project <../tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder>` - - :doc:`Forking/Cloning an FTC Android Studio Project from GitHub <../tutorial_specific/android_studio/fork_and_clone_github_repository/Fork-and-Clone-From-GitHub>` - -#. Writing an Op Mode - - - :doc:`Enabling Developer Options <../tutorial_specific/android_studio/enabling_developer_options/Enabling-Developer-Options>` - - :doc:`Creating & Running an Op Mode <../tutorial_specific/android_studio/creating_op_modes/Creating-and-Running-an-Op-Mode-(Android-Studio)>` - - :doc:`Controlling a Servo <../tutorial_specific/android_studio/controlling_a_servo/Controlling-a-Servo-(Android-Studio)>` - - :doc:`Using Sensors <../tutorial_specific/android_studio/using_sensors/Using-Sensors-(Android-Studio)>` - -.. Only placing tutorial-specific items in the tutorial toc - .. toctree:: - :caption: Tutorials - :maxdepth: 1 - :titlesonly: - :hidden: - - ../tutorial_specific/android_studio/installing_android_studio/Installing-Android-Studio - ../tutorial_specific/android_studio/disable_instant_run/disable-instant-run - ../tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder - ../tutorial_specific/android_studio/fork_and_clone_github_repository/Fork-and-Clone-From-GitHub - ../tutorial_specific/android_studio/enabling_developer_options/Enabling-Developer-Options - ../tutorial_specific/android_studio/creating_op_modes/Creating-and-Running-an-Op-Mode-(Android-Studio) - ../tutorial_specific/android_studio/controlling_a_servo/Controlling-a-Servo-(Android-Studio) - ../tutorial_specific/android_studio/using_sensors/Using-Sensors-(Android-Studio) + :maxdepth: 2 + intro/intro + config/config + install/install + manage/manage + opmode/opmode diff --git a/docs/source/programming_resources/android_studio_java/config/config.rst b/docs/source/programming_resources/android_studio_java/config/config.rst new file mode 100644 index 00000000..6ebbaaf7 --- /dev/null +++ b/docs/source/programming_resources/android_studio_java/config/config.rst @@ -0,0 +1,9 @@ +Configuring your Hardware :bdg-success:`AS` +=========================================== + +.. toctree:: + :maxdepth: 1 + + ../../shared/configuring_android/Configuring-Your-Android-Devices + /hardware_and_software_configuration/connecting_devices/index + /hardware_and_software_configuration/configuring/index \ No newline at end of file diff --git a/docs/source/programming_resources/android_studio_java/install/install.rst b/docs/source/programming_resources/android_studio_java/install/install.rst new file mode 100644 index 00000000..ffead14a --- /dev/null +++ b/docs/source/programming_resources/android_studio_java/install/install.rst @@ -0,0 +1,7 @@ +Installing Android Studio :bdg-success:`AS` +=========================================== + +.. toctree:: + ../../tutorial_specific/android_studio/installing_android_studio/Installing-Android-Studio + ../../tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder + ../../tutorial_specific/android_studio/disable_instant_run/disable-instant-run \ No newline at end of file diff --git a/docs/source/programming_resources/android_studio_java/intro/intro.rst b/docs/source/programming_resources/android_studio_java/intro/intro.rst new file mode 100644 index 00000000..3a8c105e --- /dev/null +++ b/docs/source/programming_resources/android_studio_java/intro/intro.rst @@ -0,0 +1,9 @@ +Introduction :bdg-success:`AS` +===================================== + +.. toctree:: + :maxdepth: 1 + + The Control System <../../shared/control_system_intro/The-FTC-Control-System> + Required Materials <../../shared/required_materials/Required-Materials> + Using Your Android Device <../../shared/using_android_device/Using-Your-Android-Device> \ No newline at end of file diff --git a/docs/source/programming_resources/android_studio_java/manage/manage.rst b/docs/source/programming_resources/android_studio_java/manage/manage.rst new file mode 100644 index 00000000..8ce16122 --- /dev/null +++ b/docs/source/programming_resources/android_studio_java/manage/manage.rst @@ -0,0 +1,5 @@ +Managing an Android Studio Project :bdg-success:`AS` +===================================================== + +.. toctree:: + ../../tutorial_specific/android_studio/fork_and_clone_github_repository/Fork-and-Clone-From-GitHub diff --git a/docs/source/programming_resources/android_studio_java/opmode/opmode.rst b/docs/source/programming_resources/android_studio_java/opmode/opmode.rst new file mode 100644 index 00000000..e712bf88 --- /dev/null +++ b/docs/source/programming_resources/android_studio_java/opmode/opmode.rst @@ -0,0 +1,8 @@ +Writing an Op Mode :bdg-success:`AS` +==================================== + +.. toctree:: + ../../tutorial_specific/android_studio/enabling_developer_options/Enabling-Developer-Options + ../../tutorial_specific/android_studio/creating_op_modes/Creating-and-Running-an-Op-Mode-(Android-Studio) + ../../tutorial_specific/android_studio/controlling_a_servo/Controlling-a-Servo-(Android-Studio) + ../../tutorial_specific/android_studio/using_sensors/Using-Sensors-(Android-Studio) diff --git a/docs/source/programming_resources/blocks/Blocks-Tutorial.rst b/docs/source/programming_resources/blocks/Blocks-Tutorial.rst index f7c01c2b..8cb76b07 100644 --- a/docs/source/programming_resources/blocks/Blocks-Tutorial.rst +++ b/docs/source/programming_resources/blocks/Blocks-Tutorial.rst @@ -24,52 +24,11 @@ to get acquainted with the Control System! | -.. raw:: html - -

Table of Contents

- -1. Introduction - - - :doc:`The Control System <../shared/control_system_intro/The-FTC-Control-System>` - - :doc:`Required Materials <../shared/required_materials/Required-Materials>` - - :doc:`Using Your Android Device <../shared/using_android_device/Using-Your-Android-Device>` - -2. Configuring Your Hardware - - - :doc:`Configuring Your Android - Devices <../shared/configuring_android/Configuring-Your-Android-Devices>` - - :doc:`Connecting Devices to a Control or Expansion Hub ` - - :doc:`Configuring Your Hardware ` - -3. Connecting to the Program & Manage Server - - - :doc:`Installing a Javascript Enabled Browser <../shared/installing_javascript_browser/Installing-a-Javascript-Enabled-Browser>` - - :doc:`Connecting a Laptop to Program & Manage Wi-Fi Network <../shared/program_and_manage_network/Connecting-a-Laptop-to-the-Program-&-Manage-Network>` - -4. Writing an Op Mode - - - :doc:`Creating an Op Mode <../tutorial_specific/blocks/creating_op_modes/Writing-an-Op-Mode-with-FTC-Blocks>` - - :doc:`Running an Op Mode <../tutorial_specific/blocks/running_op_modes/Running-Your-Op-Mode>` - - :doc:`Managing Op Modes <../tutorial_specific/blocks/managing_opmodes/managing-opmodes>` - - :doc:`Controlling a Servo <../tutorial_specific/blocks/controlling_a_servo/Controlling-a-Servo-(Blocks)>` - - :doc:`Using Sensors <../tutorial_specific/blocks/using_sensors/Using-Sensors-(Blocks)>` - -5. Reference Documents - - - :doc:`Blocks Reference Material <../tutorial_specific/blocks/blocks_reference/Blocks-Reference-Material>` - -.. Only placing tutorial-specific items in the tutorial toc - .. toctree:: - :caption: Tutorials - :maxdepth: 1 - :titlesonly: - :hidden: - - ../tutorial_specific/blocks/creating_op_modes/Writing-an-Op-Mode-with-FTC-Blocks - ../tutorial_specific/blocks/running_op_modes/Running-Your-Op-Mode - ../tutorial_specific/blocks/controlling_a_servo/Controlling-a-Servo-(Blocks) - ../tutorial_specific/blocks/using_sensors/Using-Sensors-(Blocks) - ../tutorial_specific/blocks/managing_opmodes/managing-opmodes - ../tutorial_specific/blocks/blocks_reference/Blocks-Reference-Material + :maxdepth: 2 + intro/intro + config/config + connecting/connecting + opmode/opmode + reference/reference diff --git a/docs/source/programming_resources/blocks/config/config.rst b/docs/source/programming_resources/blocks/config/config.rst new file mode 100644 index 00000000..09e156f6 --- /dev/null +++ b/docs/source/programming_resources/blocks/config/config.rst @@ -0,0 +1,8 @@ +Configuring Your Hardware :bdg-warning:`Blocks` +=============================================== + +.. toctree:: + + ../../shared/configuring_android/Configuring-Your-Android-Devices + /hardware_and_software_configuration/connecting_devices/index + /hardware_and_software_configuration/configuring/index \ No newline at end of file diff --git a/docs/source/programming_resources/blocks/connecting/connecting.rst b/docs/source/programming_resources/blocks/connecting/connecting.rst new file mode 100644 index 00000000..59065e41 --- /dev/null +++ b/docs/source/programming_resources/blocks/connecting/connecting.rst @@ -0,0 +1,8 @@ +Connecting to the Program & Manage Server :bdg-warning:`Blocks` +=============================================================== + + +.. toctree:: + + ../../shared/installing_javascript_browser/Installing-a-Javascript-Enabled-Browser + ../../shared/program_and_manage_network/Connecting-a-Laptop-to-the-Program-&-Manage-Network \ No newline at end of file diff --git a/docs/source/programming_resources/blocks/intro/intro.rst b/docs/source/programming_resources/blocks/intro/intro.rst new file mode 100644 index 00000000..ac4d2d7f --- /dev/null +++ b/docs/source/programming_resources/blocks/intro/intro.rst @@ -0,0 +1,9 @@ +Introduction :bdg-warning:`Blocks` +================================== + + +.. toctree:: + + ../../shared/control_system_intro/The-FTC-Control-System + ../../shared/required_materials/Required-Materials + ../../shared/using_android_device/Using-Your-Android-Device \ No newline at end of file diff --git a/docs/source/programming_resources/blocks/opmode/opmode.rst b/docs/source/programming_resources/blocks/opmode/opmode.rst new file mode 100644 index 00000000..8cee5306 --- /dev/null +++ b/docs/source/programming_resources/blocks/opmode/opmode.rst @@ -0,0 +1,10 @@ +Writing an Op Mode :bdg-warning:`Blocks` +========================================= + +.. toctree:: + + ../../tutorial_specific/blocks/creating_op_modes/Writing-an-Op-Mode-with-FTC-Blocks + ../../tutorial_specific/blocks/running_op_modes/Running-Your-Op-Mode + ../../tutorial_specific/blocks/managing_opmodes/managing-opmodes + ../../tutorial_specific/blocks/controlling_a_servo/Controlling-a-Servo-(Blocks) + ../../tutorial_specific/blocks/using_sensors/Using-Sensors-(Blocks) \ No newline at end of file diff --git a/docs/source/programming_resources/blocks/reference/reference.rst b/docs/source/programming_resources/blocks/reference/reference.rst new file mode 100644 index 00000000..3cedffad --- /dev/null +++ b/docs/source/programming_resources/blocks/reference/reference.rst @@ -0,0 +1,6 @@ +Reference Documents :bdg-warning:`Blocks` +========================================== + +.. toctree:: + + ../../tutorial_specific/blocks/blocks_reference/Blocks-Reference-Material \ No newline at end of file diff --git a/docs/source/programming_resources/onbot_java/OnBot-Java-Tutorial.rst b/docs/source/programming_resources/onbot_java/OnBot-Java-Tutorial.rst index 8ccf97dc..9cb5c18d 100644 --- a/docs/source/programming_resources/onbot_java/OnBot-Java-Tutorial.rst +++ b/docs/source/programming_resources/onbot_java/OnBot-Java-Tutorial.rst @@ -1,10 +1,11 @@ -OnBot Java Programming Tutorial +OnBot Java Programming Tutorial =============================== .. raw:: html - +

Introduction

+ This tutorial will take you step-by-step through the process of configuring, programming, and operating your Control System. This tutorial uses the OnBot Java Programming Tool to help you get started @@ -20,47 +21,11 @@ to advanced Java skills and who would like to write text-based op modes. | -.. raw:: html - -

Table of Contents

- -1. Introduction - - - :doc:`The Control System <../shared/control_system_intro/The-FTC-Control-System>` - - :doc:`Required Materials <../shared/required_materials/Required-Materials>` - - :doc:`Using Your Android Device <../shared/using_android_device/Using-Your-Android-Device>` - -2. Configuring Your Hardware - - - :doc:`Configuring Your Android - Devices <../shared/configuring_android/Configuring-Your-Android-Devices>` - - :doc:`Connecting Devices to a Control or Expansion Hub ` - - :doc:`Configuring Your Hardware ` - -3. Connecting to the Program & Manage Server - - - :doc:`Installing a Javascript Enabled Browser <../shared/installing_javascript_browser/Installing-a-Javascript-Enabled-Browser>` - - :doc:`Connecting a Laptop to Program & Manage Wi-Fi Network <../shared/program_and_manage_network/Connecting-a-Laptop-to-the-Program-&-Manage-Network>` - -4. Writing an Op Mode - - - :doc:`Creating & Running an Op Mode <../tutorial_specific/onbot_java/creating_op_modes/Creating-and-Running-an-Op-Mode-(OnBot-Java)>` - - :doc:`Controlling a Servo <../tutorial_specific/onbot_java/controlling_a_servo/Controlling-a-Servo-(OnBot-Java)>` - - :doc:`Using Sensors <../tutorial_specific/onbot_java/using_sensors/Using-Sensors-(OnBot-Java)>` - -5. Reference Documentation - - - :doc:`OnBot Java Reference Info <../tutorial_specific/onbot_java/onbot_java_reference/OnBot-Java-Reference-Info>` - -.. Only placing tutorial-specific items in the tutorial toc - .. toctree:: - :caption: Tutorials - :maxdepth: 1 - :titlesonly: - :hidden: + :maxdepth: 2 - ../tutorial_specific/onbot_java/creating_op_modes/Creating-and-Running-an-Op-Mode-(OnBot-Java) - ../tutorial_specific/onbot_java/controlling_a_servo/Controlling-a-Servo-(OnBot-Java) - ../tutorial_specific/onbot_java/using_sensors/Using-Sensors-(OnBot-Java) - ../tutorial_specific/onbot_java/onbot_java_reference/OnBot-Java-Reference-Info + intro/intro + config/config + connecting/connecting + opmode/opmode + reference/reference \ No newline at end of file diff --git a/docs/source/programming_resources/onbot_java/config/config.rst b/docs/source/programming_resources/onbot_java/config/config.rst new file mode 100644 index 00000000..ba006cd8 --- /dev/null +++ b/docs/source/programming_resources/onbot_java/config/config.rst @@ -0,0 +1,8 @@ +Configuring Your Hardware :bdg-info:`OBJ` +========================================== + +.. toctree:: + + ../../shared/configuring_android/Configuring-Your-Android-Devices + /hardware_and_software_configuration/connecting_devices/index + /hardware_and_software_configuration/configuring/index \ No newline at end of file diff --git a/docs/source/programming_resources/onbot_java/connecting/connecting.rst b/docs/source/programming_resources/onbot_java/connecting/connecting.rst new file mode 100644 index 00000000..b908c226 --- /dev/null +++ b/docs/source/programming_resources/onbot_java/connecting/connecting.rst @@ -0,0 +1,8 @@ +Connecting to the Program & Manage Server :bdg-info:`OBJ` +========================================================= + + +.. toctree:: + + /programming_resources/shared/installing_javascript_browser/Installing-a-Javascript-Enabled-Browser + /programming_resources/shared/program_and_manage_network/Connecting-a-Laptop-to-the-Program-&-Manage-Network \ No newline at end of file diff --git a/docs/source/programming_resources/onbot_java/intro/intro.rst b/docs/source/programming_resources/onbot_java/intro/intro.rst new file mode 100644 index 00000000..2847f758 --- /dev/null +++ b/docs/source/programming_resources/onbot_java/intro/intro.rst @@ -0,0 +1,8 @@ +Introduction :bdg-info:`OBJ` +============================ + +.. toctree:: + + ../../shared/control_system_intro/The-FTC-Control-System + ../../shared/required_materials/Required-Materials + ../../shared/using_android_device/Using-Your-Android-Device \ No newline at end of file diff --git a/docs/source/programming_resources/onbot_java/opmode/opmode.rst b/docs/source/programming_resources/onbot_java/opmode/opmode.rst new file mode 100644 index 00000000..7079a423 --- /dev/null +++ b/docs/source/programming_resources/onbot_java/opmode/opmode.rst @@ -0,0 +1,8 @@ +Writing an Op Mode :bdg-info:`OBJ` +================================== + +.. toctree:: + + ../../tutorial_specific/onbot_java/creating_op_modes/Creating-and-Running-an-Op-Mode-(OnBot-Java) + ../../tutorial_specific/onbot_java/controlling_a_servo/Controlling-a-Servo-(OnBot-Java) + ../../tutorial_specific/onbot_java/using_sensors/Using-Sensors-(OnBot-Java) \ No newline at end of file diff --git a/docs/source/programming_resources/onbot_java/reference/reference.rst b/docs/source/programming_resources/onbot_java/reference/reference.rst new file mode 100644 index 00000000..c3e4f84f --- /dev/null +++ b/docs/source/programming_resources/onbot_java/reference/reference.rst @@ -0,0 +1,6 @@ +Reference Documentation :bdg-info:`OBJ` +======================================= + +.. toctree:: + + ../../tutorial_specific/onbot_java/onbot_java_reference/OnBot-Java-Reference-Info \ No newline at end of file diff --git a/docs/source/programming_resources/shared/configuring_android/Configuring-Your-Android-Devices.rst b/docs/source/programming_resources/shared/configuring_android/Configuring-Your-Android-Devices.rst index 171adb9a..fae7d9cd 100644 --- a/docs/source/programming_resources/shared/configuring_android/Configuring-Your-Android-Devices.rst +++ b/docs/source/programming_resources/shared/configuring_android/Configuring-Your-Android-Devices.rst @@ -4,21 +4,21 @@ Configuring your Android Devices What Needs to Be Configured for My Control System? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Control Hub Configuration +Control Hub Configuration ^^^^^^^^^^^^^^^^^^^^^^^^^ -.. note:: +.. note:: References to the Driver Station smartphone may instead apply to the `REV Driver Hub `__, which is preloaded with the Driver Station (DS) app. Teams who are using a Control Hub (which has an integrated Android Device) will only need to configure a single smartphone for use as a Driver -Station. The process is as follows: +Station. The process is as follows: -* Rename the smartphone to "-DS" (where is replaced by your team number). -* Install the Driver Station (DS) app onto the Driver Station phone. (The DS app is pre-installed on the REV Driver Hub.) -* Put your phone into Airplane Mode (with the WiFi radio still on). +* Rename the smartphone to "-DS" (where is replaced by your team number). +* Install the Driver Station (DS) app onto the Driver Station phone. (The DS app is pre-installed on the REV Driver Hub.) +* Put your phone into Airplane Mode (with the WiFi radio still on). * Pair (i.e., wirelessly connect) the Driver Station to the Control Hub. .. image:: images/ControlHubAndPhone.jpg @@ -29,7 +29,7 @@ Station. The process is as follows: .. important:: Eventually the Control Hub will need be renamed so that its name complies with Game Manual rule , but for now we will use the Control Hub with its default name. You can learn how to manage a - Control Hub (and modify its name, password, etc.) in + Control Hub (and modify its name, password, etc.) in :doc:`this tutorial <../managing_control_hub/Managing-a-Control-Hub>`. Two Android Smartphone Configuration @@ -37,13 +37,13 @@ Two Android Smartphone Configuration Teams who have two smartphones and are not using a Control Hub will need to configure one smartphone for use as a Robot Controller and a second -smartphone for use as a Driver Station. The process is as follows, +smartphone for use as a Driver Station. The process is as follows, -* Rename one smartphone to "-RC" (replace with your team number). -* Install the Robot Controller app onto the Robot Controller phone. -* Rename a second smartphone to "-DS" (where is replaced by your team number). -* Install the Driver Station app onto the Driver Station phone. (The DS app is pre-installed on the REV Driver Hub.) -* Put your phones into Airplane Mode (with the WiFi radios still on). +* Rename one smartphone to "-RC" (replace with your team number). +* Install the Robot Controller app onto the Robot Controller phone. +* Rename a second smartphone to "-DS" (where is replaced by your team number). +* Install the Driver Station app onto the Driver Station phone. (The DS app is pre-installed on the REV Driver Hub.) +* Put your phones into Airplane Mode (with the WiFi radios still on). * Pair (i.e., wirelessly connect) the Driver Station to the Robot Controller. .. image:: images/twoAndroidPhones.jpg @@ -92,61 +92,42 @@ level, as described below. .. |rename7| image:: images/RenameStep7.jpg .. |rename8| image:: images/RenameStep8.jpg -+------------------------------------------------+---------------------+ -| Step | Image | -+================================================+=====================+ -| 1. Browse the list of available apps on the | |rename1| | -| smartphone and locate the **Settings** icon. | | -| Click on **Settings** icon to display the | | -| Settings screen. | | -+------------------------------------------------+---------------------+ -| 2. Click on **Wi-Fi** to launch the Wi-Fi | |rename2| | -| screen. | | -| | | -| | | -+------------------------------------------------+---------------------+ -| 3. Touch the three vertical dots to display a | |rename3| | -| pop-up menu. | | -| | | -| | | -+------------------------------------------------+---------------------+ -| 4. Select **Advanced** from the pop-up menu. | |rename4| | -| | | -| | | -| | | -+------------------------------------------------+---------------------+ -| 5. Select **Wi-Fi Direct** from the **Advanced | |rename5| | -| Wi-Fi** screen. | | -| | | -| | | -+------------------------------------------------+---------------------+ -| 6. Touch the three vertical dots to display a | |rename6| | -| pop-up menu. | | -| | | -| | | -+------------------------------------------------+---------------------+ -| 7. Select **Configure Device** from the pop-up | |rename7| | -| menu. | | -| | | -| | | -+------------------------------------------------+---------------------+ -| 8. Use touch pad to enter new name of device. | |rename8| | -| If the device will be a Robot Controller, | | -| specify your team number and -RC. If the | | -| device will bea Driver Station, specify your | | -| team number and -DS. You can also set the | | -| Wi-Fi Direct inactivity timeout to *Never | | -| disconnect* and then hit the\ **SAVE** button | | -| to save your changes. Note that in the | | -| screenshot shown to the right, the team number | | -| is 9999. The "-C" indicates that this is from | | -| the third pair of smartphones forthis team. | | -| The -RC indicates that this phonewill be a | | -| Robot Controller. | | -+------------------------------------------------+---------------------+ -| 9. After renaming phone, power cycle the | | -| device. | | -+------------------------------------------------+---------------------+ +.. list-table:: + :widths: 50 50 + :header-rows: 0 + :class: longtable + + + * - Step + - Image + + * - 1. Browse the list of available apps on thesmartphone and locate the **Settings** icon.Click on **Settings** icon to display theSettings screen. + - |rename1| + + * - 2. Click on **Wi-Fi** to launch the Wi-Fiscreen. + - |rename2| + + * - 3. Touch the three vertical dots to display apop-up menu. + - |rename3| + + * - 4. Select **Advanced** from the pop-up menu. + - |rename4| + + * - 5. Select **Wi-Fi Direct** from the **AdvancedWi-Fi** screen. + - |rename5| + + * - 6. Touch the three vertical dots to display apop-up menu. + - |rename6| + + * - 7. Select **Configure Device** from the pop-upmenu. + - |rename7| + + * - 8. Use touch pad to enter new name of device.If the device will be a Robot Controller,specify your team number and -RC. If thedevice will bea Driver Station, specify yourteam number and -DS. You can also set theWi-Fi Direct inactivity timeout to *Neverdisconnect* and then hit the\ **SAVE** buttonto save your changes. Note that in thescreenshot shown to the right, the team numberis 9999. The "-C" indicates that this is fromthe third pair of smartphones forthis team.The -RC indicates that this phonewill be aRobot Controller. + - |rename8| + + * - 9. After renaming phone, power cycle thedevice. + - + Installing the *FIRST* Tech Challenge Apps ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -158,20 +139,20 @@ The `REV Hardware Client `__ software will allow you to download the apps to devices: REV Control Hub, REV Expansion Hub, REV Driver Hub, and other approved Android devices (*see section below, called Updating Apps on Android -Phones*). Here are some of the benefits: +Phones*). Here are some of the benefits: -* Connect to a REV Control Hub via WiFi. -* One Click update of all software on connected devices. -* Pre-download software updates without a connected device. -* Back up and restore user data from Control Hub. -* Install and switch between DS and RC applications on Android Devices. +* Connect to a REV Control Hub via WiFi. +* One Click update of all software on connected devices. +* Pre-download software updates without a connected device. +* Back up and restore user data from Control Hub. +* Install and switch between DS and RC applications on Android Devices. * Access the Robot Control Console on the Control Hub. The app releases are also available on the `FTCRobotController Github repository `__. It is possible to "side-load" the apps onto the Robot Controller -(RC) and Driver Station (DS) phones. However, this section of the document +(RC) and Driver Station (DS) phones. However, this section of the document does **not** include such instructions; other document pages describe side-loading the :ref:`RC app ` and the :ref:`DS app `. @@ -184,17 +165,17 @@ software is used to install and update apps, firmware and/or operating systems on devices from REV Robotics. Simply connect the device via USB to your PC with the REV Hardware Client installed and running, and the software will detect connected hardware. After -detection, the REV Hardware Client can then +detection, the REV Hardware Client can then `update the Robot Controller (RC) app on a REV Control Hub `__, `update the Driver Station (DS) app on a REV Driver Hub `__, -or +or `update firmware `__. Updating Apps on Android Phones ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The `REV Hardware Client `__ -software is used to install, uninstall, and +software is used to install, uninstall, and `update apps on Android phones `__. However, the phones must have **Developer Options** enabled in order for the phone to be properly recognized and updated by the REV Hardware @@ -207,36 +188,29 @@ follows: .. |devop4| image:: images/4-developer-options.jpg .. |devop5| image:: images/5-developer-options.* -+------------------------------------------------+---------------------+ -| Step | Image | -+================================================+=====================+ -| 1. Go to "Settings", then tap "About device" | | -| or "About phone". | |devop1| | -| | | -| | | -+------------------------------------------------+---------------------+ -| 2. Scroll down, then tap Build number seven | |devop2a| | -| times.Depending on your device and operating | | -| system, you may need to tap Software | | -| information, then tap Build number seven | | -| times. | | -| | | -| | | -| | |devop2b| | -+------------------------------------------------+---------------------+ -| 3. Enter your pattern, PIN or password to | | -| enable the Developer options menu. | | -+------------------------------------------------+---------------------+ -| 4. The "Developer options" menu will now | |devop4| | -| appear in your Settings menu. Depending on | | -| your device, it may appear under Settings > | | -| General > Developer options. | | -+------------------------------------------------+---------------------+ -| 5. To disable the Developer options at any | |devop5| | -| time, tap the switch. | | -| | | -| | | -+------------------------------------------------+---------------------+ +.. list-table:: + :widths: 50 50 + :header-rows: 1 + :class: longtable + + * - Step + - Image + + * - 1. Go to "Settings", then tap "About device"or "About phone". + - |devop1| + + * - 2. Scroll down, then tap Build number seventimes.Depending on your device and operatingsystem, you may need to tap Softwareinformation, then tap Build number seventimes. + - |devop2a| |devop2b| + + * - 3. Enter your pattern, PIN or password toenable the Developer options menu. + - + + * - 4. The "Developer options" menu will nowappear in your Settings menu. Depending onyour device, it may appear under Settings >General > Developer options. + - |devop4| + + * - 5. To disable the Developer options at anytime, tap the switch. + - |devop5| + Placing Phones into Airplane Mode with Wi-Fi On ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -255,31 +229,20 @@ the robot during a match. .. |airplane1| image:: images/AirplaneStep1.jpg .. |airplane2| image:: images/AirplaneStep2.jpg -+------------------------------------------------+---------------------+ -| Step | Image | -+================================================+=====================+ -| 1. On the main Android screen of each | |airplane1| | -| smartphone, use your finger to slide from the | | -| top of the screen down towards the bottom of | | -| the screen to display the quick configuration | | -| screen.Note that for some smartphones you | | -| might have to swipe down more than once to | | -| display the quick configuration screen, | | -| particularly if there are messages or | | -| notifications displayed at the top of your | | -| screen.Look for the Airplane mode icon (which | | -| is shaped like an airplane) and if the icon is | | -| not activated, touch the icon to put the phone | | -| into airplane mode. | | -+------------------------------------------------+---------------------+ -| 2. Placing the phone into airplane mode will | |airplane2| | -| turn off the Wi-Fi radio. If the Wi-Fi icon | | -| has a diagonal line through it (see Step 1 | | -| above), then the Wi-Fi radio is disabled. You | | -| will need to touch the **Wi-Fi** icon on the | | -| quick configuration screen to turn the Wi-Fi | | -| radio back on. | | -+------------------------------------------------+---------------------+ +.. list-table:: + :widths: 50 50 + :header-rows: 1 + + + * - Step + - Image + + * - 1. On the main Android screen of eachsmartphone, use your finger to slide from thetop of the screen down towards the bottom ofthe screen to display the quick configurationscreen.Note that for some smartphones youmight have to swipe down more than once todisplay the quick configuration screen,particularly if there are messages ornotifications displayed at the top of yourscreen.Look for the Airplane mode icon (whichis shaped like an airplane) and if the icon isnot activated, touch the icon to put the phoneinto airplane mode. + - |airplane1| + + * - 2. Placing the phone into airplane mode willturn off the Wi-Fi radio. If the Wi-Fi iconhas a diagonal line through it (see Step 1above), then the Wi-Fi radio is disabled. Youwill need to touch the **Wi-Fi** icon on thequick configuration screen to turn the Wi-Firadio back on. + - |airplane2| + Pairing the Driver Station to the Robot Controller ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -321,98 +284,55 @@ task. .. |pairing12| image:: images/PairingControlHubStep12.jpg .. |pairing13| image:: images/PairingControlHubStep13.jpg -+------------------------------------------------+---------------------+ -| Step | Image | -+================================================+=====================+ -| 1. Connect an approved 12V battery to the | |pairing1| | -| power switch (REV-31-1387) and make sure the | | -| switch is in the off position. Connect the | | -| switch to an XT30 port on the Control Hub and | | -| turn the switch on. The LED should initially | | -| be blue on the Control Hub. | | -+------------------------------------------------+---------------------+ -| 2. It takes approximately 18 seconds for the | |pairing2| | -| Control Hub to power on. The Control Hub is | | -| ready to pair with the Driver Station when the | | -| LED turns green. Note: the light blinks blue | | -| every ~5 seconds to indicate that the Control | | -| Hub is healthy. | | -+------------------------------------------------+---------------------+ -| 3. On the Driver Station device, browse the | |pairing3| | -| available apps and locate the **Driver | | -| Station** icon. Tap on the icon to launch the | | -| Driver Station app. Note that the first time | | -| you launch the app your Android device might | | -| prompt you for permissions that the app will | | -| need to run properly. Whenever prompted, press | | -| **Allow** to grant the requested permission. | | -+------------------------------------------------+---------------------+ -| 4. Touch the three vertical dots on the upper | |pairing4| | -| right hand corner of the main screen of the | | -| Driver Station app. This will launch a | | -| pop-up menu. | | -+------------------------------------------------+---------------------+ -| 5. Select **Settings** from the pop-up menu. | |pairing5| | -| | | -| | | -| | | -+------------------------------------------------+---------------------+ -| 6. From the **Settings** screen, look for and | |pairing6| | -| select \ **Pairing Method** to launch the | | -| **Pairing** \ **Method** screen. | | -| | | -+------------------------------------------------+---------------------+ -| 7. Touch the words **Control Hub** to indicate | |pairing7| | -| that this Driver Station will be pairing with | | -| a Control Hub. | | -| | | -+------------------------------------------------+---------------------+ -| 8. From the **Settings** screen, look for and | |pairing8| | -| select \ **Pair with Robot Controller** to | | -| launch the **Pair** \ **with Robot | | -| Controller** screen. | | -+------------------------------------------------+---------------------+ -| 9. From **Pair with Robot Controller** screen, | |pairing9| | -| look for and press the **Wifi Settings** | | -| button to launch the device's Android Wifi | | -| Settings screen. | | -+------------------------------------------------+---------------------+ -| 10. Find the name of your Control Hub's | |pairing10| | -| wireless network from the list of available | | -| WiFi networks. Click on the network name to | | -| select the network. If this is the first time | | -| you are connecting to the Control Hub, then | | -| the default network name should begin with the | | -| prefix FTC- (FTC-1Ybr in this example). | | -| The default network name should be listed on a | | -| sticker attached to the bottom side of the | | -| Control Hub. | | -+------------------------------------------------+---------------------+ -| 11. When prompted, specify the password for | |pairing11| | -| the Control Hub's WiFi network and press | | -| \ **Connect** to connect to the Hub. Note that | | -| the default password for the Control Hub | | -| network is password. Also note that when you | | -| connect to the Control Hub's WiFi network | | -| successfully, the Driver Station will not have | | -| access to the Internet. | | -+------------------------------------------------+---------------------+ -| 12. After you successfully connected to the | |pairing12| | -| Hub, use the back arrow to navigate to the | | -| previous screen. You should see the name of | | -| the WiFi network listed under "Current Robot | | -| Controller:". Use the back-arrow key to return | | -| to the Settings screen. Then press the | | -| back-arrow key one more time to return to the | | -| main Driver Station screen. | | -+------------------------------------------------+---------------------+ -| 13. Verify that the Driver Station screen has | |pairing13| | -| changed and that it now indicates that it is | | -| connected to the Control Hub.The name of the | | -| Control Hub's WiFi network (FTC-1Ybr in this | | -| example) should be displayed in the Network | | -| field on the Driver Station. | | -+------------------------------------------------+---------------------+ +.. list-table:: + :widths: 50 50 + :header-rows: 1 + :class: longtable + + + + * - Step + - Image + + * - 1. Connect an approved 12V battery to thepower switch (REV-31-1387) and make sure theswitch is in the off position. Connect theswitch to an XT30 port on the Control Hub andturn the switch on. The LED should initiallybe blue on the Control Hub. + - |pairing1| + + * - 2. It takes approximately 18 seconds for theControl Hub to power on. The Control Hub isready to pair with the Driver Station when theLED turns green. Note: the light blinks blueevery ~5 seconds to indicate that the ControlHub is healthy. + - |pairing2| + + * - 3. On the Driver Station device, browse theavailable apps and locate the **DriverStation** icon. Tap on the icon to launch theDriver Station app. Note that the first timeyou launch the app your Android device mightprompt you for permissions that the app willneed to run properly. Whenever prompted, press**Allow** to grant the requested permission. + - |pairing3| + + * - 4. Touch the three vertical dots on the upperright hand corner of the main screen of theDriver Station app. This will launch apop-up menu. + - |pairing4| + + * - 5. Select **Settings** from the pop-up menu. + - |pairing5| + + * - 6. From the **Settings** screen, look for andselect \ **Pairing Method** to launch the**Pairing** \ **Method** screen. + - |pairing6| + + * - 7. Touch the words **Control Hub** to indicatethat this Driver Station will be pairing witha Control Hub. + - |pairing7| + + * - 8. From the **Settings** screen, look for andselect \ **Pair with Robot Controller** tolaunch the **Pair** \ **with RobotController** screen. + - |pairing8| + + * - 9. From **Pair with Robot Controller** screen,look for and press the **Wifi Settings**button to launch the device's Android WifiSettings screen. + - |pairing9| + + * - 10. Find the name of your Control Hub'swireless network from the list of availableWiFi networks. Click on the network name toselect the network. If this is the first timeyou are connecting to the Control Hub, thenthe default network name should begin with theprefix FTC- (FTC-1Ybr in this example).The default network name should be listed on asticker attached to the bottom side of theControl Hub. + - |pairing10| + + * - 11. When prompted, specify the password forthe Control Hub's WiFi network and press\ **Connect** to connect to the Hub. Note thatthe default password for the Control Hubnetwork is password. Also note that when youconnect to the Control Hub's WiFi networksuccessfully, the Driver Station will not haveaccess to the Internet. + - |pairing11| + + * - 12. After you successfully connected to theHub, use the back arrow to navigate to theprevious screen. You should see the name ofthe WiFi network listed under "Current RobotController:". Use the back-arrow key to returnto the Settings screen. Then press theback-arrow key one more time to return to themain Driver Station screen. + - |pairing12| + + * - 13. Verify that the Driver Station screen haschanged and that it now indicates that it isconnected to the Control Hub.The name of theControl Hub's WiFi network (FTC-1Ybr in thisexample) should be displayed in the Networkfield on the Driver Station. + - |pairing13| + .. _users-with-two-android-smartphones-1: @@ -455,85 +375,47 @@ Note that it will take an estimated 10 minutes to complete this task. .. |pairingns11| image:: images/PairingNewStep11.jpg .. |pairingns12| image:: images/PairingNewStep12.jpg -+------------------------------------------------+---------------------+ -| Step | Image | -+================================================+=====================+ -| 1. On the Robot Controller device, browse the | |pairingns1| | -| available apps and locate the **Robot | |pairingns1b| | -| Controller** icon. Tap on the icon to launch | | -| the Robot Controller app. Note that the first | | -| time you launch the app your Android device | | -| might prompt you for permissions that the app | | -| will need to run properly. Whenever prompted, | | -| press **Allow** to grant the requested | | -| permission. | | -+------------------------------------------------+---------------------+ -| 2. Verify that the Robot Controller app is | |pairingns2| | -| running. The **Robot Status** field should | | -| read running if it is working properly. | | -| | | -+------------------------------------------------+---------------------+ -| 3. On the Driver Station device, browse the | |pairingns3| | -| available apps and locate the **Driver | |pairingns3b| | -| Station** icon. Tap on the icon to launch the | | -| Driver Station app. Note that the first time | | -| you launch the app your Android device might | | -| prompt you for permissions that the app will | | -| need to run properly. Whenever prompted, press | | -| **Allow** to grant the requested permission. | | -+------------------------------------------------+---------------------+ -| 4. Touch the three vertical dots on the upper | |pairingns4| | -| right hand corner of the main screen of the | | -| Driver Station app. This will launch a | | -| pop-up menu. | | -+------------------------------------------------+---------------------+ -| 5. Select **Settings** from the pop-up menu. | |pairingns5| | -| | | -| | | -| | | -+------------------------------------------------+---------------------+ -| 6. From the **Settings** screen, look for and | |pairingns6| | -| select \ **Pairing Method** to launch the | | -| **Pairing** \ **Method** screen. | | -| | | -+------------------------------------------------+---------------------+ -| 7. Verify that the **Wifi Direct** mode is | |pairingns7| | -| selected, which means that this Driver Station | | -| will be pairing with another Android device. | | -| | | -+------------------------------------------------+---------------------+ -| 8. From the **Settings** screen, look for and | |pairingns8| | -| select \ **Pair with Robot Controller** to | | -| launch the **Pair**\ \ **with Robot | | -| Controller** screen. | | -+------------------------------------------------+---------------------+ -| 9. Find the name of your Robot Controller from | |pairingns9| | -| the list and select it.After you have made | | -| your selection, use the back-arrow key to | | -| return to the Settings screen.Then press the | | -| back-arrow key one more time to return to the | | -| main Driver Station screen. | | -+------------------------------------------------+---------------------+ -| 10. When the Driver Station returns to its | |pairingns10| | -| main screen, the first time you attempt to | | -| connect to the Robot Controller a prompt | | -| should appear on the Robot Controller | | -| screen.Click on the **ACCEPT** button to | | -| accept the connection request from the Driver | | -| Station. | | -+------------------------------------------------+---------------------+ -| 11. Verify that the Driver Station screen has | |pairingns11| | -| changed and that it now indicates that it is | | -| connected to the Robot Controller.The name of | | -| the Robot Controller's remote network | | -| (9999-C-RC in this example) should be | | -| displayed in the Network field on the Driver | | -| Station. | | -+------------------------------------------------+---------------------+ -| 12. Verify that the Robot Controller screen | |pairingns12| | -| has changed and that it now indicates that it | | -| is connected to the Driver Station.The Network | | -| status should read active, connected on the | | -| Robot Controller's main screen. | | -+------------------------------------------------+---------------------+ +.. list-table:: + :widths: 50 50 + :class: longtable + :header-rows: 1 + + + * - Step + - Image + + * - 1. On the Robot Controller device, browse theavailable apps and locate the **RobotController** icon. Tap on the icon to launchthe Robot Controller app. Note that the firsttime you launch the app your Android devicemight prompt you for permissions that the appwill need to run properly. Whenever prompted,press **Allow** to grant the requestedpermission. + - |pairingns1| |pairingns1b| + + * - 2. Verify that the Robot Controller app isrunning. The **Robot Status** field shouldread running if it is working properly. + - |pairingns2| + + * - 3. On the Driver Station device, browse theavailable apps and locate the **DriverStation** icon. Tap on the icon to launch theDriver Station app. Note that the first timeyou launch the app your Android device mightprompt you for permissions that the app willneed to run properly. Whenever prompted, press**Allow** to grant the requested permission. + - |pairingns3| |pairingns3b| + + * - 4. Touch the three vertical dots on the upperright hand corner of the main screen of theDriver Station app. This will launch apop-up menu. + - |pairingns4| + + * - 5. Select **Settings** from the pop-up menu. + - |pairingns5| + + * - 6. From the **Settings** screen, look for andselect \ **Pairing Method** to launch the**Pairing** \ **Method** screen. + - |pairingns6| + + * - 7. Verify that the **Wifi Direct** mode isselected, which means that this Driver Stationwill be pairing with another Android device. + - |pairingns7| + + * - 8. From the **Settings** screen, look for andselect \ **Pair with Robot Controller** tolaunch the **Pair**\ \ **with RobotController** screen. + - |pairingns8| + + * - 9. Find the name of your Robot Controller fromthe list and select it.After you have madeyour selection, use the back-arrow key toreturn to the Settings screen.Then press theback-arrow key one more time to return to themain Driver Station screen. + - |pairingns9| + + * - 10. When the Driver Station returns to itsmain screen, the first time you attempt toconnect to the Robot Controller a promptshould appear on the Robot Controllerscreen.Click on the **ACCEPT** button toaccept the connection request from the DriverStation. + - |pairingns10| + + * - 11. Verify that the Driver Station screen haschanged and that it now indicates that it isconnected to the Robot Controller.The name ofthe Robot Controller's remote network(9999-C-RC in this example) should bedisplayed in the Network field on the DriverStation. + - |pairingns11| + * - 12. Verify that the Robot Controller screenhas changed and that it now indicates that itis connected to the Driver Station.The Networkstatus should read active, connected on theRobot Controller's main screen. + - |pairingns12| \ No newline at end of file diff --git a/docs/source/programming_resources/shared/required_materials/Required-Materials.rst b/docs/source/programming_resources/shared/required_materials/Required-Materials.rst index e94f9d8e..75c41fbe 100644 --- a/docs/source/programming_resources/shared/required_materials/Required-Materials.rst +++ b/docs/source/programming_resources/shared/required_materials/Required-Materials.rst @@ -39,100 +39,58 @@ tutorials, you will need to have the following materials available: .. |f310| image:: images/LogitechF310.jpg -+------------------------------------------------+---------------------+ -| Required Item(s) | Image | -+================================================+=====================+ -+ Two (2) *FIRST*-approved\* Android + |androidphones| + -| Devices - this could be two Android | | -| smartphones, OR it could be a Control Hub | Or | -| and a smartphone, OR a Control Hub and a | | -+ Driver Hub. + |chandphones| + -+------------------------------------------------+---------------------+ -| Wireless Internet access. | |wifi| | -| | | -| | | -+------------------------------------------------+---------------------+ -| Laptop with Microsoft Windows 7, 8 or 10 and | |laptop| | -| Wi-Fi capability.Note that your laptop should | | -| have the most current service packs and system | | -| updates from Microsoft.If you are using a | | -| different type of machine (such as a | | -| Chromebook, Android Tablet, etc.) as your | | -| programming device, the steps might differ | | -| slightly on how to access the Programming | | -| Server on the Robot Controller. Refer to your | | -| device’s user documentation for details on how | | -| to connect to a Wi-Fi network. | | -+------------------------------------------------+---------------------+ -| Javascript-enabled web browser (Google Chrome | |chrome| | -| is the recommended browser). | | -| | | -+------------------------------------------------+---------------------+ -| If you are using a smartphone as part of your | |exhub| | -| Robot Controller, you will also need a REV | | -| Robotics Expansion Hub (REV-31-1153) to | | -| connect to the motors, servos, and sensors. | | -| Control Hub users will use the integrated | | -| ports built into the Control Hub to connect | | -| motors, servos, and sensors. | | -+------------------------------------------------+---------------------+ -| REV Robotics Switch, Cable, & Bracket | |switch| | -| (REV-31-1387). | | -| | | -+------------------------------------------------+---------------------+ -| If you are using an approved 12V battery that | |tamiya| | -| has an Tamiya connector (like the Tetrix | | -| W39057 battery) you will need a >REV Robotics | | -| Tamiya to XT30 Adapter Cable (REV-31-1382). If | | -| you have a REV Robotics Slim Battery | | -| (REV-31-1302) then you will not need this | | -| adapter since the REV battery already has an | | -| XT30 connector. | | -+------------------------------------------------+---------------------+ -| *FIRST*-approved\* 12V Battery (such as Tetrix | |battery| | -| W39057 or REV Robotics REV-31-1302).\*\ **For | | -| a list of FIRST-approved 12V batteries, refer | | -| to the current Game Manual Part 1, rule | Or | -| .**\ | |slimbattery| | -| | | -| | | -+------------------------------------------------+---------------------+ -| *FIRST*-approved\* 12V DC Motor (such as | |motor| | -| Tetrix W39530, with power cable W41352). | | -| \*\ **For a list of FIRST-approved 12V motors, | | -| refer to the current Game Manual Part 1, | | -| rule .**\ | | -+------------------------------------------------+---------------------+ -| REV Robotics Anderson to JST VH Cable | |jst| | -| (REV-31-1381). | | -| | | -+------------------------------------------------+---------------------+ -| 180-Degree Standard Scale Servo (such as Hitec | |servo| | -| HS-485HB). | | -| | | -+------------------------------------------------+---------------------+ -| REV Robotics Color Sensor with 4-Pin Cable | |color| | -| (REV-31-1154). | | -| | | -+------------------------------------------------+---------------------+ -| REV Robotics Touch Sensor with 4-Pin Cable | |touch| | -| (REV-31-1425). | | -| | | -+------------------------------------------------+---------------------+ -| If you are using a smartphone as your Robot | |usba| | -| Controller, you will need a USB Type A male to | | -| type mini-B male cable. Control Hub users do | | -| not need this cable. | | -+------------------------------------------------+---------------------+ -| If you are using a smartphone as your Robot | |otg| | -| Controller, you will need two (2) micro USB | | -| OTG adapters. If you are using a Control Hub | | -| as your Robot Controller, you will need one | |otg| | -| (1) micro USB OTG adapter. | | -| | | -+------------------------------------------------+---------------------+ -| Logitech F310 USB Gamepad. | |f310| | -| | | -| | | -+------------------------------------------------+---------------------+ +.. list-table:: + :widths: 50 50 + :class: longtable + :header-rows: 1 + * - Required Item(s) + - Image + + * - Two (2) FIRST-approved* Android devices OR One (1) Control Hub and one (1) FIRSTapproved* Android device for the Driver Station + - |androidphones| Or |chandphones| + + * - Wireless Internet access. + - |wifi| + + * - Laptop with Microsoft Windows 7, 8 or 10 andWi-Fi capability.Note that your laptop shouldhave the most current service packs and systemupdates from Microsoft.If you are using adifferent type of machine (such as aChromebook, Android Tablet, etc.) as yourprogramming device, the steps might differslightly on how to access the ProgrammingServer on the Robot Controller. Refer to yourdevice’s user documentation for details on howto connect to a Wi-Fi network. + - |laptop| + + * - Javascript-enabled web browser (Google Chromeis the recommended browser). + - |chrome| + + * - If you are using a smartphone as part of yourRobot Controller, you will also need a REVRobotics Expansion Hub (REV-31-1153) toconnect to the motors, servos, and sensors.Control Hub users will use the integratedports built into the Control Hub to connectmotors, servos, and sensors. + - |exhub| + + * - REV Robotics Switch, Cable, & Bracket(REV-31-1387). + - |switch| + + * - If you are using an approved 12V battery thathas an Tamiya connector (like the TetrixW39057 battery) you will need a >REV RoboticsTamiya to XT30 Adapter Cable (REV-31-1382). Ifyou have a REV Robotics Slim Battery(REV-31-1302) then you will not need thisadapter since the REV battery already has anXT30 connector. + - |tamiya| + + * - *FIRST*-approved\* 12V Battery (such as TetrixW39057 or REV Robotics REV-31-1302).\*\ **Fora list of FIRST-approved 12V batteries, referto the current Game Manual Part 1, rule.**\ + - |battery| Or |slimbattery| + + * - *FIRST*-approved\* 12V DC Motor (such asTetrix W39530, with power cable W41352).\*\ **For a list of FIRST-approved 12V motors,refer to the current Game Manual Part 1,rule .**\ + - |motor| + + * - REV Robotics Anderson to JST VH Cable(REV-31-1381). + - |jst| + + * - 180-Degree Standard Scale Servo (such as HitecHS-485HB). + - |servo| + + * - REV Robotics Color Sensor with 4-Pin Cable(REV-31-1154). + - |color| + + * - REV Robotics Touch Sensor with 4-Pin Cable(REV-31-1425). + - |touch| + + * - If you are using a smartphone as your RobotController, you will need a USB Type A male totype mini-B male cable. Control Hub users donot need this cable. + - |usba| + + * - If you are using a smartphone as your RobotController, you will need two (2) micro USBOTG adapters. If you are using a Control Hubas your Robot Controller, you will need one(1) micro USB OTG adapter. + - |otg| |otg| + + * - Logitech F310 USB Gamepad. + - |f310| \ No newline at end of file diff --git a/docs/source/programming_resources/tutorial_specific/android_studio/controlling_a_servo/Controlling-a-Servo-(Android-Studio).rst b/docs/source/programming_resources/tutorial_specific/android_studio/controlling_a_servo/Controlling-a-Servo-(Android-Studio).rst index 8c9d291b..9e9c0e8a 100644 --- a/docs/source/programming_resources/tutorial_specific/android_studio/controlling_a_servo/Controlling-a-Servo-(Android-Studio).rst +++ b/docs/source/programming_resources/tutorial_specific/android_studio/controlling_a_servo/Controlling-a-Servo-(Android-Studio).rst @@ -1,5 +1,5 @@ -Controlling a Servo (Android Studio) -==================================== +Controlling a Servo :bdg-success:`AS` +===================================== In this section, you will modify your op mode to control a servo motor with the buttons of the gamepad. diff --git a/docs/source/programming_resources/tutorial_specific/android_studio/creating_op_modes/Creating-and-Running-an-Op-Mode-(Android-Studio).rst b/docs/source/programming_resources/tutorial_specific/android_studio/creating_op_modes/Creating-and-Running-an-Op-Mode-(Android-Studio).rst index 327ad8ce..d64512dd 100644 --- a/docs/source/programming_resources/tutorial_specific/android_studio/creating_op_modes/Creating-and-Running-an-Op-Mode-(Android-Studio).rst +++ b/docs/source/programming_resources/tutorial_specific/android_studio/creating_op_modes/Creating-and-Running-an-Op-Mode-(Android-Studio).rst @@ -1,5 +1,5 @@ -Creating and Running an Op Mode (Android-Studio) -================================================ +Creating and Running an Op Mode :bdg-success:`AS` +================================================= TeamCode Module ~~~~~~~~~~~~~~~ diff --git a/docs/source/programming_resources/tutorial_specific/android_studio/disable_instant_run/disable-instant-run.rst b/docs/source/programming_resources/tutorial_specific/android_studio/disable_instant_run/disable-instant-run.rst index d44a0a37..ae9b75a2 100644 --- a/docs/source/programming_resources/tutorial_specific/android_studio/disable_instant_run/disable-instant-run.rst +++ b/docs/source/programming_resources/tutorial_specific/android_studio/disable_instant_run/disable-instant-run.rst @@ -1,5 +1,5 @@ -Disabling Android Studio Instant Run -==================================== +Disabling Android Studio Instant Run :bdg-warning:`Legacy` :bdg-success:`AS` +============================================================================= .. attention:: *Instant Run* was removed in Android Studio version 3.5, and diff --git a/docs/source/programming_resources/tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder.rst b/docs/source/programming_resources/tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder.rst index cdf865d1..adf477b2 100644 --- a/docs/source/programming_resources/tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder.rst +++ b/docs/source/programming_resources/tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder.rst @@ -1,5 +1,5 @@ -Downloading the Android Studio Project Folder -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Downloading the Android Studio Project Folder :bdg-success:`AS` :bdg-warning:`Legacy` +======================================================================================= The SDK can be downloaded from a GitHub repository. GitHub is a web-based version control company that lets individuals and organizations host content diff --git a/docs/source/programming_resources/tutorial_specific/android_studio/enabling_developer_options/Enabling-Developer-Options.rst b/docs/source/programming_resources/tutorial_specific/android_studio/enabling_developer_options/Enabling-Developer-Options.rst index 3efc3a6b..f512dd2d 100644 --- a/docs/source/programming_resources/tutorial_specific/android_studio/enabling_developer_options/Enabling-Developer-Options.rst +++ b/docs/source/programming_resources/tutorial_specific/android_studio/enabling_developer_options/Enabling-Developer-Options.rst @@ -1,5 +1,5 @@ -Enabling Developer Options -========================== +Enabling Developer Options :bdg-success:`AS` +============================================ After you have configured your Android phone, you will also have to make sure that your phone is in developer mode before you will be able to diff --git a/docs/source/programming_resources/tutorial_specific/android_studio/fork_and_clone_github_repository/Fork-and-Clone-From-GitHub.rst b/docs/source/programming_resources/tutorial_specific/android_studio/fork_and_clone_github_repository/Fork-and-Clone-From-GitHub.rst index 7e03d7c9..756f1a22 100644 --- a/docs/source/programming_resources/tutorial_specific/android_studio/fork_and_clone_github_repository/Fork-and-Clone-From-GitHub.rst +++ b/docs/source/programming_resources/tutorial_specific/android_studio/fork_and_clone_github_repository/Fork-and-Clone-From-GitHub.rst @@ -1,5 +1,5 @@ -Fork and Clone from GitHub -========================== +Fork and Clone from GitHub :bdg-success:`AS` +============================================= .. important:: This approach assumes a basic familiarity with `git `_ and `GitHub `_. As with most diff --git a/docs/source/programming_resources/tutorial_specific/android_studio/installing_android_studio/Installing-Android-Studio.rst b/docs/source/programming_resources/tutorial_specific/android_studio/installing_android_studio/Installing-Android-Studio.rst index ec3385d1..9609fcf6 100644 --- a/docs/source/programming_resources/tutorial_specific/android_studio/installing_android_studio/Installing-Android-Studio.rst +++ b/docs/source/programming_resources/tutorial_specific/android_studio/installing_android_studio/Installing-Android-Studio.rst @@ -1,5 +1,5 @@ -Installing Android Studio -========================= +Installing Android Studio :bdg-success:`AS` +=========================================== Android Developer Website ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/source/programming_resources/tutorial_specific/android_studio/using_sensors/Using-Sensors-(Android-Studio).rst b/docs/source/programming_resources/tutorial_specific/android_studio/using_sensors/Using-Sensors-(Android-Studio).rst index 18004ddb..11d5ed2a 100644 --- a/docs/source/programming_resources/tutorial_specific/android_studio/using_sensors/Using-Sensors-(Android-Studio).rst +++ b/docs/source/programming_resources/tutorial_specific/android_studio/using_sensors/Using-Sensors-(Android-Studio).rst @@ -1,5 +1,5 @@ -Using Sensors (Android Studio) -============================== +Using Sensors :bdg-success:`AS` +=============================== Color-Distance Sensor ~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/source/programming_resources/tutorial_specific/blocks/blocks_reference/Blocks-Reference-Material.rst b/docs/source/programming_resources/tutorial_specific/blocks/blocks_reference/Blocks-Reference-Material.rst index 91406770..445d3033 100644 --- a/docs/source/programming_resources/tutorial_specific/blocks/blocks_reference/Blocks-Reference-Material.rst +++ b/docs/source/programming_resources/tutorial_specific/blocks/blocks_reference/Blocks-Reference-Material.rst @@ -1,5 +1,5 @@ -Blocks Reference Materials -========================== +Blocks Reference Materials :bdg-warning:`Blocks` +================================================= Blocks Reference Manual ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/source/programming_resources/tutorial_specific/blocks/controlling_a_servo/Controlling-a-Servo-(Blocks).rst b/docs/source/programming_resources/tutorial_specific/blocks/controlling_a_servo/Controlling-a-Servo-(Blocks).rst index 83cb7f4c..7f999323 100644 --- a/docs/source/programming_resources/tutorial_specific/blocks/controlling_a_servo/Controlling-a-Servo-(Blocks).rst +++ b/docs/source/programming_resources/tutorial_specific/blocks/controlling_a_servo/Controlling-a-Servo-(Blocks).rst @@ -1,5 +1,5 @@ -Controlling a Servo (Blocks) ----------------------------- +Controlling a Servo :bdg-warning:`Blocks` +========================================== In the section titled :doc:`Creating an Op Mode with Blocks <../creating_op_modes/Writing-an-Op-Mode-with-FTC-Blocks>` you learned how to use diff --git a/docs/source/programming_resources/tutorial_specific/blocks/creating_op_modes/Writing-an-Op-Mode-with-FTC-Blocks.rst b/docs/source/programming_resources/tutorial_specific/blocks/creating_op_modes/Writing-an-Op-Mode-with-FTC-Blocks.rst index 22205e91..76e917fa 100644 --- a/docs/source/programming_resources/tutorial_specific/blocks/creating_op_modes/Writing-an-Op-Mode-with-FTC-Blocks.rst +++ b/docs/source/programming_resources/tutorial_specific/blocks/creating_op_modes/Writing-an-Op-Mode-with-FTC-Blocks.rst @@ -1,5 +1,5 @@ -Creating Op Modes (Blocks) -============================== +Creating Op Modes :bdg-warning:`Blocks` +======================================== What's an Op Mode? diff --git a/docs/source/programming_resources/tutorial_specific/blocks/managing_opmodes/managing-opmodes.rst b/docs/source/programming_resources/tutorial_specific/blocks/managing_opmodes/managing-opmodes.rst index aaf9716a..103fc97e 100644 --- a/docs/source/programming_resources/tutorial_specific/blocks/managing_opmodes/managing-opmodes.rst +++ b/docs/source/programming_resources/tutorial_specific/blocks/managing_opmodes/managing-opmodes.rst @@ -1,5 +1,5 @@ -Managing OpModes in Blocks -========================== +Managing OpModes in Blocks :bdg-warning:`Blocks` +================================================= Blocks is a programming language that uses graphical programming elements to create programs. As such its file format is different than, say, a JAVA or diff --git a/docs/source/programming_resources/tutorial_specific/blocks/using_sensors/Using-Sensors-(Blocks).rst b/docs/source/programming_resources/tutorial_specific/blocks/using_sensors/Using-Sensors-(Blocks).rst index 7511ea35..8b8dbcd4 100644 --- a/docs/source/programming_resources/tutorial_specific/blocks/using_sensors/Using-Sensors-(Blocks).rst +++ b/docs/source/programming_resources/tutorial_specific/blocks/using_sensors/Using-Sensors-(Blocks).rst @@ -1,5 +1,5 @@ -Using Sensors (Blocks) -====================== +Using Sensors :bdg-warning:`Blocks` +==================================== Color-Distance Sensor ~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/source/programming_resources/tutorial_specific/onbot_java/controlling_a_servo/Controlling-a-Servo-(OnBot-Java).rst b/docs/source/programming_resources/tutorial_specific/onbot_java/controlling_a_servo/Controlling-a-Servo-(OnBot-Java).rst index 7f371234..498a9543 100644 --- a/docs/source/programming_resources/tutorial_specific/onbot_java/controlling_a_servo/Controlling-a-Servo-(OnBot-Java).rst +++ b/docs/source/programming_resources/tutorial_specific/onbot_java/controlling_a_servo/Controlling-a-Servo-(OnBot-Java).rst @@ -1,5 +1,5 @@ -Controlling a Servo (OnBot Java) -================================ +Controlling a Servo :bdg-info:`OBJ` +==================================== In this section, you will modify your op mode to control a servo motor with the buttons of the gamepad. diff --git a/docs/source/programming_resources/tutorial_specific/onbot_java/creating_op_modes/Creating-and-Running-an-Op-Mode-(OnBot-Java).rst b/docs/source/programming_resources/tutorial_specific/onbot_java/creating_op_modes/Creating-and-Running-an-Op-Mode-(OnBot-Java).rst index b05bc689..38c94866 100644 --- a/docs/source/programming_resources/tutorial_specific/onbot_java/creating_op_modes/Creating-and-Running-an-Op-Mode-(OnBot-Java).rst +++ b/docs/source/programming_resources/tutorial_specific/onbot_java/creating_op_modes/Creating-and-Running-an-Op-Mode-(OnBot-Java).rst @@ -1,5 +1,5 @@ -Creating and Running an Op Mode (OnBot Java) -============================================ +Creating and Running an Op Mode :bdg-info:`OBJ` +=============================================== The Java Programming Language ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/source/programming_resources/tutorial_specific/onbot_java/onbot_java_reference/OnBot-Java-Reference-Info.rst b/docs/source/programming_resources/tutorial_specific/onbot_java/onbot_java_reference/OnBot-Java-Reference-Info.rst index a5d4600c..cac62c46 100644 --- a/docs/source/programming_resources/tutorial_specific/onbot_java/onbot_java_reference/OnBot-Java-Reference-Info.rst +++ b/docs/source/programming_resources/tutorial_specific/onbot_java/onbot_java_reference/OnBot-Java-Reference-Info.rst @@ -1,5 +1,5 @@ -OnBot Java Reference Info -========================= +OnBot Java Reference Info :bdg-info:`OBJ` +========================================= Javadoc Reference Pages ~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/source/programming_resources/tutorial_specific/onbot_java/using_sensors/Using-Sensors-(OnBot-Java).rst b/docs/source/programming_resources/tutorial_specific/onbot_java/using_sensors/Using-Sensors-(OnBot-Java).rst index e0d32196..f485a3ca 100644 --- a/docs/source/programming_resources/tutorial_specific/onbot_java/using_sensors/Using-Sensors-(OnBot-Java).rst +++ b/docs/source/programming_resources/tutorial_specific/onbot_java/using_sensors/Using-Sensors-(OnBot-Java).rst @@ -1,5 +1,5 @@ -Using Sensors (OnBot Java) -========================== +Using Sensors :bdg-info:`OBJ` +============================= Color-Distance Sensor ~~~~~~~~~~~~~~~~~~~~~