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

Re-architect inheritance structure to reduce complexity #317

Open
nfelt14 opened this issue Sep 26, 2024 · 1 comment
Open

Re-architect inheritance structure to reduce complexity #317

nfelt14 opened this issue Sep 26, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request WIP Work In Progress

Comments

@nfelt14
Copy link
Collaborator

nfelt14 commented Sep 26, 2024

Description

It would greatly reduce the complexity of tm_devices if the interface protocol classes (PIDevice, TSPDevice, etc.) were implemented as mixins that could just be inherited by the family base classes, rather than a main part of the inheritance tree.

This would make the folder structure much more usable and reduce unneeded complexity.

Additional Information

Notes:

  • Move SignalGenerator class to Mixin or remove entirely
    • most functionality can just live in the AWG or AFG classes
  • Move PIDevice and TSPDevice to mixins
  • move RESTAPI device to mixin
  • device type subpackages (scope, SMU, AFG, AWG, etc.) should be directly under the drivers subpackage
  • shared methods/functionality should be moved into mixin classes rather than added to the inheritance tree in the drivers subpackage
@nfelt14 nfelt14 added the enhancement New feature or request label Sep 26, 2024
@nfelt14 nfelt14 self-assigned this Sep 26, 2024
@nfelt14 nfelt14 added the WIP Work In Progress label Oct 21, 2024
@nfelt14
Copy link
Collaborator Author

nfelt14 commented Nov 6, 2024

This will be resolved when v3.0 is released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request WIP Work In Progress
Projects
None yet
Development

No branches or pull requests

1 participant