![easy-ftc](/Collegiate-Edu-Nation/easy-ftc/raw/main/docs/img/logo/easy-ftc_color.png)
Library for easily leveraging in-the-box FTC mechanisms and sensors, including
Name | Type |
---|---|
Arm | Motor Mechanism |
Claw | Servo Mechanism |
Drive | Motor Mechanism |
Intake | Motor Mechanism |
Lift | Motor Mechanism |
Trigger | Servo Mechanism |
Color | Sensor |
Distance | Sensor |
Touch | Sensor |
This library greatly simplifies the implementation of common FTC robotics subsystems and features by abstracting away low-level decisions and providing a simplified, façade pattern API. As such, users will only need to use a few methods (command()
, control()
, and state()
) due to a reliance on sane defaults and the builder design pattern
The target audience is beginner-level FTC teams and hobbyists, but even advanced users can elect to utilize easy-ftc à la carte (e.g. leverage easy-ftc for peripheral devices so you can focus on more complex features like motion planning)
- Encoders can be used with minimal setup for either time- or distance-based commands
Arm
,Intake
, andLift
optionally feature encoder limits on range-of-motionROBOT
andFIELD
-centric driving are supported forMECANUM
TANK
andARCADE
are supported forDIFFERENTIAL
- Servo-powered mechanisms can optionally leverage smooth-servo control
Lift
andDrive
optionally feature gamepad deadzones, mitigating stick/trigger drift
Deployed at https://collegiate-edu-nation.github.io/easy-ftc
Cover Getting Started, Examples, Controls, Naming, Diagrams, and the Javadoc
- Each option requires that you download this repo's latest Android archive
- Click on
easy-ftc-release.aar
at https://github.com/collegiate-edu-nation/easy-ftc/releases
- Upload the .aar using OnBot Java's GUI
- Press the gear icon on the bottom right with the title 'Build Everything'
-
Add the .aar to
FtcRobotController/libs/
-
Add implementation to TeamCode's
build.gradle
like sodependencies { implementation project(':FtcRobotController') implementation files('../libs/easy-ftc-release.aar') }
- While at the previous link, also click on
myBlocks.zip
- Upload the .aar and all relevant Java files from myBlocks using OnBot Java's GUI
- Each Java file in
myBlocks/
will control a specific mechanism/sensor
- Each Java file in
- Modify the myBlocks Java files to change behavior
- e.g. add
.layout(Layout.ARCADE)
toDrive.Builder
inDrive.java
- e.g. add
- Press the gear icon on the bottom right with the title 'Build Everything'
- A new menu option 'Java Classes' should be visible in the Blockly GUI now
- Each class listed there will provide relevant methods from easy-ftc, like
control()
,command()
, andstate()