Package: picoscope
pico-pythonThis is a Python 2.7+ library for the Pico Scope. It uses the provided DLL
for actual communications with the instrument. There have been a few examples
around, but this one tries to improve on them via:Subclass instrument-specific stuff, so can support more familiesUse exceptions to raise errors, and gives you nice English error messages (copied from PS Manual)Provide higher-level functions (e.g. just setup timebase, function deals with instrument-specific limitations)Supports both Windows and Linux and MacSystem has support for:PS6000A Class (Picoscope 6xxxE)PS6000PS5000A Class (PicoScope 5242A/5243A/5244A/5442A/5443A/5444A/5242B/5244B/5442B/5443B/5444B)PS4000A Class (PicoScope 4444/4824)PS3000 Class (PicoScope 3204/3205/3206/3224/3424/3425)PS3000A Class (PicoScope 3204A/3204B/3205A/3205B/3206A/3206B/3207A/3207B/3204/3205/3206/3404A/3404B/3405A/3405A/3406A/3406B)PS2000 Class (PicoScope 2104/2105/2202/2203/2204/2205/2204A/2205A)PS2000A Class (PicoScope 2206/2206A/2206B/2207/2207A/2207B/2208/2208A/2208B/2205A MSO/2206B MSO/2207B MSO/2208B MSO/2405A/2406B/2407B/2408B)Note the 'A' series covers a different ground than the non-A series! Check the programming manuals posted athttp://www.picotech.com/document/for details.InstallationYou need to install the Python module as well as the Picoscope libraries for your Operating system.Module installationPyPipip install picoscopeGitIf you are developping the library, or need some feature that we haven't pushed to PyPi yet, use
git clone to put the directory somewhere.
Then use the setup.py script to install the library in development mode:gitclonegit@github.com:colinoflynn/pico-python.gitcdpico-python
pythonsetup.pydevelopOS specificWindowsYou will require the PicoScope DLLs for this package to work. The easiest method is to install the latest PicoScope software
or SDK fromhttps://www.picotech.com/downloads.LinuxInstall the PicoScope Beta for Linux version of PicoScope as describe under Getting DLL's (above).  Currently this is the only way to install the shared libraries (SDK)Once you have PicoScope running you need to add your login account to the pico group in order to access the USB.  The examples will crash if you don't have permission to use the USB.  This is true for use of the shared libraries in general, even if you're not using pico-python.useradd -G pico $USERMac OSXYou either want to add this every time before you start python or IPython, but I think it is best to add this line to.bash_profile(or the Mac Equivalent ????).exportDYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/Applications/PicoScope6.app/Contents/Resources/libRecently, this directory has moved to a new location SeeIssue #143export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/Applications/PicoScope 6.app/Contents/Resources/lib"SeeIssue 80for more information on how this was found.You should also add yourself to the pico group so that your user has access to the picoscope as a USB device# Create the new pico group :sudodseditgroup-ocreatepico# Add the current user to the pico group :sudodseditgroup-oedit-a$USER-tuserpicoUsing Anaconda/CondaSeems like Anaconda has an issue with ctypes. See the commenthereimdatacenters says to:If you are using a special version of Python [like Anaconda] and you can't fix it.
Navigate to line 362 of lib/ctypes/init.py and change it to:self._handle = _dlopen(str(self._name), mode)Similar ProjectsPicoPy uses Cython to interface with a PicoScope 3000Ahttps://github.com/hgomersall/PicoPyPicoscope offers their official wrappers,https://github.com/picotech/picosdk-python-wrappersAuthors, Copyright, and Thankspico-python is Copyright (C) 2013 By:Colin O'Flynncoflynn@newae.comMark Harfouchemark.harfouche@gmail.comAll rights reserved.
See LICENSE.md for license terms.Inspired by Patrick Carle's code athttp://www.picotech.com/support/topic11239.htmlwhich was adapted fromhttp://www.picotech.com/support/topic4926.htmlContributingFork.Make a new branch.Commit to your new branch.Add yourself to the authors/acknowledgments (whichever you find appropriate).Submit a pull request.Alternatively, you can follow more thorough instructionshere.Developer notesCommit and create a new tag with gitgit commit
git tag -a X.Y.Z -m "Short descriptive message"Push the tags to the repogit push origin X.Y.Zor to push all tagsgit push --tagsversioneertakes care of updating the version.
New tags will be pushed to PyPi automatically by Travis.