WolfKit

WolfKit is a logging library for FTC robots with its own dashboard, WolfDash.

Robot code logs values with one call. WolfKit then does three things with every value:

Where it goes What for
WolfDash, a page served by the robot Watching values, graphing, field view and tuning while you work on the robot
A .wpilog file per OpMode run Reviewing a run afterwards in AdvantageScope
A NetworkTables 4 stream on port 5810 Connecting AdvantageScope live

WolfKit does not depend on FTC Dashboard or Panels, and adds no libraries to the robot app beyond its own.

Status: version 0.2.0 is built against FTC SDK 12.0.0 and has been exercised in the simulator. It has not yet been validated on a Control Hub.

Install

In build.dependencies.gradle of the robot project:

dependencies {
    implementation 'io.github.robowolves10016:wolfkit-core:0.2.0'
    implementation 'io.github.robowolves10016:wolfkit-pedro:0.2.0' // only if you use Pedro Pathing 3
}

WolfKit is on Maven Central, which FTC projects already list as a repository.

There is no setup call. WolfKit starts with the Robot Controller app.

First use

@TeleOp(name = "Example")
public class Example extends OpMode {
    @Override
    public void init() {}

    @Override
    public void loop() {
        double kP = WolfKit.tunable("Shooter/kP", 0.002);

        WolfKit.log("Shooter/VelocityRPM", shooter.getVelocity());
        WolfKit.log("Shooter/AtSpeed", shooter.atSpeed());
        WolfKit.logPose2d("Drive/Robot", x, y, heading);
    }
}

Connect a laptop to the robot’s Wi-Fi and open http://192.168.43.1:8080/dash.

Pages

Page Covers
Logging WolfKit.log, poses, keys and units
Annotations @Logged, register, logAll, adapters
Tuning WolfKit.tunable and WolfKit.button
WolfDash The dashboard’s widgets and layouts
Log files and AdvantageScope Recorded runs and live AdvantageScope
Automatic features Gamepads, battery, telemetry capture, loop time, and their settings
Pedro Pathing Logging Pedro poses and paths
Simulator Running WolfDash without a robot

This site uses Just the Docs, a documentation theme for Jekyll.