From 8dd1af21e4abfe54c8d841b48f1c0db73825cf72 Mon Sep 17 00:00:00 2001 From: Bryce Roethel Date: Tue, 18 Mar 2025 20:42:04 -0400 Subject: [PATCH] Sync with 2025 repository --- .github/workflows/dashboard.yml | 153 --- .github/workflows/robot-code.yml | 2 +- .vscode/settings.json | 27 +- LICENSE | 2 +- build.gradle | 17 +- dashboard/.gitignore | 6 - dashboard/.prettierrc | 7 - dashboard/index.html | 81 -- dashboard/package.json | 33 - dashboard/src-tauri/Cargo.toml | 23 - dashboard/src-tauri/build.rs | 3 - dashboard/src-tauri/capabilities/default.json | 10 - dashboard/src-tauri/icons/128x128.png | Bin 6352 -> 0 bytes dashboard/src-tauri/icons/128x128@2x.png | Bin 16204 -> 0 bytes dashboard/src-tauri/icons/32x32.png | Bin 1230 -> 0 bytes .../src-tauri/icons/Square107x107Logo.png | Bin 4994 -> 0 bytes .../src-tauri/icons/Square142x142Logo.png | Bin 7257 -> 0 bytes .../src-tauri/icons/Square150x150Logo.png | Bin 7867 -> 0 bytes .../src-tauri/icons/Square284x284Logo.png | Bin 18711 -> 0 bytes dashboard/src-tauri/icons/Square30x30Logo.png | Bin 1130 -> 0 bytes .../src-tauri/icons/Square310x310Logo.png | Bin 21147 -> 0 bytes dashboard/src-tauri/icons/Square44x44Logo.png | Bin 1701 -> 0 bytes dashboard/src-tauri/icons/Square71x71Logo.png | Bin 3064 -> 0 bytes dashboard/src-tauri/icons/Square89x89Logo.png | Bin 4043 -> 0 bytes dashboard/src-tauri/icons/StoreLogo.png | Bin 2036 -> 0 bytes dashboard/src-tauri/icons/icon.icns | Bin 240775 -> 0 bytes dashboard/src-tauri/icons/icon.ico | Bin 28568 -> 0 bytes dashboard/src-tauri/icons/icon.png | Bin 52118 -> 0 bytes dashboard/src-tauri/src/lib.rs | 7 - dashboard/src-tauri/src/main.rs | 6 - dashboard/src-tauri/tauri.conf.json | 38 - dashboard/src/App.svelte | 68 -- dashboard/src/assets/field22.png | Bin 164534 -> 0 bytes dashboard/src/assets/field23.png | Bin 40073 -> 0 bytes dashboard/src/assets/field24.png | Bin 155518 -> 0 bytes .../src/components/ConnectingDialog.svelte | 57 - dashboard/src/components/NavBar.svelte | 227 ---- dashboard/src/constants.ts | 12 - dashboard/src/lib/MessagePack.ts | 628 ---------- dashboard/src/lib/NTSvelte.ts | 1052 ----------------- dashboard/src/main.ts | 5 - dashboard/src/ntStores.ts | 20 - dashboard/src/tabs/AutoSelection.svelte | 197 --- dashboard/src/tabs/DriverView.svelte | 12 - dashboard/src/vite-env.d.ts | 2 - dashboard/svelte.config.js | 7 - dashboard/tsconfig.json | 13 - dashboard/tsconfig.node.json | 10 - dashboard/vite.config.ts | 16 - .../lib/logging/java/AtomicBooleanLogger.java | 19 + .../lib/logging/java/AtomicIntegerLogger.java | 19 + .../lib/logging/phoenix/CANdiLogger.java | 53 + .../lib/logging/phoenix/Pigeon2Logger.java | 25 +- .../lib/logging/phoenix/TalonFXLogger.java | 15 - .../lib/logging/phoenix/TalonFXSLogger.java | 53 + .../phoenix/controls/CoastOutLogger.java | 19 + .../phoenix/controls/DutyCycleOutLogger.java | 19 + .../DynamicMotionMagicVoltageLogger.java | 19 + .../phoenix/controls/FollowerLogger.java | 19 + .../controls/MotionMagicVoltageLogger.java | 19 + .../controls/PositionVoltageLogger.java | 19 + .../controls/StrictFollowerLogger.java | 19 + .../controls/TorqueCurrentFOCLogger.java | 19 + .../VelocityTorqueCurrentFOCLogger.java | 19 + .../controls/VelocityVoltageLogger.java | 19 + .../phoenix/controls/VoltageOutLogger.java | 19 + .../logging/reduxlib/CanandgyroLogger.java | 6 - .../lib/logging/revlib/SparkFlexLogger.java | 4 +- .../lib/logging/revlib/SparkMaxLogger.java | 4 +- .../lib/logging/wpilibj/ADIS16470Logger.java | 6 - .../wpilibj/AddressableLEDBufferLogger.java | 19 + .../logging/wpilibj/AddressableLEDLogger.java | 19 + .../lib/logging/wpimath/DebouncerLogger.java | 19 + .../org/team340/lib/swerve/Perspective.java | 30 +- .../org/team340/lib/swerve/SwerveAPI.java | 94 +- .../team340/lib/swerve/SwerveAPILogger.java | 24 +- .../org/team340/lib/swerve/SwerveModule.java | 7 +- .../org/team340/lib/swerve/SwerveState.java | 63 +- .../team340/lib/swerve/SwerveTunables.java | 1 + .../lib/swerve/config/SwerveConfig.java | 58 +- .../swerve/hardware/SwerveBaseHardware.java | 7 - .../lib/swerve/hardware/SwerveEncoders.java | 24 +- .../lib/swerve/hardware/SwerveIMUs.java | 59 +- .../lib/swerve/hardware/SwerveMotors.java | 59 +- .../org/team340/lib/util/DisableWatchdog.java | 50 + .../org/team340/lib/util/GRRDashboard.java | 152 --- .../java/org/team340/lib/util/Tunable.java | 143 ++- .../team340/lib/util/vendors/PhoenixUtil.java | 21 +- .../java/org/team340/robot/Constants.java | 2 +- src/main/java/org/team340/robot/Robot.java | 53 +- .../org/team340/robot/commands/Autos.java | 27 +- .../org/team340/robot/subsystems/Swerve.java | 80 +- ...-2025.0.1.json => ChoreoLib-2025.0.3.json} | 8 +- ....1.0.json => Phoenix6-frc2025-latest.json} | 114 +- vendordeps/REVLib.json | 10 +- ...b-2025.0.0.json => ReduxLib-2025.0.1.json} | 12 +- vendordeps/photonlib.json | 12 +- 97 files changed, 1060 insertions(+), 3261 deletions(-) delete mode 100644 .github/workflows/dashboard.yml delete mode 100644 dashboard/.gitignore delete mode 100644 dashboard/.prettierrc delete mode 100644 dashboard/index.html delete mode 100644 dashboard/package.json delete mode 100644 dashboard/src-tauri/Cargo.toml delete mode 100644 dashboard/src-tauri/build.rs delete mode 100644 dashboard/src-tauri/capabilities/default.json delete mode 100644 dashboard/src-tauri/icons/128x128.png delete mode 100644 dashboard/src-tauri/icons/128x128@2x.png delete mode 100644 dashboard/src-tauri/icons/32x32.png delete mode 100644 dashboard/src-tauri/icons/Square107x107Logo.png delete mode 100644 dashboard/src-tauri/icons/Square142x142Logo.png delete mode 100644 dashboard/src-tauri/icons/Square150x150Logo.png delete mode 100644 dashboard/src-tauri/icons/Square284x284Logo.png delete mode 100644 dashboard/src-tauri/icons/Square30x30Logo.png delete mode 100644 dashboard/src-tauri/icons/Square310x310Logo.png delete mode 100644 dashboard/src-tauri/icons/Square44x44Logo.png delete mode 100644 dashboard/src-tauri/icons/Square71x71Logo.png delete mode 100644 dashboard/src-tauri/icons/Square89x89Logo.png delete mode 100644 dashboard/src-tauri/icons/StoreLogo.png delete mode 100644 dashboard/src-tauri/icons/icon.icns delete mode 100644 dashboard/src-tauri/icons/icon.ico delete mode 100644 dashboard/src-tauri/icons/icon.png delete mode 100644 dashboard/src-tauri/src/lib.rs delete mode 100644 dashboard/src-tauri/src/main.rs delete mode 100644 dashboard/src-tauri/tauri.conf.json delete mode 100644 dashboard/src/App.svelte delete mode 100644 dashboard/src/assets/field22.png delete mode 100644 dashboard/src/assets/field23.png delete mode 100644 dashboard/src/assets/field24.png delete mode 100644 dashboard/src/components/ConnectingDialog.svelte delete mode 100644 dashboard/src/components/NavBar.svelte delete mode 100644 dashboard/src/constants.ts delete mode 100644 dashboard/src/lib/MessagePack.ts delete mode 100644 dashboard/src/lib/NTSvelte.ts delete mode 100644 dashboard/src/main.ts delete mode 100644 dashboard/src/ntStores.ts delete mode 100644 dashboard/src/tabs/AutoSelection.svelte delete mode 100644 dashboard/src/tabs/DriverView.svelte delete mode 100644 dashboard/src/vite-env.d.ts delete mode 100644 dashboard/svelte.config.js delete mode 100644 dashboard/tsconfig.json delete mode 100644 dashboard/tsconfig.node.json delete mode 100644 dashboard/vite.config.ts create mode 100644 src/main/java/org/team340/lib/logging/java/AtomicBooleanLogger.java create mode 100644 src/main/java/org/team340/lib/logging/java/AtomicIntegerLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/CANdiLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/TalonFXSLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/CoastOutLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/DutyCycleOutLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/DynamicMotionMagicVoltageLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/FollowerLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/MotionMagicVoltageLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/PositionVoltageLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/StrictFollowerLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/TorqueCurrentFOCLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/VelocityTorqueCurrentFOCLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/VelocityVoltageLogger.java create mode 100644 src/main/java/org/team340/lib/logging/phoenix/controls/VoltageOutLogger.java create mode 100644 src/main/java/org/team340/lib/logging/wpilibj/AddressableLEDBufferLogger.java create mode 100644 src/main/java/org/team340/lib/logging/wpilibj/AddressableLEDLogger.java create mode 100644 src/main/java/org/team340/lib/logging/wpimath/DebouncerLogger.java create mode 100644 src/main/java/org/team340/lib/util/DisableWatchdog.java delete mode 100644 src/main/java/org/team340/lib/util/GRRDashboard.java rename vendordeps/{ChoreoLib-2025.0.1.json => ChoreoLib-2025.0.3.json} (88%) rename vendordeps/{Phoenix6-25.1.0.json => Phoenix6-frc2025-latest.json} (80%) rename vendordeps/{ReduxLib-2025.0.0.json => ReduxLib-2025.0.1.json} (90%) diff --git a/.github/workflows/dashboard.yml b/.github/workflows/dashboard.yml deleted file mode 100644 index ce71121..0000000 --- a/.github/workflows/dashboard.yml +++ /dev/null @@ -1,153 +0,0 @@ -name: Dashboard -on: [pull_request, push] - -env: - NODE_VERSION: 20 - -jobs: - format: - name: Check Format - runs-on: ubuntu-latest - - steps: - - name: Checkout Repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{ env.NODE_VERSION }} - registry-url: https://registry.npmjs.org/ - - - name: Install Node Modules - run: npm i --include=dev - working-directory: dashboard - - - name: Check dashboard formatting - run: npm run format:check - working-directory: dashboard - - build: - env: - MACOSX_DEPLOYMENT_TARGET: 13.3 - - strategy: - fail-fast: false - matrix: - include: - - artifact: Windows-x86_64 - platform: windows-2022 - build-flags: --target=x86_64-pc-windows-msvc - - - artifact: Windows-arm64 - platform: windows-2022 - build-flags: --target=aarch64-pc-windows-msvc - - - artifact: macOS-x86_64 - platform: macOS-14 - build-flags: --target=x86_64-apple-darwin - - - artifact: macOS-arm64 - platform: macOS-14 - build-flags: --target=aarch64-apple-darwin - - - artifact: Linux-x86_64 - platform: ubuntu-22.04 - build-flags: --target=x86_64-unknown-linux-gnu - - name: "Build ${{ matrix.artifact }}" - runs-on: ${{ matrix.platform }} - - steps: - - name: Checkout Repository - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: ${{ env.NODE_VERSION }} - registry-url: https://registry.npmjs.org/ - - - name: Setup Rust - uses: dtolnay/rust-toolchain@stable - - - name: Install System Dependencies (Ubuntu Only) - if: startsWith(matrix.platform, 'ubuntu') - run: | - sudo apt-get update -q - sudo apt-get install -y \ - libwebkit2gtk-4.1-dev \ - build-essential \ - curl \ - wget \ - file \ - libxdo-dev \ - libssl-dev \ - libayatana-appindicator3-dev \ - librsvg2-dev - - - name: Install Node Modules - run: npm i --include=dev - working-directory: dashboard - - - name: Install Windows aarch64 Rust compiler (Windows-arm64 Only) - if: matrix.artifact == 'Windows-arm64' - run: rustup target install aarch64-pc-windows-msvc - - - name: Install macOS x86_64 Rust compiler (macOS-x86_64 Only) - if: matrix.artifact == 'macOS-x86_64' - run: rustup target add x86_64-apple-darwin - - - name: Setup Xcode (macOS Only) - if: startsWith(matrix.platform, 'macOS') - run: sudo xcode-select -switch /Applications/Xcode_15.3.app - - - name: Run Tauri Build - uses: tauri-apps/tauri-action@v0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - projectPath: dashboard - args: ${{ matrix.build-flags }} - - - name: Upload bundle (Windows-x86_54) - if: matrix.artifact == 'Windows-x86_64' - uses: actions/upload-artifact@v4 - with: - name: GRRDashboard-${{ matrix.artifact }} - path: dashboard/src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*.exe - - - name: Upload bundle (Windows-arm64) - if: matrix.artifact == 'Windows-arm64' - uses: actions/upload-artifact@v4 - with: - name: GRRDashboard-${{ matrix.artifact }} - path: dashboard/src-tauri/target/aarch64-pc-windows-msvc/release/bundle/nsis/*.exe - - - name: Upload bundle (macOS-x86_64) - if: matrix.artifact == 'macOS-x86_64' - uses: actions/upload-artifact@v4 - with: - name: GRRDashboard-${{ matrix.artifact }} - path: dashboard/src-tauri/target/x86_64-apple-darwin/release/bundle/dmg/*.dmg - - - name: Upload bundle (macOS-arm64) - if: matrix.artifact == 'macOS-arm64' - uses: actions/upload-artifact@v4 - with: - name: GRRDashboard-${{ matrix.artifact }} - path: dashboard/src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/*.dmg - - - name: Upload bundle (Linux-x86_64) - if: matrix.artifact == 'Linux-x86_64' - uses: actions/upload-artifact@v4 - with: - name: GRRDashboard-${{ matrix.artifact }} - path: | - dashboard/src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage - dashboard/src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb - dashboard/src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/rpm/*.rpm diff --git a/.github/workflows/robot-code.yml b/.github/workflows/robot-code.yml index 2abd919..313b56e 100644 --- a/.github/workflows/robot-code.yml +++ b/.github/workflows/robot-code.yml @@ -1,5 +1,5 @@ name: Robot Code -on: [pull_request, push] +on: push env: NODE_VERSION: 20 diff --git a/.vscode/settings.json b/.vscode/settings.json index c944399..1ef0336 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -64,27 +64,29 @@ "**/*~": true }, "cSpell.words": [ - "ADIS", "Accl", "Accum", + "ADIS", + "Autoset", "Backports", "Bezier", "Botpose", "Brushless", - "CANcoder", - "CTRE", "Canandcolor", "Canandgyro", "Canandmag", "Canbus", + "CANcoder", + "CANdi", "Checkstyle", "Choreo", "ChoreoLib", "Cnfg", - "DTheta", + "CTRE", "Deadband", "Deadbands", "Deadzone", + "Debouncer", "Decel", "DeltAng", "DeltVel", @@ -97,29 +99,32 @@ "Discretize", "Discretizing", "Doppel", + "DTheta", + "Dunkin", "EEPROM", "Expdelta", "Falsi", "Feedforward", "Fullscreen", - "GRRDashboard", - "GSON", "Gradlew", "Grav", + "GRRDashboard", + "GSON", "Holonomic", "Intaking", "Integ", "Interpolatable", "Itor", "JoystickProfiles", + "Kalman", "Keepalive", "Lerp", "Motorcontrol", "Msgpack", "Mult", "Multiturn", - "NTURI", "NetworkTables", + "NTURI", "Odometry", "Overcurrent", "PIDF", @@ -127,16 +132,17 @@ "Protobuf", "Pubuid", "Quasistatic", - "REVPH", - "REVRobotics", "Ratelimit", "Ratelimited", "Ratelimiter", "Ratelimits", "Rawtypes", "ReduxLib", + "Reefscape", "Regula", "RevLib", + "REVPH", + "REVRobotics", "RoboRIO", "Sendables", "Setpoint", @@ -153,12 +159,13 @@ "Topicsonly", "Traj", "Tunables", - "URCL", "Unannounce", + "Unjams", "Unsub", "Unsubscriber", "Unsubscribers", "Unused", + "URCL", "Vbat", "Vmax", "WPIBlue", diff --git a/LICENSE b/LICENSE index 0f12b67..0fcd501 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 Team 340 +Copyright (c) 2025 Team 340 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/build.gradle b/build.gradle index af3616b..9c96e9d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ plugins { id "java" - id "edu.wpi.first.GradleRIO" version "2025.2.1" - id "com.diffplug.spotless" version "6.25.0" + id "edu.wpi.first.GradleRIO" version "2025.3.2" + id "com.diffplug.spotless" version "7.0.2" } java { @@ -27,7 +27,16 @@ deploy { // First part is artifact name, 2nd is artifact type // getTargetTypeClass is a shortcut to get the class type using a string + // Configure the JVM to optimize GC + // This should be removed if using a RoboRIO 1 frcJava(getArtifactTypeClass('FRCJavaArtifact')) { + jvmArgs.add("-XX:+UnlockExperimentalVMOptions") + jvmArgs.add("-Xmx100M") + jvmArgs.add("-Xms100M") + jvmArgs.add("-XX:GCTimeRatio=5") + jvmArgs.add("-XX:+UseSerialGC") + jvmArgs.add("-XX:MaxGCPauseMillis=50") + jvmArgs.add("-XX:+AlwaysPreTouch") } // Static files artifact @@ -72,6 +81,8 @@ dependencies { testImplementation 'org.junit.jupiter:junit-jupiter:5.10.1' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' + + implementation 'com.google.code.gson:gson:2.11.0' } // Code formatting via spotless @@ -86,7 +97,7 @@ spotless { endWithNewline() removeUnusedImports() trimTrailingWhitespace() - prettier(['prettier': '3.4.2', 'prettier-plugin-java': '2.6.5']) + prettier(['prettier': '3.5.3', 'prettier-plugin-java': '2.6.7']) .config([ 'parser': 'java', 'plugins': ['prettier-plugin-java'], diff --git a/dashboard/.gitignore b/dashboard/.gitignore deleted file mode 100644 index 5bbba68..0000000 --- a/dashboard/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -build/ -node_modules/ -src-tauri/target/ -src-tauri/gen/schemas/ -src-tauri/Cargo.lock -package-lock.json diff --git a/dashboard/.prettierrc b/dashboard/.prettierrc deleted file mode 100644 index 7feb655..0000000 --- a/dashboard/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "plugins": ["prettier-plugin-svelte"], - "tabWidth": 4, - "printWidth": 140, - "svelteStrictMode": true, - "svelteAllowShorthand": true -} diff --git a/dashboard/index.html b/dashboard/index.html deleted file mode 100644 index 3bdc6c3..0000000 --- a/dashboard/index.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - GRRDashboard - - - - - - - -
- - - diff --git a/dashboard/package.json b/dashboard/package.json deleted file mode 100644 index aadf0b3..0000000 --- a/dashboard/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "grrdashboard", - "version": "2025.0.0", - "description": "", - "type": "module", - "scripts": { - "build": "vite build --emptyOutDir", - "check": "svelte-check --tsconfig ./tsconfig.json", - "dev": "vite", - "format": "prettier --write --plugin prettier-plugin-svelte ./src/", - "format:check": "prettier --check --plugin prettier-plugin-svelte ./src/", - "preview": "vite preview", - "tauri": "tauri" - }, - "license": "MIT", - "dependencies": { - "@tauri-apps/api": ">=2.0.0-rc.0", - "@tauri-apps/plugin-shell": ">=2.0.0-rc.0" - }, - "devDependencies": { - "@sveltejs/adapter-static": "^3.0.5", - "@sveltejs/vite-plugin-svelte": "^3.1.2", - "@tauri-apps/cli": ">=2.0.0-rc.0", - "@tsconfig/svelte": "^5.0.4", - "prettier": "^3.3.3", - "prettier-plugin-svelte": "^3.2.6", - "svelte": "^4.2.19", - "svelte-check": "^4.0.2", - "tslib": "^2.7.0", - "typescript": "^5.6.2", - "vite": "^5.4.7" - } -} diff --git a/dashboard/src-tauri/Cargo.toml b/dashboard/src-tauri/Cargo.toml deleted file mode 100644 index be94c78..0000000 --- a/dashboard/src-tauri/Cargo.toml +++ /dev/null @@ -1,23 +0,0 @@ -[package] -name = "grrdashboard" -version = "2025.0.0" -edition = "2021" -description = "A custom built dashboard by Team 340 for the FIRST Robotics Competition" -repository = "https://github.com/Greater-Rochester-Robotics/GRRBase.git" -homepage = "https://team340.org" -authors = ["Team 340"] -license = "MIT" - -[lib] -name = "grrdashboard_lib" -crate-type = ["lib", "cdylib", "staticlib"] - -[build-dependencies] -tauri-build = { version = "2.0.0-rc", features = [] } - -[dependencies] -tauri = { version = "2.0.0-rc", features = [] } -tauri-plugin-shell = "2.0.0-rc" -serde = { version = "1", features = ["derive"] } -serde_json = "1" - diff --git a/dashboard/src-tauri/build.rs b/dashboard/src-tauri/build.rs deleted file mode 100644 index d860e1e..0000000 --- a/dashboard/src-tauri/build.rs +++ /dev/null @@ -1,3 +0,0 @@ -fn main() { - tauri_build::build() -} diff --git a/dashboard/src-tauri/capabilities/default.json b/dashboard/src-tauri/capabilities/default.json deleted file mode 100644 index 3bb4cc4..0000000 --- a/dashboard/src-tauri/capabilities/default.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "$schema": "../gen/schemas/desktop-schema.json", - "identifier": "default", - "description": "Capability for the main window", - "windows": ["main"], - "permissions": [ - "core:default", - "shell:allow-open" - ] -} diff --git a/dashboard/src-tauri/icons/128x128.png b/dashboard/src-tauri/icons/128x128.png deleted file mode 100644 index eb27e5c39d55687546c273c602f8dbc7266f1474..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6352 zcmV;>7%%6EP)Chhb5phGBY}iqmCXu;~YKe zk#iV=3o=LC&2dC$RKj9Fge=ICkOb%$k`Q7#-RZTqS8to|-uGU0btec_T~*zcy#Ms= zs(Pfjs6L}bqiuvFNb~zf;KD%-0Z|hG_)J&% z)+)4E)1d3R%5zgxRh=4*Mkn)ddnS`fHa0fK9mi?lHM(uvD&Na`3gCExBkQg4I)&%O z0eRd%2Yx^3O;6N{&XrK-pva#Rw-=v_&bh_kKvdom4W&fSVdMXf<%6ba&d=xbC;EP%`o_&3)`%3psH0C11VTs-u%9-v-@Zd_ z__7Z)*_YL-OrA(LZOhL7MLig!JYV2#6e^Q7f4AA3jB``8D4> zR#Y2Q3;<-VkZ_9?ju5>+qWXHDaK;4V{YsyzQa%B`LWv(6xjwTa!atw`xtiwmK&3!1W&rqV-EMAf?%>DmgM)*! zc`VOk(TUlgbxT5^B6O&G*|+CY$X=@i2*wHkA>G2+i?X~x=ARW*bb@x`NdW?ygVzay z#q_WG10IZpfny>ubYX>lESN7OKV*JYN%XBr6EKU8;m=vbu`vyswJ}^P?ryiVwA@bS ze}ae<=nU0<^-1uI{-8OJK9|MO!IKyc7?n)rngFSGSb^#E^gFZJY|=+!=;_ynWM9)M zbU5Tbi~av9$}|P#ng9{Q7wZ4>KJ(3x`86fc*FySL0^mPHXc=Ype>oRPq%o#HkAaDo z>4@kErGLE0r4TCg1(r|{UqBgJpd1Y#ui;H^CIW+DNXY#0A)CH{;Kh1>a;ao~DrJ0M zpf19j?jh>t`G^aHJ>x@C^KuB@MJId#1#&Rp(cArjQW+<|Pv_%8;f03GA9oVW7Fu8` zeSwS0;i+224aI!+C5%Y}HAq+p=`G3i=UmqKW}qakUMc__;c@bY%ZdRJ(zuf30eQ02 z9}Se0W~Y{TBZnx9QTpc>-#nyoCCNkj0P_fd7L+(5E7^XF{5_)Wv=9IjiwFRbTRFW{ zzLcr~L^9`8zBH72qmZgbQZtjpki2BU)JwdPxYK0c>8R@wK;SOPJS%0m$6Wv4@yUtG z@Og~xVUf@}uFa8|&lJv%QZFp|!4Tf0%}-6Lo8-*`la-*ih+cP?(IZ<@oTB*V&u&bx z#>?uEFRfJv0HwdhPwt%108o`6W!r`AcuX&@aYWNFr74P;jS)<1(l9mQ$kGvW(5mLp z+MuJkA%SST0kLEPPNV@TH-en0;z(M-pHn6d^$g))Zx*|H4D3JB%kkLwJ?G-5oHtb+ z07O~Dbtfk81=B^b3li?tQ&)A&YmZ=2hl(W~ahyFhhBI0$Ox1HpDp@p%XFM9&cT;8p z?bCqd3}oCk>`!TUwW}Ym9_d5p{yrS)>O*($Ao|l;q_bHVxjbykg(+^vdyVB8go?Dk z764!rFu@QoCJM;}dv#c?JN|=1vsxlpIXjMvXKA=#S`rIdT{I-~KrRDhkHJzSP*0l& zb@me2la^q=(vBC8r18wIKVkced$H%0tvK3snBO0oFl~Js!dY@YM#%sm$|gk8htTdC z|5=Ww;swoZi{q+!FBX z1T&w5I`vGnUitwj=Ut1}^KJO{Z#QG(SMI^q-~SG# zVGM(tzpH8m#G`6bt<*=vyPT)1^)hZUE&%YJ2Ibr{c_A1-ts#c%&q?6JXUDOq zo%0fk1=G}!&e*W>LT$&O&c6tgF25C6uny0>un*t-?0xvfPk(}e!M@=R&^6C|kjaAK zj#a-8ESKYdl;s50x?vhUJ0XdJ`BRcn+;%|{w=IrfW-I3<3=?V7d#XyyreRSd*ymo2 z_ACDtm~jCfee!91<<9rxk%u=GFT3XDXKLl?1`eKJzOHJx{rqNp z@`3~%yfpIkz*8w53ME)I)AamZWEWk5rfdEM`pjk6^85~b=B7*W*dve2-%@$KrYVx) z{!AuLwm@dBG(b&yP1t!`+F%8joZg84TocE#Y19JwG=?}1*EF4)!GWFbgE?~vw0D0R zZHuo#?@$_d-TV=J=l%yg#`AlMhy~D7bez#0bn-liT&_@-69}q00Cd%J@}eBSe`!rK zKK{-KbSICY41*ntDpfd)6wFu>%9Wo%nKvyD^Xt@pytZYB9 z>Q*G)`z3~H+t79R4P1Tgwb;J>S*aO>H!l(;L#i_Xc+MVh^O9z4cvlRrnL;Y3A>vQf zDbxyvZ9;qhml0p{PqN~>cJ0Kvb(iDt;lonuL&n!B05qTZx1ZOF|9Y2>oRQ_2To(_< zi!dBihw7ZXjof$-q8HpCE4_2a4y;kEu%+H+miXSo1?h@-7#opj-NFt z;gb0r0@|5ADDV0N8kXNgpCB(Gam%f@()RBPnP2Y!2-bVN=gL;hN|?x6kbxbqRvMh# z0IWspkhtcHGJ2;*qS&}`BOZM4L8tSHYm+nFEi6YA|6o zOh&^8zQzhFa>6E?&Ec-Q?vmdSL%oTbloA5qEl57sOhIpo>iG0Bs&UJpy7whttRN?( zKbt~i%}1ekyn~_NoIJH*!@bzIZ(m`oA5xtHK=bc-<2lV((7_2D%kfr9cD*5=Yi3|i zUx@gs+vWH4Xk6O*`|i6>eh!&m#{dYVKcZ;3eleMyx5<3ID!$_EM1k?~!5R>-*_;W73e7gE0^q9ZsK}aVH0K`y0`Ad^levJZ;zqPg1 z&*F8%QNYOn0LylfFMb}oK#FG<3^Vv7Y3kIeXm4+yNPQLppd1QhzCY(6V-Cjz0&*B4 zR5=WEj=tjK!L#{oZEcu8-&>I;GzWDIfB*sADGOa`O=kX%_5(DL&v)=SkN-en2eDPF zR{59+O+eiOKt8)e{^dBeySvAQs*m*QMb4kXz>m|p1&*1OlR^Q*uf6tK`8s+_xsd7z z0FueR06%dccf1V{8)in6P!I2f`RZc@zzC2mUAh!2R;+-(49W!S!cz0fu>eYboS>0qHlSQ#qCph{sR0M;=yy8>k{6BpR_*9J_S zJGBw#blAv^7#8vydJJmc>#+K}5k2Q>xp0F;5X_h{L+nq4#~yo3CWVHxg9QqB@eIqR zfLB!k0G+V4V*!AmU}9)zkAv$M#Sv3%{+Kcx8xm1JI)u(^TVO_XM9*C1o#REq4D8vn z2RnD}6zdg*BZDylpr$@Rp|-A<7`mrBi_bruM=TNXmSQO)m(r~!nqmLyi!grwO(?2Z z$-`sz4}bVWtX#PgViRhi2|_BL#svU^g6ZIIY#qW+Iu$e}RhT0^LMinTY69!W|BUSB zd*}~P?c0tV3O>AP6P7PuF7pLL5Y!d`m7A0G7jnGym&fp2myYIy=B>F`z<~E&i^pL9 z^dFJ^#a(h3A@o2pk-!t1H)HMEwGspZ6k({iHUOxY77&XviDBWOVdLtJ1L#b}2m&&= zI91Gbr7_c!Ex>QTiqySV!5(@;8og*NhE3E2>({TBzJPEF!y#hz0Z`Gb3}O4lLm`I; z4P5@CUhM5pqA|{4V6lTQKp=dA#&+ntHX-}v)yO~h^TKu|8#ZjfcfWhT*s@*@5d{cB zZBQiuRD--lpcL%u&0*z(N3r!t0?myK62Tqe%8EQeCDDS|P#4VmKZK$0UJv8wZfO#3 zy6Gc$X~zq=?9w$71c5dP;{|`2N*)Gs=ye%w?n+d6xp*&1s9-2>>Om3vlz#xK% zBa8ros(TtitnR({2^d>{0Aue{Xlrf3+P_(ko9_5H=A5wrT}O`K@EeB;PZ$el(eo8h z&m?)l{-~J-s44&otr8|d@mA>Gdf34Ccjw8l7|!j8aJVQY4;_EBPy_@K4^Zochfxb!{mL(`-wICiWbz1>|S9yizI`huEVXR!2L_(~^5 z@fN8L!sBBB0O=XFqa*;7(mVkcyRotH3+Z(Fv%Ha*qN~ZEyLh2!K?^6v@zL`eaNSuN zrX^iCc?)UFm9ay;kZ-DZOOJ_nRu;CAk;~C&lTJtDBI5U~OVA&mh3)$W@bELw;mO}` z!LFSzA=7{Kc;x#`LQ$^IFOVGU6Qua7jfr%0*EZoAY2-P& zP@5XjblP7*nY|ch%N*>@Ch`2iA#8v7b-eKEessQe5Qn?E;bu}OaX-el*P(3CoYpAj zw8vqoacn;{fJ`P=HULOpwPXC&~!g;A_N zJ%X9dj!Z6bX&*9{*jE5@)iE#2NRb;rh^D)a1vj7LFfu29Gn#Bfq;)FLG7VO&1wB>_ z2U7}O>$7q2=n&rM%ivH?KaTXK&_9$y+HjC1+VYky_a|^2PamlKAJx6Y*BE;!Nww4( zQ_#^!hPOqqu$@eA;m|f3VeG@f6Z`Xc>R=jOLq;L;Sq=a=Li?&=7$pIqoc#jEePt$3 zeY%A`f(+BbuU;8q5s#ilaq*leE}s{{ikUjjpwrkOmK|ddiTsumPBKsgUmZsiP-6`e z9C_D)(bEOD>ku>osEu}KD#5ih8UtoVfjKd0R`RwE!)StGYsi`g=OSE~mbVzSh**jr zi*e+U)J@(yf~ExTBy1By+}&y5sW>Fqak9i`EpG8fAnPkP+3gTcYZ!(sU zXCd>ps)$Ea%xYG#aB>{)AQIr5{bvUa)K>*727-Js8X6~ z0We_c7&1)II-rNry^q1iSNcqJ_F3pWmdE}92f4hB;w>lTGZDTcD7w+EP+yWKsagPF z$X}vuLXMoh4h_26E$kmC7M#e@C+Iu|$(a8wT%jUDV6;XQG{<$?YM?2updkVzs0|Vk zv1+O9?a#{JOR?#8-bI=`9pEfxU(Q8;&f<)wBb`rA3y)-|R;Yuw50O=+Og7GlrmG2n zV0X&?0+c5>6*Pk{VZ%F!dJm|2r)a^QGP>q^eOcrg)JK zx=|`m%W~w1fj{_9>4u4S<4=kz_cnI_P|n4rGB6klZs)|qVU#fK7*bV8^gU%!>myH| zE;?3K0H_QEy-w6U?8l$OXS2qSr1~c>9w$%sq6~p7M}_tFbv~f|8rSW zOk-JbNd|_f1@;gGD+q#F@JvAng6fjgxa{*iG{YbFp%WCy*{)qEdlf)O*UA(h>~w$J=Q`d)XC`M=?3k^M8~ z{LD(Nx+qXc;kUbp&MmCyBEFyDGe2|=%cr34gv0kT)&56m_c!yi@cQ$WxPeyT%9SkyoU&0K@~RX1nc`1cfzSa3QnL6#oP*gr~#I(6q<+FS5L7IMe)>q z^8E9nuwV93NJR2&+Gl*#CfsVJdNnpM!N!R^!l=*=EG>LLiH)Dk_mc^Zb~d_^B}NHo z;HxeYPkD_JFufi&jV@-en5P$OD)Chm3biG+Ld{aWr}@5*ZRzpLF`wb$yuoX7JeENX zW?IL?_KJCfs9(f;t*EGeQBF|mk=zp$|B)og+@Oddvv88~sKC%}q66SWbx=pWo=gs+ z`zBxrfH1BqEgX`a;uI!xga8OB1VBh30741@5K;($kU{{26apZm5C9>aBJ}?-5JVN$ S_NB!D0000c$`=ZA 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 diff --git a/dashboard/src-tauri/icons/Square107x107Logo.png b/dashboard/src-tauri/icons/Square107x107Logo.png deleted file mode 100644 index a36ae605411b12da8a5956b7c6745b884d51d14d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4994 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 diff --git a/dashboard/src-tauri/icons/Square150x150Logo.png b/dashboard/src-tauri/icons/Square150x150Logo.png deleted file mode 100644 index d005a805456ed7cdf97243c3044e21b27e9938e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7867 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 diff --git a/dashboard/src-tauri/icons/Square284x284Logo.png b/dashboard/src-tauri/icons/Square284x284Logo.png deleted file mode 100644 index 491498bcdbb1e245b9da52df8f11f08fa2b14176..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18711 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 s8>l{q}AMB$RZ2$lO diff --git a/dashboard/src-tauri/icons/Square30x30Logo.png b/dashboard/src-tauri/icons/Square30x30Logo.png deleted file mode 100644 index 176586c143e95c7c66e35669827fad9ab403768d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1130 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

