-
Notifications
You must be signed in to change notification settings - Fork 65
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
Pmtunes driver dev #63
Open
PeterMintun
wants to merge
64
commits into
LabPy:master
Choose a base branch
from
awsch:pmtunes_driver_dev
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Starting guide for new Lantz users
Adding files for Lakeshore 332 and Signal Recovery 7265 drivers. These drivers are going to be heavily reworked as I actually learn how to properly use lantz. Please use with caution!
Making progress porting Lakeshore 332 driver from QTLab over to Lantz...at least I think
Wrote this for the Python newbs out there, this should give you a minimal lantz installation using Miniconda3. Needs to include information about what National Instruments software needs to be specifically installed (this is probably the useful thing to include here!) - will write that up when I set up a data computer from scratch
Added basic code to test if lantz is installed
cpanderson tip for how to fix qt installation not working
did a lot of stuff to try and figure out what's going on. but the basic lantz query function they suggest in the driver tutorial makes it timeout and not communicate with the instrument. still want to improve the design to follow proper coding practice better but not playing nice with whatever the @feats() and __init__ functions do. basically confused by lanz
added basic instructions for installing a NI USB -> GPIB interface and a NI DAQ
added info for verifying that DAQ works after reboot
looks like the read termination I was using was wrong. things should be working now.
expanding library of commands in the driver, and adding code debugging/to prove that they work
got rid of some old extraneous code in there, tried to clean up style too
I think this one is done as far as functionality goes. Items to work on: test integration with other python code. Add some sort of basic logging functionality
changed CMODE to properly implement dictionary functionality
wrote most of functionality for lockin and monochromater, need to work on this to iron out some kinks, and more importantly, test some of this code!
added more function to lockin driver, also testing slack integration
test slack
this driver should be done...still missing comments and some logging functionality, but it should be able to be useful for most stuff you might want to do experimentally. SP2150 I can communicate w/ over USB, but there are some weird things going on where it drops commands or something. still debugging this.
Added testing code from lantz examples to codebase. Note that this code requires you to manually download the ni/nidaqmx folder from LabPy\lantz on GitHub, then copy it to the appropriate folder in your python library
better reflects what this code actually does.
added autophase operation to lockin driver
adding document for future lantz bug fixes, will probably add more to this once I can diagnose problem w/ NI driver
brief explanation of current issue affecting lantz NI driver on 64-bit systems
adding guide for installing/setting up Acton
Figured out how to fix bug for DAQ demo code, basically was an issue w/ the 64-bit TaskHandle getting truncated. Put in a hack-y fix for this to avoid an integer overflow error, but the driver may still have other bugs. If anyone has a specific use case that should be developed specifically, let me know ASAP
added file describing how to modify the DAQ code and pushed all changes made to get it running
Update log.py
added some more fancy DAQ test code, including live plotting w/ matplotlib
Fixed some issues w/ lantz NI driver, added the ability to create AI voltage channel Also added a fun demo where you can plot a voltage input of the DAQ in real time with an animated matplotlibplot
able to read and write multiple channels using DAQ_FSM_Demo and DAQ_double_blit, will be using this to test FSM smooth next
able to read/write array of analog voltages, but need to synchronize w/ timing
This update includes code for edge counting, and fast FSM controlled by the hardware clock. Next steps: - make counter read fast - write_and_count function Longer term goals: - clean up interface - uses two inconsistent ways of interfacing w/ NI dlls - make wrapping w/ foreign.py nicer and possibly push these changes to the main lantz repository
added basic example code to push to a slack channel, could be used for providing status updates on experiments, etc.
added little interface for posting status messages to slack for an experiment. feel free to improve or modify the code for your own purposes. there are a few changes you need to make, most notably creating a token for yourself, but I've included documentation - make sure to read it.
…lamp adding updated software for laser, now that comm is working well + no address error, adding new files to manage CoBrite DX1 telecom laser and Newport 69907 arc lamp controller
added full library of commands to arc lamp. Still needs to be tested with an actual instrument connected - will try and work this out tomorrow.
pretty much everything done here except for logging
initial commit, implements basic functionality
about time. communication should be good and I have it set to wait for the monochromater to finish scanning or changing gratings before restoring control to the user. always check the most recent version of the manual is the lesson here!
sorry for committing twice, cleaned up some comments and added more comments for future users of the code
added code that queries if the laser is done with an operation and then restores control to the user after it finishes tuning for command setting. also tested everything and seems to work well
basically prepping for big merge of all files, wish me luck!
… by Cryostation software
… could probably be better unified between CI and AI input choices, also really slow + probably unnecessary overhead with reconfiguring tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Merging in drivers for: