Skip to content

Remove unused ReelTwo DomePosition from roboclaw dome drive#65

Merged
thePunderWoman merged 1 commit intomainfrom
refactor/remove-dome-position-reeltwo
Apr 21, 2026
Merged

Remove unused ReelTwo DomePosition from roboclaw dome drive#65
thePunderWoman merged 1 commit intomainfrom
refactor/remove-dome-position-reeltwo

Conversation

@thePunderWoman
Copy link
Copy Markdown
Owner

Summary

  • All autonomous dome behaviors (go-to-angle, random wander, absolute-stick) use our own closed-loop encoder path — the ReelTwo DomePosition auto-modes (kHome, kRandom, kTarget) were never entered
  • Removes DomePositionProvider inheritance and the fDomePos member entirely
  • Drops 4 dead parameters from applyDomePositionParams() that only ever fed fDomePos
  • Preserves the min-speed deadband by moving it directly into sendMotorCommand()

What was dead

Removed Why
DomePositionProvider inheritance + ready()/getAngle() Only existed to feed fDomePos; nothing else called them
fDomePos (DomePosition member) Mode was always kOff; none of kHome/kRandom/kTarget ever entered
fPreSequenceDefaultMode Saved and restored kOff every time — pure no-op
applyDomePositionParams() params: homeMinDelay, homeMaxDelay, speedHome, speedSeek Only wrote to fDomePos; never read by our logic
All fDomePos.* setter calls in setup(), handleHoming(), startSequencePause(), endSequencePause() Configuring a system that was never activated

Test plan

  • Build passes (pio run) — RAM usage drops ~59 bytes
  • All 409 native unit tests pass (pio test -e native)
  • Joystick still drives dome normally (min-speed deadband preserved)
  • dome=<angle> and relative sequence moves work (via Fix goToAngle/goToRelative: bypass broken ReelTwo path #64)
  • Random wander mode works

🤖 Generated with Claude Code

… drive

All autonomous dome behaviors (go-to-angle, random wander, absolute-stick)
use our own closed-loop encoder path. DomePosition's kHome/kRandom/kTarget
auto-modes were never entered and all their configuration was dead code.

Removed:
- DomePositionProvider inheritance and ready()/getAngle() virtual methods
- fDomePos (DomePosition member) and fPreSequenceDefaultMode
- All fDomePos.* calls in setup(), handleHoming(), startSequencePause(),
  endSequencePause(), disableAutoMode(), applyDomePositionParams()
- Dead applyDomePositionParams() params: homeMinDelay, homeMaxDelay,
  speedHome, speedSeek (only fed fDomePos, never used by our logic)

Preserved:
- Min-speed deadband behavior, moved directly into sendMotorCommand()
  using the already-cached fAbsStickSpeedMin

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@thePunderWoman thePunderWoman merged commit b13aced into main Apr 21, 2026
1 check passed
@thePunderWoman thePunderWoman deleted the refactor/remove-dome-position-reeltwo branch April 21, 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