Skip to content

Chore/logging - #10

Merged
Orcasphynx merged 3 commits into
developmentfrom
chore/logging
Feb 11, 2026
Merged

Chore/logging#10
Orcasphynx merged 3 commits into
developmentfrom
chore/logging

Conversation

@Orcasphynx

Copy link
Copy Markdown
Collaborator

No description provided.

@github-actions

github-actions Bot commented Feb 11, 2026

Copy link
Copy Markdown

AI Code Review

Hey team!

Great job on this PR! You've made significant progress in setting up a robust logging infrastructure for the robot, which is crucial for debugging and analysis.

Positive Highlights

  • It's excellent to see the integration of Epilogue, DataLogManager, and CTRE SignalLogger right from the start in Robot.java. This provides a comprehensive logging solution that aligns perfectly with our custom logging standards.
  • The use of @Logged annotations on the Robot class and m_robotContainer is a great step towards leveraging Epilogue's automatic logging capabilities for key components.
  • Consolidating SignalLogger.start() in Robot.java and removing redundant calls from Telemetry.java and the disabledInit/teleopInit methods is a good practice. This ensures SignalLogger runs consistently throughout the match without unnecessary restarts, giving us more complete data.

Suggestions

src/main/java/frc/robot/Robot.java

  • Thread Priority Management: Consider elevating the thread priority for the main robot thread in Robot.java's constructor. This can help ensure consistent control loop timing, especially under heavy load, by giving our robot code preference. You could add Thread.currentThread().setPriority(4); after initializing m_robotContainer. This aligns with our custom guidelines for thread priority.
  • Match Logging: It might be helpful to add explicit match event logging in autonomousInit(), teleopInit(), and disabledInit() using Logger.recordOutput(). This creates clear markers in your logs, making it much easier to analyze data from specific match phases (e.g., when auto started, when teleop began). For example:
    @Override
    public void autonomousInit() {
        Logger.recordOutput("Match/AutonomousStart", Timer.getFPGATimestamp());
        // ... existing code ...
    }
    
    @Override
    public void teleopInit() {
        Logger.recordOutput("Match/TeleopStart", Timer.getFPGATimestamp());
        // ... existing code ...
    }
    
    @Override
    public void disabledInit() {
        Logger.recordOutput("Match/DisabledStart", Timer.getFPGATimestamp());
        // ... existing code ...
    }
    This aligns with our custom rule for explicitly logging match events.

src/main/java/frc/robot/RobotContainer.java

  • Clarifying drivetrain Logging: The comment // already logged with telemetry class above drivetrain is a good thought! To clarify, Telemetry is specifically publishing drive state to NetworkTables and SignalLogger for visualization. If DrivetrainSubsystem itself isn't annotated with @Logged, then Epilogue won't automatically log its internal fields or inputs/outputs. It might be beneficial to either:
    1. Add @Logged to DrivetrainSubsystem (and VisionSubsystem) if you want their internal state logged by Epilogue.
    2. Or, if DrivetrainSubsystem is already @Logged (perhaps in a separate PR), consider updating the comment to something like // Drivetrain logged by Epilogue; Telemetry handles SmartDashboard/SignalLogger outputs. This helps distinguish the different logging mechanisms.

Questions

  • Are there any plans to add @Logged to the DrivetrainSubsystem and VisionSubsystem classes as well? This would allow Epilogue to automatically log their internal states, which can be very useful for debugging and understanding how they operate.

Overall, this is a solid PR that significantly improves our robot's logging capabilities. Keep up the great work!


This review was automatically generated by AI. Please use your judgment and feel free to discuss any suggestions!

@github-actions

Copy link
Copy Markdown

✓ Build successful and code formatting check passed!

@github-actions

Copy link
Copy Markdown

✓ Build successful and code formatting check passed!

@Orcasphynx
Orcasphynx merged commit a427382 into development Feb 11, 2026
2 checks passed
@Orcasphynx
Orcasphynx deleted the chore/logging branch February 11, 2026 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant