Skip to content
Bradley Chumanov edited this page Nov 12, 2025 · 29 revisions
drawing

BadgerLog is an annotation-based NetworkTables wrapper that contains features that SmartDashboard and the raw NetworkTables API lack.

Installation

There are a few steps when installing the BadgerLog vendordep

  1. Add a new (online) vendor dependency in VS Code.

    https://raw.githubusercontent.com/team1306/badger-log/master/vendordep.json
    
  2. Add the following to the end of the plugins block in build.gradle

    plugins {
        //... Any other plugins
        id 'io.freefair.aspectj.post-compile-weaving' version '8.14'
    }
  3. Add the following to the end of the dependencies block in build.gradle

    dependencies {
        //... Any other dependencies
        implementation 'org.aspectj:aspectjrt:1.9.24'
        aspect 'com.github.team1306:badger-log:2025.4.1'
        annotationProcessor 'com.github.team1306:badger-log:2025.4.1'
    }

Initial Setup

Dashboard.configure can be called on robot startup (Usually Robot.robotInit) to change the default publishing options. See Configuration for more

Dashboard.update must be called periodically (Usually Robot.robotPeriodic) for NetworkTables values to update.

Basic Usage

BadgerLog is meant to simplify the creating and updating of NetworkTables entries. It uses the Java annotation system to achieve this.

Fields can be annotated with @Entry to create an associated NetworkTables entry.

This is detailed more in Usage

Clone this wiki locally