Added template files, but this isn't working

This commit is contained in:
Eric Ratliff
2026-02-02 20:13:16 -06:00
parent 409469350e
commit 72978a24d7
9 changed files with 254 additions and 0 deletions

26
templates/basic/.gitignore vendored Normal file
View File

@@ -0,0 +1,26 @@
# Gradle
.gradle/
build/
gradle-app.setting
!gradle-wrapper.jar
# Android
*.apk
*.ap_
*.aab
local.properties
# IDEs
.idea/
*.iml
.vscode/
*.swp
*.swo
*~
# OS
.DS_Store
Thumbs.db
# Weevil
.weevil/

View File

@@ -0,0 +1,11 @@
[project]
name = "{{PROJECT_NAME}}"
created = "{{CREATION_DATE}}"
weevil_version = "{{WEEVIL_VERSION}}"
template = "{{TEMPLATE_NAME}}"
[ftc]
sdk_version = "10.1.1"
[build]
gradle_version = "8.5"

View File

@@ -0,0 +1,53 @@
# {{PROJECT_NAME}}
FTC Robot project created with Weevil {{WEEVIL_VERSION}} on {{CREATION_DATE}}.
## Getting Started
This is a minimal FTC robot project. Add your robot code in:
- `src/main/java/robot/opmodes/` - OpModes for TeleOp and Autonomous
- `src/main/java/robot/subsystems/` - Robot subsystems
- `src/main/java/robot/hardware/` - Hardware abstractions
## Building
```bash
# Setup environment (first time only)
weevil setup
# Build APK
weevil build
# Deploy to robot
weevil deploy
```
## Project Structure
```
{{PROJECT_NAME}}/
├── src/
│ ├── main/java/robot/
│ │ ├── hardware/ # Hardware interfaces
│ │ ├── subsystems/ # Robot subsystems
│ │ └── opmodes/ # TeleOp and Autonomous
│ └── test/java/robot/ # Unit tests
├── build.gradle # Build configuration
└── README.md # This file
```
## Next Steps
1. Add your robot hardware in `src/main/java/robot/hardware/`
2. Create subsystems in `src/main/java/robot/subsystems/`
3. Write OpModes in `src/main/java/robot/opmodes/`
4. Test and deploy!
## Documentation
- [Weevil Documentation](https://docs.weevil.dev)
- [FTC SDK Documentation](https://ftc-docs.firstinspires.org)
---
Created with [Weevil](https://weevil.dev) - FTC Project Generator

View File

@@ -0,0 +1,58 @@
plugins {
id 'com.android.application'
}
android {
namespace 'org.firstinspires.ftc.{{PACKAGE_NAME}}'
compileSdk 34
defaultConfig {
applicationId 'org.firstinspires.ftc.{{PACKAGE_NAME}}'
minSdk 24
targetSdk 34
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
sourceSets {
main {
java {
srcDirs = ['src/main/java']
}
}
test {
java {
srcDirs = ['src/test/java']
}
}
}
}
repositories {
mavenCentral()
google()
}
dependencies {
implementation 'org.firstinspires.ftc:RobotCore:10.1.1'
implementation 'org.firstinspires.ftc:Hardware:10.1.1'
implementation 'org.firstinspires.ftc:FtcCommon:10.1.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:5.3.1'
}

View File

@@ -0,0 +1,17 @@
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = 'FtcRobotController'

View File

@@ -0,0 +1 @@
# This file ensures the directory is tracked by git even when empty

View File

@@ -0,0 +1,86 @@
// Generated by Weevil {{WEEVIL_VERSION}} on {{CREATION_DATE}}
package robot.{{PACKAGE_NAME}};
import com.qualcomm.robotcore.eventloop.opmode.OpMode;
import com.qualcomm.robotcore.eventloop.opmode.TeleOp;
import com.qualcomm.robotcore.hardware.DcMotor;
/**
* Basic OpMode template for {{PROJECT_NAME}}
*
* This is a minimal starting point for your robot code.
* Add your hardware and control logic here.
*/
@TeleOp(name = "{{PROJECT_NAME}}: Basic", group = "TeleOp")
public class BasicOpMode extends OpMode {
// Declare your hardware here
// private DcMotor leftMotor;
// private DcMotor rightMotor;
/**
* Initialize hardware and setup
*/
@Override
public void init() {
// Initialize your hardware
// leftMotor = hardwareMap.get(DcMotor.class, "left_motor");
// rightMotor = hardwareMap.get(DcMotor.class, "right_motor");
telemetry.addData("Status", "{{PROJECT_NAME}} initialized");
telemetry.addData("Created", "Weevil {{WEEVIL_VERSION}}");
telemetry.update();
}
/**
* Runs repeatedly after init, before play
*/
@Override
public void init_loop() {
telemetry.addData("Status", "Waiting for start...");
telemetry.update();
}
/**
* Runs once when play is pressed
*/
@Override
public void start() {
telemetry.addData("Status", "Running!");
telemetry.update();
}
/**
* Main control loop - runs repeatedly during play
*/
@Override
public void loop() {
// Add your control code here
// Example: Read gamepad and control motors
// double leftPower = -gamepad1.left_stick_y;
// double rightPower = -gamepad1.right_stick_y;
// leftMotor.setPower(leftPower);
// rightMotor.setPower(rightPower);
// Update telemetry
telemetry.addData("Status", "Running");
telemetry.addData("Project", "{{PROJECT_NAME}}");
// telemetry.addData("Left Power", leftPower);
// telemetry.addData("Right Power", rightPower);
telemetry.update();
}
/**
* Runs once when stop is pressed
*/
@Override
public void stop() {
// Stop all motors
// leftMotor.setPower(0);
// rightMotor.setPower(0);
telemetry.addData("Status", "Stopped");
telemetry.update();
}
}

View File

@@ -0,0 +1 @@
# This file ensures the directory is tracked by git even when empty

View File

@@ -0,0 +1 @@
# This file ensures the directory is tracked by git even when empty