;QM*aKN0*hXgnQx8OLv?=)DaIsNS! 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 diff --git a/dashboard/src-tauri/icons/StoreLogo.png b/dashboard/src-tauri/icons/StoreLogo.png deleted file mode 100644 index 84a7e7247228c113243b6a0659fc7db5b86f491e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2036 zcmV3&07yrF&W;!#p!}7PKBK&Qm6vV{X;I7dWQR9MJ&_vM~_cccSpvL8+QR4?Cq8~IW z5?53-!QcYM*cgdIf(nWvq<~0iiyda^bmlGo?wkAC*Xc}Wrr1S2$(j4+&3*Tt-#yDc z_q@^ZFCqQE3`8kt|88;$+Ny-Aq@N}Sw=h1W$$70xKve=nXw4KCs;WX!6oVY&*BY|n zIF3Rd7|Xks?eGbed^gz+T$3F+PoHhufAaa9Z;SyMMhir&ilu2<4S5+STVh$(Jl>nm zNrK{c0mK{2FMJswLqPeiEw&jxdyw<}%=RPBx01k8o-CsQ;y!2?#u5&+g4|e2xG}Xa zP3vTH7XhsnMnSeq30o3GFc`eoG|g8DVhX?K#!-Gp3T$!lYS}L3f(nys_xWmBjkxw0 z2m~%Ah!6O%H>ie*AuDfrimL1SRk>X5onk(t6anT?onbom4n8zf4m439{9q`S*3Gtw zW|r_|^*X4S~@fRgvNKu#y39pK9S)VF^U>J9Z&WW#{Rm0V0GKY;p<_ zB5cPqHM<)xk!Kw^ck@3|-vkizbsGbv$R-RXqJ5H6dQ#wEw-IH9!_){J>rzsJU!O?%P4u>(7Q??x)gP1+fKx<=WAI~Zkw z$Y@a3$%XBk(kj}TBDn8F1#L&95j^=k^d8ZMN7i@XrR5vYx$CE4_TgnILJ?KyLh*q? zSs)B?D$1nl9*Fvgj_1ycVd<_7WymMI{8k{a zJvxN7OQ%3dbRl*86)*-QLB#HP3+py~g*R5M1QWUm15vR? zgu{vud)Dj#7B?A4^mHM3#!cLDj>7V%Zp37uiZtSd%L|(W;vC4_Kts*KrARQP{BF}` z_c!4e6G;_m#Fi0n?lf*O!ij?ssP)Z=_jDtXOky%nRoShoN<{8;};w!L8_Ah`+-FnNdlM{%nF%9(* zxiNqEOFw?xZ(>Sa9q{AF$ZmQYS6_227M*<-cq|6b`I8Gsp)$k=j}Xi>Y~24v+KtDm zQG?8?+krjbV)bWVqWS-Gkj-XYFog>-AwY_NaY>|00?enoGI(G^29dfDblXJl(~D5I zeGN8l-GPOtobG}ViJjOW#}knM+~FRqXzTxDd#5kU^rg>v$Nze77V$n67q`^#lw+ai zi`P(>>%`5EKZ|U*0qyPWu+6OdjIOC;0cZue3%(PgQlK51C6{>wv6Y8>uhS4Iyz_+E zTh5si!V8Ndm|L%+zqmHt2`D1(n28HN&)f6%Y=ixxNl(?ceI8vE1HEJ?}a+Gp4sKu*k(53{VknXyKy_V z{IVN;y}hWkU};d3rOxxz@B*>eBLbmq&m{-}L>&nT1_D6-x-O*Q%9aqWo?nC3878X( ztfAE~ip2;jFdci6L2TKd!4LZq*wvLrXKxazzMPxd1Zd#VfQo2PrRgd-&?8 z;o4?DGo5(9gYJ}tj)a442Q6&=gWQ?LZwGV84OfOM3+1y3)%D3AOq*&4@ z4EaxTRX~K_nsR2hx*{tqE-;$UA;G2g09g<7N=jvl5}tfOiQ2EYsnUtkRNb$I9jhT* z9@D)-ofqj8Wl(4jsMlZg70--Nn6Raf?4XQgi`W8)=)A62eRZ_tRZbjd(DbS-1^H$9 zMDB4~p(zeCO@`nG;qY{*m>giDi`lLWB%z7<^pCwLczac>qA1=ACK!ejY%lb69{&Vt z5QK8|%&Cw37&Y5?;&pp}s7bG-4Sis!A?*2nq}HHA*^R4dp&p8hre*ZK=j8&zCs S6<-1X0000%q~6b%3XU@9rfYQG+-|FeOS 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 (9^a}N9ff)~ohfehBRU}t+?X8>R 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 diff --git a/dashboard/src-tauri/icons/icon.ico b/dashboard/src-tauri/icons/icon.ico deleted file mode 100644 index bb39ae788510a838e04d2db475f59f9088efbddb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28568 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Μ1rNlyIbI+q|0s7n@+Y^Sw->jh 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 diff --git a/dashboard/src-tauri/icons/icon.png b/dashboard/src-tauri/icons/icon.png deleted file mode 100644 index bc08c9c429ec3216184e94f79f26a609c80a731f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52118 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 diff --git a/dashboard/src-tauri/src/lib.rs b/dashboard/src-tauri/src/lib.rs deleted file mode 100644 index e89e1c4..0000000 --- a/dashboard/src-tauri/src/lib.rs +++ /dev/null @@ -1,7 +0,0 @@ -#[cfg_attr(mobile, tauri::mobile_entry_point)] -pub fn run() { - tauri::Builder::default() - .plugin(tauri_plugin_shell::init()) - .run(tauri::generate_context!()) - .expect("error while running tauri application"); -} diff --git a/dashboard/src-tauri/src/main.rs b/dashboard/src-tauri/src/main.rs deleted file mode 100644 index b72f801..0000000 --- a/dashboard/src-tauri/src/main.rs +++ /dev/null @@ -1,6 +0,0 @@ -// Prevents additional console window on Windows in release, DO NOT REMOVE!! -#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] - -fn main() { - grrdashboard_lib::run() -} diff --git a/dashboard/src-tauri/tauri.conf.json b/dashboard/src-tauri/tauri.conf.json deleted file mode 100644 index f4e3f48..0000000 --- a/dashboard/src-tauri/tauri.conf.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "$schema": "https://schema.tauri.app/config/2.0.0-rc", - "productName": "GRRDashboard", - "version": "2025.0.0", - "identifier": "org.team340.grrdashboard", - "build": { - "beforeDevCommand": "npm run dev", - "devUrl": "http://localhost:5173", - "beforeBuildCommand": "npm run build", - "frontendDist": "../build" - }, - "app": { - "windows": [ - { - "title": "GRRDashboard", - "fullscreen": false, - "width": 1920, - "height": 800, - "resizable": true - } - ], - "security": { - "csp": null - } - }, - "bundle": { - "active": true, - "targets": ["appimage", "deb", "dmg", "nsis", "rpm"], - "shortDescription": "GRRDashboard", - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.icns", - "icons/icon.ico" - ] - } -} diff --git a/dashboard/src/App.svelte b/dashboard/src/App.svelte deleted file mode 100644 index 0c2fca4..0000000 --- a/dashboard/src/App.svelte +++ /dev/null @@ -1,68 +0,0 @@ - - -

