Coder Social home page Coder Social logo

eugeneanikin / piratescope Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tgvaughan/piratescope

0.0 0.0 0.0 55 KB

wxPython oscilloscope client for dangerousprototypes.com's Bus Pirate.

License: GNU General Public License v3.0

Python 100.00%

piratescope's Introduction

PirateScope

A simple oscilloscope client for the Bus Pirate universal serial interface. (Visit http://dangerousprototypes.com/docs/Bus_Pirate for more information.)

System Requirements

Operating System:

  • PirateScope has been tested under Debian GNU/Linux and OS X Snow Leopard.

Software:

Hardware:

  • Bus Pirate with firmware v5.9 or later

Installation

Under Debian, the software dependencies can be met simply by installing the necessary packages using apt.

Under OS X the process is slightly more involved, but Github user @granitepenguin has generously provided detailed instructions, which are contained within the file INSTALL.OSX. Alternatively, as nicely pointed out by @esalgado, one can use MacPorts to simplify the process. (This is also described in INSTALL.OSX.)

Usage notes

PirateScope has several modes of operation, the default being the continuous sampling mode without synchronisation. This is a good starting point, as it allows you to see whether any signal is being received. The sampling rate and the total number of samples displayed in the window can each be adjusted at any time using the controls on the right-hand side of the "Sampling" panel.

Once you're getting a clear signal, it may be sensible to select one of the triggering radio buttons at the bottom-right of the screen. These only begin capture and display of samples when the input voltage level crosses the "trigger" voltage level. This voltage level can be adjusted by shifting the vertical slider to the right of the graph. (The current trigger level can be shown on the graph by selecting the relevant option from the View menu.) The "Offset" spin control allows you to adjust the time offset of the displayed data relative to the trigger time, so that signal immediately prior or some time after the triggering event can be observed.

For capturing rare events, it may be sensible to use the triggering mode in combination with the "Single shot" sampling mode. It is also possible to perform single shot sampling without triggering, although this is less useful.

Selecting the "Spectrum" checkbox replaces the time domain output with a frequency domain graph of the same signal. This is the magnitude of a Fourier transform of the most recent window of the captured signal. (This is continuously updated as more data is acquired, but only the most recent window of data is ever used to compute the spectrum.) The maximum frequency is set by the Nyquist frequency, which is half the current sampling rate.

The most recent displayed sampled voltages can be written to disk using the File->Save Sample. This creates an ASCII file containing two columns, with the first being the sample times and the second being the corresponding voltage measurements. The first row of the file is a header which allows the data file to be easily read into R data analysis environment (http://www.r-project.org).

The currently-displayed graph can also be written to disk as an image in a variety of formats (including BMP, JPEG and PNG) using File->Save Graph.

piratescope's People

Contributors

imrehg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.