Skip to content

megustaloscheetos/Team17185-FTCUploaderPlugin

Repository files navigation

FTCUploader Plugin

Love coding in Android Studio or IntelliJ? But hate the weight of adb?

This IntelliJ platform plugin aims to alleviate this problem by directly uploading your code (Java files) to OnBot Java!

⚠️ WARNING ⚠️

I do not have a lot of experience in making IntelliJ plugins. Per MIT license, I am not responsible for ANY loss of code. Though I have not encountered any problems (tested on WIFI Direct). Use this plugin at your own discretion!

How to Install

  1. Make sure you have the latest version of Android Studio or IntelliJ.

Android Studio Hedgehog+ or IntelliJ (Any Edition) 2023+ Should Work

image image

  1. Download the latest version of the plugin from the Releases Page.
  2. In your IntelliJ or Android Studio, go to the Welcome screen and then click on Plugins.
  3. Click on the cog and then select Install Plugin from Disk....

image

  1. Locate the plugin and click Ok.

image

  1. Restart your IDE.

How to Use

Setup

  1. Ensure you are connected to your Phone's or Control Hub's WIFI access point.
  2. In your Android project structure, right click on any Java file and select FTC Uploader.

image

Uploading Code

  1. In the FTC Uploader menu, select Upload to upload the selected Java file.

Note

All files are uploaded with paths that are relative to the TeamCode/src/main/java folder.

  1. If uploaded successfully, the Java file should be visible and buildable on OnBot Java.

image

Building Code

a. In the FTC Uploader menu, select Build to build all files in OnBot Java.

b. It is also possible to select the Upload and Build option which will upload the selected file and build all files.

Note

Like OnBot Java, an output console will appear showing the status of the build.

image image

Configuration

Main Configuration

The configuration for this plugin can be found in the IDE's settings under Tools. Here you can set the ip address of the robot controller. You can also set the timeout of builds which are in milliseconds.

Important

If the plugin does not work, it may be because the ip address does not match in the configuration with the ip of the robot. Importantly, the ip address will vary depending on whether a Control Hub or phone is used.

Note

Timeout does not affect the actual timeout of the build process in the robot controller. It only affects how long the plugin waits for a response from the robot controller before displaying a timeout message.

image

Action Configuration (Keybindings)

It is possible to bind actions to the keyboard or mouse. This may be useful for repetitive actions such as Building. Simply double click any action to add a shortcut.

image image