Skip to content

Idiomatic Code Architecture Articles #1844

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

Open
modelmat opened this issue Jul 2, 2022 · 2 comments
Open

Idiomatic Code Architecture Articles #1844

modelmat opened this issue Jul 2, 2022 · 2 comments

Comments

@modelmat
Copy link
Contributor

modelmat commented Jul 2, 2022

Just putting this here as a meta-ish/scratchpad issue, since this is something that is really missing from the documentation.

Related issues/PR:

Things to cover:

  • Command Factories (partially done in Add discussion of command organization #1828 )
  • Handling subsystem dependencies (either via a Add Superstructure article #1841-style, or otherwise (lambdas or dependency injection?); discussion of differences)
  • What goes where? (What encapsulates a single subsystem or command. I have seen some teams making subsystems for navigation/autonomous features (e.g. sticking all the encoders in there) which makes integration with simulation/inbuilt path planning more difficult than it needs to be))
  • Probably more things (I can't think of specifics off the top of my head, but I have seen it come up multiple times in help channels).

Reference discord discussion: https://discord.com/channels/176186766946992128/368993897495527424/992645487280783471

@calcmogul
Copy link
Member

calcmogul commented Jul 2, 2022

Relevant robot code idioms (not just architecture) include:

  1. How do I move a motor at the speed specified by an Xbox controller axis?
  2. How do I move a motor while a button is held? (e.g., intake/outtake)
  3. How do I toggle a solenoid with a button? (e.g., intake deploy/stow)
  4. How do I move a motor from one position to another?

@Starlight220
Copy link
Member

I think a lot of robot code idioms might be better covered by examples rather than articles.
Architecture is more philosophical/theoretical and up for debate/personal preference, so it is fitting for articles.

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

No branches or pull requests

4 participants