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

Swabian Instruments Time Tagger driver #331

Open
wants to merge 37 commits into
base: main
Choose a base branch
from

Conversation

thangleiter
Copy link
Contributor

This PR adds a driver for the Swabian Intsruments Time Tagger.

See the module docstring for design decisions.

To Do:
 - Document API
 - Document driver design
 - Write example
Ignore custom descriptor api properties because annotating it is too complicated for me...
These clear the ChannelList objects that are populated using the
add_{xxx}_{yyy} methods
Required if multiple Measurement channel objects with __channels_proxy parameter are used with qcodes' datasaver.add_result()
@thangleiter
Copy link
Contributor Author

I have no idea why mypy errors here, maybe someone can help out.

@jenshnielsen
Copy link
Collaborator

@thangleiter Looks like this needs a bit of work on the type checking with mypy. Let me know if you run into any issues with that

@thangleiter
Copy link
Contributor Author

Thanks, I could indeed use some help with the error that mypy has in the 3.9 run. The Callable annotation does get a ParamSpec as its first argument, yet still mypy complains that

The first argument to Callable must be a list of types, parameter specification, or "..."  [valid-type]

I will get to work on the other Python versions, although this is the first time I have mypy giving different errors for different versions. Let's see if the fixes don't break the other versions.

@thangleiter
Copy link
Contributor Author

Thanks, I could indeed use some help with the error that mypy has in the 3.9 run. The Callable annotation does get a ParamSpec as its first argument, yet still mypy complains that

The first argument to Callable must be a list of types, parameter specification, or "..."  [valid-type]

Still don't understand why it did not work the way I typed it but it should be fixed now in any case 👍

Copy link

codecov bot commented May 24, 2024

Codecov Report

Attention: Patch coverage is 0% with 365 lines in your changes missing coverage. Please review.

Project coverage is 10.64%. Comparing base (93bd6ab) to head (7ad460b).

Files Patch % Lines
.../drivers/SwabianInstruments/private/time_tagger.py 0.00% 199 Missing ⚠️
...bianInstruments/Swabian_Instruments_Time_Tagger.py 0.00% 166 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #331      +/-   ##
==========================================
- Coverage   10.86%   10.64%   -0.22%     
==========================================
  Files         133      135       +2     
  Lines       17741    18106     +365     
==========================================
  Hits         1928     1928              
- Misses      15813    16178     +365     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@thangleiter
Copy link
Contributor Author

thangleiter commented Aug 28, 2024

Hey @jenshnielsen, this is good to go from my side (once I fixed the numpy 2.0 errors). Do you have time for a review?

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.

2 participants