Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing subsystems and removing obfuscation #9

Open
3 tasks
Tracked by #1
SoZ0 opened this issue Sep 24, 2024 · 0 comments
Open
3 tasks
Tracked by #1

Fixing subsystems and removing obfuscation #9

SoZ0 opened this issue Sep 24, 2024 · 0 comments

Comments

@SoZ0
Copy link
Member

SoZ0 commented Sep 24, 2024

The problem

Many subsystem are not properly handling their respective systems. They also suffer from random sysouts and obfuscation which only serve to make the code more difficult to read, understand and use. Subsystems should act as interfaces to the components we want to control and avoid automating process for the user to control. These automated process should be contained within commands when possible.

Vision

Exctract extranous behavior into commands and remove obfuscation by making subsystem classes handle less but provide more options to their respective systems .


Guidelines

Subsystems should NOT do any of the following

  • directly access controller inputs
  • manipulate input values for purposes other than conversions
  • mechanisms using relative positions
  • contain override methods designed to forcible take control, other than for the purpose of disabling

Subsystems should CONTAIN the following

  • methods converting motor rotations to easy to use values (relative rotations, degrees)
  • mode switching for motors
  • methods to get status/values of sensors
  • shuffleboard method
  • ways to reset or calibrate mechanisms

Tasks

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

No branches or pull requests

1 participant