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

move some common-use components to swmain + further discussion #3

Open
mileslucas opened this issue Mar 21, 2023 · 6 comments
Open
Assignees

Comments

@mileslucas
Copy link
Contributor

Spitballing a couple ideas here, feel free to split into different issues if you like.

I think some of the scaffolding code for setting up the tmux daemons should be upstreamed to software-main (e.g., the cam-*start scripts), that way it can be used for device control daemons. In doing this, I think we should make the scripts python, and perhaps could consider some different CLI approaches.

For example, we could greatly simplify the cam-*start stack with an interface like camstart <cam_name> [<mode>]. This argument parsing is easy in python, and presumably the cameras can be modularized and listed out easily in python.

Thoughts @DasVinch?

@mileslucas
Copy link
Contributor Author

For the first part, I don't really think there needs to be any new code, right? Just find/create a tmux session based on a configurable name, then send a couple sets of commands, with a unique entrypoint script (the python -im ... part). Perhaps if the "couple sets of commands" part of that is annoying it could be put into a method. If it's something that requires slight customization for each camera, a class with an overrideable hook would be another way.

@DasVinch
Copy link
Member

Gonna split into two issues.

1/ tmux components. Agree. But there are already several users using a fork of camstack and relying on this being standalone-ish (albeit already broken since the FG code has moved to a private repo already), so...

image

The alternative is what we discussed this morning, submodule/subpackage camstack into swmain. Not great, not terrible.

@mileslucas
Copy link
Contributor Author

eh fair enough. I vote we put the appropriate code in swmain anyways, build new code from that, and when it's time to rip the bandaid off here it can be done then.

@DasVinch
Copy link
Member

Well if we go and merge camstack fully into swmain we can mark current camstack to be legacy and the people who want to keep up with camstack in the future clone the entire swmain?

@DasVinch
Copy link
Member

No regression in features through the merge but full power to reshuffle files.

@DasVinch DasVinch self-assigned this Mar 21, 2023
@mileslucas
Copy link
Contributor Author

Yeah but it creates much more overhead inside swmain, like think of all the extra scripts and dependency management that comes with that.

I do support somehow forking camstack so that we don't have to make decisions locked into the current architecture. Perhaps a camera_control repo that contains a slimlined camstack with the common tmux, daemon spawning, etc. code upstreamed into swmain?

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

2 participants