- - {#if $NTConnected === NTSvelteClientState.CONNECTED || IGNORE_CONNECTION} - -
- -
- - - - {:else} - - - {/if} -
- - diff --git a/dashboard/src/assets/field22.png b/dashboard/src/assets/field22.png deleted file mode 100644 index 506b2b1c2b794f60b471d6d01059fae269aef496..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164534 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

Y;P14jTg$@ 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 W`a>%ZtTj;Z>!_KHY4IV_<^Kb(VHaco diff --git a/dashboard/src/components/ConnectingDialog.svelte b/dashboard/src/components/ConnectingDialog.svelte deleted file mode 100644 index 5bf8f7e..0000000 --- a/dashboard/src/components/ConnectingDialog.svelte +++ /dev/null @@ -1,57 +0,0 @@ - - -

- - - - -

Connecting...

- {$NTURI} -
- - diff --git a/dashboard/src/components/NavBar.svelte b/dashboard/src/components/NavBar.svelte deleted file mode 100644 index 4464848..0000000 --- a/dashboard/src/components/NavBar.svelte +++ /dev/null @@ -1,227 +0,0 @@ - - -
- -
- - diff --git a/dashboard/src/constants.ts b/dashboard/src/constants.ts deleted file mode 100644 index cd44bd8..0000000 --- a/dashboard/src/constants.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Default NT URI. -export const DEFAULT_URI = `10.3.40.2`; -// export const DEFAULT_URI = `roborio-340-frc.local`; -// export const DEFAULT_URI = `localhost`; // Use for simulation - -// Field size constants. -// Set these values to the field's size in meters. -export const FIELD_WIDTH = 16.541; -export const FIELD_HEIGHT = 8.211; - -// Robot size in meters. -export const ROBOT_SIZE = 0.8382; diff --git a/dashboard/src/lib/MessagePack.ts b/dashboard/src/lib/MessagePack.ts deleted file mode 100644 index 0d93475..0000000 --- a/dashboard/src/lib/MessagePack.ts +++ /dev/null @@ -1,628 +0,0 @@ -/** - * MessagePack serializer and deserializer. - * Adapted from https://github.com/gerth2/NetworkTablesClients/blob/main/nt4/js/src/msgpack/msgpack.js - */ -export class MessagePack { - private constructor() {} - - /** - * Serialize data into a MessagePack byte array. - * @param data The data to serialize. - * @param options Serialization options. - * @returns The serialized byte array. - */ - public static serialize( - data: any[], - options?: { multiple?: boolean; typeHint?: string; invalidTypeReplacement?: (data: any) => any }, - ): Uint8Array { - if (options && options.multiple && !Array.isArray(data)) { - throw new TypeError(`Invalid argument type: Expected an Array to serialize multiple values.`); - } - - let array = new Uint8Array(128); - - const th = options?.typeHint ? options.typeHint : ``; - let floatBuffer: ArrayBuffer, floatView: DataView; - let length = 0; - const pow32 = 0x100000000; - - if (options?.multiple) { - for (let i = 0; i < data.length; i++) append(data[i], false, th); - } else { - append(data, false, th); - } - - return array.subarray(0, length); - - /** - * Append data to the byte array. - * @param data The data to append. - * @param isReplacement If an invalid type should fall through the invalidTypeReplacement callback specified in options. - * @param th Type hint for numbers. - */ - function append(data: any, isReplacement?: boolean, th?: string): void { - switch (typeof data) { - case `undefined`: - appendNull(); - break; - case `boolean`: - appendBoolean(data); - break; - case `number`: - appendNumber(data, th); - break; - case `string`: - appendString(data); - break; - case `object`: - if (data === null) appendNull(); - else if (data instanceof Date) appendDate(data); - else if (Array.isArray(data)) appendArray(data); - else if (data instanceof Uint8Array || data instanceof Uint8ClampedArray) appendBinaryArray(data); - else if ( - data instanceof Int8Array || - data instanceof Int16Array || - data instanceof Uint16Array || - data instanceof Int32Array || - data instanceof Uint32Array || - data instanceof Float32Array || - data instanceof Float64Array - ) - appendArray(data); - else appendObject(data); - break; - default: - if (!isReplacement && options && options.invalidTypeReplacement) { - if (typeof options.invalidTypeReplacement === `function`) append(options.invalidTypeReplacement(data), true, th); - else append(options.invalidTypeReplacement, true, th); - } else { - throw new Error(`Invalid argument type: The type '${typeof data}' cannot be serialized.`); - } - } - } - - /** - * Append a null byte to the array. - */ - function appendNull(): void { - appendByte(0xc0); - } - - /** - * Append a boolean to the array. - * @param data The boolean to append. - */ - function appendBoolean(data: boolean): void { - appendByte(data ? 0xc3 : 0xc2); - } - - /** - * Append a number to the array. - * @param data The number to append. - * @param th Type hint. Should be int, double, or float. - */ - function appendNumber(data: number, th?: string): void { - const isInteger = th === `int` || (isFinite(data) && Math.floor(data) === data && th !== `double` && th !== `float`); - if (isInteger) { - if (data >= 0 && data <= 0x7f) { - appendByte(data); - } else if (data < 0 && data >= -0x20) { - appendByte(data); - } else if (data > 0 && data <= 0xff) { - // uint8 - appendBytes([0xcc, data]); - } else if (data >= -0x80 && data <= 0x7f) { - // int8 - appendBytes([0xd0, data]); - } else if (data > 0 && data <= 0xffff) { - // uint16 - appendBytes([0xcd, data >>> 8, data]); - } else if (data >= -0x8000 && data <= 0x7fff) { - // int16 - appendBytes([0xd1, data >>> 8, data]); - } else if (data > 0 && data <= 0xffffffff) { - // uint32 - appendBytes([0xce, data >>> 24, data >>> 16, data >>> 8, data]); - } else if (data >= -0x80000000 && data <= 0x7fffffff) { - // int32 - appendBytes([0xd2, data >>> 24, data >>> 16, data >>> 8, data]); - } else if (data > 0 && data <= 0xffffffffffffffff) { - // uint64 - const hi = data / pow32; - const lo = data % pow32; - appendBytes([0xd3, hi >>> 24, hi >>> 16, hi >>> 8, hi, lo >>> 24, lo >>> 16, lo >>> 8, lo]); - } else if (data >= -0x8000000000000000 && data <= 0x7fffffffffffffff) { - // int64 - appendByte(0xd3); - appendInt64(data); - } else if (data < 0) { - // below int64 - appendBytes([0xd3, 0x80, 0, 0, 0, 0, 0, 0, 0]); - } else { - // above uint64 - appendBytes([0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]); - } - } else { - if (!floatView) { - floatBuffer = new ArrayBuffer(8); - floatView = new DataView(floatBuffer); - } - floatView.setFloat64(0, data); - appendByte(0xcb); - appendBytes(new Uint8Array(floatBuffer)); - } - } - - /** - * Append a string to the array. - * @param data The string to append. - */ - function appendString(data: string): void { - const bytes = encodeUtf8(data); - const length = bytes.length; - - if (length <= 0x1f) appendByte(0xa0 + length); - else if (length <= 0xff) appendBytes([0xd9, length]); - else if (length <= 0xffff) appendBytes([0xda, length >>> 8, length]); - else appendBytes([0xdb, length >>> 24, length >>> 16, length >>> 8, length]); - - appendBytes(bytes); - } - - /** - * Append an array to the array. - * @param data The array to append. - */ - function appendArray( - data: any[] | Int8Array | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array, - ): void { - const length = data.length; - - if (length <= 0xf) appendByte(0x90 + length); - else if (length <= 0xffff) appendBytes([0xdc, length >>> 8, length]); - else appendBytes([0xdd, length >>> 24, length >>> 16, length >>> 8, length]); - - for (let index = 0; index < length; index++) { - append(data[index]); - } - } - - /** - * Append a binary array to the array. - * @param data The binary array to append. - */ - function appendBinaryArray(data: Uint8Array | Uint8ClampedArray): void { - const length = data.length; - - if (length <= 0xf) appendBytes([0xc4, length]); - else if (length <= 0xffff) appendBytes([0xc5, length >>> 8, length]); - else appendBytes([0xc6, length >>> 24, length >>> 16, length >>> 8, length]); - - appendBytes(data); - } - - /** - * Append an object to the array. - * @param data The object to append. - */ - function appendObject(data: Record): void { - let length = 0; - for (const key in data) { - if (data[key] !== undefined) { - length++; - } - } - - if (length <= 0xf) appendByte(0x80 + length); - else if (length <= 0xffff) appendBytes([0xde, length >>> 8, length]); - else appendBytes([0xdf, length >>> 24, length >>> 16, length >>> 8, length]); - - for (const key in data) { - const value = data[key]; - if (value !== undefined) { - append(key); - append(value); - } - } - } - - /** - * Append a date to the array. - * @param data The date to append. - */ - function appendDate(data: Date): void { - const sec = data.getTime() / 1000; - if (data.getMilliseconds() === 0 && sec >= 0 && sec < 0x100000000) { - // 32 bit seconds. - appendBytes([0xd6, 0xff, sec >>> 24, sec >>> 16, sec >>> 8, sec]); - } else if (sec >= 0 && sec < 0x400000000) { - // 30 bit nanoseconds, 34 bit seconds. - const ns = data.getMilliseconds() * 1000000; - appendBytes([ - 0xd7, - 0xff, - ns >>> 22, - ns >>> 14, - ns >>> 6, - ((ns << 2) >>> 0) | (sec / pow32), - sec >>> 24, - sec >>> 16, - sec >>> 8, - sec, - ]); - } else { - // 32 bit nanoseconds, 64 bit seconds, negative values allowed. - const ns = data.getMilliseconds() * 1000000; - appendBytes([0xc7, 12, 0xff, ns >>> 24, ns >>> 16, ns >>> 8, ns]); - appendInt64(sec); - } - } - - /** - * Append a byte to the array. - * @param data The byte to append. - */ - function appendByte(data: number): void { - if (array.length < length + 1) { - let newLength = array.length * 2; - while (newLength < length + 1) newLength *= 2; - const newArray = new Uint8Array(newLength); - newArray.set(array); - array = newArray; - } - array[length] = data; - length++; - } - - /** - * Append multiple bytes to the array. - * @param data The bytes to append. - */ - function appendBytes(data: number[] | Uint8Array | Uint8ClampedArray): void { - if (array.length < length + data.length) { - let newLength = array.length * 2; - while (newLength < length + data.length) newLength *= 2; - const newArray = new Uint8Array(newLength); - newArray.set(array); - array = newArray; - } - array.set(data, length); - length += data.length; - } - - /** - * Append an int64 to the array. - * @param data The number to append. - */ - function appendInt64(data: number): void { - // Split 64-bit number into two 32-bit numbers because JavaScript only regards 32 bits for bitwise operations. - let hi, lo; - if (data >= 0) { - // Same as uint64 - hi = data / pow32; - lo = data % pow32; - } else { - // Split absolute value to high and low, then NOT and ADD(1) to restore negativity. - data++; - hi = Math.abs(data) / pow32; - lo = Math.abs(data) % pow32; - hi = ~hi; - lo = ~lo; - } - appendBytes([hi >>> 24, hi >>> 16, hi >>> 8, hi, lo >>> 24, lo >>> 16, lo >>> 8, lo]); - } - - // Encodes a string to UTF-8 bytes. - // Based on: https://gist.github.com/pascaldekloe/62546103a1576803dade9269ccf76330 - function encodeUtf8(str: string): Uint8Array { - let ascii = true; - const length = str.length; - for (let x = 0; x < length; x++) { - if (str.charCodeAt(x) > 127) { - ascii = false; - break; - } - } - - let i = 0; - const bytes = new Uint8Array(str.length * (ascii ? 1 : 4)); - for (let ci = 0; ci !== length; ci++) { - let c = str.charCodeAt(ci); - if (c < 128) { - bytes[i++] = c; - continue; - } - if (c < 2048) { - bytes[i++] = (c >> 6) | 192; - } else { - if (c > 0xd7ff && c < 0xdc00) { - if (++ci >= length) throw new Error(`UTF-8 encode: incomplete surrogate pair`); - const c2 = str.charCodeAt(ci); - if (c2 < 0xdc00 || c2 > 0xdfff) - throw new Error(`UTF-8 encode: second surrogate character 0x${c2.toString(16)} at index ${ci} out of range`); - c = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff); - bytes[i++] = (c >> 18) | 240; - bytes[i++] = ((c >> 12) & 63) | 128; - } else bytes[i++] = (c >> 12) | 224; - bytes[i++] = ((c >> 6) & 63) | 128; - } - bytes[i++] = (c & 63) | 128; - } - return ascii ? bytes : bytes.subarray(0, i); - } - } - - /** - * Deserialize a MessagePack byte array. - * @param data The data to deserialize. - * @param options Deserialization options. - * @returns The deserialized array. - */ - public static deserialize(data: ArrayBuffer | Uint8Array, options?: { multiple?: boolean }): any[] { - const array = data instanceof ArrayBuffer || !(data instanceof Uint8Array) ? new Uint8Array(data) : data; - - if (!array.length) throw new Error(`Invalid argument: The byte array to deserialize is empty.`); - - const pow32 = 0x100000000; - let pos = 0; - - let deserializedData: any[]; - if (options && options.multiple) { - deserializedData = []; - while (pos < array.length) { - deserializedData.push(read()); - } - } else { - deserializedData = read(); - } - - return deserializedData; - - /** - * Read the next byte in the unserialized data byte array. - * @returns Deserialized data from the next byte. - */ - function read(): any { - const byte = array[pos++]; - if (byte >= 0x00 && byte <= 0x7f) return byte; // positive fixint - if (byte >= 0x80 && byte <= 0x8f) return readMap(byte - 0x80); // fixmap - if (byte >= 0x90 && byte <= 0x9f) return readArray(byte - 0x90); // fixarray - if (byte >= 0xa0 && byte <= 0xbf) return readString(byte - 0xa0); // fixstr - if (byte === 0xc0) return null; // null - if (byte === 0xc1) throw new Error(`Invalid byte code 0xc1 found.`); // never used - if (byte === 0xc2) return false; // false - if (byte === 0xc3) return true; // true - if (byte === 0xc4) return readBinary(-1, 1); // bin 8 - if (byte === 0xc5) return readBinary(-1, 2); // bin 16 - if (byte === 0xc6) return readBinary(-1, 4); // bin 32 - if (byte === 0xc7) return readExtension(-1, 1); // ext 8 - if (byte === 0xc8) return readExtension(-1, 2); // ext 16 - if (byte === 0xc9) return readExtension(-1, 4); // ext 32 - if (byte === 0xca) return readFloat(4); // float 32 - if (byte === 0xcb) return readFloat(8); // float 64 - if (byte === 0xcc) return readUInt(1); // uint 8 - if (byte === 0xcd) return readUInt(2); // uint 16 - if (byte === 0xce) return readUInt(4); // uint 32 - if (byte === 0xcf) return readUInt(8); // uint 64 - if (byte === 0xd0) return readInt(1); // int 8 - if (byte === 0xd1) return readInt(2); // int 16 - if (byte === 0xd2) return readInt(4); // int 32 - if (byte === 0xd3) return readInt(8); // int 64 - if (byte === 0xd4) return readExtension(1); // fixext 1 - if (byte === 0xd5) return readExtension(2); // fixext 2 - if (byte === 0xd6) return readExtension(4); // fixext 4 - if (byte === 0xd7) return readExtension(8); // fixext 8 - if (byte === 0xd8) return readExtension(16); // fixext 16 - if (byte === 0xd9) return readString(-1, 1); // str 8 - if (byte === 0xda) return readString(-1, 2); // str 16 - if (byte === 0xdb) return readString(-1, 4); // str 32 - if (byte === 0xdc) return readArray(-1, 2); // array 16 - if (byte === 0xdd) return readArray(-1, 4); // array 32 - if (byte === 0xde) return readMap(-1, 2); // map 16 - if (byte === 0xdf) return readMap(-1, 4); // map 32 - if (byte >= 0xe0 && byte <= 0xff) return byte - 256; // negative fixint - - console.debug(`MessagePack Array:`, array); - throw new Error( - `Invalid byte value '${byte}' at index ${pos - 1} in the MessagePack binary data (length ${ - array.length - }): Expecting a range of 0 to 255. This is not a byte array.`, - ); - } - - /** - * Read an integer. - * @param size The integer's size. - * @returns The integer. - */ - function readInt(size: number): number { - let value = 0; - let first = true; - while (size-- > 0) { - if (first) { - const byte = array[pos++]; - value += byte & 0x7f; - if (byte & 0x80) { - value -= 0x80; // Treat most-significant bit as -2^i instead of 2^i - } - first = false; - } else { - value *= 256; - value += array[pos++]; - } - } - return value; - } - - /** - * Read an unsigned integer. - * @param size The integer's size. - * @returns The integer. - */ - function readUInt(size: number): number { - let value = 0; - while (size-- > 0) { - value *= 256; - value += array[pos++]; - } - return value; - } - - /** - * Read a float. - * @param size The float's size. - * @returns The float. - */ - function readFloat(size: number): number { - const view = new DataView(array.buffer, pos + array.byteOffset, size); - pos += size; - if (size === 4) return view.getFloat32(0, false); - if (size === 8) return view.getFloat64(0, false); - else return 0; - } - - /** - * Read binary. - * @param size The size of the binary value. -1 specifies to read an unsigned integer of lengthSize to determine the size. - * @param lengthSize The size of an unsigned integer that specifies the length of the binary value. - * @returns The binary value. - */ - function readBinary(size: number, lengthSize?: number): Uint8Array { - if (size < 0) { - if (typeof lengthSize === `number`) size = readUInt(lengthSize); - else throw new Error(`Argument mismatch`); - } - const data = array.subarray(pos, pos + size); - pos += size; - return data; - } - - /** - * Read a map. - * @param size The size of the map. -1 specifies to read an unsigned integer of lengthSize to determine the size. - * @param lengthSize The size of an unsigned integer that specifies the length of the map. - * @returns The map. - */ - function readMap(size: number, lengthSize?: number): Record { - if (size < 0) { - if (typeof lengthSize === `number`) size = readUInt(lengthSize); - else throw new Error(`Argument mismatch`); - } - const data: Record = {}; - while (size-- > 0) { - const key = read(); - data[key] = read(); - } - return data; - } - - /** - * Read an array. - * @param size The size of the array. -1 specifies to read an unsigned integer of lengthSize to determine the size. - * @param lengthSize The size of an unsigned integer that specifies the length of the array. - * @returns The array. - */ - function readArray(size: number, lengthSize?: number): any[] { - if (size < 0) { - if (typeof lengthSize === `number`) size = readUInt(lengthSize); - else throw new Error(`Argument mismatch`); - } - const data: any[] = []; - while (size-- > 0) { - data.push(read()); - } - return data; - } - - /** - * Read a string. - * @param size The size of the string. -1 specifies to read an unsigned integer of lengthSize to determine the size. - * @param lengthSize The size of an unsigned integer that specifies the length of the string. - * @returns The string. - */ - function readString(size: number, lengthSize?: number): string { - if (size < 0) { - if (typeof lengthSize === `number`) size = readUInt(lengthSize); - else throw new Error(`Argument mismatch`); - } - const start = pos; - pos += size; - return decodeUtf8(array, start, size); - } - - /** - * Read an extension. - * @param size The size of the extension. -1 specifies to read an unsigned integer of lengthSize to determine the size. - * @param lengthSize The size of an unsigned integer that specifies the length of the extension. - * @returns The extension. - */ - function readExtension(size: number, lengthSize?: number): Date | { type: number; data: Uint8Array } { - if (size < 0) { - if (typeof lengthSize === `number`) size = readUInt(lengthSize); - else throw new Error(`Argument mismatch`); - } - const type = readUInt(1); - const data = readBinary(size); - switch (type) { - case 255: - if (data.length === 4) { - const sec = ((data[0] << 24) >>> 0) + ((data[1] << 16) >>> 0) + ((data[2] << 8) >>> 0) + data[3]; - return new Date(sec * 1000); - } - if (data.length === 8) { - const ns = ((data[0] << 22) >>> 0) + ((data[1] << 14) >>> 0) + ((data[2] << 6) >>> 0) + (data[3] >>> 2); - const sec = - (data[3] & 0x3) * pow32 + ((data[4] << 24) >>> 0) + ((data[5] << 16) >>> 0) + ((data[6] << 8) >>> 0) + data[7]; - return new Date(sec * 1000 + ns / 1000000); - } - if (data.length === 12) { - const ns = ((data[0] << 24) >>> 0) + ((data[1] << 16) >>> 0) + ((data[2] << 8) >>> 0) + data[3]; - pos -= 8; - const sec = readInt(8); - return new Date(sec * 1000 + ns / 1000000); - } - throw new Error(`Invalid data length for a date value.`); - } - return { - type: type, - data: data, - }; - } - - /** - * Decodes a string from UTF-8 bytes. - * From https://gist.github.com/pascaldekloe/62546103a1576803dade9269ccf76330 - * @param bytes The bytes to decode. - * @param start The index of the byte to start with. - * @param length The number of bytes to decode. - * @returns The decoded string. - */ - function decodeUtf8(bytes: Uint8Array, start: number, length: number): string { - let i = start, - str = ``; - length += start; - while (i < length) { - let c = bytes[i++]; - if (c > 127) { - if (c > 191 && c < 224) { - if (i >= length) throw new Error(`UTF-8 decode: incomplete 2-byte sequence`); - c = ((c & 31) << 6) | (bytes[i++] & 63); - } else if (c > 223 && c < 240) { - if (i + 1 >= length) throw new Error(`UTF-8 decode: incomplete 3-byte sequence`); - c = ((c & 15) << 12) | ((bytes[i++] & 63) << 6) | (bytes[i++] & 63); - } else if (c > 239 && c < 248) { - if (i + 2 >= length) throw new Error(`UTF-8 decode: incomplete 4-byte sequence`); - c = ((c & 7) << 18) | ((bytes[i++] & 63) << 12) | ((bytes[i++] & 63) << 6) | (bytes[i++] & 63); - } else throw new Error(`UTF-8 decode: unknown multibyte start 0x ${c.toString(16)} at index ${i - 1}`); - } - if (c <= 0xffff) str += String.fromCharCode(c); - else if (c <= 0x10ffff) { - c -= 0x10000; - str += String.fromCharCode((c >> 10) | 0xd800); - str += String.fromCharCode((c & 0x3ff) | 0xdc00); - } else throw new Error(`UTF-8 decode: code point 0x${c.toString(16)} exceeds UTF-16 reach`); - } - return str; - } - } -} diff --git a/dashboard/src/lib/NTSvelte.ts b/dashboard/src/lib/NTSvelte.ts deleted file mode 100644 index 3b7056d..0000000 --- a/dashboard/src/lib/NTSvelte.ts +++ /dev/null @@ -1,1052 +0,0 @@ -import { get, writable, type Readable, type Writable, readonly, readable } from "svelte/store"; -import { MessagePack } from "./MessagePack"; - -/** - * Network tables type codes. - */ -export const NTTypeCodes = { - boolean: 0, - double: 1, - int: 2, - float: 3, - string: 4, - json: 4, - raw: 5, - rpc: 5, - msgpack: 5, - protobuf: 5, - "boolean[]": 16, - "double[]": 17, - "int[]": 18, - "float[]": 19, - "string[]": 20, -} as const; - -/** - * Types supported by Network Tables. - */ -export type NTType = boolean | number | string | Uint8Array | boolean[] | number[] | string[]; -/** - * A string representing a topic's type. - */ -export type NTTypeString = keyof typeof NTTypeCodes; - -/** - * A parsed text data frame. - */ -export interface NTTextFrame { - method: `publish` | `unpublish` | `setproperties` | `subscribe` | `unsubscribe` | `announce` | `unannounce` | `properties`; - params: Record; -} - -/** - * An NT server topic. - */ -export interface NTTopic { - readonly name: string; - readonly id: number; - readonly type: NTTypeString; - readonly pubuid?: number; - readonly properties: Record>; -} - -/** - * NT Subscriber settings. - */ -export interface NTSubscriberSettings { - /** - * If true, the server should send all value changes over the wire. If false, only the most recent value is sent (same as NT 3.0 behavior). - * @default true - */ - readonly all: boolean; - /** - * How frequently the server should send changes. The server may send more frequently than this (e.g. use a combined minimum period for all values) or apply a restricted range to this value. - * Specified in milliseconds. - * @default 100 - */ - readonly periodic: number; - /** - * If topic history should be saved. - * @default false - */ - readonly saveHistory: boolean; -} - -/** - * An NT subscription that can be subscribed to a single topic. - */ -class NTSubscriber { - private readonly _topicName: string; - private readonly _settings: NTSubscriberSettings; - - private _history: Map = new Map(); - private _listeners: Set<(value: NTType | null) => void> = new Set(); - private _subuid: number | null = null; - private _topicId: number | null = null; - private _value: NTType | null = null; - private _valueTimestamp: number | null = null; - - /** - * Creates the subscriber. - * @param topicName The name of the topic. - * @param settings Subscriber settings. - */ - public constructor(topicName: string, settings: NTSubscriberSettings) { - this._topicName = topicName; - this._settings = settings; - } - - /** - * Gets the subscribe message JSON and sets the subscriber's internal state to be subscribed. - * @param subuid The subscription UID to use. - */ - public subscribe(subuid: number): NTTextFrame { - this._subuid = subuid; - return { - method: `subscribe`, - params: { - subuid, - topics: [this._topicName], - options: { - all: this._settings.all, - periodic: this._settings.periodic / 1000, - }, - }, - }; - } - - /** - * Gets the unsubscribe message JSON and sets the subscriber's internal state to be unsubscribed. - * Additionally, this sets the subscriber's value to `null`, updates the listeners, and clears the subscriber's history. - */ - public unsubscribe(): NTTextFrame { - const subuid = this._subuid; - this._subuid = null; - this._topicId = null; - if (this._value !== null) this.updateValue(null); - this._history.clear(); - return { - method: `unsubscribe`, - params: { subuid }, - }; - } - - /** - * This should be called when the subscription's topic is announced. - * @param topicId The topic ID sent by the server. - */ - public onAnnounce(topicId: number): void { - this._topicId = topicId; - } - - /** - * This should be called when the subscription's topic is unannounced. - * Resets the saved subscription UID and topic ID, sets the subscriber's value to `null`, and updates listeners. - * Topic history is still saved. - */ - public onUnannounce(): void { - this._subuid = null; - this._topicId = null; - if (this._value !== null) this.updateValue(null); - } - - /** - * This should be called when the client disconnects. - */ - public onDisconnect(): void { - this._subuid = null; - this._topicId = null; - if (this._value !== null) this.updateValue(null); - this._history.clear(); - } - - /** - * Gets the subscriber's subscription UID sent by the client. - * This returns `null` if the subscriber hasn't been assigned a UID (via {@link NTSubscriber.subscribe()}), or if it was unsubscribed (via {@link NTSubscriber.unsubscribe()}). - */ - public getSubuid(): number | null { - return this._subuid; - } - - /** - * Gets the subscriber's topic ID sent by the server. - * This returns `null` if the topic hasn't received an `announce` message, or if the topic was unannounced. - */ - public getTopicId(): number | null { - return this._topicId; - } - - /** - * Updates the subscriber's value and updates its listeners with the new value. - * Also saves the value to the subscriptions's history if enabled. - * @param value The new value. - * @param timestamp The value's timestamp in milliseconds. - */ - public updateValue(value: NTType | null, timestamp: number | null = null): void { - if (timestamp === null || timestamp > (this._valueTimestamp ?? 0)) { - this._value = value; - this._valueTimestamp = timestamp; - this._listeners.forEach((listener) => listener(value)); - } - - if (this._settings.saveHistory && timestamp !== null) { - this._history.set(timestamp, value); - } - } - - /** - * Adds a listener to the subscriber and invokes it with the current value. - * @param listener The listener to add. - */ - public addListener(listener: (value: NTType | null) => void): void { - this._listeners.add(listener); - listener(this._value); - } - - /** - * Removes a listener. - * @param listener The listener to remove. - * @returns If the subscriber contains any other listeners. - */ - public removeListener(listener: (value: NTType | null) => void): boolean { - this._listeners.delete(listener); - return this._listeners.size > 0; - } - - /** - * Gets the subscriber's history. - */ - public getHistory(): Map { - return this._history; - } - - /** - * Trims the subscriber's history back to a specified timestamp. - * @param until Keep history as far back as this timestamp in milliseconds. - */ - public trimHistory(until: number) { - if (!this._settings.saveHistory) return; - for (const [timestamp] of this._history) { - if (timestamp < until) this._history.delete(timestamp); - } - } -} - -/** - * NT Publisher settings. - */ -export interface NTPublisherSettings { - /** - * If true, the last set value will be periodically saved to persistent storage on the server and be restored during server startup. Topics with this property set to true will not be deleted by the server when the last publisher stops publishing. - * @default false - */ - readonly persistent: boolean; - /** - * Topics with this property set to true will not be deleted by the server when the last publisher stops publishing. - * @default false - */ - readonly retained: boolean; - /** - * If false, the server and clients will not store the value of the topic. This means that only value updates will be available for the topic. - * @default true - */ - readonly cached: boolean; -} - -/** - * An NT publisher. - */ -class NTPublisher { - private readonly _topicName: string; - private readonly _type: NTTypeString; - private readonly _properties: Record; - private readonly _settings: NTPublisherSettings; - - private _listeners: Set<(value: NTType) => void> = new Set(); - private _receivedAck: boolean = false; - private _pubuid: number | null = null; - private _value: NTType; - - /** - * Creates the publisher. - * @param topicName The name of the topic. - * @param type The topic's type. - * @param initialValue The initial value of the publisher. - * @param settings Publisher settings. - * @param properties Custom topic properties. - */ - public constructor( - topicName: string, - type: NTTypeString, - initialValue: NTType, - settings: NTPublisherSettings, - properties?: Record, - ) { - this._topicName = topicName; - this._type = type; - this._value = initialValue; - this._properties = properties ?? {}; - this._settings = settings; - } - - /** - * Gets the publish message JSON and sets the publisher's internal state to be published. - * @param pubuid The publish UID to use. - */ - public publish(pubuid: number): NTTextFrame { - this._pubuid = pubuid; - return { - method: `publish`, - params: { - pubuid, - name: this._topicName, - type: this._type, - properties: { - ...this._properties, - persistent: this._settings.persistent, - retained: this._settings.retained, - cached: this._settings.cached, - }, - }, - }; - } - - /** - * Gets the unpublish message JSON and sets the publisher's internal state to be unpublished. - * This does not reset the saved value of the publisher. - */ - public unpublish(): NTTextFrame { - const pubuid = this._pubuid; - this._pubuid = null; - return { - method: `unpublish`, - params: { pubuid }, - }; - } - - /** - * This should be called when the published topic is acknowledged by the server. - */ - public onAck(): void { - this._receivedAck = true; - } - - /** - * This should be called when the client disconnects. - */ - public onDisconnect(): void { - this._pubuid = null; - this._receivedAck = false; - } - - /** - * Gets the publisher's publish UID sent by the client. - * This returns `null` if the publisher hasn't been assigned a UID (via {@link NTPublisher.publish()}), or if it was unpublished (via {@link NTPublisher.unpublish()}). - */ - public getPubuid(): number | null { - return this._pubuid; - } - - /** - * Returns `true` if the published topic was acknowledged by the server. - */ - public getAck(): boolean { - return this._receivedAck; - } - - /** - * Updates the publisher's client-side value and updates its listeners with the new value. - * @param value The new value. - */ - public updateValue(value: NTType): void { - this._value = value; - this._listeners.forEach((listener) => listener(value)); - } - - /** - * Adds a listener to the publisher and invokes it with the current value. - * @param listener The listener to add. - */ - public addListener(listener: (value: NTType) => void): void { - this._listeners.add(listener); - listener(this._value); - } - - /** - * Removes a listener. - * @param listener The listener to remove. - * @returns If the publisher contains any other listeners. - */ - public removeListener(listener: (value: NTType) => void): boolean { - this._listeners.delete(listener); - return this._listeners.size > 0; - } - - /** - * Returns a binary frame representing the publisher's current value. - * Returns `null` if a publisher UID has not been assigned to the publisher, or if it has a value of `null`. - * @param serverTimeUs The current server time (in microseconds). - */ - public getBinaryFrame(serverTimeUs: number): any[] | null { - if (typeof this._pubuid !== `number` || this._value === null) return null; - else return [this._pubuid, serverTimeUs, NTTypeCodes[this._type], this._value]; - } -} - -/** - * NT Client state. - */ -export enum NTSvelteClientState { - IDLE, - DISCONNECTED, - CONNECTING, - CONNECTED, -} - -/** - * NT Client settings. - */ -export interface NTSvelteClientSettings { - /** - * The name for the client. Used to identify the connection in robot logs. - * @default `GRRDashboard` - */ - readonly appName: string; - /** - * The TTL for a value in a topic's history in milliseconds. Has no effect when a subscriber's `saveHistory` is `false`. - * Set to `0` to disable. - * @default 0 - */ - readonly historyTTL: number; - /** - * Default subscriber settings. - */ - readonly subscribers: NTSubscriberSettings; - /** - * Default publisher settings. - */ - readonly publishers: NTPublisherSettings; -} - -/** - * A Network Tables 4.1 client with bindings for Svelte. - */ -export class NTSvelteClient { - private static readonly _HISTORY_SWEEP_PERIOD = 100; - private static readonly _OPEN_TIMEOUT = 5000; - private static readonly _PORT = 5810; - private static readonly _RECONNECT_DELAY = 1500; - private static readonly _RTT_PERIOD = 500; - private static readonly _SERVER_AVAILABLE_TIMEOUT = 500; - private static readonly _WS_PROTOCOL = `v4.1.networktables.first.wpi.edu`; - private static readonly _WS_RTT_PROTOCOL = `rtt.networktables.first.wpi.edu`; - - private readonly _settings: NTSvelteClientSettings; - - private _bitrate: Writable = writable(0); - private _latency: Writable = writable(0); - private _openTimeout: number | null = null; - private _serverTime: Writable = writable(); - private _state: Writable = writable(NTSvelteClientState.IDLE); - private _uidNonce: number = 0; - private _uri: Writable; - - private _ws: WebSocket | null = null; - private _wsRtt: WebSocket | null = null; - private _wsListeners = { - open: [() => this._onOpen(false), () => this._onOpen(true)], - close: [(event: CloseEvent) => this._onClose(event, false), (event: CloseEvent) => this._onClose(event, true)], - error: [() => this._onError(false), () => this._onError(true)], - message: [(event: MessageEvent) => this._onMessage(event, false), (event: MessageEvent) => this._onMessage(event, true)], - }; - - private _aliveAck = false; - private _serverOffsetUs: number = 0; - private _usage: number = 0; - - private _topicsOnlySubuid: number | null = null; - private _publishers: Map = new Map(); - private _subscribers: Map = new Map(); - private _serverTopics: Writable> = writable(new Map()); - - /** - * Creates the NT Svelte Client. - * Use {@link NTSvelteClient.connect()} to start the connection. - * @param uri The URI to connect to. - * @param settings Client settings. - */ - public constructor(uri: string, settings?: Partial) { - this._uri = writable(uri); - this._settings = { - appName: settings?.appName ?? `GRRDashboard`, - historyTTL: settings?.historyTTL ?? 0, - subscribers: { - all: settings?.subscribers?.all ?? true, - periodic: settings?.subscribers?.periodic ?? 100, - saveHistory: settings?.subscribers?.saveHistory ?? false, - }, - publishers: { - persistent: settings?.publishers?.persistent ?? false, - retained: settings?.publishers?.retained ?? false, - cached: settings?.publishers?.cached ?? true, - }, - }; - - setInterval(() => { - if (get(this._state) === NTSvelteClientState.CONNECTED) { - if (!this._aliveAck) return this._restart(`Timed out`); - this._aliveAck = false; - this._sendTimestamp(); - this._bitrate.set(this._usage / (NTSvelteClient._RTT_PERIOD / 1000)); - this._usage = 0; - } - }, NTSvelteClient._RTT_PERIOD); - - if (this._settings.historyTTL > 0) { - setInterval(() => { - this._subscribers.forEach((subscriber) => { - subscriber.trimHistory(Date.now() - this._settings.historyTTL); - }); - }, NTSvelteClient._HISTORY_SWEEP_PERIOD); - } - } - - /** - * Sets a new URI and restarts the client. - * @param newURI The new URI. - */ - public setURI(newURI: string) { - this._uri.set(newURI); - this._restart(`URI Changed`); - } - - /** - * Connect to the NT server. - */ - public connect(): void { - if (get(this._state) === NTSvelteClientState.IDLE) { - this._state.set(NTSvelteClientState.DISCONNECTED); - this._connect(); - } - } - - /** - * Gets the URI in use by the client, as a readable. - */ - public uriReadable(): Readable { - return readonly(this._uri); - } - - /** - * Gets the state of the client, as a readable. - */ - public stateReadable(): Readable { - return readonly(this._state); - } - - /** - * Gets the bitrate between the client and server (bits/s), as a readable. - */ - public bitrateReadable(): Readable { - return readonly(this._bitrate); - } - - /** - * Gets the latency between the client and server (ms), as a readable. - */ - public latencyReadable(): Readable { - return readonly(this._latency); - } - - /** - * Gets the server time in milliseconds, as a readable. - */ - public serverTimeReadable(): Readable { - return readonly(this._serverTime); - } - - /** - * Gets a map of topics announced by the server, as a readable. - */ - public topicsReadable(): Readable> { - return readonly(this._serverTopics); - } - - /** - * Subscribes to all topics with the `topicsonly` flag set to `true`. - * Useful for observing all topics available on the server without receiving value changes. - */ - public subAllNoValues(): void { - if (this._topicsOnlySubuid === null || this._topicsOnlySubuid < 0) { - this._topicsOnlySubuid = this._genUID(); - const sent = this._sendJSON({ - method: `subscribe`, - params: { - subuid: this._topicsOnlySubuid, - topics: [``], - options: { - periodic: this._settings.subscribers.periodic / 1000, - topicsonly: true, - prefix: true, - }, - }, - }); - if (!sent) this._topicsOnlySubuid = -1; - } - } - - /** - * Removes a subscription created from {@link NTSvelteClient.subAllNoValues()}. - */ - public unsubAllNoValues(): void { - if (this._topicsOnlySubuid !== null && this._topicsOnlySubuid >= 0) { - const subuid = this._topicsOnlySubuid; - this._topicsOnlySubuid = null; - this._sendJSON({ method: `unsubscribe`, params: { subuid } }); - } - } - - /** - * Subscribes to a NT topic. - * @param key The key of the topic to subscribe to. - * @param defaultValue The default value, returned when the topic is unavailable. - * @param settings Subscription settings. Ignored if a subscription with the same key is currently active. - * @returns The value of the topic as a readable. - */ - public subscribe(key: string, defaultValue: T, settings?: Partial): Readable { - return readable(defaultValue, (set) => { - const listener = (value: any) => set(value ?? defaultValue); - - let sub = this._subscribers.get(key); - if (sub) { - sub.addListener(listener); - } else { - sub = new NTSubscriber(key, { - all: settings?.all ?? this._settings.subscribers.all, - periodic: settings?.periodic ?? this._settings.subscribers.periodic, - saveHistory: settings?.saveHistory ?? this._settings.subscribers.saveHistory, - }); - sub.addListener(listener); - sub.updateValue(null); - const existingTopic = get(this._serverTopics).get(key); - if (existingTopic) sub.onAnnounce(existingTopic.id); - this._subscribers.set(key, sub); - this._sendJSON(sub.subscribe(this._genUID())); - } - - return () => { - if (!sub) return; - const others = sub.removeListener(listener); - if (!others) { - this._sendJSON(sub.unsubscribe()); - this._subscribers.delete(key); - } - }; - }); - } - - /** - * Publishes a NT topic. - * To modify the published topic's properties, - * @param key The key of the topic to publish. - * @param type The topic's type. - * @param initialValue The topic's initial value. If the topic is already published, its value is updated to this. - * @param settings Publish settings. Ignored if a publisher with the same key is currently active. - * @param properties Custom topic properties. Ignored if a publisher with the same key is currently active. - * @returns The publisher as a writable. Its value is updated if other writables assigned to the same publisher update their value. - */ - public publish( - key: string, - type: NTTypeString, - initialValue: T, - settings?: Partial, - properties?: Record, - ): Writable { - const store = writable(initialValue, (set) => { - const listener = (value: any) => set(value); - - let pub = this._publishers.get(key); - if (pub) { - pub.addListener(listener); - pub.updateValue(initialValue); - } else { - pub = new NTPublisher( - key, - type, - initialValue, - { - persistent: settings?.persistent ?? this._settings.publishers.persistent, - retained: settings?.retained ?? this._settings.publishers.retained, - cached: settings?.cached ?? this._settings.publishers.cached, - }, - properties, - ); - pub.addListener(listener); - pub.updateValue(initialValue); - if (typeof get(this._serverTopics).get(key)?.pubuid === `number`) pub.onAck(); - this._publishers.set(key, pub); - this._sendJSON(pub.publish(this._genUID())); - } - - if (pub.getAck()) { - const frame = pub.getBinaryFrame(this._getServerTimeUs()); - if (Array.isArray(frame)) this._sendMessagePack(frame, false); - } - - return () => { - if (!pub) return; - const others = pub.removeListener(listener); - if (!others) { - this._sendJSON(pub.unpublish()); - this._publishers.delete(key); - } - }; - }); - - return { - subscribe: store.subscribe, - update: store.update, - set: (value: T) => { - const pub = this._publishers.get(key); - pub?.updateValue(value); - if (pub?.getAck()) { - const frame = pub.getBinaryFrame(this._getServerTimeUs()); - if (Array.isArray(frame)) this._sendMessagePack(frame, false); - } - }, - }; - } - - /** - * Gets the URL used for checking if the server is alive. - */ - private get _aliveUrl(): string { - return encodeURI(`http://${get(this._uri)}:${NTSvelteClient._PORT}`); - } - - /** - * Gets the server's WebSocket URL. - */ - private get _wsUrl(): string { - return encodeURI(`ws://${get(this._uri)}:${NTSvelteClient._PORT}/nt/${this._settings.appName}`); - } - - /** - * Gets the server's current time (in microseconds). - */ - private _getServerTimeUs(): number { - return Date.now() * 1000 + this._serverOffsetUs; - } - - /** - * Sends the client's timestamp via the RTT connection. - */ - private _sendTimestamp() { - this._sendMessagePack([-1, 0, NTTypeCodes.int, Date.now() * 1000], true); - } - - /** - * Sends a message pack packet. - * @param data The data to send. - * @param rtt If the packet should be sent to the RTT connection. - * @returns If the data was sent. - */ - private _sendMessagePack(data: any[], rtt: boolean): boolean { - const ws = rtt ? this._wsRtt : this._ws; - if (ws?.readyState === WebSocket.OPEN) { - const msg = MessagePack.serialize(data); - ws.send(msg); - this._usage += msg.byteLength * 8; - return true; - } else { - return false; - } - } - - /** - * Sends a JSON message. - * Only used for the primary WS connection, not the RTT connection. - * @param method The method value to send. - * @param params JSON parameters. - * @returns If the data was sent. - */ - private _sendJSON(data: NTTextFrame): boolean { - if (this._ws?.readyState === WebSocket.OPEN) { - const msg = JSON.stringify([data]); - this._ws.send(msg); - this._usage += this._getStringSize(msg); - return true; - } else { - return false; - } - } - - /** - * Connect to the server. - * @param reconnecting If the client is reconnecting. - */ - private async _connect(reconnecting: boolean = false): Promise { - if (get(this._state) !== NTSvelteClientState.DISCONNECTED) return; - if (this._openTimeout !== null) clearTimeout(this._openTimeout); - this._state.set(NTSvelteClientState.CONNECTING); - - if (reconnecting) { - console.log(`[NTSvelte] Waiting to reconnect...`); - await new Promise((resolve) => setTimeout(resolve, NTSvelteClient._RECONNECT_DELAY)); - } - - console.log(`[NTSvelte] Connecting...`); - - let aliveResult: Response | null = null; - let length = `0.00`; - - try { - const start = Date.now(); - aliveResult = await fetch(this._aliveUrl, { signal: AbortSignal.timeout(NTSvelteClient._SERVER_AVAILABLE_TIMEOUT) }); - length = ((Date.now() - start) / 1000).toFixed(2); - } catch (_) {} - - if (!aliveResult?.ok) { - this._state.set(NTSvelteClientState.DISCONNECTED); - console.warn(`[NTSvelte] Server not responding after ${length}s while attempting to connect`); - return this._connect(true); - } - - console.log(`[NTSvelte] Server responded after ${length}s`); - - this._openTimeout = setTimeout(() => this._restart(`Timed out while connecting`), NTSvelteClient._OPEN_TIMEOUT); - - this._ws = new WebSocket(this._wsUrl, [NTSvelteClient._WS_PROTOCOL]); - this._ws.binaryType = `arraybuffer`; - - this._wsRtt = new WebSocket(this._wsUrl, [NTSvelteClient._WS_RTT_PROTOCOL]); - this._wsRtt.binaryType = `arraybuffer`; - - for (const [type, listener] of Object.entries(this._wsListeners)) { - this._ws.addEventListener(type, listener[0] as any); - this._wsRtt.addEventListener(type, listener[1] as any); - } - } - - /** - * Closes and restart the connection. - * @param reason The reason for restarting. - */ - private _restart(reason: string): void { - if (this._openTimeout !== null) clearTimeout(this._openTimeout); - this._openTimeout = null; - - for (const [type, listener] of Object.entries(this._wsListeners)) { - this._ws?.removeEventListener(type, listener[0] as any); - this._wsRtt?.removeEventListener(type, listener[1] as any); - } - - this._ws?.close(); - this._ws = null; - this._wsRtt?.close(); - this._wsRtt = null; - - this._bitrate.set(0); - this._latency.set(0); - this._serverTime.set(0); - - this._aliveAck = false; - this._serverOffsetUs = 0; - this._usage = 0; - - if (this._topicsOnlySubuid !== null) this._topicsOnlySubuid = -1; - this._subscribers.forEach((subscriber) => subscriber.onDisconnect()); - this._publishers.forEach((publisher) => publisher.onDisconnect()); - this._serverTopics.set(new Map()); - - this._state.set(NTSvelteClientState.DISCONNECTED); - console.warn(`[NTSvelte] Restarting: ${reason}`); - this._connect(true); - } - - private _onOpen(rtt: boolean): void { - console.log(`[NTSvelte] ${rtt ? `RTT ` : ``}WebSocket Connected`); - - if (this._ws?.readyState === WebSocket.OPEN && this._wsRtt?.readyState === WebSocket.OPEN) { - if (this._openTimeout !== null) clearTimeout(this._openTimeout); - this._openTimeout = null; - this._aliveAck = true; - this._state.set(NTSvelteClientState.CONNECTED); - console.log(`[NTSvelte] Connection complete`); - - this._sendTimestamp(); - - if (this._topicsOnlySubuid !== null) this.subAllNoValues(); - - this._subscribers.forEach((subscriber) => { - if (subscriber.getSubuid() === null) this._sendJSON(subscriber.subscribe(this._genUID())); - }); - - this._publishers.forEach((publisher) => { - if (publisher.getPubuid() === null) this._sendJSON(publisher.publish(this._genUID())); - }); - } - } - - private _onClose(event: CloseEvent, rtt: boolean): void { - this._restart( - `${rtt ? `RTT ` : ``}WebSocket Closed with code ${event.code}: ${event.reason?.length ? event.reason : `Unknown reason`}`, - ); - } - - private _onError(rtt: boolean): void { - this._restart(`${rtt ? `RTT ` : ``}Websocket encountered an error`); - } - - private _onMessage(event: MessageEvent, rtt: boolean): void { - const now = Date.now() * 1000; - - if (typeof event.data === `string`) { - if (rtt) return console.warn(`[NTSvelte] Received unexpected text frame from RTT connection`); - - this._usage += this._getStringSize(event.data); - let data: NTTextFrame[] = JSON.parse(event.data); - if (!Array.isArray(data)) return console.warn(`[NTSvelte] Received malformed text frame, data is not an array`); - - data.forEach((frame, i) => { - if (typeof frame !== `object`) - return console.warn(`[NTSvelte] Received malformed text frame, frame at index ${i} is not an object`); - - const method = frame.method; - const params = frame.params; - if (typeof method !== `string`) - return console.warn( - `[NTSvelte] Received malformed text frame, frame at index ${i} has invalid method of type ${typeof method}`, - ); - if (typeof params !== `object`) - return console.warn( - `[NTSvelte] Received malformed text frame, frame at index ${i} has invalid params of type ${typeof params}`, - ); - - switch (method) { - case `announce`: - this._serverTopics.set( - new Map( - get(this._serverTopics).set( - params.name, - this._deepFreeze({ - id: params.id, - name: params.name, - type: params.type, - pubuid: params.pubuid, - properties: params.properties ?? {}, - }), - ), - ), - ); - - this._subscribers.get(params.name)?.onAnnounce(params.id); - if (typeof params.pubuid === `number`) { - const pub = this._publishers.get(params.name); - if (pub?.getPubuid() === params.pubuid && !pub.getAck()) { - pub.onAck(); - const frame = pub.getBinaryFrame(this._getServerTimeUs()); - if (Array.isArray(frame)) this._sendMessagePack(frame, false); - } - } - break; - case `unannounce`: - const topics = get(this._serverTopics); - topics.delete(params.name); - this._serverTopics.set(new Map(topics)); - - this._subscribers.get(params.name)?.onUnannounce(); - break; - case `properties`: - const topic = get(this._serverTopics).get(params.name); - if (!topic) return console.warn(`[NTSvelte] Ignoring properties update, topic was not announced`); - - const properties = structuredClone(topic.properties); - for (const [k, v] of Object.entries((params.update ?? {}) as NTTopic[`properties`])) { - if (v !== null) properties[k] = v; - else delete properties[k]; - } - - this._serverTopics.set( - new Map(get(this._serverTopics).set(params.name, this._deepFreeze({ ...topic, properties }))), - ); - break; - default: - console.warn(`[NTSvelte] Received unknown method "${method}" in text frame at index ${i}`); - break; - } - }); - } else if (event.data instanceof ArrayBuffer) { - this._usage += event.data.byteLength * 8; - - MessagePack.deserialize(event.data, { multiple: true }).forEach((unpacked: any[]) => { - const topicId: number = unpacked[0]; - const timestamp: number = unpacked[1]; - const type: (typeof NTTypeCodes)[NTTypeString] = unpacked[2]; - const value: NTType = unpacked[3]; - - if (typeof topicId !== `number`) - return console.warn(`[NTSvelte] Received malformed binary frame, topic ID is not a number`); - if (typeof timestamp !== `number`) - return console.warn(`[NTSvelte] Received malformed binary frame, timestamp is not a number`); - if (typeof type !== `number`) return console.warn(`[NTSvelte] Received malformed binary frame, type index is not a number`); - - if (topicId === -1) { - this._aliveAck = true; - const usLatency = (now - (value as number)) / 2; - const serverTimeUs = timestamp + usLatency; - this._latency.set(usLatency / 1000); - this._serverTime.set(serverTimeUs / 1000); - this._serverOffsetUs = serverTimeUs - now; - return; - } - - if (rtt) return console.warn(`[NTSvelte] Received unexpected binary frame with topic ID ${topicId} on RTT connection`); - - if (topicId >= 0) { - let found = false; - this._subscribers.forEach((subscriber) => { - if (subscriber.getTopicId() === topicId) { - subscriber.updateValue(value, timestamp / 1000); - found = true; - } - }); - if (!found) console.warn(`[NTSvelte] Received binary frame with unknown topic ID ${topicId}`); - } else { - return console.warn(`[NTSvelte] Received malformed binary frame, topic ID "${topicId}" out of range`); - } - }); - } else { - console.warn(`[NTSvelte] Received unknown message type`); - } - } - - /** - * Generates a new UID. - */ - private _genUID(): number { - return this._uidNonce++; - } - - /** - * Gets the number of bits in a string. - * @param str The string. - */ - private _getStringSize(str: string): number { - return (encodeURI(str).split(/%..|./).length - 1) * 8; - } - - /** - * Deep freezes an object in place. - * Supports circular references. - * @param obj The object to freeze. - * @returns The object. - */ - private _deepFreeze>(obj: T): T { - Object.freeze(obj); - Object.values(obj) - .filter((o) => typeof o === `object` && !Object.isFrozen(o)) - .forEach((o) => this._deepFreeze(o)); - return obj; - } -} diff --git a/dashboard/src/main.ts b/dashboard/src/main.ts deleted file mode 100644 index 3bce418..0000000 --- a/dashboard/src/main.ts +++ /dev/null @@ -1,5 +0,0 @@ -import App from "./App.svelte"; - -const app = new App({ target: document.getElementById(`app`) as any }); - -export default app; diff --git a/dashboard/src/ntStores.ts b/dashboard/src/ntStores.ts deleted file mode 100644 index f78df61..0000000 --- a/dashboard/src/ntStores.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { DEFAULT_URI } from "./constants"; -import { NTSvelteClient } from "./lib/NTSvelte"; - -export const nt = new NTSvelteClient(DEFAULT_URI, { appName: `GRRDashboard` }); - -export const NTURI = nt.uriReadable(); -export const NTConnected = nt.stateReadable(); -export const NTBitrate = nt.bitrateReadable(); -export const NTLatency = nt.latencyReadable(); - -export const RobotEnabled = nt.subscribe(`/GRRDashboard/Robot/enabled`, false); -export const RobotMatchTime = nt.subscribe(`/GRRDashboard/Robot/matchTime`, 0); -export const RobotBlueAlliance = nt.subscribe(`/GRRDashboard/Robot/blueAlliance`, true); -export const RobotVoltage = nt.subscribe(`/GRRDashboard/Robot/voltage`, 0); - -export const AutosActive = nt.subscribe(`/GRRDashboard/Autos/active`, ``); -export const AutosOptions = nt.subscribe(`/GRRDashboard/Autos/options`, []); -export const AutosSelected = nt.publish(`/GRRDashboard/Autos/selected`, `string`, ``); - -nt.connect(); diff --git a/dashboard/src/tabs/AutoSelection.svelte b/dashboard/src/tabs/AutoSelection.svelte deleted file mode 100644 index f925563..0000000 --- a/dashboard/src/tabs/AutoSelection.svelte +++ /dev/null @@ -1,197 +0,0 @@ - - -
-
- {#if $options.length} - {#each $options as { id, label, points }, i} - - - {/each} - {:else} - No available auto options - {/if} -
-
- - diff --git a/dashboard/src/tabs/DriverView.svelte b/dashboard/src/tabs/DriverView.svelte deleted file mode 100644 index ce20372..0000000 --- a/dashboard/src/tabs/DriverView.svelte +++ /dev/null @@ -1,12 +0,0 @@ - - -
-

Nothing to see here!

-
- - diff --git a/dashboard/src/vite-env.d.ts b/dashboard/src/vite-env.d.ts deleted file mode 100644 index 4078e74..0000000 --- a/dashboard/src/vite-env.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -/// -/// diff --git a/dashboard/svelte.config.js b/dashboard/svelte.config.js deleted file mode 100644 index 9a3adfb..0000000 --- a/dashboard/svelte.config.js +++ /dev/null @@ -1,7 +0,0 @@ -import { vitePreprocess } from "@sveltejs/vite-plugin-svelte"; - -export default { - // Consult https://svelte.dev/docs#compile-time-svelte-preprocess - // for more information about preprocessors - preprocess: vitePreprocess(), -}; diff --git a/dashboard/tsconfig.json b/dashboard/tsconfig.json deleted file mode 100644 index 3b6833a..0000000 --- a/dashboard/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "@tsconfig/svelte/tsconfig.json", - "compilerOptions": { - "strict": true, - "target": "ESNext", - "useDefineForClassFields": true, - "module": "ESNext", - "checkJs": true, - "isolatedModules": true, - }, - "include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.js", "src/**/*.svelte"], - "references": [{ "path": "./tsconfig.node.json" }], -} diff --git a/dashboard/tsconfig.node.json b/dashboard/tsconfig.node.json deleted file mode 100644 index d1f4c67..0000000 --- a/dashboard/tsconfig.node.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "strict": true, - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler" - }, - "include": ["vite.config.ts"] -} diff --git a/dashboard/vite.config.ts b/dashboard/vite.config.ts deleted file mode 100644 index eeb0bb2..0000000 --- a/dashboard/vite.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { defineConfig } from "vite"; -import { svelte } from "@sveltejs/vite-plugin-svelte"; - -// https://vitejs.dev/config/ -export default defineConfig({ - build: { - minify: !process.env.TAURI_DEBUG ? "esbuild" : false, - outDir: `./build`, - sourcemap: !!process.env.TAURI_DEBUG, - target: process.env.TAURI_PLATFORM == "windows" ? "chrome105" : "safari13", - }, - clearScreen: false, - envPrefix: ["VITE_", "TAURI_"], - plugins: [svelte()], - server: { strictPort: true }, -}); diff --git a/src/main/java/org/team340/lib/logging/java/AtomicBooleanLogger.java b/src/main/java/org/team340/lib/logging/java/AtomicBooleanLogger.java new file mode 100644 index 0000000..8c3b173 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/java/AtomicBooleanLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.java; + +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; +import java.util.concurrent.atomic.AtomicBoolean; + +@CustomLoggerFor(AtomicBoolean.class) +public class AtomicBooleanLogger extends ClassSpecificLogger { + + public AtomicBooleanLogger() { + super(AtomicBoolean.class); + } + + @Override + public void update(EpilogueBackend backend, AtomicBoolean atomicBoolean) { + backend.log("", atomicBoolean.get()); + } +} diff --git a/src/main/java/org/team340/lib/logging/java/AtomicIntegerLogger.java b/src/main/java/org/team340/lib/logging/java/AtomicIntegerLogger.java new file mode 100644 index 0000000..a9a11e8 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/java/AtomicIntegerLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.java; + +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; +import java.util.concurrent.atomic.AtomicInteger; + +@CustomLoggerFor(AtomicInteger.class) +public class AtomicIntegerLogger extends ClassSpecificLogger { + + public AtomicIntegerLogger() { + super(AtomicInteger.class); + } + + @Override + public void update(EpilogueBackend backend, AtomicInteger atomicInteger) { + backend.log("", atomicInteger.get()); + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/CANdiLogger.java b/src/main/java/org/team340/lib/logging/phoenix/CANdiLogger.java new file mode 100644 index 0000000..b5fd4d0 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/CANdiLogger.java @@ -0,0 +1,53 @@ +package org.team340.lib.logging.phoenix; + +import com.ctre.phoenix6.BaseStatusSignal; +import com.ctre.phoenix6.hardware.CANdi; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; +import java.util.HashMap; +import java.util.Map; +import java.util.function.Consumer; + +@CustomLoggerFor(CANdi.class) +public class CANdiLogger extends ClassSpecificLogger { + + private static final Map> cache = new HashMap<>(); + + public CANdiLogger() { + super(CANdi.class); + } + + @Override + public void update(EpilogueBackend backend, CANdi candi) { + cache + .computeIfAbsent(candi, key -> { + var pwm1Position = candi.getPWM1Position(false); + var pwm1Velocity = candi.getPWM1Velocity(false); + var pwm2Position = candi.getPWM2Position(false); + var pwm2Velocity = candi.getPWM2Velocity(false); + var s1Closed = candi.getS1Closed(false); + var s2Closed = candi.getS2Closed(false); + + BaseStatusSignal[] signals = { + pwm1Position, + pwm1Velocity, + pwm2Position, + pwm2Velocity, + s1Closed, + s2Closed + }; + + return b -> { + BaseStatusSignal.refreshAll(signals); + b.log("pwm1Position", pwm1Position.getValueAsDouble()); + b.log("pwm1Velocity", pwm1Velocity.getValueAsDouble()); + b.log("pwm2Position", pwm2Position.getValueAsDouble()); + b.log("pwm2Velocity", pwm2Velocity.getValueAsDouble()); + b.log("s1Closed", s1Closed.getValue()); + b.log("s2Closed", s2Closed.getValue()); + }; + }) + .accept(backend); + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/Pigeon2Logger.java b/src/main/java/org/team340/lib/logging/phoenix/Pigeon2Logger.java index e4451ea..0494da3 100644 --- a/src/main/java/org/team340/lib/logging/phoenix/Pigeon2Logger.java +++ b/src/main/java/org/team340/lib/logging/phoenix/Pigeon2Logger.java @@ -23,38 +23,15 @@ public void update(EpilogueBackend backend, Pigeon2 pigeon2) { cache .computeIfAbsent(pigeon2, key -> { var temperature = pigeon2.getTemperature(false); - var accelerationX = pigeon2.getAccelerationX(false); - var accelerationY = pigeon2.getAccelerationY(false); - var accelerationZ = pigeon2.getAccelerationZ(false); - var velocityX = pigeon2.getAngularVelocityXWorld(false); - var velocityY = pigeon2.getAngularVelocityYWorld(false); - var velocityZ = pigeon2.getAngularVelocityZWorld(false); var yaw = pigeon2.getYaw(false); var pitch = pigeon2.getPitch(false); var roll = pigeon2.getRoll(false); - BaseStatusSignal[] signals = { - temperature, - accelerationX, - accelerationY, - accelerationZ, - velocityX, - velocityY, - velocityZ, - yaw, - pitch, - roll - }; + BaseStatusSignal[] signals = { temperature, yaw, pitch, roll }; return b -> { BaseStatusSignal.refreshAll(signals); b.log("temperature", temperature.getValueAsDouble()); - b.log("accelerationX", accelerationX.getValueAsDouble()); - b.log("accelerationY", accelerationY.getValueAsDouble()); - b.log("accelerationZ", accelerationZ.getValueAsDouble()); - b.log("velocityX", velocityX.getValueAsDouble()); - b.log("velocityY", velocityY.getValueAsDouble()); - b.log("velocityZ", velocityZ.getValueAsDouble()); b.log("yaw", yaw.getValueAsDouble()); b.log("pitch", pitch.getValueAsDouble()); b.log("roll", roll.getValueAsDouble()); diff --git a/src/main/java/org/team340/lib/logging/phoenix/TalonFXLogger.java b/src/main/java/org/team340/lib/logging/phoenix/TalonFXLogger.java index 3e94483..b9e744a 100644 --- a/src/main/java/org/team340/lib/logging/phoenix/TalonFXLogger.java +++ b/src/main/java/org/team340/lib/logging/phoenix/TalonFXLogger.java @@ -22,44 +22,29 @@ public TalonFXLogger() { public void update(EpilogueBackend backend, TalonFX talonFX) { cache .computeIfAbsent(talonFX, key -> { - var acceleration = talonFX.getAcceleration(false); - var closedLoopError = talonFX.getClosedLoopError(false); - var closedLoopOutput = talonFX.getClosedLoopOutput(false); var closedLoopReference = talonFX.getClosedLoopReference(false); var deviceTemp = talonFX.getDeviceTemp(false); var motorVoltage = talonFX.getMotorVoltage(false); var position = talonFX.getPosition(false); var statorCurrent = talonFX.getStatorCurrent(false); - var supplyCurrent = talonFX.getSupplyCurrent(false); - var supplyVoltage = talonFX.getSupplyVoltage(false); var velocity = talonFX.getVelocity(false); BaseStatusSignal[] signals = { - acceleration, - closedLoopError, - closedLoopOutput, closedLoopReference, deviceTemp, motorVoltage, position, statorCurrent, - supplyCurrent, - supplyVoltage, velocity }; return b -> { BaseStatusSignal.refreshAll(signals); - b.log("acceleration", acceleration.getValueAsDouble()); - b.log("closedLoopError", closedLoopError.getValueAsDouble()); - b.log("closedLoopOutput", closedLoopOutput.getValueAsDouble()); b.log("closedLoopReference", closedLoopReference.getValueAsDouble()); b.log("deviceTemp", deviceTemp.getValueAsDouble()); b.log("motorVoltage", motorVoltage.getValueAsDouble()); b.log("position", position.getValueAsDouble()); b.log("statorCurrent", statorCurrent.getValueAsDouble()); - b.log("supplyCurrent", supplyCurrent.getValueAsDouble()); - b.log("supplyVoltage", supplyVoltage.getValueAsDouble()); b.log("velocity", velocity.getValueAsDouble()); }; }) diff --git a/src/main/java/org/team340/lib/logging/phoenix/TalonFXSLogger.java b/src/main/java/org/team340/lib/logging/phoenix/TalonFXSLogger.java new file mode 100644 index 0000000..b6d3a1f --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/TalonFXSLogger.java @@ -0,0 +1,53 @@ +package org.team340.lib.logging.phoenix; + +import com.ctre.phoenix6.BaseStatusSignal; +import com.ctre.phoenix6.hardware.TalonFXS; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; +import java.util.HashMap; +import java.util.Map; +import java.util.function.Consumer; + +@CustomLoggerFor(TalonFXS.class) +public class TalonFXSLogger extends ClassSpecificLogger { + + private static final Map> cache = new HashMap<>(); + + public TalonFXSLogger() { + super(TalonFXS.class); + } + + @Override + public void update(EpilogueBackend backend, TalonFXS talonFXS) { + cache + .computeIfAbsent(talonFXS, key -> { + var closedLoopReference = talonFXS.getClosedLoopReference(false); + var deviceTemp = talonFXS.getDeviceTemp(false); + var motorVoltage = talonFXS.getMotorVoltage(false); + var position = talonFXS.getPosition(false); + var statorCurrent = talonFXS.getStatorCurrent(false); + var velocity = talonFXS.getVelocity(false); + + BaseStatusSignal[] signals = { + closedLoopReference, + deviceTemp, + motorVoltage, + position, + statorCurrent, + velocity + }; + + return b -> { + BaseStatusSignal.refreshAll(signals); + b.log("closedLoopReference", closedLoopReference.getValueAsDouble()); + b.log("deviceTemp", deviceTemp.getValueAsDouble()); + b.log("motorVoltage", motorVoltage.getValueAsDouble()); + b.log("position", position.getValueAsDouble()); + b.log("statorCurrent", statorCurrent.getValueAsDouble()); + b.log("velocity", velocity.getValueAsDouble()); + }; + }) + .accept(backend); + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/CoastOutLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/CoastOutLogger.java new file mode 100644 index 0000000..1953e57 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/CoastOutLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.CoastOut; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(CoastOut.class) +public class CoastOutLogger extends ClassSpecificLogger { + + public CoastOutLogger() { + super(CoastOut.class); + } + + @Override + public void update(EpilogueBackend backend, CoastOut control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/DutyCycleOutLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/DutyCycleOutLogger.java new file mode 100644 index 0000000..eda3331 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/DutyCycleOutLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.DutyCycleOut; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(DutyCycleOut.class) +public class DutyCycleOutLogger extends ClassSpecificLogger { + + public DutyCycleOutLogger() { + super(DutyCycleOut.class); + } + + @Override + public void update(EpilogueBackend backend, DutyCycleOut control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/DynamicMotionMagicVoltageLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/DynamicMotionMagicVoltageLogger.java new file mode 100644 index 0000000..375e056 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/DynamicMotionMagicVoltageLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.DynamicMotionMagicVoltage; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(DynamicMotionMagicVoltage.class) +public class DynamicMotionMagicVoltageLogger extends ClassSpecificLogger { + + public DynamicMotionMagicVoltageLogger() { + super(DynamicMotionMagicVoltage.class); + } + + @Override + public void update(EpilogueBackend backend, DynamicMotionMagicVoltage control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/FollowerLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/FollowerLogger.java new file mode 100644 index 0000000..01700ac --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/FollowerLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.Follower; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(Follower.class) +public class FollowerLogger extends ClassSpecificLogger { + + public FollowerLogger() { + super(Follower.class); + } + + @Override + public void update(EpilogueBackend backend, Follower control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/MotionMagicVoltageLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/MotionMagicVoltageLogger.java new file mode 100644 index 0000000..25077bd --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/MotionMagicVoltageLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.MotionMagicVoltage; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(MotionMagicVoltage.class) +public class MotionMagicVoltageLogger extends ClassSpecificLogger { + + public MotionMagicVoltageLogger() { + super(MotionMagicVoltage.class); + } + + @Override + public void update(EpilogueBackend backend, MotionMagicVoltage control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/PositionVoltageLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/PositionVoltageLogger.java new file mode 100644 index 0000000..02da2e5 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/PositionVoltageLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.PositionVoltage; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(PositionVoltage.class) +public class PositionVoltageLogger extends ClassSpecificLogger { + + public PositionVoltageLogger() { + super(PositionVoltage.class); + } + + @Override + public void update(EpilogueBackend backend, PositionVoltage control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/StrictFollowerLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/StrictFollowerLogger.java new file mode 100644 index 0000000..23a8120 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/StrictFollowerLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.StrictFollower; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(StrictFollower.class) +public class StrictFollowerLogger extends ClassSpecificLogger { + + public StrictFollowerLogger() { + super(StrictFollower.class); + } + + @Override + public void update(EpilogueBackend backend, StrictFollower control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/TorqueCurrentFOCLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/TorqueCurrentFOCLogger.java new file mode 100644 index 0000000..c7ee95d --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/TorqueCurrentFOCLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.TorqueCurrentFOC; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(TorqueCurrentFOC.class) +public class TorqueCurrentFOCLogger extends ClassSpecificLogger { + + public TorqueCurrentFOCLogger() { + super(TorqueCurrentFOC.class); + } + + @Override + public void update(EpilogueBackend backend, TorqueCurrentFOC control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/VelocityTorqueCurrentFOCLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/VelocityTorqueCurrentFOCLogger.java new file mode 100644 index 0000000..ce3bb6e --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/VelocityTorqueCurrentFOCLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.VelocityTorqueCurrentFOC; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(VelocityTorqueCurrentFOC.class) +public class VelocityTorqueCurrentFOCLogger extends ClassSpecificLogger { + + public VelocityTorqueCurrentFOCLogger() { + super(VelocityTorqueCurrentFOC.class); + } + + @Override + public void update(EpilogueBackend backend, VelocityTorqueCurrentFOC control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/VelocityVoltageLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/VelocityVoltageLogger.java new file mode 100644 index 0000000..f28f974 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/VelocityVoltageLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.VelocityVoltage; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(VelocityVoltage.class) +public class VelocityVoltageLogger extends ClassSpecificLogger { + + public VelocityVoltageLogger() { + super(VelocityVoltage.class); + } + + @Override + public void update(EpilogueBackend backend, VelocityVoltage control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/phoenix/controls/VoltageOutLogger.java b/src/main/java/org/team340/lib/logging/phoenix/controls/VoltageOutLogger.java new file mode 100644 index 0000000..d79a619 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/phoenix/controls/VoltageOutLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.phoenix.controls; + +import com.ctre.phoenix6.controls.VoltageOut; +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; + +@CustomLoggerFor(VoltageOut.class) +public class VoltageOutLogger extends ClassSpecificLogger { + + public VoltageOutLogger() { + super(VoltageOut.class); + } + + @Override + public void update(EpilogueBackend backend, VoltageOut control) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/reduxlib/CanandgyroLogger.java b/src/main/java/org/team340/lib/logging/reduxlib/CanandgyroLogger.java index 1e3ff76..1ac5c48 100644 --- a/src/main/java/org/team340/lib/logging/reduxlib/CanandgyroLogger.java +++ b/src/main/java/org/team340/lib/logging/reduxlib/CanandgyroLogger.java @@ -15,12 +15,6 @@ public CanandgyroLogger() { @Override public void update(EpilogueBackend backend, Canandgyro canandgyro) { - backend.log("accelerationX", canandgyro.getAccelerationX()); - backend.log("accelerationY", canandgyro.getAccelerationY()); - backend.log("accelerationZ", canandgyro.getAccelerationZ()); - backend.log("velocityX", canandgyro.getAngularVelocityRoll()); - backend.log("velocityY", canandgyro.getAngularVelocityPitch()); - backend.log("velocityZ", canandgyro.getAngularVelocityYaw()); backend.log("yaw", canandgyro.getYaw()); backend.log("pitch", canandgyro.getPitch()); backend.log("roll", canandgyro.getRoll()); diff --git a/src/main/java/org/team340/lib/logging/revlib/SparkFlexLogger.java b/src/main/java/org/team340/lib/logging/revlib/SparkFlexLogger.java index 6dbd899..2003595 100644 --- a/src/main/java/org/team340/lib/logging/revlib/SparkFlexLogger.java +++ b/src/main/java/org/team340/lib/logging/revlib/SparkFlexLogger.java @@ -17,11 +17,9 @@ public SparkFlexLogger() { @Override public void update(EpilogueBackend backend, SparkFlex sparkFlex) { double appliedOutput = sparkFlex.getAppliedOutput(); - double busVoltage = sparkFlex.getBusVoltage(); backend.log("appliedOutput", appliedOutput); - backend.log("appliedVoltage", appliedOutput * busVoltage); - backend.log("busVoltage", busVoltage); + backend.log("appliedVoltage", appliedOutput * sparkFlex.getBusVoltage()); backend.log("motorTemperature", sparkFlex.getMotorTemperature()); backend.log("outputCurrent", sparkFlex.getOutputCurrent()); backend.log("position", sparkFlex.getEncoder().getPosition()); diff --git a/src/main/java/org/team340/lib/logging/revlib/SparkMaxLogger.java b/src/main/java/org/team340/lib/logging/revlib/SparkMaxLogger.java index 23a7944..80f1518 100644 --- a/src/main/java/org/team340/lib/logging/revlib/SparkMaxLogger.java +++ b/src/main/java/org/team340/lib/logging/revlib/SparkMaxLogger.java @@ -17,11 +17,9 @@ public SparkMaxLogger() { @Override public void update(EpilogueBackend backend, SparkMax sparkMax) { double appliedOutput = sparkMax.getAppliedOutput(); - double busVoltage = sparkMax.getBusVoltage(); backend.log("appliedOutput", appliedOutput); - backend.log("appliedVoltage", appliedOutput * busVoltage); - backend.log("busVoltage", busVoltage); + backend.log("appliedVoltage", appliedOutput * sparkMax.getBusVoltage()); backend.log("motorTemperature", sparkMax.getMotorTemperature()); backend.log("outputCurrent", sparkMax.getOutputCurrent()); backend.log("position", sparkMax.getEncoder().getPosition()); diff --git a/src/main/java/org/team340/lib/logging/wpilibj/ADIS16470Logger.java b/src/main/java/org/team340/lib/logging/wpilibj/ADIS16470Logger.java index 51dc4f8..e98eb78 100644 --- a/src/main/java/org/team340/lib/logging/wpilibj/ADIS16470Logger.java +++ b/src/main/java/org/team340/lib/logging/wpilibj/ADIS16470Logger.java @@ -15,12 +15,6 @@ public ADIS16470Logger() { @Override public void update(EpilogueBackend backend, ADIS16470_IMU adis16470) { - backend.log("accelerationX", adis16470.getAccelX()); - backend.log("accelerationY", adis16470.getAccelY()); - backend.log("accelerationZ", adis16470.getAccelZ()); - backend.log("velocityX", adis16470.getRate(IMUAxis.kX)); - backend.log("velocityY", adis16470.getRate(IMUAxis.kY)); - backend.log("velocityZ", adis16470.getRate(IMUAxis.kZ)); backend.log("yaw", adis16470.getAngle(IMUAxis.kYaw)); backend.log("pitch", adis16470.getAngle(IMUAxis.kPitch)); backend.log("roll", adis16470.getAngle(IMUAxis.kRoll)); diff --git a/src/main/java/org/team340/lib/logging/wpilibj/AddressableLEDBufferLogger.java b/src/main/java/org/team340/lib/logging/wpilibj/AddressableLEDBufferLogger.java new file mode 100644 index 0000000..e854ea1 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/wpilibj/AddressableLEDBufferLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.wpilibj; + +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; +import edu.wpi.first.wpilibj.AddressableLEDBuffer; + +@CustomLoggerFor(AddressableLEDBuffer.class) +public class AddressableLEDBufferLogger extends ClassSpecificLogger { + + public AddressableLEDBufferLogger() { + super(AddressableLEDBuffer.class); + } + + @Override + public void update(EpilogueBackend backend, AddressableLEDBuffer buffer) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/wpilibj/AddressableLEDLogger.java b/src/main/java/org/team340/lib/logging/wpilibj/AddressableLEDLogger.java new file mode 100644 index 0000000..ab294dd --- /dev/null +++ b/src/main/java/org/team340/lib/logging/wpilibj/AddressableLEDLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.wpilibj; + +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; +import edu.wpi.first.wpilibj.AddressableLED; + +@CustomLoggerFor(AddressableLED.class) +public class AddressableLEDLogger extends ClassSpecificLogger { + + public AddressableLEDLogger() { + super(AddressableLED.class); + } + + @Override + public void update(EpilogueBackend backend, AddressableLED addressableLED) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/logging/wpimath/DebouncerLogger.java b/src/main/java/org/team340/lib/logging/wpimath/DebouncerLogger.java new file mode 100644 index 0000000..5383818 --- /dev/null +++ b/src/main/java/org/team340/lib/logging/wpimath/DebouncerLogger.java @@ -0,0 +1,19 @@ +package org.team340.lib.logging.wpimath; + +import edu.wpi.first.epilogue.CustomLoggerFor; +import edu.wpi.first.epilogue.logging.ClassSpecificLogger; +import edu.wpi.first.epilogue.logging.EpilogueBackend; +import edu.wpi.first.math.filter.Debouncer; + +@CustomLoggerFor(Debouncer.class) +public class DebouncerLogger extends ClassSpecificLogger { + + public DebouncerLogger() { + super(Debouncer.class); + } + + @Override + public void update(EpilogueBackend backend, Debouncer debouncer) { + // No-op + } +} diff --git a/src/main/java/org/team340/lib/swerve/Perspective.java b/src/main/java/org/team340/lib/swerve/Perspective.java index cca87a5..0f3d281 100644 --- a/src/main/java/org/team340/lib/swerve/Perspective.java +++ b/src/main/java/org/team340/lib/swerve/Perspective.java @@ -15,17 +15,17 @@ public enum Perspective { */ kOperator { @Override - ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { + public ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { return (Alliance.isBlue() ? kBlue : kRed).toRobotSpeeds(speeds, robotAngle); } @Override - ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { + public ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { return (Alliance.isBlue() ? kBlue : kRed).toPerspectiveSpeeds(speeds, robotAngle); } @Override - Rotation2d getTareRotation() { + public Rotation2d getTareRotation() { return (Alliance.isBlue() ? kBlue : kRed).getTareRotation(); } }, @@ -36,17 +36,17 @@ Rotation2d getTareRotation() { */ kBlue { @Override - ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { + public ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { return ChassisSpeeds.fromFieldRelativeSpeeds(speeds, robotAngle); } @Override - ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { + public ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { return ChassisSpeeds.fromRobotRelativeSpeeds(speeds, robotAngle); } @Override - Rotation2d getTareRotation() { + public Rotation2d getTareRotation() { return Rotation2d.kZero; } }, @@ -57,17 +57,17 @@ Rotation2d getTareRotation() { */ kRed { @Override - ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { + public ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { return ChassisSpeeds.fromFieldRelativeSpeeds(speeds, robotAngle.rotateBy(Rotation2d.kPi)); } @Override - ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { + public ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { return ChassisSpeeds.fromRobotRelativeSpeeds(speeds, robotAngle.rotateBy(Rotation2d.kPi)); } @Override - Rotation2d getTareRotation() { + public Rotation2d getTareRotation() { return Rotation2d.kPi; } }, @@ -78,17 +78,17 @@ Rotation2d getTareRotation() { */ kRobot { @Override - ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { + public ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { return speeds; } @Override - ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { + public ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle) { return speeds; } @Override - Rotation2d getTareRotation() { + public Rotation2d getTareRotation() { // Will no-op downstream. return null; } @@ -99,18 +99,18 @@ Rotation2d getTareRotation() { * @param speeds The perspective relative speeds to convert. * @param robotAngle The blue origin relative angle of the robot. */ - abstract ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle); + public abstract ChassisSpeeds toRobotSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle); /** * Converts robot relative speeds to the perspective relative speeds. * @param speeds The robot relative speeds to convert. * @param robotAngle The blue origin relative angle of the robot. */ - abstract ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle); + public abstract ChassisSpeeds toPerspectiveSpeeds(ChassisSpeeds speeds, Rotation2d robotAngle); /** * Gets the rotation to apply as the new zero when * taring the robot's rotation to the perspective. */ - abstract Rotation2d getTareRotation(); + public abstract Rotation2d getTareRotation(); } diff --git a/src/main/java/org/team340/lib/swerve/SwerveAPI.java b/src/main/java/org/team340/lib/swerve/SwerveAPI.java index 95d24da..c124fa6 100644 --- a/src/main/java/org/team340/lib/swerve/SwerveAPI.java +++ b/src/main/java/org/team340/lib/swerve/SwerveAPI.java @@ -2,15 +2,18 @@ import com.ctre.phoenix6.BaseStatusSignal; import com.ctre.phoenix6.StatusCode; +import edu.wpi.first.epilogue.Logged; +import edu.wpi.first.epilogue.Logged.Strategy; import edu.wpi.first.math.MathUtil; import edu.wpi.first.math.Matrix; import edu.wpi.first.math.VecBuilder; -import edu.wpi.first.math.estimator.SwerveDrivePoseEstimator; +import edu.wpi.first.math.estimator.PoseEstimator; import edu.wpi.first.math.geometry.Pose2d; import edu.wpi.first.math.geometry.Rotation2d; import edu.wpi.first.math.geometry.Translation2d; import edu.wpi.first.math.kinematics.ChassisSpeeds; import edu.wpi.first.math.kinematics.SwerveDriveKinematics; +import edu.wpi.first.math.kinematics.SwerveDriveOdometry; import edu.wpi.first.math.kinematics.SwerveModulePosition; import edu.wpi.first.math.kinematics.SwerveModuleState; import edu.wpi.first.math.numbers.N1; @@ -45,7 +48,8 @@ public class SwerveAPI implements AutoCloseable { private final SwerveModuleState[] lockedStates; private final SwerveDriveKinematics kinematics; - private final SwerveDrivePoseEstimator poseEstimator; + private final SwerveDriveOdometry odometry; + private final PoseEstimator poseEstimator; private final Lock odometryMutex = new ReentrantLock(); private final SwerveOdometryThread odometryThread; @@ -79,11 +83,10 @@ public SwerveAPI(SwerveConfig config) { state = new SwerveState(modules); kinematics = new SwerveDriveKinematics(moduleLocations); - poseEstimator = new SwerveDrivePoseEstimator( + odometry = new SwerveDriveOdometry(kinematics, Rotation2d.kZero, state.modules.positions); + poseEstimator = new PoseEstimator<>( kinematics, - Rotation2d.kZero, - state.modules.positions, - Pose2d.kZero, + odometry, config.odometryStdDevs, VecBuilder.fill(0.0, 0.0, 0.0) ); @@ -101,9 +104,11 @@ public void refresh() { odometryMutex.lock(); try { odometryThread.run(true); - state.odometry.timesync = odometryThread.timesync; - state.odometry.successes = odometryThread.successes; - state.odometry.failures = odometryThread.failures; + state.timestamp = Timer.getFPGATimestamp(); + + state.odometryThread.timesync = odometryThread.timesync; + state.odometryThread.successes = odometryThread.successes; + state.odometryThread.failures = odometryThread.failures; odometryThread.successes = 0; odometryThread.failures = 0; @@ -113,16 +118,26 @@ public void refresh() { Math2.copyInto(modules[i].getState(), state.modules.states[i]); } - state.multiturnYaw = imu.getMultiturnYaw(); state.pose = poseEstimator.getEstimatedPosition(); + + state.imu.yawMeasurements.clear(); + state.imu.yawMeasurements.addAll(odometryThread.yawMeasurements); + odometryThread.yawMeasurements.clear(); + + if (!state.imu.yawMeasurements.isEmpty()) { + state.imu.yaw = state.imu.yawMeasurements.get(state.imu.yawMeasurements.size() - 1).yaw(); + } } finally { odometryMutex.unlock(); } Math2.copyInto(kinematics.toChassisSpeeds(state.modules.states), state.speeds); state.velocity = Math.hypot(state.speeds.vxMetersPerSecond, state.speeds.vyMetersPerSecond); - state.pitch = imu.getPitch(); - state.roll = imu.getRoll(); + state.translation = state.pose.getTranslation(); + state.rotation = state.pose.getRotation(); + + state.imu.pitch = imu.getPitch(); + state.imu.roll = imu.getRoll(); imuSimHook.accept(state.speeds); } @@ -134,7 +149,7 @@ public void refresh() { public void addVisionMeasurements(VisionMeasurement... measurements) { odometryMutex.lock(); try { - for (var measurement : measurements) { + for (VisionMeasurement measurement : measurements) { if (measurement.stdDevs == null) { poseEstimator.addVisionMeasurement(measurement.visionPose, measurement.timestamp); } else { @@ -165,6 +180,7 @@ public void resetPose(Pose2d pose) { try { poseEstimator.resetPosition(odometryThread.lastYaw, state.modules.positions, pose); state.pose = poseEstimator.getEstimatedPosition(); + odometryThread.yawMeasurements.clear(); } finally { odometryMutex.unlock(); } @@ -179,10 +195,12 @@ public void resetPose(Pose2d pose) { public void tareRotation(Perspective perspective) { var rotation = perspective.getTareRotation(); if (rotation == null) return; + odometryMutex.lock(); try { poseEstimator.resetRotation(rotation); state.pose = poseEstimator.getEstimatedPosition(); + odometryThread.yawMeasurements.clear(); } finally { odometryMutex.unlock(); } @@ -207,30 +225,29 @@ public void applyDriverInput( boolean discretize, boolean ratelimit ) { - angular = MathUtil.applyDeadband(angular, config.driverAngularVelDeadband); - double angularVel = - config.driverAngularVel * Math.copySign(Math.pow(angular, config.driverAngularVelExp), angular); - applyDriverXY(x, y, angularVel, perspective, discretize, ratelimit); + applyAssistedDriverInput(x, y, angular, new ChassisSpeeds(), perspective, discretize, ratelimit); } /** - * Drives using inputs from the driver's controller, with a specified angular velocity in radians/second. - * Use this method as opposed to {@link SwerveAPI#applyDriverInput(double, double, double)} if the driver's - * input is desired only for x/y movement, and not heading. Use cases include locking the robot's heading by - * passing the output of a PID controller as the angular velocity. The {@code x} and {@code y} parameters - * expect the controller's NED (north-east-down) convention, and will automatically convert to WPILib's - * typical NWU (north-west-up) convention when applying chassis speeds. + * Drives using inputs from the driver's controller, with a specified additional chassis velocity. + * The {@code x} and {@code y} parameters expect the controller's NED (north-east-down) convention, + * and will automatically convert to WPILib's typical NWU (north-west-up) convention when applying + * chassis speeds. * @param x The X value of the driver's joystick, from {@code [-1.0, 1.0]}. * @param y The Y value of the driver's joystick, from {@code [-1.0, 1.0]}. - * @param angularVel The CCW+ angular velocity to apply, in radians/second. + * @param angular The CCW+ angular speed to apply, from {@code [-1.0, 1.0]}. + * @param assist Additional velocities to apply. Note that these speeds are + * relative to the provided perspective, and are still restricted + * by the ratelimiter if it is active. * @param perspective The forward perspective for the chassis speeds. * @param discretize If the generated speeds should be discretized. * @param ratelimit If the robot's acceleration should be constrained. */ - public void applyDriverXY( + public void applyAssistedDriverInput( double x, double y, - double angularVel, + double angular, + ChassisSpeeds assist, Perspective perspective, boolean discretize, boolean ratelimit @@ -245,9 +262,19 @@ public void applyDriverXY( x *= k; y *= k; + angular = MathUtil.applyDeadband(angular, config.driverAngularVelDeadband); double xyMult = config.driverVel * Math.pow(Math.hypot(x, y), config.driverVelExp - 1.0); - applySpeeds(new ChassisSpeeds(-y * xyMult, -x * xyMult, angularVel), perspective, discretize, ratelimit); + double angularVel = + config.driverAngularVel * Math.copySign(Math.pow(angular, config.driverAngularVelExp), angular); + + ChassisSpeeds speeds = new ChassisSpeeds( + (-y * xyMult) + assist.vxMetersPerSecond, + (-x * xyMult) + assist.vyMetersPerSecond, + angularVel + assist.omegaRadiansPerSecond + ); + + applySpeeds(speeds, perspective, discretize, ratelimit); } /** @@ -424,7 +451,8 @@ public void close() { * Represents a measurement from vision to apply to the pose estimator. * @see {@link SwerveDrivePoseEstimator#addVisionMeasurement(Pose2d, double, Matrix)}. */ - public final record VisionMeasurement(Pose2d visionPose, double timestamp, Matrix stdDevs) { + @Logged(strategy = Strategy.OPT_IN) + public static final record VisionMeasurement(Pose2d visionPose, double timestamp, Matrix stdDevs) { /** * Represents a measurement from vision to apply to the pose estimator. * @see {@link SwerveDrivePoseEstimator#addVisionMeasurement(Pose2d, double)}. @@ -434,6 +462,11 @@ public VisionMeasurement(Pose2d visionPose, double timestamp) { } } + /** + * Contains a yaw measurement alongside the timestamp of the measurement, in seconds. + */ + public static final record TimestampedYaw(Rotation2d yaw, double timestamp) {} + /** * Manages swerve odometry. Will run asynchronously at the configured odometry update * period, unless the configured period is the same or more than the main robot loop @@ -443,6 +476,7 @@ public VisionMeasurement(Pose2d visionPose, double timestamp) { */ private final class SwerveOdometryThread implements AutoCloseable { + public final List yawMeasurements = new ArrayList<>(); public Rotation2d lastYaw = Rotation2d.kZero; public boolean timesync = false; public int successes = 0; @@ -488,7 +522,7 @@ public void run(boolean sync) { StatusCode phoenixStatus = StatusCode.OK; if (!sync) { if (timesync) { - phoenixStatus = BaseStatusSignal.waitForAll(config.odometryPeriod * 2.0, signals); + phoenixStatus = BaseStatusSignal.waitForAll(config.period, signals); } else { Sleep.seconds(Math.max(0.0, config.odometryPeriod - (Timer.getFPGATimestamp() - lastTime))); lastTime = Timer.getFPGATimestamp(); @@ -500,6 +534,7 @@ public void run(boolean sync) { if (!timesync && signals.length > 0) phoenixStatus = BaseStatusSignal.refreshAll(signals); lastYaw = imu.getYaw(); + double yawTimestamp = Timer.getFPGATimestamp(); boolean readError = !phoenixStatus.isOK() || imu.readError(); for (var module : modules) { @@ -512,6 +547,7 @@ public void run(boolean sync) { } poseEstimator.update(lastYaw, positionCache); + yawMeasurements.add(new TimestampedYaw(odometry.getPoseMeters().getRotation(), yawTimestamp)); successes++; } finally { odometryMutex.unlock(); diff --git a/src/main/java/org/team340/lib/swerve/SwerveAPILogger.java b/src/main/java/org/team340/lib/swerve/SwerveAPILogger.java index 6c9483b..c1fe4c5 100644 --- a/src/main/java/org/team340/lib/swerve/SwerveAPILogger.java +++ b/src/main/java/org/team340/lib/swerve/SwerveAPILogger.java @@ -21,10 +21,12 @@ public SwerveAPILogger() { public void update(EpilogueBackend backend, SwerveAPI api) { logState(backend.getNested("state"), api.state); + var hardware = backend.getNested("hardware"); var errorHandler = Epilogue.getConfig().errorHandler; - api.imu.log(backend.getNested("imu"), errorHandler); + + api.imu.log(hardware.getNested("imu"), errorHandler); for (var m : api.modules) { - var module = backend.getNested(m.getName()); + var module = hardware.getNested(m.getName()); m.moveMotor.log(module.getNested("moveMotor"), errorHandler); m.turnMotor.log(module.getNested("turnMotor"), errorHandler); m.encoder.log(module.getNested("encoder"), errorHandler); @@ -33,22 +35,22 @@ public void update(EpilogueBackend backend, SwerveAPI api) { private void logState(EpilogueBackend backend, SwerveState state) { backend.log("speeds", state.speeds, ChassisSpeeds.struct); - backend.log("targetSpeeds", state.targetSpeeds, ChassisSpeeds.struct); backend.log("velocity", state.velocity); - backend.log("multiturnYaw", state.multiturnYaw); - backend.log("pitch", state.pitch, Rotation2d.struct); - backend.log("roll", state.roll, Rotation2d.struct); backend.log("pose", state.pose, Pose2d.struct); var modules = backend.getNested("modules"); modules.log("positions", state.modules.positions, SwerveModulePosition.struct); modules.log("states", state.modules.states, SwerveModuleState.struct); modules.log("lastTarget", state.modules.lastTarget, SwerveModuleState.struct); - modules.log("nextTarget", state.modules.nextTarget, SwerveModuleState.struct); - var odometry = backend.getNested("odometry"); - odometry.log("timesync", state.odometry.timesync); - odometry.log("successes", state.odometry.successes); - odometry.log("failures", state.odometry.failures); + var imu = backend.getNested("imu"); + imu.log("yaw", state.imu.yaw, Rotation2d.struct); + imu.log("pitch", state.imu.pitch, Rotation2d.struct); + imu.log("roll", state.imu.roll, Rotation2d.struct); + + var odometryThread = backend.getNested("odometryThread"); + odometryThread.log("timesync", state.odometryThread.timesync); + odometryThread.log("successes", state.odometryThread.successes); + odometryThread.log("failures", state.odometryThread.failures); } } diff --git a/src/main/java/org/team340/lib/swerve/SwerveModule.java b/src/main/java/org/team340/lib/swerve/SwerveModule.java index 73b3150..e6b5e2b 100644 --- a/src/main/java/org/team340/lib/swerve/SwerveModule.java +++ b/src/main/java/org/team340/lib/swerve/SwerveModule.java @@ -139,6 +139,11 @@ public SwerveModuleState getNextTarget() { * @param state The state to apply to the module. */ public void applyState(SwerveModuleState state) { + if (state.speedMetersPerSecond < config.velDeadband) { + state.speedMetersPerSecond = 0.0; + state.angle = nextTarget.angle; + } + Rotation2d angleDelta; double turnPosition; cacheMutex.lock(); @@ -159,7 +164,7 @@ public void applyState(SwerveModuleState state) { moveMotor.setVelocity(state.speedMetersPerSecond * (config.moveGearRatio / (config.wheelDiameter * Math.PI))); if (hookStatus.applyAbsolute()) { - turnMotor.setPosition(MathUtil.inputModulus(state.angle.getRotations(), -0.5, 0.5)); + turnMotor.setPosition(state.angle.getRotations()); } else { double optimizedDelta = angleDelta.getRadians() - (flipped ? Math.copySign(Math.PI, angleDelta.getRadians()) : 0.0); diff --git a/src/main/java/org/team340/lib/swerve/SwerveState.java b/src/main/java/org/team340/lib/swerve/SwerveState.java index 918b136..a8bca27 100644 --- a/src/main/java/org/team340/lib/swerve/SwerveState.java +++ b/src/main/java/org/team340/lib/swerve/SwerveState.java @@ -1,19 +1,27 @@ package org.team340.lib.swerve; +import edu.wpi.first.epilogue.Logged; +import edu.wpi.first.epilogue.Logged.Strategy; import edu.wpi.first.math.geometry.Pose2d; import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.geometry.Translation2d; import edu.wpi.first.math.kinematics.ChassisSpeeds; import edu.wpi.first.math.kinematics.SwerveModulePosition; import edu.wpi.first.math.kinematics.SwerveModuleState; +import java.util.ArrayList; +import java.util.List; +import org.team340.lib.swerve.SwerveAPI.TimestampedYaw; /** * Represents the state of the robot's drivetrain. */ +@Logged(strategy = Strategy.OPT_IN) public final class SwerveState { /** * Contains information about swerve module states and positions. */ + @Logged(strategy = Strategy.OPT_IN) public static final class Modules { /** The current measured module positions. */ @@ -40,9 +48,33 @@ private Modules(SwerveModule[] modules) { } /** - * Represents the state of the odometry. + * Measurements from the IMU. */ - public static final class Odometry { + @Logged(strategy = Strategy.OPT_IN) + public static final class IMU { + + /** All yaw measurements since the {@link SwerveState} has been refreshed. */ + public final List yawMeasurements; + /** The robot's yaw. */ + public Rotation2d yaw; + /** The robot's pitch. */ + public Rotation2d pitch; + /** The robot's roll. */ + public Rotation2d roll; + + private IMU() { + yawMeasurements = new ArrayList<>(); + yaw = Rotation2d.kZero; + pitch = Rotation2d.kZero; + roll = Rotation2d.kZero; + } + } + + /** + * Represents the state of the odometry thread. + */ + @Logged(strategy = Strategy.OPT_IN) + public static final class OdometryThread { /** If Phoenix timesync is being utilized. */ public boolean timesync; @@ -51,35 +83,38 @@ public static final class Odometry { /** The number of failing odometry measurements since the last loop. */ public int failures; - private Odometry() {} + private OdometryThread() {} } /** Information about module states and positions. */ public final Modules modules; - /** The state of the odometry. */ - public final Odometry odometry; + /** Measurements from the IMU. */ + public final IMU imu; + /** The state of the odometry thread. */ + public final OdometryThread odometryThread; /** The current measured robot-relative speeds. */ public final ChassisSpeeds speeds; /** The next target robot-relative speeds. Updated when using {@code applySpeeds()}. */ public final ChassisSpeeds targetSpeeds; /** The directionless measured velocity of the robot. */ public double velocity; - /** The robot's multi-turn yaw as reported by the IMU, in radians. */ - public double multiturnYaw; - /** The robot's pitch as reported by the IMU. */ - public Rotation2d pitch; - /** The robot's roll as reported by the IMU. */ - public Rotation2d roll; /** The current blue origin relative pose of the robot. */ public Pose2d pose; + /** The current blue origin relative translation of the robot. */ + public Translation2d translation; + /** The robot's rotation (yaw) as reported from the pose estimator. */ + public Rotation2d rotation; + /** The timestamp of the swerve state in seconds (FPGA time). */ + public double timestamp; SwerveState(SwerveModule[] modules) { this.modules = new Modules(modules); - odometry = new Odometry(); + imu = new IMU(); + odometryThread = new OdometryThread(); speeds = new ChassisSpeeds(); targetSpeeds = new ChassisSpeeds(); - pitch = Rotation2d.kZero; - roll = Rotation2d.kZero; pose = Pose2d.kZero; + translation = Translation2d.kZero; + rotation = Rotation2d.kZero; } } diff --git a/src/main/java/org/team340/lib/swerve/SwerveTunables.java b/src/main/java/org/team340/lib/swerve/SwerveTunables.java index d9edb30..2d33988 100644 --- a/src/main/java/org/team340/lib/swerve/SwerveTunables.java +++ b/src/main/java/org/team340/lib/swerve/SwerveTunables.java @@ -65,6 +65,7 @@ public static void initialize(String name, SwerveAPI api) { // setLimits() Tunable.doubleValue(name + "/limits/velocity", config.velocity, v -> config.velocity = v); + Tunable.doubleValue(name + "/limits/velDeadband", config.velDeadband, v -> config.velDeadband = v); Tunable.doubleValue(name + "/limits/slipAccel", config.slipAccel, v -> config.slipAccel = v); Tunable.doubleValue(name + "/limits/torqueAccel", config.torqueAccel, v -> config.torqueAccel = v); Tunable.doubleValue(name + "/limits/angularAccel", config.angularAccel, v -> config.angularAccel = v); diff --git a/src/main/java/org/team340/lib/swerve/config/SwerveConfig.java b/src/main/java/org/team340/lib/swerve/config/SwerveConfig.java index 2d06d19..9b27413 100644 --- a/src/main/java/org/team340/lib/swerve/config/SwerveConfig.java +++ b/src/main/java/org/team340/lib/swerve/config/SwerveConfig.java @@ -21,6 +21,8 @@ public class SwerveConfig { public double odometryPeriod = -1.0; /** The period to look ahead for discretizing chassis speeds in seconds. */ public double discretizationPeriod = -1.0; + /** The default frame period for unused CAN signals in seconds. */ + public double defaultFramePeriod = -1.0; /** PID gains for move motors, as a tuple of {@code [kP, kI, kD]}. */ public double[] movePID; /** Feed forward gains for move motors, as a tuple of {@code [kS, kV]}. */ @@ -33,6 +35,8 @@ public class SwerveConfig { public boolean turnBrakeMode = false; /** The maximum forward velocity the robot is capable of in meters/second. */ public double velocity = -1.0; + /** The minimum velocity required for a swerve module to accept a commanded output. */ + public double velDeadband = -1.0; /** The maximum acceleration the robot is capable of relevant to carpet slip in meters/second/second. */ public double slipAccel = -1.0; /** The maximum acceleration the robot is capable of relevant to motor torque in meters/second/second. */ @@ -53,10 +57,14 @@ public class SwerveConfig { public double driverAngularVelDeadband = -1.0; /** The robot's nominal voltage. Typically {@code 12.0}. */ public double voltage = -1.0; - /** The current limit in amps for move motors. */ - public double moveCurrentLimit = -1.0; - /** The current limit in amps for turn motors. */ - public double turnCurrentLimit = -1.0; + /** The stator current limit in amps for move motors. */ + public double moveStatorLimit = -1.0; + /** The supply current limit in amps for move motors. */ + public double moveSupplyLimit = -1.0; + /** The stator current limit in amps for turn motors. */ + public double turnStatorLimit = -1.0; + /** The supply current limit in amps for turn motors. */ + public double turnSupplyLimit = -1.0; /** The move gear ratio, in motor rotations/wheel rotation. */ public double moveGearRatio = -1.0; /** The turn gear ratio, in motor rotations/module rotation. */ @@ -85,11 +93,13 @@ public class SwerveConfig { * @param period The robot's main loop period in seconds. * @param odometry The period to update odometry in seconds. * @param discretization The period to look ahead for discretizing chassis speeds in seconds. + * @param defaultFramePeriod The default frame period for unused CAN signals in seconds. */ - public SwerveConfig setTimings(double period, double odometry, double discretization) { + public SwerveConfig setTimings(double period, double odometry, double discretization, double defaultFramePeriod) { this.period = period; odometryPeriod = odometry; discretizationPeriod = discretization; + this.defaultFramePeriod = defaultFramePeriod; return this; } @@ -146,12 +156,20 @@ public SwerveConfig setBrakeMode(boolean move, boolean turn) { * It is recommended that these values are found empirically using an actual robot. An easy way to do so is to configure infeasible limits, then analyze telemetry. * * @param velocity The maximum forward velocity the robot is capable of in meters/second. More specifically, the maximum velocity a move motor is capable of. + * @param velDeadband The minimum velocity required for a swerve module to accept a commanded output. * @param slipAccel The maximum acceleration the robot is capable of relevant to carpet slip in meters/second/second. * @param torqueAccel The maximum acceleration the robot is capable of relevant to motor torque in meters/second/second. * @param angularAccel The maximum angular acceleration the robot is capable of in radians/second/second. */ - public SwerveConfig setLimits(double velocity, double slipAccel, double torqueAccel, double angularAccel) { + public SwerveConfig setLimits( + double velocity, + double velDeadband, + double slipAccel, + double torqueAccel, + double angularAccel + ) { this.velocity = velocity; + this.velDeadband = velDeadband; this.slipAccel = slipAccel; this.torqueAccel = torqueAccel; this.angularAccel = angularAccel; @@ -187,13 +205,23 @@ public SwerveConfig setDriverProfile( /** * Sets power properties. * @param voltage The robot's nominal voltage. Typically {@code 12.0}. - * @param moveCurrentLimit The current limit in amps for move motors. - * @param turnCurrentLimit The current limit in amps for turn motors. + * @param moveStatorLimit The stator current limit in amps for move motors. + * @param moveSupplyLimit The supply current limit in amps for move motors. Note that this value is ignored for REV devices. + * @param turnStatorLimit The stator current limit in amps for turn motors. + * @param turnSupplyLimit The supply current limit in amps for turn motors. Note that this value is ignored for REV devices. */ - public SwerveConfig setPowerProperties(double voltage, double moveCurrentLimit, double turnCurrentLimit) { + public SwerveConfig setPowerProperties( + double voltage, + double moveStatorLimit, + double moveSupplyLimit, + double turnStatorLimit, + double turnSupplyLimit + ) { this.voltage = voltage; - this.moveCurrentLimit = moveCurrentLimit; - this.turnCurrentLimit = turnCurrentLimit; + this.moveStatorLimit = moveStatorLimit; + this.moveSupplyLimit = moveSupplyLimit; + this.turnStatorLimit = turnStatorLimit; + this.turnSupplyLimit = turnSupplyLimit; return this; } @@ -273,10 +301,12 @@ public void verify() { if (period == -1.0) missing.add("Period"); if (odometryPeriod == -1.0) missing.add("Odometry Period"); if (discretizationPeriod == -1.0) missing.add("Discretization Period"); + if (defaultFramePeriod == -1.0) missing.add("Default Frame Period"); if (movePID == null) missing.add("Move PID"); if (moveFF == null) missing.add("Move FF"); if (turnPID == null) missing.add("Turn PID"); if (velocity == -1.0) missing.add("Velocity"); + if (velDeadband == -1.0) missing.add("Velocity Deadband"); if (slipAccel == -1.0) missing.add("Slip Acceleration"); if (torqueAccel == -1.0) missing.add("Torque Acceleration"); if (angularAccel == -1.0) missing.add("Angular Acceleration"); @@ -287,8 +317,10 @@ public void verify() { if (driverAngularVelExp == -1.0) missing.add("Driver Angular Velocity Exponential"); if (driverAngularVelDeadband == -1.0) missing.add("Driver Angular Velocity Deadband"); if (voltage == -1.0) missing.add("Voltage"); - if (moveCurrentLimit == -1.0) missing.add("Move Current Limit"); - if (turnCurrentLimit == -1.0) missing.add("Turn Current Limit"); + if (moveStatorLimit == -1.0) missing.add("Move Stator Current Limit"); + if (moveSupplyLimit == -1.0) missing.add("Move Supply Current Limit"); + if (turnStatorLimit == -1.0) missing.add("Turn Stator Current Limit"); + if (turnSupplyLimit == -1.0) missing.add("Turn Supply Current Limit"); if (moveGearRatio == -1.0) missing.add("Move Gear Ratio"); if (turnGearRatio == -1.0) missing.add("Turn Gear Ratio"); if (couplingRatio == -1.0) missing.add("Coupling Ratio"); diff --git a/src/main/java/org/team340/lib/swerve/hardware/SwerveBaseHardware.java b/src/main/java/org/team340/lib/swerve/hardware/SwerveBaseHardware.java index 6442fde..866ab97 100644 --- a/src/main/java/org/team340/lib/swerve/hardware/SwerveBaseHardware.java +++ b/src/main/java/org/team340/lib/swerve/hardware/SwerveBaseHardware.java @@ -7,13 +7,6 @@ import org.team340.lib.swerve.SwerveAPI; interface SwerveBaseHardware extends AutoCloseable { - /** - * The CAN frame period in seconds to use for frames containing data - * utilized for telemetry that is not necessarily required for swerve - * to function. - */ - static final double kTelemetryCANPeriod = 0.2; - /** * Returns the device's underlying API. */ diff --git a/src/main/java/org/team340/lib/swerve/hardware/SwerveEncoders.java b/src/main/java/org/team340/lib/swerve/hardware/SwerveEncoders.java index 0f1404c..7a7c812 100644 --- a/src/main/java/org/team340/lib/swerve/hardware/SwerveEncoders.java +++ b/src/main/java/org/team340/lib/swerve/hardware/SwerveEncoders.java @@ -57,7 +57,7 @@ public abstract static class SwerveEncoder implements SwerveBaseHardware { public static interface Ctor extends BiFunction {} /** {@link SwerveEncoder#hookStatus()} */ - public static record HookStatus(boolean readMotor, boolean applyAbsolute) {} + public static final record HookStatus(boolean readMotor, boolean applyAbsolute) {} /** * Constructs a swerve encoder. Wraps to support simulation if applicable. @@ -231,7 +231,7 @@ public static SwerveEncoder.Ctor canandmag(int id, double offset, boolean invert .setDisableZeroButton(true) .setInvertDirection(inverted) .setPositionFramePeriod(config.odometryPeriod) - .setStatusFramePeriod(config.period) + .setStatusFramePeriod(config.defaultFramePeriod) .setVelocityFramePeriod(config.odometryPeriod) .setZeroOffset(offset); @@ -283,19 +283,19 @@ public static SwerveEncoder.Ctor canCoder(int id, double offset, boolean inverte ? SensorDirectionValue.Clockwise_Positive : SensorDirectionValue.CounterClockwise_Positive; - PhoenixUtil.run("Clear Sticky Faults", canCoder, () -> canCoder.clearStickyFaults()); - PhoenixUtil.run("Apply CANcoderConfiguration", canCoder, () -> - canCoder.getConfigurator().apply(canCoderConfig) - ); - PhoenixUtil.run("Set Update Frequency", canCoder, () -> + PhoenixUtil.run("Clear Sticky Faults", () -> canCoder.clearStickyFaults()); + PhoenixUtil.run("Apply CANcoderConfiguration", () -> canCoder.getConfigurator().apply(canCoderConfig)); + PhoenixUtil.run("Set Update Frequency", () -> BaseStatusSignal.setUpdateFrequencyForAll(1.0 / config.odometryPeriod, position, velocity) ); - PhoenixUtil.run("Optimize Bus Utilization", canCoder, () -> - canCoder.optimizeBusUtilization(1.0 / SwerveBaseHardware.kTelemetryCANPeriod, 0.05) + PhoenixUtil.run("Optimize Bus Utilization", () -> + canCoder.optimizeBusUtilization(1.0 / config.defaultFramePeriod, 0.05) ); if (turnMotor.getAPI() instanceof TalonFX talonFX) { var feedbackConfig = new FeedbackConfigs(); + talonFX.getConfigurator().refresh(feedbackConfig); + feedbackConfig.FeedbackRemoteSensorID = id; feedbackConfig.RotorToSensorRatio = config.turnGearRatio; feedbackConfig.FeedbackSensorSource = config.phoenixPro @@ -303,11 +303,11 @@ public static SwerveEncoder.Ctor canCoder(int id, double offset, boolean inverte : FeedbackSensorSourceValue.RemoteCANcoder; var closedLoopConfig = new ClosedLoopGeneralConfigs(); + talonFX.getConfigurator().refresh(closedLoopConfig); closedLoopConfig.ContinuousWrap = true; - PhoenixUtil.run("Apply FeedbackConfigs", talonFX, () -> talonFX.getConfigurator().apply(feedbackConfig) - ); - PhoenixUtil.run("Apply ClosedLoopGeneralConfigs", talonFX, () -> + PhoenixUtil.run("Apply FeedbackConfigs", () -> talonFX.getConfigurator().apply(feedbackConfig)); + PhoenixUtil.run("Apply ClosedLoopGeneralConfigs", () -> talonFX.getConfigurator().apply(closedLoopConfig) ); diff --git a/src/main/java/org/team340/lib/swerve/hardware/SwerveIMUs.java b/src/main/java/org/team340/lib/swerve/hardware/SwerveIMUs.java index 42a5aeb..d05da7e 100644 --- a/src/main/java/org/team340/lib/swerve/hardware/SwerveIMUs.java +++ b/src/main/java/org/team340/lib/swerve/hardware/SwerveIMUs.java @@ -25,7 +25,6 @@ import org.team340.lib.swerve.SwerveAPI; import org.team340.lib.swerve.config.SwerveConfig; import org.team340.lib.swerve.hardware.SwerveIMUs.SwerveIMU.IMUSimHook; -import org.team340.lib.util.Math2; import org.team340.lib.util.Mutable; import org.team340.lib.util.vendors.PhoenixUtil; import org.team340.lib.util.vendors.ReduxUtil; @@ -69,11 +68,6 @@ public static SwerveIMU construct(Ctor ctor, SwerveConfig config, IMUSimHook sim return imu; } - /** - * Gets the IMU's multi-turn yaw in radians. - */ - public abstract double getMultiturnYaw(); - /** * Gets the IMU's absolute yaw. */ @@ -110,11 +104,6 @@ public static SwerveIMU.Ctor adis16470( ADIS16470_IMU adis16470 = new ADIS16470_IMU(yawAxis, pitchAxis, rollAxis, port, calibrationTime); return new SwerveIMU() { - @Override - public double getMultiturnYaw() { - return Math.toRadians(adis16470.getAngle(adis16470.getYawAxis())); - } - @Override public Rotation2d getYaw() { return Rotation2d.fromDegrees(adis16470.getAngle(adis16470.getYawAxis())); @@ -158,27 +147,16 @@ public static SwerveIMU.Ctor canandgyro(int id) { Canandgyro canandgyro = new Canandgyro(id); var settings = new CanandgyroSettings() - .setAccelerationFramePeriod(config.period) - .setAngularPositionFramePeriod(config.period) + .setAccelerationFramePeriod(config.defaultFramePeriod) + .setAngularPositionFramePeriod(config.odometryPeriod) .setAngularVelocityFramePeriod(config.odometryPeriod) - .setStatusFramePeriod(config.period) + .setStatusFramePeriod(config.defaultFramePeriod) .setYawFramePeriod(config.odometryPeriod); canandgyro.clearStickyFaults(); ReduxUtil.applySettings(canandgyro, settings); return new SwerveIMU() { - @Override - public double getMultiturnYaw() { - return ( - ReduxUtil.latencyCompensate( - canandgyro.getMultiturnYawFrame(), - canandgyro.getAngularVelocityYaw() - ) * - Math2.kTwoPi - ); - } - @Override public Rotation2d getYaw() { return Rotation2d.fromRotations( @@ -240,23 +218,23 @@ public static SwerveIMU.Ctor pigeon2(int id) { StatusSignal pitchVelocity = pigeon2.getAngularVelocityXWorld(); StatusSignal rollVelocity = pigeon2.getAngularVelocityYWorld(); - PhoenixUtil.run("Clear Sticky Faults", pigeon2, () -> pigeon2.clearStickyFaults()); - PhoenixUtil.run("Set Update Frequency", pigeon2, () -> - BaseStatusSignal.setUpdateFrequencyForAll(1.0 / config.odometryPeriod, yaw, yawVelocity) - ); - PhoenixUtil.run("Set Update Frequency", pigeon2, () -> - BaseStatusSignal.setUpdateFrequencyForAll(1.0 / config.period, pitch, roll, pitchVelocity, rollVelocity) + PhoenixUtil.run("Clear Sticky Faults", () -> pigeon2.clearStickyFaults()); + PhoenixUtil.run("Set Update Frequency", () -> + BaseStatusSignal.setUpdateFrequencyForAll( + 1.0 / config.odometryPeriod, + yaw, + pitch, + roll, + yawVelocity, + pitchVelocity, + rollVelocity + ) ); - PhoenixUtil.run("Optimize Bus Utilization", pigeon2, () -> - pigeon2.optimizeBusUtilization(1.0 / SwerveBaseHardware.kTelemetryCANPeriod, 0.05) + PhoenixUtil.run("Optimize Bus Utilization", () -> + pigeon2.optimizeBusUtilization(1.0 / config.defaultFramePeriod, 0.05) ); return new SwerveIMU() { - @Override - public double getMultiturnYaw() { - return Math.toRadians(BaseStatusSignal.getLatencyCompensatedValueAsDouble(yaw, yawVelocity)); - } - @Override public Rotation2d getYaw() { return Rotation2d.fromDegrees( @@ -314,11 +292,6 @@ private static SwerveIMU simulate(SwerveIMU imu, SwerveConfig config, IMUSimHook }); return new SwerveIMU() { - @Override - public double getMultiturnYaw() { - return yaw.value; - } - @Override public Rotation2d getYaw() { return Rotation2d.fromRadians(yaw.value); diff --git a/src/main/java/org/team340/lib/swerve/hardware/SwerveMotors.java b/src/main/java/org/team340/lib/swerve/hardware/SwerveMotors.java index 2f002e7..585f6b5 100644 --- a/src/main/java/org/team340/lib/swerve/hardware/SwerveMotors.java +++ b/src/main/java/org/team340/lib/swerve/hardware/SwerveMotors.java @@ -2,7 +2,6 @@ import com.ctre.phoenix6.BaseStatusSignal; import com.ctre.phoenix6.StatusSignal; -import com.ctre.phoenix6.configs.Slot0Configs; import com.ctre.phoenix6.configs.TalonFXConfiguration; import com.ctre.phoenix6.controls.PositionVoltage; import com.ctre.phoenix6.controls.VelocityVoltage; @@ -109,13 +108,12 @@ public static SwerveMotor construct(Ctor ctor, SwerveConfig config, boolean isMo /** * Configures a {@link CANSparkMax Spark Max}. * @param id CAN ID of the device, as configured in the REV Hardware Client. - * @param type The motor type connected to the controller. * @param inverted If the motor is inverted. */ - public static SwerveMotor.Ctor sparkMax(int id, MotorType type, boolean inverted) { + public static SwerveMotor.Ctor sparkMax(int id, boolean inverted) { return (config, isMoveMotor) -> { var deviceLogger = new SparkMaxLogger(); - SparkMax sparkMax = new SparkMax(id, type); + SparkMax sparkMax = new SparkMax(id, MotorType.kBrushless); RelativeEncoder relativeEncoder = sparkMax.getEncoder(); SparkClosedLoopController pid = sparkMax.getClosedLoopController(); ClosedLoopSlot pidSlot = ClosedLoopSlot.kSlot0; @@ -127,7 +125,7 @@ public static SwerveMotor.Ctor sparkMax(int id, MotorType type, boolean inverted sparkConfig .voltageCompensation(config.voltage) - .smartCurrentLimit((int) (isMoveMotor ? config.moveCurrentLimit : config.turnCurrentLimit)) + .smartCurrentLimit((int) (isMoveMotor ? config.moveStatorLimit : config.turnStatorLimit)) .idleMode( (isMoveMotor ? config.moveBrakeMode : config.turnBrakeMode) ? IdleMode.kBrake : IdleMode.kCoast ) @@ -137,14 +135,12 @@ public static SwerveMotor.Ctor sparkMax(int id, MotorType type, boolean inverted .feedbackSensor(FeedbackSensor.kPrimaryEncoder) .pid(pidGains[0], pidGains[1], pidGains[2], pidSlot); - sparkConfig.encoder - .positionConversionFactor(1.0) - .velocityConversionFactor(1.0 / 60.0); + sparkConfig.encoder.positionConversionFactor(1.0).velocityConversionFactor(1.0 / 60.0); sparkConfig.signals - .appliedOutputPeriodMs((int) (config.period * 1000.0)) + .appliedOutputPeriodMs((int) (config.defaultFramePeriod * 1000.0)) .faultsAlwaysOn(true) - .faultsPeriodMs((int) (config.period * 1000.0)) + .faultsPeriodMs((int) (config.defaultFramePeriod * 1000.0)) .primaryEncoderPositionAlwaysOn(true) .primaryEncoderPositionPeriodMs((int) (config.odometryPeriod * 1000.0)) .primaryEncoderVelocityAlwaysOn(true) @@ -227,13 +223,12 @@ public void close() { /** * Configures a {@link CANSparkFlex Spark Flex}. * @param id CAN ID of the device, as configured in the REV Hardware Client. - * @param type The motor type connected to the controller. * @param inverted If the motor is inverted. */ - public static SwerveMotor.Ctor sparkFlex(int id, MotorType type, boolean inverted) { + public static SwerveMotor.Ctor sparkFlex(int id, boolean inverted) { return (config, isMoveMotor) -> { var deviceLogger = new SparkFlexLogger(); - SparkFlex sparkFlex = new SparkFlex(id, type); + SparkFlex sparkFlex = new SparkFlex(id, MotorType.kBrushless); RelativeEncoder relativeEncoder = sparkFlex.getEncoder(); SparkClosedLoopController pid = sparkFlex.getClosedLoopController(); ClosedLoopSlot pidSlot = ClosedLoopSlot.kSlot0; @@ -245,7 +240,7 @@ public static SwerveMotor.Ctor sparkFlex(int id, MotorType type, boolean inverte sparkConfig .voltageCompensation(config.voltage) - .smartCurrentLimit((int) (isMoveMotor ? config.moveCurrentLimit : config.turnCurrentLimit)) + .smartCurrentLimit((int) (isMoveMotor ? config.moveStatorLimit : config.turnStatorLimit)) .idleMode( (isMoveMotor ? config.moveBrakeMode : config.turnBrakeMode) ? IdleMode.kBrake : IdleMode.kCoast ) @@ -262,9 +257,9 @@ public static SwerveMotor.Ctor sparkFlex(int id, MotorType type, boolean inverte .quadratureAverageDepth(isMoveMotor ? 8 : 64); sparkConfig.signals - .appliedOutputPeriodMs((int) (config.period * 1000.0)) + .appliedOutputPeriodMs((int) (config.defaultFramePeriod * 1000.0)) .faultsAlwaysOn(true) - .faultsPeriodMs((int) (config.period * 1000.0)) + .faultsPeriodMs((int) (config.defaultFramePeriod * 1000.0)) .primaryEncoderPositionAlwaysOn(true) .primaryEncoderPositionPeriodMs((int) (config.odometryPeriod * 1000.0)) .primaryEncoderVelocityAlwaysOn(true) @@ -358,30 +353,32 @@ public static SwerveMotor.Ctor talonFX(int id, boolean inverted) { StatusSignal velocity = talonFX.getVelocity().clone(); boolean enableFOC = isMoveMotor ? config.phoenixMoveFOC : config.phoenixTurnFOC; - boolean timesync = config.phoenixPro && config.phoenixCanBus.isNetworkFD(); PositionVoltage positionControl = new PositionVoltage(0.0); positionControl.EnableFOC = enableFOC; - positionControl.UseTimesync = timesync; positionControl.UpdateFreqHz = 0.0; VelocityVoltage velocityControl = new VelocityVoltage(0.0); velocityControl.EnableFOC = enableFOC; - velocityControl.UseTimesync = timesync; velocityControl.UpdateFreqHz = 0.0; - VoltageOut voltageControl = new VoltageOut(0); + VoltageOut voltageControl = new VoltageOut(0.0); double[] pidGains = isMoveMotor ? config.movePID : config.turnPID; double[] ffGains = isMoveMotor ? config.moveFF : new double[] { 0.0, 0.0 }; + double statorLimit = isMoveMotor ? config.moveStatorLimit : config.turnStatorLimit; + double supplyLimit = isMoveMotor ? config.moveSupplyLimit : config.turnSupplyLimit; + var talonConfig = new TalonFXConfiguration(); - double currentLimit = isMoveMotor ? config.moveCurrentLimit : config.turnCurrentLimit; - talonConfig.CurrentLimits.StatorCurrentLimit = currentLimit; - talonConfig.CurrentLimits.SupplyCurrentLimit = currentLimit; + talonConfig.Audio.AllowMusicDurDisable = true; + + talonConfig.CurrentLimits.StatorCurrentLimit = statorLimit; + talonConfig.CurrentLimits.SupplyCurrentLimit = supplyLimit; + talonConfig.TorqueCurrent.PeakForwardTorqueCurrent = statorLimit; + talonConfig.TorqueCurrent.PeakReverseTorqueCurrent = -statorLimit; - talonConfig.MotorOutput.ControlTimesyncFreqHz = 1.0 / config.period; talonConfig.MotorOutput.Inverted = inverted ? InvertedValue.Clockwise_Positive : InvertedValue.CounterClockwise_Positive; @@ -395,16 +392,16 @@ public static SwerveMotor.Ctor talonFX(int id, boolean inverted) { talonConfig.Slot0.kS = ffGains[0]; talonConfig.Slot0.kV = ffGains[1]; - PhoenixUtil.run("Clear Sticky Faults", talonFX, () -> talonFX.clearStickyFaults()); - PhoenixUtil.run("Apply TalonFXConfiguration", talonFX, () -> talonFX.getConfigurator().apply(talonConfig)); - PhoenixUtil.run("Set Update Frequency", talonFX, () -> + PhoenixUtil.run("Clear Sticky Faults", () -> talonFX.clearStickyFaults()); + PhoenixUtil.run("Apply TalonFXConfiguration", () -> talonFX.getConfigurator().apply(talonConfig)); + PhoenixUtil.run("Set Update Frequency", () -> BaseStatusSignal.setUpdateFrequencyForAll(1.0 / config.odometryPeriod, position, velocity) ); - PhoenixUtil.run("Optimize Bus Utilization", talonFX, () -> - talonFX.optimizeBusUtilization(1.0 / SwerveBaseHardware.kTelemetryCANPeriod, 0.05) + PhoenixUtil.run("Optimize Bus Utilization", () -> + talonFX.optimizeBusUtilization(1.0 / config.defaultFramePeriod, 0.05) ); - if (isMoveMotor) PhoenixUtil.run("Zero Encoder", talonFX, () -> talonFX.setPosition(0.0)); + if (isMoveMotor) PhoenixUtil.run("Zero Rotor Encoder", () -> talonFX.setPosition(0.0)); return new SwerveMotor() { @Override @@ -437,7 +434,7 @@ public void reapplyGains() { double[] pidGains = isMoveMotor ? config.movePID : config.turnPID; double[] ffGains = isMoveMotor ? config.moveFF : new double[] { 0.0, 0.0 }; - var slot0Config = new Slot0Configs(); + var slot0Config = talonConfig.Slot0; slot0Config.kP = pidGains[0]; slot0Config.kI = pidGains[1]; slot0Config.kD = pidGains[2]; diff --git a/src/main/java/org/team340/lib/util/DisableWatchdog.java b/src/main/java/org/team340/lib/util/DisableWatchdog.java new file mode 100644 index 0000000..7533148 --- /dev/null +++ b/src/main/java/org/team340/lib/util/DisableWatchdog.java @@ -0,0 +1,50 @@ +package org.team340.lib.util; + +import edu.wpi.first.wpilibj.DriverStation; +import edu.wpi.first.wpilibj.Watchdog; +import java.lang.reflect.Field; + +/** + * Utility class for disabling {@link Watchdog} instances inside objects. + */ +public final class DisableWatchdog { + + private DisableWatchdog() { + throw new AssertionError("This is a utility class!"); + } + + /** + * Disables a {@link Watchdog} instance within the specified object. + * @param obj The object containing the {@link Watchdog} to disable. + * @param fieldName The name of the field the {@link Watchdog} is declared as. + */ + public static void in(Object obj, String fieldName) { + try { + Field field = null; + Class clazz = obj.getClass(); + + while (field == null) { + try { + field = clazz.getDeclaredField(fieldName); + } catch (Exception e) { + clazz = clazz.getSuperclass(); + if (clazz == null) throw new RuntimeException(); + } + } + + field.setAccessible(true); + Watchdog watchdog = (Watchdog) field.get(obj); + watchdog.disable(); + watchdog.setTimeout(1e6); + } catch (Exception e) { + DriverStation.reportWarning( + "Unable to disable watchdog: Attempted with accessor \"" + + obj.getClass().getSimpleName() + + "." + + fieldName + + "\"", + false + ); + } + } +} diff --git a/src/main/java/org/team340/lib/util/GRRDashboard.java b/src/main/java/org/team340/lib/util/GRRDashboard.java deleted file mode 100644 index ed06950..0000000 --- a/src/main/java/org/team340/lib/util/GRRDashboard.java +++ /dev/null @@ -1,152 +0,0 @@ -package org.team340.lib.util; - -import choreo.Choreo.TrajectoryCache; -import choreo.trajectory.SwerveSample; -import choreo.trajectory.Trajectory; -import edu.wpi.first.math.Pair; -import edu.wpi.first.networktables.NetworkTable; -import edu.wpi.first.networktables.NetworkTableInstance; -import edu.wpi.first.networktables.RawPublisher; -import edu.wpi.first.networktables.StringPublisher; -import edu.wpi.first.networktables.StringSubscriber; -import edu.wpi.first.wpilibj2.command.Command; -import edu.wpi.first.wpilibj2.command.Commands; -import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * Utility class for interfacing with GRRDashboard. - */ -public final class GRRDashboard { - - private GRRDashboard() { - throw new AssertionError("This is a utility class!"); - } - - private static final NetworkTable nt = NetworkTableInstance.getDefault().getTable("GRRDashboard"); - - private static final String defaultAuto = "Do Nothing"; - private static final Map> autoOptions = new LinkedHashMap<>(); - private static final NetworkTable autoOptionsTable = nt.getSubTable("autos/options"); - private static final StringPublisher activeAutoPub = nt.getStringTopic("autos/active").publish(); - private static final StringSubscriber selectedAutoSub = nt.getStringTopic("autos/selected").subscribe(defaultAuto); - - private static TrajectoryCache trajectoryCache = new TrajectoryCache(); - private static Command selectedAuto = Commands.none(); - - static { - addAuto(defaultAuto, selectedAuto); - activeAutoPub.setDefault(defaultAuto); - } - - /** - * Sets the Choreo {@link TrajectoryCache} in use. Utilized for loading trajectories. - * @param cache The trajectory cache in use by the robot. - */ - public static void setTrajectoryCache(TrajectoryCache cache) { - trajectoryCache = cache; - } - - /** - * Adds an auto to the dashboard. - * @param label The label for the auto. - * @param command The auto's command. - * @return The auto's label. - */ - public static String addAuto(String label, Command command) { - return addAuto(label, List.of(), command); - } - - /** - * Adds an auto to the dashboard. - * @param label The label for the auto. - * @param trajectory The name of the trajectory utilized by the auto. - * @param command The auto's command. - * @return The auto's label. - */ - public static String addAuto(String label, String trajectory, Command command) { - return addAuto(label, List.of(trajectory), command); - } - - /** - * Adds an auto to the dashboard. - * @param label The label for the auto. - * @param trajectories A list of the names of trajectories utilized by the auto. - * @param command The auto's command. - * @return The auto's label. - */ - @SuppressWarnings("unchecked") - public static String addAuto(String label, List trajectories, Command command) { - List> loaded = new ArrayList<>(); - for (String name : trajectories) { - var trajectory = trajectoryCache.loadTrajectory(name); - loaded.add( - trajectory.isPresent() - ? (Trajectory) trajectory.get() - : new Trajectory("", List.of(), List.of(), List.of()) - ); - } - - int size = loaded.stream().mapToInt(t -> t.samples().size() * 16).sum(); - ByteBuffer serialized = ByteBuffer.allocate(size + 4); - - double t = 0.0; - for (int i = 0; i < loaded.size(); i++) { - var trajectory = loaded.get(i); - for (SwerveSample sample : trajectory.samples()) { - serialized - .putFloat((float) sample.x) - .putFloat((float) sample.y) - .putFloat((float) sample.heading) - .putFloat((float) (sample.t + t)); - } - - var last = trajectory.getFinalSample(false); - if (last.isPresent()) t += last.get().t; - } - - serialized.putFloat((float) t); - var pub = autoOptionsTable.getRawTopic(label).publish("raw"); - autoOptions.put(label, Pair.of(command, pub)); - pub.set(serialized); - - return label; - } - - /** - * Gets the command of the currently selected auto. Note that this method - * is not intended for use with triggers or command compositions, as the - * returned command will not update when the selection changes. Use - * {@link GRRDashboard#runSelectedAuto()} instead. - */ - public static Command getSelectedAuto() { - return selectedAuto; - } - - /** - * Returns a command that when scheduled will run the currently selected auto. - */ - public static Command runSelectedAuto() { - return Commands.defer(() -> selectedAuto.asProxy(), Set.of()).withName("GRRDashboard.runSelectedAuto()"); - } - - /** - * Syncs data with the dashboard. Must be called - * periodically in order for this class to function. - */ - public static void update() { - String[] selections = selectedAutoSub.readQueueValues(); - if (selections.length > 0) { - String selection = selections[selections.length - 1]; - var option = autoOptions.get(selection); - if (option != null) { - activeAutoPub.set(selection); - selectedAuto = option.getFirst(); - } - } - } -} diff --git a/src/main/java/org/team340/lib/util/Tunable.java b/src/main/java/org/team340/lib/util/Tunable.java index ee18fc9..a860576 100644 --- a/src/main/java/org/team340/lib/util/Tunable.java +++ b/src/main/java/org/team340/lib/util/Tunable.java @@ -13,6 +13,7 @@ import edu.wpi.first.epilogue.Logged.Strategy; import edu.wpi.first.math.controller.PIDController; import edu.wpi.first.math.controller.ProfiledPIDController; +import edu.wpi.first.math.filter.Debouncer; import edu.wpi.first.math.trajectory.TrapezoidProfile; import edu.wpi.first.networktables.BooleanEntry; import edu.wpi.first.networktables.DoubleEntry; @@ -76,23 +77,36 @@ public static TunableBoolean booleanValue(String name, boolean defaultValue, Boo public static final class TunableBoolean implements AutoCloseable { private final BooleanEntry entry; + private boolean value; private TunableBoolean(String name, boolean defaultValue, BooleanConsumer onChange) { entry = nt.getBooleanTopic(name).getEntry(defaultValue); entry.setDefault(defaultValue); - if (onChange != null) { - pollChanges.bind(() -> { + value = defaultValue; + + pollChanges.bind(() -> { + value = entry.get(); + if (onChange != null) { boolean[] changes = entry.readQueueValues(); if (changes.length > 0) onChange.accept(changes[changes.length - 1]); - }); - } + } + }); } /** * Returns the value of the tunable. */ public boolean value() { - return entry.get(); + return value; + } + + /** + * Sets the value of the tunable. + * @param value The new value. + */ + public void set(boolean value) { + this.value = value; + entry.set(value); } @Override @@ -127,23 +141,36 @@ public static TunableInteger intValue(String name, int defaultValue, IntConsumer public static final class TunableInteger implements AutoCloseable { private final IntegerEntry entry; + private int value; private TunableInteger(String name, int defaultValue, IntConsumer onChange) { entry = nt.getIntegerTopic(name).getEntry(defaultValue); entry.setDefault(defaultValue); - if (onChange != null) { - pollChanges.bind(() -> { + value = defaultValue; + + pollChanges.bind(() -> { + value = (int) entry.get(); + if (onChange != null) { long[] changes = entry.readQueueValues(); if (changes.length > 0) onChange.accept((int) changes[changes.length - 1]); - }); - } + } + }); } /** * Returns the value of the tunable. */ public int value() { - return (int) entry.get(); + return value; + } + + /** + * Sets the value of the tunable. + * @param value The new value. + */ + public void set(int value) { + this.value = value; + entry.set(value); } @Override @@ -178,23 +205,36 @@ public static TunableFloat floatValue(String name, float defaultValue, FloatCons public static final class TunableFloat implements AutoCloseable { private final FloatEntry entry; + private float value; private TunableFloat(String name, float defaultValue, FloatConsumer onChange) { entry = nt.getFloatTopic(name).getEntry(defaultValue); entry.setDefault(defaultValue); - if (onChange != null) { - pollChanges.bind(() -> { + value = defaultValue; + + pollChanges.bind(() -> { + value = entry.get(); + if (onChange != null) { float[] changes = entry.readQueueValues(); if (changes.length > 0) onChange.accept(changes[changes.length - 1]); - }); - } + } + }); } /** * Returns the value of the tunable. */ public float value() { - return entry.get(); + return value; + } + + /** + * Sets the value of the tunable. + * @param value The new value. + */ + public void set(float value) { + this.value = value; + entry.set(value); } @Override @@ -229,23 +269,36 @@ public static TunableDouble doubleValue(String name, double defaultValue, Double public static final class TunableDouble implements AutoCloseable { private final DoubleEntry entry; + private double value; private TunableDouble(String name, double defaultValue, DoubleConsumer onChange) { entry = nt.getDoubleTopic(name).getEntry(defaultValue); entry.setDefault(defaultValue); - if (onChange != null) { - pollChanges.bind(() -> { + value = defaultValue; + + pollChanges.bind(() -> { + value = entry.get(); + if (onChange != null) { double[] changes = entry.readQueueValues(); if (changes.length > 0) onChange.accept(changes[changes.length - 1]); - }); - } + } + }); } /** * Returns the value of the tunable. */ public double value() { - return entry.get(); + return value; + } + + /** + * Sets the value of the tunable. + * @param value The new value. + */ + public void set(double value) { + this.value = value; + entry.set(value); } @Override @@ -280,23 +333,36 @@ public static TunableString stringValue(String name, String defaultValue, Consum public static final class TunableString implements AutoCloseable { private final StringEntry entry; + private String value; private TunableString(String name, String defaultValue, Consumer onChange) { entry = nt.getStringTopic(name).getEntry(defaultValue); entry.setDefault(defaultValue); - if (onChange != null) { - pollChanges.bind(() -> { + value = defaultValue; + + pollChanges.bind(() -> { + value = entry.get(); + if (onChange != null) { String[] changes = entry.readQueueValues(); if (changes.length > 0) onChange.accept(changes[changes.length - 1]); - }); - } + } + }); } /** * Returns the value of the tunable. */ public String value() { - return entry.get(); + return value; + } + + /** + * Sets the value of the tunable. + * @param value The new value. + */ + public void set(String value) { + this.value = value; + entry.set(value); } @Override @@ -311,10 +377,10 @@ public void close() { * @param controller The PID controller. */ public static void pidController(String name, PIDController controller) { - doubleValue(name + "/kP", controller.getP(), v -> controller.setP(v)); - doubleValue(name + "/kI", controller.getI(), v -> controller.setI(v)); - doubleValue(name + "/kD", controller.getD(), v -> controller.setD(v)); - doubleValue(name + "/iZone", controller.getIZone(), v -> controller.setIZone(v)); + doubleValue(name + "/kP", controller.getP(), controller::setP); + doubleValue(name + "/kI", controller.getI(), controller::setI); + doubleValue(name + "/kD", controller.getD(), controller::setD); + doubleValue(name + "/iZone", controller.getIZone(), controller::setIZone); } /** @@ -323,10 +389,10 @@ public static void pidController(String name, PIDController controller) { * @param controller The PID controller. */ public static void pidController(String name, ProfiledPIDController controller) { - doubleValue(name + "/kP", controller.getP(), v -> controller.setP(v)); - doubleValue(name + "/kI", controller.getI(), v -> controller.setI(v)); - doubleValue(name + "/kD", controller.getD(), v -> controller.setD(v)); - doubleValue(name + "/iZone", controller.getIZone(), v -> controller.setIZone(v)); + doubleValue(name + "/kP", controller.getP(), controller::setP); + doubleValue(name + "/kI", controller.getI(), controller::setI); + doubleValue(name + "/kD", controller.getD(), controller::setD); + doubleValue(name + "/iZone", controller.getIZone(), controller::setIZone); doubleValue(name + "/maxVelocity", controller.getConstraints().maxVelocity, v -> controller.setConstraints(new TrapezoidProfile.Constraints(v, controller.getConstraints().maxAcceleration)) ); @@ -574,7 +640,7 @@ public static void motionProfile(String name, SparkFlex spark, ClosedLoopSlot sl /** * Enables tuning a {@link TalonFX}'s motion magic config. - * @param The name for the tunable. Must be unique. + * @param name The name for the tunable. Must be unique. * @param talonFX The TalonFX to tune. */ public static void motionProfile(String name, TalonFX talonFX) { @@ -607,4 +673,13 @@ public static void motionProfile(String name, TalonFX talonFX) { talonFX.getConfigurator().apply(config); }); } + + /** + * Enables tuning a {@link Debouncer}'s debounce time. + * @param name The name for the tunable. Must be unique. + * @param debouncer The debouncer to tune. + */ + public static void debounce(String name, Debouncer debouncer) { + doubleValue(name, debouncer.getDebounceTime(), debouncer::setDebounceTime); + } } diff --git a/src/main/java/org/team340/lib/util/vendors/PhoenixUtil.java b/src/main/java/org/team340/lib/util/vendors/PhoenixUtil.java index 814b96d..3e490c8 100644 --- a/src/main/java/org/team340/lib/util/vendors/PhoenixUtil.java +++ b/src/main/java/org/team340/lib/util/vendors/PhoenixUtil.java @@ -1,7 +1,6 @@ package org.team340.lib.util.vendors; import com.ctre.phoenix6.StatusCode; -import com.ctre.phoenix6.hardware.ParentDevice; import edu.wpi.first.wpilibj.DriverStation; import java.util.function.Supplier; @@ -18,23 +17,21 @@ private PhoenixUtil() { * Runs a Phoenix API call and checks for errors. Will * try up to 3 times if the target API call fails. * @param name The name of the API call. - * @param device The device the call is relevant to. * @param target The target call to run. * @return {@code true} if success ({@link StatusCode#isOK()}), {@code false} otherwise. */ - public static boolean run(String name, ParentDevice device, Supplier target) { - return run(name, device, target, 3); + public static boolean run(String name, Supplier target) { + return run(name, target, 3); } /** * Runs a Phoenix API call and checks for errors. * @param name The name of the API call. - * @param device The device the call is relevant to. * @param target The target call to run. * @param maxTries The number of times to try the call before failing. {@code 1} only runs the call once. * @return {@code true} if success ({@link StatusCode#isOK()}), {@code false} otherwise. */ - public static boolean run(String name, ParentDevice device, Supplier target, int maxTries) { + public static boolean run(String name, Supplier target, int maxTries) { String results = ""; for (int i = 0; i < maxTries; i++) { StatusCode result = target.get(); @@ -42,17 +39,7 @@ public static boolean run(String name, ParentDevice device, Supplier results += (results.isEmpty() ? "" : ", ") + result.name(); } - DriverStation.reportError( - "[PhoenixUtil] " + - device.getClass().getSimpleName() + - " (ID " + - device.getDeviceID() + - ") \"" + - name + - "\": " + - results, - false - ); + DriverStation.reportError("[PhoenixUtil] " + name + "\": " + results, false); return false; } } diff --git a/src/main/java/org/team340/robot/Constants.java b/src/main/java/org/team340/robot/Constants.java index 86783bd..98001b4 100644 --- a/src/main/java/org/team340/robot/Constants.java +++ b/src/main/java/org/team340/robot/Constants.java @@ -18,7 +18,7 @@ public final class Constants { */ public static final class RobotMap { - public static final String kSwerveCANBus = "Swerve"; + public static final String kLowerCANBus = "LowerCAN"; public static final int kFlMove = 2; public static final int kFlTurn = 3; diff --git a/src/main/java/org/team340/robot/Robot.java b/src/main/java/org/team340/robot/Robot.java index 211ec54..9af1b8d 100644 --- a/src/main/java/org/team340/robot/Robot.java +++ b/src/main/java/org/team340/robot/Robot.java @@ -5,13 +5,15 @@ import com.ctre.phoenix6.SignalLogger; import edu.wpi.first.epilogue.Epilogue; import edu.wpi.first.epilogue.Logged; +import edu.wpi.first.epilogue.NotLogged; import edu.wpi.first.wpilibj.DataLogManager; import edu.wpi.first.wpilibj.DriverStation; +import edu.wpi.first.wpilibj.Threads; import edu.wpi.first.wpilibj.TimedRobot; import edu.wpi.first.wpilibj2.command.CommandScheduler; import edu.wpi.first.wpilibj2.command.button.CommandXboxController; import edu.wpi.first.wpilibj2.command.button.RobotModeTriggers; -import org.team340.lib.util.GRRDashboard; +import org.team340.lib.util.DisableWatchdog; import org.team340.lib.util.Profiler; import org.team340.lib.util.Tunable; import org.team340.robot.commands.Autos; @@ -21,6 +23,8 @@ @Logged public final class Robot extends TimedRobot { + private final CommandScheduler scheduler = CommandScheduler.getInstance(); + public final Swerve swerve; public final Routines routines; @@ -31,6 +35,8 @@ public final class Robot extends TimedRobot { public Robot() { DriverStation.silenceJoystickConnectionWarning(true); + DisableWatchdog.in(scheduler, "m_watchdog"); + DisableWatchdog.in(this, "m_watchdog"); // Configure logging DataLogManager.start(); @@ -49,32 +55,47 @@ public Robot() { driver = new CommandXboxController(Constants.kDriver); coDriver = new CommandXboxController(Constants.kCoDriver); - // Set default commands - swerve.setDefaultCommand( - swerve.drive( - driver::getLeftX, - driver::getLeftY, - () -> driver.getLeftTriggerAxis() - driver.getRightTriggerAxis() - ) - ); - // Create triggers - RobotModeTriggers.autonomous().whileTrue(GRRDashboard.runSelectedAuto()); + RobotModeTriggers.autonomous().whileTrue(autos.runSelectedAuto()); // Driver bindings driver.povLeft().onTrue(swerve.tareRotation()); // Co-driver bindings coDriver.a().onTrue(none()); + + // Set thread priority + Threads.setCurrentThreadPriority(true, 10); + } + + /** + * Returns the current match time in seconds. + */ + public double matchTime() { + return Math.max(DriverStation.getMatchTime(), 0.0); + } + + @NotLogged + public double driverX() { + return driver.getLeftX(); + } + + @NotLogged + public double driverY() { + return driver.getLeftY(); + } + + @NotLogged + public double driverAngular() { + return driver.getLeftTriggerAxis() - driver.getRightTriggerAxis(); } @Override public void robotPeriodic() { - Profiler.start("RobotPeriodic"); - Profiler.run("CommandScheduler", () -> CommandScheduler.getInstance().run()); - Profiler.run("Epilogue", () -> Epilogue.update(this)); - Profiler.run("GRRDashboard", GRRDashboard::update); - Profiler.run("Tunables", Tunable::update); + Profiler.start("robotPeriodic"); + Profiler.run("scheduler", scheduler::run); + Profiler.run("epilogue", () -> Epilogue.update(this)); + Profiler.run("tunables", Tunable::update); Profiler.end(); } diff --git a/src/main/java/org/team340/robot/commands/Autos.java b/src/main/java/org/team340/robot/commands/Autos.java index 5110cf5..755f677 100644 --- a/src/main/java/org/team340/robot/commands/Autos.java +++ b/src/main/java/org/team340/robot/commands/Autos.java @@ -2,13 +2,15 @@ import static edu.wpi.first.wpilibj2.command.Commands.*; +import choreo.auto.AutoChooser; +import choreo.auto.AutoChooser; import choreo.auto.AutoFactory; import choreo.auto.AutoRoutine; import choreo.auto.AutoTrajectory; import edu.wpi.first.epilogue.Logged; import edu.wpi.first.epilogue.Logged.Strategy; +import edu.wpi.first.wpilibj.smartdashboard.SmartDashboard; import edu.wpi.first.wpilibj2.command.Command; -import org.team340.lib.util.GRRDashboard; import org.team340.robot.Robot; import org.team340.robot.subsystems.Swerve; @@ -16,6 +18,7 @@ * The Autos class declares autonomous modes, and adds them * to the dashboard to be selected by the drive team. */ +@SuppressWarnings("unused") @Logged(strategy = Strategy.OPT_IN) public final class Autos { @@ -23,6 +26,7 @@ public final class Autos { private final Routines routines; private final AutoFactory factory; + private final AutoChooser chooser; public Autos(Robot robot) { swerve = robot.swerve; @@ -30,19 +34,26 @@ public Autos(Robot robot) { // Create the auto factory factory = new AutoFactory(swerve::getPose, swerve::resetPose, swerve::followTrajectory, true, swerve); + chooser = new AutoChooser(); // Add autonomous modes to the dashboard - GRRDashboard.setTrajectoryCache(factory.cache()); - GRRDashboard.addAuto("Example", "example", example()); + chooser.addRoutine("Example", this::example); + SmartDashboard.putData("autos", chooser); } - private Command example() { + /** + * Returns a command that when scheduled will run the currently selected auto. + */ + public Command runSelectedAuto() { + return chooser.selectedCommandScheduler(); + } + + private AutoRoutine example() { AutoRoutine routine = factory.newRoutine("Example"); - AutoTrajectory exampleTraj = routine.trajectory("example"); + AutoTrajectory exampleTraj = routine.trajectory("ExampleTrajectory"); - routine.active().onTrue(sequence(exampleTraj.resetOdometry(), exampleTraj.cmd())); - exampleTraj.done().onTrue(sequence(routines.example(), swerve.finishAuto())); + routine.active().onTrue(sequence(exampleTraj.resetOdometry(), exampleTraj.spawnCmd())); - return routine.cmd(); + return routine; } } diff --git a/src/main/java/org/team340/robot/subsystems/Swerve.java b/src/main/java/org/team340/robot/subsystems/Swerve.java index a641a32..4bc821d 100644 --- a/src/main/java/org/team340/robot/subsystems/Swerve.java +++ b/src/main/java/org/team340/robot/subsystems/Swerve.java @@ -14,6 +14,7 @@ import java.util.function.DoubleSupplier; import org.team340.lib.swerve.Perspective; import org.team340.lib.swerve.SwerveAPI; +import org.team340.lib.swerve.SwerveState; import org.team340.lib.swerve.config.SwerveConfig; import org.team340.lib.swerve.config.SwerveModuleConfig; import org.team340.lib.swerve.hardware.SwerveEncoders; @@ -30,72 +31,72 @@ @Logged public final class Swerve extends GRRSubsystem { + private static final double kMoveRatio = (54.0 / 10.0) * (18.0 / 38.0) * (45.0 / 15.0); + private static final double kTurnRatio = (22.0 / 10.0) * (88.0 / 16.0); + private static final double kModuleOffset = Units.inchesToMeters(12.5); + private static final SwerveModuleConfig kFrontLeft = new SwerveModuleConfig() .setName("frontLeft") - .setLocation(0.28, 0.28) + .setLocation(kModuleOffset, kModuleOffset) .setMoveMotor(SwerveMotors.talonFX(RobotMap.kFlMove, true)) .setTurnMotor(SwerveMotors.talonFX(RobotMap.kFlTurn, true)) - .setEncoder(SwerveEncoders.canCoder(RobotMap.kFlEncoder, 0.0, true)); + .setEncoder(SwerveEncoders.canCoder(RobotMap.kFlEncoder, 0.0, false)); private static final SwerveModuleConfig kFrontRight = new SwerveModuleConfig() .setName("frontRight") - .setLocation(0.28, -0.28) + .setLocation(kModuleOffset, -kModuleOffset) .setMoveMotor(SwerveMotors.talonFX(RobotMap.kFrMove, true)) .setTurnMotor(SwerveMotors.talonFX(RobotMap.kFrTurn, true)) - .setEncoder(SwerveEncoders.canCoder(RobotMap.kFrEncoder, 0.0, true)); + .setEncoder(SwerveEncoders.canCoder(RobotMap.kFrEncoder, 0.0, false)); private static final SwerveModuleConfig kBackLeft = new SwerveModuleConfig() .setName("backLeft") - .setLocation(-0.28, 0.28) + .setLocation(-kModuleOffset, kModuleOffset) .setMoveMotor(SwerveMotors.talonFX(RobotMap.kBlMove, true)) .setTurnMotor(SwerveMotors.talonFX(RobotMap.kBlTurn, true)) - .setEncoder(SwerveEncoders.canCoder(RobotMap.kBlEncoder, 0.0, true)); + .setEncoder(SwerveEncoders.canCoder(RobotMap.kBlEncoder, 0.0, false)); private static final SwerveModuleConfig kBackRight = new SwerveModuleConfig() .setName("backRight") - .setLocation(-0.28, -0.28) + .setLocation(-kModuleOffset, -kModuleOffset) .setMoveMotor(SwerveMotors.talonFX(RobotMap.kBrMove, true)) .setTurnMotor(SwerveMotors.talonFX(RobotMap.kBrTurn, true)) - .setEncoder(SwerveEncoders.canCoder(RobotMap.kBrEncoder, 0.0, true)); + .setEncoder(SwerveEncoders.canCoder(RobotMap.kBrEncoder, 0.0, false)); private static final SwerveConfig kConfig = new SwerveConfig() - .setTimings(TimedRobot.kDefaultPeriod, 0.004, 0.02) - .setMovePID(0.01, 0.0, 0.0) - .setMoveFF(0.05, 0.1) - .setTurnPID(0.2, 0.0, 0.1) - .setBrakeMode(true, true) - .setLimits(5.0, 13.0, 7.0, 27.5) - .setDriverProfile(4.5, 1.0, 0.15, 4.2, 2.0, 0.05) - .setPowerProperties(Constants.kVoltage, 80.0, 60.0) - .setMechanicalProperties(5.4, 12.1, 4.5, Units.inchesToMeters(4.0)) + .setTimings(TimedRobot.kDefaultPeriod, 0.004, 0.02, 0.01) + .setMovePID(0.25, 0.0, 0.0) + .setMoveFF(0.0, 0.125) + .setTurnPID(100.0, 0.0, 0.2) + .setBrakeMode(false, true) + .setLimits(4.5, 0.05, 17.5, 14.0, 30.0) + .setDriverProfile(4.0, 1.5, 0.15, 4.75, 2.0, 0.05) + .setPowerProperties(Constants.kVoltage, 100.0, 80.0, 60.0, 60.0) + .setMechanicalProperties(kMoveRatio, kTurnRatio, 0.0, Units.inchesToMeters(4.0)) .setOdometryStd(0.1, 0.1, 0.1) .setIMU(SwerveIMUs.canandgyro(RobotMap.kCanandgyro)) - .setPhoenixFeatures(new CANBus(RobotMap.kSwerveCANBus), true, true, true) + .setPhoenixFeatures(new CANBus(RobotMap.kLowerCANBus), true, true, true) .setModules(kFrontLeft, kFrontRight, kBackLeft, kBackRight); - private static final double kAutoKp = 7.0; - private static final double kAutoKi = 0.0; - private static final double kAutoKd = 0.0; - - private static final double kAutoAngularKp = 5.0; - private static final double kAutoAngularKi = 0.0; - private static final double kAutoAngularKd = 0.0; - private final SwerveAPI api; + private final SwerveState state; private final PIDController autoPIDx; private final PIDController autoPIDy; private final PIDController autoPIDangular; + @SuppressWarnings("unused") private Pose2d autoLast = null; + private Pose2d autoNext = null; public Swerve() { api = new SwerveAPI(kConfig); + state = api.state; - autoPIDx = new PIDController(kAutoKp, kAutoKi, kAutoKd); - autoPIDy = new PIDController(kAutoKp, kAutoKi, kAutoKd); - autoPIDangular = new PIDController(kAutoAngularKp, kAutoAngularKi, kAutoAngularKd); + autoPIDx = new PIDController(10.0, 0.0, 0.0); + autoPIDy = new PIDController(10.0, 0.0, 0.0); + autoPIDangular = new PIDController(10.0, 0.0, 0.0); autoPIDangular.enableContinuousInput(-Math.PI, Math.PI); api.enableTunables("swerve/api"); @@ -114,7 +115,7 @@ public void periodic() { */ @NotLogged public Pose2d getPose() { - return api.state.pose; + return state.pose; } /** @@ -155,19 +156,6 @@ public Command stop(boolean lock) { return commandBuilder("Swerve.stop(" + lock + ")").onExecute(() -> api.applyStop(lock)); } - /** - * Stops the robot from moving, and cleans up auto-related telemetry. - * This command should be ran at the end of an autonomous routine. - */ - public Command finishAuto() { - return commandBuilder("Swerve.finishAuto()") - .onInitialize(() -> { - autoLast = null; - autoNext = autoLast; - }) - .onExecute(() -> api.applyStop(false)); - } - /** * Resets the pose of the robot, inherently seeding field-relative movement. This * method is not intended for use outside of creating an {@link AutoFactory}. @@ -175,6 +163,10 @@ public Command finishAuto() { */ public void resetPose(Pose2d pose) { api.resetPose(pose); + + autoPIDx.reset(); + autoPIDy.reset(); + autoPIDangular.reset(); } /** @@ -186,7 +178,7 @@ public void followTrajectory(SwerveSample sample) { autoLast = autoNext; autoNext = sample.getPose(); - Pose2d pose = api.state.pose; + Pose2d pose = state.pose; api.applySpeeds( new ChassisSpeeds( sample.vx + autoPIDx.calculate(pose.getX(), sample.x), diff --git a/vendordeps/ChoreoLib-2025.0.1.json b/vendordeps/ChoreoLib-2025.0.3.json similarity index 88% rename from vendordeps/ChoreoLib-2025.0.1.json rename to vendordeps/ChoreoLib-2025.0.3.json index 705ad16..5a8cd54 100644 --- a/vendordeps/ChoreoLib-2025.0.1.json +++ b/vendordeps/ChoreoLib-2025.0.3.json @@ -1,7 +1,7 @@ { - "fileName": "ChoreoLib-2025.0.1.json", + "fileName": "ChoreoLib-2025.0.3.json", "name": "ChoreoLib", - "version": "2025.0.1", + "version": "2025.0.3", "uuid": "b5e23f0a-dac9-4ad2-8dd6-02767c520aca", "frcYear": "2025", "mavenUrls": [ @@ -13,7 +13,7 @@ { "groupId": "choreo", "artifactId": "ChoreoLib-java", - "version": "2025.0.1" + "version": "2025.0.3" }, { "groupId": "com.google.code.gson", @@ -26,7 +26,7 @@ { "groupId": "choreo", "artifactId": "ChoreoLib-cpp", - "version": "2025.0.1", + "version": "2025.0.3", "libName": "ChoreoLib", "headerClassifier": "headers", "sharedLibrary": false, diff --git a/vendordeps/Phoenix6-25.1.0.json b/vendordeps/Phoenix6-frc2025-latest.json similarity index 80% rename from vendordeps/Phoenix6-25.1.0.json rename to vendordeps/Phoenix6-frc2025-latest.json index 473f6a8..a93cd12 100644 --- a/vendordeps/Phoenix6-25.1.0.json +++ b/vendordeps/Phoenix6-frc2025-latest.json @@ -1,7 +1,7 @@ { - "fileName": "Phoenix6-25.1.0.json", + "fileName": "Phoenix6-frc2025-latest.json", "name": "CTRE-Phoenix (v6)", - "version": "25.1.0", + "version": "25.3.1", "frcYear": "2025", "uuid": "e995de00-2c64-4df5-8831-c1441420ff19", "mavenUrls": [ @@ -19,14 +19,14 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-java", - "version": "25.1.0" + "version": "25.3.1" } ], "jniDependencies": [ { "groupId": "com.ctre.phoenix6", "artifactId": "api-cpp", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -40,7 +40,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -54,7 +54,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "api-cpp-sim", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -68,7 +68,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -82,7 +82,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -96,7 +96,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -110,7 +110,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -124,7 +124,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simCANCoder", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -138,7 +138,21 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "25.1.0", + "version": "25.3.1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -152,7 +166,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -166,7 +180,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "25.1.0", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -180,7 +194,21 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANrange", - "version": "25.1.0", + "version": "25.3.1", + "isJar": false, + "skipInvalidPlatforms": true, + "validPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdi", + "version": "25.3.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -196,7 +224,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "wpiapi-cpp", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_Phoenix6_WPI", "headerClassifier": "headers", "sharedLibrary": true, @@ -212,7 +240,7 @@ { "groupId": "com.ctre.phoenix6", "artifactId": "tools", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_PhoenixTools", "headerClassifier": "headers", "sharedLibrary": true, @@ -228,7 +256,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "wpiapi-cpp-sim", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_Phoenix6_WPISim", "headerClassifier": "headers", "sharedLibrary": true, @@ -244,7 +272,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "tools-sim", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_PhoenixTools_Sim", "headerClassifier": "headers", "sharedLibrary": true, @@ -260,7 +288,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simTalonSRX", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_SimTalonSRX", "headerClassifier": "headers", "sharedLibrary": true, @@ -276,7 +304,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simVictorSPX", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_SimVictorSPX", "headerClassifier": "headers", "sharedLibrary": true, @@ -292,7 +320,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simPigeonIMU", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_SimPigeonIMU", "headerClassifier": "headers", "sharedLibrary": true, @@ -308,7 +336,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simCANCoder", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_SimCANCoder", "headerClassifier": "headers", "sharedLibrary": true, @@ -324,7 +352,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProTalonFX", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_SimProTalonFX", "headerClassifier": "headers", "sharedLibrary": true, @@ -337,10 +365,26 @@ ], "simMode": "swsim" }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProTalonFXS", + "version": "25.3.1", + "libName": "CTRE_SimProTalonFXS", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" + }, { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANcoder", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_SimProCANcoder", "headerClassifier": "headers", "sharedLibrary": true, @@ -356,7 +400,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProPigeon2", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_SimProPigeon2", "headerClassifier": "headers", "sharedLibrary": true, @@ -372,7 +416,7 @@ { "groupId": "com.ctre.phoenix6.sim", "artifactId": "simProCANrange", - "version": "25.1.0", + "version": "25.3.1", "libName": "CTRE_SimProCANrange", "headerClassifier": "headers", "sharedLibrary": true, @@ -384,6 +428,22 @@ "osxuniversal" ], "simMode": "swsim" + }, + { + "groupId": "com.ctre.phoenix6.sim", + "artifactId": "simProCANdi", + "version": "25.3.1", + "libName": "CTRE_SimProCANdi", + "headerClassifier": "headers", + "sharedLibrary": true, + "skipInvalidPlatforms": true, + "binaryPlatforms": [ + "windowsx86-64", + "linuxx86-64", + "linuxarm64", + "osxuniversal" + ], + "simMode": "swsim" } ] } \ No newline at end of file diff --git a/vendordeps/REVLib.json b/vendordeps/REVLib.json index 86ad287..ac62be8 100644 --- a/vendordeps/REVLib.json +++ b/vendordeps/REVLib.json @@ -1,7 +1,7 @@ { "fileName": "REVLib.json", "name": "REVLib", - "version": "2025.0.1", + "version": "2025.0.3", "frcYear": "2025", "uuid": "3f48eb8c-50fe-43a6-9cb7-44c86353c4cb", "mavenUrls": [ @@ -12,14 +12,14 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-java", - "version": "2025.0.1" + "version": "2025.0.3" } ], "jniDependencies": [ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2025.0.1", + "version": "2025.0.3", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -36,7 +36,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-cpp", - "version": "2025.0.1", + "version": "2025.0.3", "libName": "REVLib", "headerClassifier": "headers", "sharedLibrary": false, @@ -53,7 +53,7 @@ { "groupId": "com.revrobotics.frc", "artifactId": "REVLib-driver", - "version": "2025.0.1", + "version": "2025.0.3", "libName": "REVLibDriver", "headerClassifier": "headers", "sharedLibrary": false, diff --git a/vendordeps/ReduxLib-2025.0.0.json b/vendordeps/ReduxLib-2025.0.1.json similarity index 90% rename from vendordeps/ReduxLib-2025.0.0.json rename to vendordeps/ReduxLib-2025.0.1.json index f15ff90..6cc750e 100644 --- a/vendordeps/ReduxLib-2025.0.0.json +++ b/vendordeps/ReduxLib-2025.0.1.json @@ -1,7 +1,7 @@ { - "fileName": "ReduxLib-2025.0.0.json", + "fileName": "ReduxLib-2025.0.1.json", "name": "ReduxLib", - "version": "2025.0.0", + "version": "2025.0.1", "frcYear": "2025", "uuid": "151ecca8-670b-4026-8160-cdd2679ef2bd", "mavenUrls": [ @@ -12,14 +12,14 @@ { "groupId": "com.reduxrobotics.frc", "artifactId": "ReduxLib-java", - "version": "2025.0.0" + "version": "2025.0.1" } ], "jniDependencies": [ { "groupId": "com.reduxrobotics.frc", "artifactId": "ReduxLib-driver", - "version": "2025.0.0", + "version": "2025.0.1", "isJar": false, "skipInvalidPlatforms": true, "validPlatforms": [ @@ -36,7 +36,7 @@ { "groupId": "com.reduxrobotics.frc", "artifactId": "ReduxLib-cpp", - "version": "2025.0.0", + "version": "2025.0.1", "libName": "ReduxLib", "headerClassifier": "headers", "sourcesClassifier": "sources", @@ -54,7 +54,7 @@ { "groupId": "com.reduxrobotics.frc", "artifactId": "ReduxLib-driver", - "version": "2025.0.0", + "version": "2025.0.1", "libName": "ReduxCore", "headerClassifier": "headers", "sharedLibrary": true, diff --git a/vendordeps/photonlib.json b/vendordeps/photonlib.json index db43d6d..1219919 100644 --- a/vendordeps/photonlib.json +++ b/vendordeps/photonlib.json @@ -1,7 +1,7 @@ { "fileName": "photonlib.json", "name": "photonlib", - "version": "v2025.0.0-beta-8", + "version": "v2025.2.1", "uuid": "515fe07e-bfc6-11fa-b3de-0242ac130004", "frcYear": "2025", "mavenUrls": [ @@ -13,7 +13,7 @@ { "groupId": "org.photonvision", "artifactId": "photontargeting-cpp", - "version": "v2025.0.0-beta-8", + "version": "v2025.2.1", "skipInvalidPlatforms": true, "isJar": false, "validPlatforms": [ @@ -28,7 +28,7 @@ { "groupId": "org.photonvision", "artifactId": "photonlib-cpp", - "version": "v2025.0.0-beta-8", + "version": "v2025.2.1", "libName": "photonlib", "headerClassifier": "headers", "sharedLibrary": true, @@ -43,7 +43,7 @@ { "groupId": "org.photonvision", "artifactId": "photontargeting-cpp", - "version": "v2025.0.0-beta-8", + "version": "v2025.2.1", "libName": "photontargeting", "headerClassifier": "headers", "sharedLibrary": true, @@ -60,12 +60,12 @@ { "groupId": "org.photonvision", "artifactId": "photonlib-java", - "version": "v2025.0.0-beta-8" + "version": "v2025.2.1" }, { "groupId": "org.photonvision", "artifactId": "photontargeting-java", - "version": "v2025.0.0-beta-8" + "version": "v2025.2.1" } ] } \ No newline at end of file

V#=Y!$x0m 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