From 31f66fb57e6836282ad587c52dcf0b1574c9fd58 Mon Sep 17 00:00:00 2001 From: Miriam Sinton-Remes Date: Wed, 29 Jul 2026 00:51:34 -0400 Subject: [PATCH 1/3] Make the Android Studio tutorial a standalone, Driver Hub-first path Addresses #407. - Add a 'Before You Start' page as the first section of the Android Studio tutorial. It states the recommended Control Hub + Driver Hub setup, describes the smartphone Robot Controller / Driver Station setups as alternates, links the hardware configuration and Control System pages a Java team needs, and adds a 'Before writing code' checklist with a link for each item. - Rewrite the tutorial landing page introduction so it describes a complete getting-started path rather than assuming the reader arrived from the Blocks tutorial, and name the recommended setup up front. - Add short orienting lead-ins to the Introduction, Configuring your Hardware, Installing Android Studio, and Writing an Op Mode section pages, noting which linked content applies only to the alternate smartphone setups. - Label the Enabling Developer Options entry as smartphone Robot Controller only, since a Control Hub ships with Developer Options enabled. - Link the computer requirements page from the install section; it was not reachable from Programming Resources. --- .../Android-Studio-Tutorial.rst | 22 +++- .../before_you_start/before-you-start.rst | 123 ++++++++++++++++++ .../android_studio_java/config/config.rst | 9 ++ .../android_studio_java/install/install.rst | 6 + .../android_studio_java/intro/intro.rst | 6 + .../android_studio_java/opmode/opmode.rst | 9 +- 6 files changed, 168 insertions(+), 7 deletions(-) create mode 100644 docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst 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 4cdf6e903..8f7e717aa 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 @@ -6,10 +6,16 @@ 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 -robot. +This tutorial is a complete getting-started path for a team programming in +Java with Android Studio. It takes you step-by-step through setting up and +configuring your Control System hardware, installing and managing the Android +Studio project, and writing, deploying, and running your first OpMode. You do +not need to have worked through the Blocks or OnBot Java tutorials first. + +The tutorial is written for the setup that most teams use: a REV Robotics +Control Hub as the ROBOT CONTROLLER and a REV Robotics Driver Hub as the +DRIVER STATION. Select Android smartphones are also supported, and the pages +this tutorial links to cover those setups as alternates. Android Studio is an advanced integrated development environment for creating Android apps. This tool is the same tool that professional @@ -24,12 +30,16 @@ Android app developers use. Android Studio is only recommended for .. note:: :bdg-success:`AS` indicates that the content is specific to Android Studio Programming +Start with :doc:`Before You Start `, which +lists the documentation a Java team needs alongside this tutorial and gives a +checklist to complete before writing code. + .. toctree:: :maxdepth: 2 - + + before_you_start/before-you-start intro/intro config/config install/install manage/manage opmode/opmode - diff --git a/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst b/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst new file mode 100644 index 000000000..752413d89 --- /dev/null +++ b/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst @@ -0,0 +1,123 @@ +Before You Start :bdg-success:`AS` +================================== + +This page is the starting point for a team that is beginning directly in +Android Studio. It describes the Control System setup that the rest of this +tutorial assumes, points to the documentation a Java team needs alongside it, +and gives a checklist to work through before writing any code. + +You do not need to have completed the Blocks or OnBot Java tutorials first. + +Recommended Control System Setup +-------------------------------- + +This tutorial is written for the setup that most teams use: + +- a **REV Robotics Control Hub** as the ROBOT CONTROLLER, and +- a **REV Robotics Driver Hub** as the DRIVER STATION. + +Select Android smartphones are also supported. Where a page in this tutorial +describes more than one setup, follow the Control Hub and Driver Hub +instructions unless your team is using one of the alternate setups below. + +Alternate Setups +^^^^^^^^^^^^^^^^ + +Two alternate setups appear throughout the Control System documentation. Both +are covered by the same pages this tutorial links to, in sections labeled for +smartphones: + +- A **smartphone ROBOT CONTROLLER** connected to a REV Robotics Expansion Hub. + This setup needs extra steps that a Control Hub does not: renaming the + phone, placing it in airplane mode with Wi-Fi on, pairing it to the DRIVER + STATION, and + :doc:`enabling Developer Options <../../tutorial_specific/android_studio/enabling_developer_options/Enabling-Developer-Options>` + so Android Studio can install the app onto it. +- A **smartphone DRIVER STATION** in place of a Driver Hub. This setup needs + the phone renamed and paired, and needs a Micro USB OTG adapter cable to + connect a gamepad. + +.. note:: A Control Hub has Developer Options enabled from the factory and + comes preloaded with the ROBOT CONTROLLER app, so teams using the + recommended setup can skip the phone-only preparation steps. + +Documentation You Will Need +--------------------------- + +Read or bookmark these before working through the rest of this tutorial. They +are the pages that describe the hardware side of the Control System, which +Android Studio itself does not cover. + +- :doc:`Control System Introduction <../../shared/control_system_intro/The-FTC-Control-System>` + -- what each component of the Control System does. +- :doc:`Required Materials <../../shared/required_materials/Required-Materials>` + -- the hardware needed to complete this tutorial. +- :doc:`Computer Requirements ` + -- the laptop specifications recommended for running Android Studio. +- :doc:`Configuring Your Android Devices <../../shared/configuring_android/Configuring-Your-Android-Devices>` + -- installing apps, updating firmware, and pairing the DRIVER STATION to the + ROBOT CONTROLLER. +- :doc:`Connecting Devices to a Control or Expansion Hub ` + -- wiring power, motors, servos, and sensors to the hub. +- :doc:`Configuring Your Hardware ` + -- creating the robot configuration file from the DRIVER STATION, which is + how your OpMode finds each device by name. +- :doc:`Managing a Control Hub <../../shared/managing_control_hub/Managing-a-Control-Hub>` + -- renaming the Control Hub, changing its password, and updating Hub + firmware. +- :doc:`Managing a Driver Hub <../../shared/managing_smartphone_ds/Managing-a-Smartphone-Driver-Station>` + -- renaming the Driver Hub and updating the DRIVER STATION app. +- :doc:`Updating Components of the Control System ` + -- keeping the Control Hub OS, Driver Hub OS, and apps current. + +Before Writing Code +------------------- + +Work through this checklist first. Each item links to the page in the +documentation that covers it. + +.. list-table:: + :widths: 40 60 + :class: longtable + :header-rows: 1 + + * - Check + - Where it is covered + * - The Control Hub is wired to a 12V battery through a REV switch, and any + Expansion Hub, motors, servos, and sensors are connected. + - :doc:`Connecting Devices to a Control or Expansion Hub ` + * - The Control Hub and Driver Hub have been renamed to match the team + number naming requirements in the Competition Manual. + - :doc:`Managing a Control Hub <../../shared/managing_control_hub/Managing-a-Control-Hub>`, + :doc:`Managing a Driver Hub <../../shared/managing_smartphone_ds/Managing-a-Smartphone-Driver-Station>` + * - The Driver Hub is paired to the Control Hub, and the DRIVER STATION app + shows the ROBOT CONTROLLER as connected. + - :doc:`Configuring Your Android Devices <../../shared/configuring_android/Configuring-Your-Android-Devices>` + * - A robot configuration file has been created, saved, and activated from + the DRIVER STATION, and each device name matches the name your OpMode + will use. + - :doc:`Configuring Your Hardware ` + * - The Control Hub OS, Driver Hub OS, Hub firmware, and the DRIVER STATION + app are up to date. + - :doc:`Updating Components of the Control System ` + * - Android Studio is installed and the ``FtcRobotController`` project has + been downloaded and opened. + - :doc:`Installing Android Studio <../../tutorial_specific/android_studio/installing_android_studio/Installing-Android-Studio>`, + :doc:`Downloading the Android Studio Project Folder <../../tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder>` + * - The version of the ``FtcRobotController`` project matches the season and + is at least as new as the DRIVER STATION app version on the Driver Hub. + - :doc:`Downloading the Android Studio Project Folder <../../tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder>` + * - A USB Type C cable connects the laptop to the Control Hub's Type C port, + and Android Studio lists the hub as an available deployment target. + - :doc:`Creating and Running an OpMode <../../tutorial_specific/android_studio/creating_op_modes/Creating-and-Running-an-Op-Mode-(Android-Studio)>` + +.. important:: Android Studio builds and installs the entire ROBOT CONTROLLER + app, replacing the one on the Control Hub. The app it installs must be + compatible with the DRIVER STATION app on the Driver Hub, so update both + from the same season's release. + +.. note:: The laptop can also connect to the Control Hub's Program & Manage + Wi-Fi network for use with the Blocks and OnBot Java tools. Android Studio + deploys over the USB Type C connection described above, so + :doc:`connecting a laptop to the Program & Manage network <../../shared/program_and_manage_network/Connecting-a-Laptop-to-the-Program-&-Manage-Network>` + is not required for this tutorial. diff --git a/docs/source/programming_resources/android_studio_java/config/config.rst b/docs/source/programming_resources/android_studio_java/config/config.rst index 6ebbaaf77..fdb195b0b 100644 --- a/docs/source/programming_resources/android_studio_java/config/config.rst +++ b/docs/source/programming_resources/android_studio_java/config/config.rst @@ -1,6 +1,15 @@ Configuring your Hardware :bdg-success:`AS` =========================================== +These pages cover the hardware side of the Control System: preparing the +Control Hub and Driver Hub, wiring devices to the hub, and creating the robot +configuration file from the DRIVER STATION. The configuration file gives each +motor, servo, and sensor the name your OpMode uses to find it, so complete +this section before writing code. + +Sections describing a smartphone ROBOT CONTROLLER or a smartphone DRIVER +STATION apply only to those alternate setups. + .. toctree:: :maxdepth: 1 diff --git a/docs/source/programming_resources/android_studio_java/install/install.rst b/docs/source/programming_resources/android_studio_java/install/install.rst index 39cfb8cc5..fd64171d1 100644 --- a/docs/source/programming_resources/android_studio_java/install/install.rst +++ b/docs/source/programming_resources/android_studio_java/install/install.rst @@ -1,6 +1,12 @@ Installing Android Studio :bdg-success:`AS` =========================================== +These pages cover installing Android Studio on your laptop and downloading the +``FtcRobotController`` project folder for the current season. Android Studio is +demanding on a laptop; check your laptop against the +:doc:`recommended computer requirements for software development ` +before installing. + .. 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 \ 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 index 3a8c105ed..111b6edaf 100644 --- a/docs/source/programming_resources/android_studio_java/intro/intro.rst +++ b/docs/source/programming_resources/android_studio_java/intro/intro.rst @@ -1,6 +1,12 @@ Introduction :bdg-success:`AS` ===================================== +These pages introduce the Control System, list the hardware needed to complete +this tutorial, and describe the Android devices used as the ROBOT CONTROLLER +and the DRIVER STATION. Most of *Using Your Android Device* describes the +alternate smartphone setups; teams using a Driver Hub only need its first +section. + .. toctree:: :maxdepth: 1 diff --git a/docs/source/programming_resources/android_studio_java/opmode/opmode.rst b/docs/source/programming_resources/android_studio_java/opmode/opmode.rst index e712bf88d..c1f70bcb1 100644 --- a/docs/source/programming_resources/android_studio_java/opmode/opmode.rst +++ b/docs/source/programming_resources/android_studio_java/opmode/opmode.rst @@ -1,8 +1,15 @@ Writing an Op Mode :bdg-success:`AS` ==================================== +These pages cover writing an OpMode in the ``TeamCode`` module, building it, +installing it onto the ROBOT CONTROLLER, and running it from the DRIVER +STATION. + +A Control Hub has Developer Options enabled from the factory. The first page +below is needed only by teams using a smartphone ROBOT CONTROLLER. + .. toctree:: - ../../tutorial_specific/android_studio/enabling_developer_options/Enabling-Developer-Options + Enabling Developer Options (Smartphone Robot Controller) <../../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) From c977913e14e25f2b19fb391796ed1517d372959f Mon Sep 17 00:00:00 2001 From: Miriam Sinton-Remes Date: Wed, 29 Jul 2026 00:54:51 -0400 Subject: [PATCH 2/3] Correct unsourced claims on the Before You Start page - Drop the assertion that the Control Hub ships preloaded with the Robot Controller app; only the Driver Hub's preloaded DS app is documented. - Replace the invented Robot Controller / Driver Station version inequality with the sourced guidance: both come from the current season's release. - State the USB Type C deploy path positively instead of asserting that the Program & Manage network is not required. --- .../before_you_start/before-you-start.rst | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst b/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst index 752413d89..09ace5ab9 100644 --- a/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst +++ b/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst @@ -37,9 +37,9 @@ smartphones: the phone renamed and paired, and needs a Micro USB OTG adapter cable to connect a gamepad. -.. note:: A Control Hub has Developer Options enabled from the factory and - comes preloaded with the ROBOT CONTROLLER app, so teams using the - recommended setup can skip the phone-only preparation steps. +.. note:: A Control Hub has Developer Options enabled from the factory, so + teams using the recommended setup can skip the phone-only preparation + steps. Documentation You Will Need --------------------------- @@ -104,8 +104,8 @@ documentation that covers it. been downloaded and opened. - :doc:`Installing Android Studio <../../tutorial_specific/android_studio/installing_android_studio/Installing-Android-Studio>`, :doc:`Downloading the Android Studio Project Folder <../../tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder>` - * - The version of the ``FtcRobotController`` project matches the season and - is at least as new as the DRIVER STATION app version on the Driver Hub. + * - The ``FtcRobotController`` project and the DRIVER STATION app both come + from the current season's release. - :doc:`Downloading the Android Studio Project Folder <../../tutorial_specific/android_studio/downloading_as_project_folder/Downloading-the-Android-Studio-Project-Folder>` * - A USB Type C cable connects the laptop to the Control Hub's Type C port, and Android Studio lists the hub as an available deployment target. @@ -116,8 +116,7 @@ documentation that covers it. compatible with the DRIVER STATION app on the Driver Hub, so update both from the same season's release. -.. note:: The laptop can also connect to the Control Hub's Program & Manage - Wi-Fi network for use with the Blocks and OnBot Java tools. Android Studio - deploys over the USB Type C connection described above, so - :doc:`connecting a laptop to the Program & Manage network <../../shared/program_and_manage_network/Connecting-a-Laptop-to-the-Program-&-Manage-Network>` - is not required for this tutorial. +.. note:: This tutorial deploys the app over the USB Type C connection + described above. The Control Hub also broadcasts a Program & Manage Wi-Fi + network, used by the Blocks and OnBot Java tools and described in + :doc:`Connecting a Laptop to the Program & Manage Network <../../shared/program_and_manage_network/Connecting-a-Laptop-to-the-Program-&-Manage-Network>`. From eff4ea4e663921d1032d5d68117a720394b1aafa Mon Sep 17 00:00:00 2001 From: Miriam Sinton-Remes Date: Fri, 31 Jul 2026 22:58:35 -0400 Subject: [PATCH 3/3] State the smartphone support boundary in the Android Studio tutorial Replaces the recommended/alternate-setup framing with the support boundary: the Control Hub and Driver Hub are officially supported, and smartphones are legal to use in competition but unsupported. --- .../Android-Studio-Tutorial.rst | 7 +++--- .../before_you_start/before-you-start.rst | 25 +++++++++++-------- .../android_studio_java/config/config.rst | 2 +- .../android_studio_java/intro/intro.rst | 3 +-- 4 files changed, 21 insertions(+), 16 deletions(-) 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 8f7e717aa..572c82e02 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 @@ -12,10 +12,11 @@ configuring your Control System hardware, installing and managing the Android Studio project, and writing, deploying, and running your first OpMode. You do not need to have worked through the Blocks or OnBot Java tutorials first. -The tutorial is written for the setup that most teams use: a REV Robotics +The tutorial is written for the officially supported setup: a REV Robotics Control Hub as the ROBOT CONTROLLER and a REV Robotics Driver Hub as the -DRIVER STATION. Select Android smartphones are also supported, and the pages -this tutorial links to cover those setups as alternates. +DRIVER STATION. Smartphones are legal to use in competition but are not +officially supported, and the pages this tutorial links to cover those setups +separately. Android Studio is an advanced integrated development environment for creating Android apps. This tool is the same tool that professional diff --git a/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst b/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst index 09ace5ab9..53193ee08 100644 --- a/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst +++ b/docs/source/programming_resources/android_studio_java/before_you_start/before-you-start.rst @@ -8,22 +8,27 @@ and gives a checklist to work through before writing any code. You do not need to have completed the Blocks or OnBot Java tutorials first. -Recommended Control System Setup --------------------------------- +Supported Control System Setup +------------------------------ -This tutorial is written for the setup that most teams use: +This tutorial is written for the officially supported setup: - a **REV Robotics Control Hub** as the ROBOT CONTROLLER, and - a **REV Robotics Driver Hub** as the DRIVER STATION. -Select Android smartphones are also supported. Where a page in this tutorial -describes more than one setup, follow the Control Hub and Driver Hub -instructions unless your team is using one of the alternate setups below. +.. important:: Smartphones are not officially supported. They are legal to use + in competition, but a team who uses one is responsible for all of their own + testing and troubleshooting. Only the REV Control Hub and the REV Driver Hub + are officially supported. -Alternate Setups -^^^^^^^^^^^^^^^^ +Where a page in this tutorial describes more than one setup, follow the Control +Hub and Driver Hub instructions unless your team is using one of the smartphone +setups below. -Two alternate setups appear throughout the Control System documentation. Both +Smartphone Setups +^^^^^^^^^^^^^^^^^ + +Two smartphone setups appear throughout the Control System documentation. Both are covered by the same pages this tutorial links to, in sections labeled for smartphones: @@ -38,7 +43,7 @@ smartphones: connect a gamepad. .. note:: A Control Hub has Developer Options enabled from the factory, so - teams using the recommended setup can skip the phone-only preparation + teams using the supported setup can skip the phone-only preparation steps. Documentation You Will Need diff --git a/docs/source/programming_resources/android_studio_java/config/config.rst b/docs/source/programming_resources/android_studio_java/config/config.rst index fdb195b0b..0c6cde603 100644 --- a/docs/source/programming_resources/android_studio_java/config/config.rst +++ b/docs/source/programming_resources/android_studio_java/config/config.rst @@ -8,7 +8,7 @@ motor, servo, and sensor the name your OpMode uses to find it, so complete this section before writing code. Sections describing a smartphone ROBOT CONTROLLER or a smartphone DRIVER -STATION apply only to those alternate setups. +STATION apply only to teams using a smartphone. .. toctree:: :maxdepth: 1 diff --git a/docs/source/programming_resources/android_studio_java/intro/intro.rst b/docs/source/programming_resources/android_studio_java/intro/intro.rst index 111b6edaf..45e654abf 100644 --- a/docs/source/programming_resources/android_studio_java/intro/intro.rst +++ b/docs/source/programming_resources/android_studio_java/intro/intro.rst @@ -4,8 +4,7 @@ Introduction :bdg-success:`AS` These pages introduce the Control System, list the hardware needed to complete this tutorial, and describe the Android devices used as the ROBOT CONTROLLER and the DRIVER STATION. Most of *Using Your Android Device* describes the -alternate smartphone setups; teams using a Driver Hub only need its first -section. +smartphone setups; teams using a Driver Hub only need its first section. .. toctree:: :maxdepth: 1