From 416cab6f51dae21eaab83312eee433e945a39a3a Mon Sep 17 00:00:00 2001 From: Ryan Brott Date: Sun, 26 Nov 2023 13:54:10 -0800 Subject: [PATCH] Log power commands --- .../ftc/teamcode/DownsampledWriter.java | 20 ---------- .../ftc/teamcode/MecanumDrive.java | 37 ++++++++++++++----- .../firstinspires/ftc/teamcode/TankDrive.java | 32 +++++++++++----- .../messages/MecanumCommandMessage.java | 19 ++++++++++ .../messages/MecanumEncodersMessage.java | 24 ++++-------- .../teamcode/messages/TankCommandMessage.java | 15 ++++++++ .../messages/TankEncodersMessage.java | 20 ++-------- .../ThreeDeadWheelEncodersMessage.java | 18 +++------ .../messages/TwoDeadWheelEncodersMessage.java | 12 ++---- 9 files changed, 106 insertions(+), 91 deletions(-) delete mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/DownsampledWriter.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/messages/MecanumCommandMessage.java create mode 100644 TeamCode/src/main/java/org/firstinspires/ftc/teamcode/messages/TankCommandMessage.java diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/DownsampledWriter.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/DownsampledWriter.java deleted file mode 100644 index 608e237..0000000 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/DownsampledWriter.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.firstinspires.ftc.teamcode; - -import com.acmerobotics.roadrunner.ftc.FlightRecorder; - -public class DownsampledWriter { - public final String channel; - public final long maxPeriod; - private long nextWriteTimestamp = System.nanoTime(); - public DownsampledWriter(String channel, long maxPeriod) { - this.channel = channel; - this.maxPeriod = maxPeriod; - } - public void write(Object msg) { - long now = System.nanoTime(); - if (now >= nextWriteTimestamp) { - nextWriteTimestamp = now + maxPeriod; - FlightRecorder.write(channel, msg); - } - } -} diff --git a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/MecanumDrive.java b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/MecanumDrive.java index 5b0215a..34dc335 100644 --- a/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/MecanumDrive.java +++ b/TeamCode/src/main/java/org/firstinspires/ftc/teamcode/MecanumDrive.java @@ -23,6 +23,7 @@ import com.acmerobotics.roadrunner.TurnConstraints; import com.acmerobotics.roadrunner.Twist2dDual; import com.acmerobotics.roadrunner.Vector2d; import com.acmerobotics.roadrunner.VelConstraint; +import com.acmerobotics.roadrunner.ftc.DownsampledWriter; import com.acmerobotics.roadrunner.ftc.Encoder; import com.acmerobotics.roadrunner.ftc.FlightRecorder; import com.acmerobotics.roadrunner.ftc.LynxFirmware; @@ -39,6 +40,7 @@ import com.qualcomm.robotcore.hardware.VoltageSensor; import org.firstinspires.ftc.robotcore.external.navigation.AngleUnit; import org.firstinspires.ftc.teamcode.messages.DriveCommandMessage; +import org.firstinspires.ftc.teamcode.messages.MecanumCommandMessage; import org.firstinspires.ftc.teamcode.messages.MecanumEncodersMessage; import org.firstinspires.ftc.teamcode.messages.PoseMessage; @@ -114,6 +116,7 @@ public final class MecanumDrive { private final DownsampledWriter estimatedPoseWriter = new DownsampledWriter("ESTIMATED_POSE", 50_000_000); private final DownsampledWriter targetPoseWriter = new DownsampledWriter("TARGET_POSE", 50_000_000); private final DownsampledWriter driveCommandWriter = new DownsampledWriter("DRIVE_COMMAND", 50_000_000); + private final DownsampledWriter mecanumCommandWriter = new DownsampledWriter("MECANUM_COMMAND", 50_000_000); public class DriveLocalizer implements Localizer { public final Encoder leftFront, leftBack, rightBack, rightFront; @@ -268,6 +271,7 @@ public final class MecanumDrive { } Pose2dDual