Skip to content

Reduce intake beam-break pulse power to avoid premature ring launch#10

Open
mechaniaccc wants to merge 2 commits intomainfrom
codex/modify-indexer-rotation-logic-tuqjlb
Open

Reduce intake beam-break pulse power to avoid premature ring launch#10
mechaniaccc wants to merge 2 commits intomainfrom
codex/modify-indexer-rotation-logic-tuqjlb

Conversation

@mechaniaccc
Copy link
Contributor

Motivation

  • Intake beam-break compensation was still strong enough to push rings into the shooter prematurely during intake, while active shoot-mode feeding needs higher power to reliably move rings.
  • The change aims to reduce accidental pre-launch while preserving sufficient feed power when the indexer is explicitly commanded.

Description

  • Split the beam-break pulse cap into two levels in IntakeCommand: INDEX_FEED_PULSE_POWER_INTAKE = 0.35 for intake-mode (indexPower == 0) and INDEX_FEED_PULSE_POWER_ACTIVE = 0.6 for active/indexing mode (indexPower != 0).
  • Reworked getIndexPulsePower() to return the intake cap when indexPower is zero and the active cap (preserving sign) otherwise, and updated execute() to use the computed pulse power for the 180 ms beam-break pulse.
  • Kept the short pulse duration (180 ms) and the passthrough behavior when the beam is clear so shoot-time feeding still uses the commanded indexPower.
  • Restored BeamBreakSubsystem to a proper SubsystemBase implementation and removed the embedded debug opmode so callers can use isBeamBreakOn(...) and getVoltage().

Testing

  • Attempted to build the TeamCode module with ./gradlew :TeamCode:compileDebugJavaWithJavac --console=plain, but the Gradle wrapper download was blocked by the environment proxy and the compile step failed (HTTP/1.1 403 Forbidden).

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant