2020-04-30 06:43:20 +02:00
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" lang = "en" >
< head >
< meta name = "description" content = "Raspberry Pi Reg. C GPIO library and Python GPIO module and shell command utilities to control the GPIO, including SPI, I2C, and serial links." / >
< meta name = "keywords" content = "raspberry, pi, C, Python, GPIO, library, shell, command, utilities, module, SPI, I2C, serial" / >
< meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" / >
< title > pigpio library< / title >
< link rel = "stylesheet" type = "text/css" href = "scripts/index.css" >
< link rel = "icon" href = "favicon.ico" type = "image/x-icon" >
< link rel = "shortcut icon" href = "favicon.ico" type = "image/x-icon" >
< / head >
< body >
< table style = "padding:0px; border:0px; margin:0px; width:780px; background-color:#e0e0e0;" >
< td style = "background:#EAF2E6 url('images/sidebar.gif') repeat-y; width:35px; height:100%" > < / td >
< td >
< table >
< div style = "background:url('images/topbar.gif') repeat-x; height: 70px; font-size:1.5em; vertical-align: top;" > < a href = "index.html" > < img src = "images/pigpio-logo.gif" border = "0" / > < / a > pigpio library< / div >
< / table >
< table > < div >
< td > < img src = "images/pisc-1.jpg" width = "250" > < / td >
< td > < img src = "images/pisc-2.jpg" width = "250" > < / td >
< td > < img src = "images/pisc-3.jpg" width = "250" > < / td >
< / div > < / table >
< table >
< td style = "vertical-align: top; background-color: #98bf21;" > < a class = "l1" href = "index.html" > pigpio< / a >
< a class = "l1" href = "cif.html" > pigpio C I/F< / a >
< a class = "l1" href = "pigpiod.html" > pigpiod< / a >
< a class = "l1" href = "pdif2.html" > pigpiod C I/F< / a >
< a class = "l1" href = "python.html" > Python< / a >
< a class = "l1" href = "pigs.html" > pigs< / a >
< a class = "l1" href = "piscope.html" > piscope< / a >
< a class = "l1" href = "misc.html" > Misc< / a >
< a class = "l1" href = "examples.html" > Examples< / a >
< a class = "l1" href = "download.html" > Download< / a >
< a class = "l1" href = "faq.html" > FAQ< / a >
< a class = "l1" href = "sitemap.html" > Site Map< / a >
< / td >
< td > < center > < h2 > piscope< / h2 > < / center >
< h2 > Introduction< br > < / h2 >
< a href = "piscope.tar" > piscope< / a > is a logic analyser (digital
waveform viewer) for the Raspberry. It shows the state (high
or low) of selected GPIO in real-time.< br >
< br >
See < a href = "http://youtu.be/2apqOiLHEzs" > video< / a > .< br >
< br >
piscope uses the services of the pigpio < a href =
"download.html">library< / a > . pigpio needs to be running on
the Pi whose GPIO are to be monitored.< br >
< br >
The pigpio library may be started as a daemon (background process)
by the following command.< br >
< br >
< code > sudo pigpiod< br > < / code > < br >
piscope may be invoked in several different ways< br >
< br >
< table summary = "" style =
"text-align: left; width: 90%; height: 246px;" cellspacing="2"
cellpadding="2" border="1">
< tbody >
< tr >
< td style = "width: 15%;" > < small > Pi< br > < / small > < / td >
< td style = "vertical-align: top; width: 55%;" > < small > < span style =
"font-style: italic;">pi_host< / span > ~ $ piscope
& < br > < / small > < / td >
< td style = "vertical-align: top; width: 30%;" > < small > Pi captures
data< br >
Pi processes data< br >
Pi displays data< br > < / small > < / td >
< / tr >
< tr >
< td style = "vertical-align: top;" > < small > Pi plus Linux PC< br >
< br >
(with the< br >
display on a remote< br >
Linux PC)< br > < / small > < / td >
< td style = "vertical-align: top;" > < small > < span style =
"font-style: italic;">remote_host< / span > ~ $ ssh -X < span style =
"font-style: italic;">pi_host< / span > < br > < / small > < small > < span style =
"font-style: italic;">pi_host< / span > ~ $ piscope
& < / small > < small > < br > < / small > < / td >
< td style = "vertical-align: top;" > < small > Pi captures data< br >
Pi processes data< br >
Remote Linux PC displays data< br > < / small > < / td >
< / tr >
< tr >
< td style = "vertical-align: top;" > < small > Pi plus Windows PC< br >
< br >
(with the< br >
display on a remote< br >
Windows PC)< / small > < / td >
< td style = "vertical-align: top;" > < small > You need to install an SSH
client (putty suggested) and a X11 server (xming suggested).< br >
< br >
Run Program Files -> Xming -> XLaunch and accept the
defaults.< br >
< br >
Run putty and enter the Pi's host name or IP address. Click
on SSH X11 and tick Enable X11 forwarding and then select
Open.< / small > < br >
< small > < br > < / small > < small > < span style =
"font-style: italic;">pi_host< / span > ~ $ piscope
& < / small > < br > < / td >
< td style = "vertical-align: top;" > < small > Pi captures data< br >
Pi processes data< br >
Remote Windows PC displays data< / small > < / td >
< / tr >
< tr >
< td style = "vertical-align: top;" > < small > Pi plus Linux PC< br >
< br >
(with the display and processing on a remote Linux
PC)< br > < / small > < / td >
< td style = "vertical-align: top;" > < small > < span style =
"font-style: italic;">remote_host< / span > ~ $ export
PIGPIO_ADDR=< span style = "font-style: italic;" > pi_host< / span > < br >
< span style = "font-style: italic;" > remote_host< / span > ~ $ piscope
& < br > < / small > < / td >
< td style = "vertical-align: top;" > < small > Pi captures data< br >
Remote processes data< br >
Remote displays data< br > < / small > < / td >
< / tr >
< / tbody >
< / table >
< br >
piscope operates in one of three modes< br >
< br >
< table summary = "" style = "text-align: left; width: 90%;"
cellspacing="2" cellpadding="2" border="1">
< tbody >
< tr >
< td style = "vertical-align: top;" > Live< br > < / td >
< td style = "vertical-align: top;" > The latest GPIO samples are
displayed.< br >
< br >
The mode will automatically change to Pause if a sampling trigger
is detected.< br >
< br >
There are four triggers. Each trigger is made up of a
combination of GPIO states (one of don't care, low, high, edge,
falling, or rising per GPIO). Triggers are always
counted. In addition a trigger may be sample to, sample
around, or sample from, a so called sampling trigger.< br > < / td >
< td style = "vertical-align: top;" > New samples are added to the
sample buffer.< br >
< br >
Once the sample buffer is full the < span style =
"font-weight: bold;">oldest< / span > samples are discarded.< / td >
< / tr >
< tr >
< td style = "vertical-align: top;" > Play< br > < / td >
< td style = "vertical-align: top;" > Recorded GPIO samples are
displayed.< br >
< br >
The play speed may be varied between 64 times real-time to 1/32768
of real-time.< br >
< br >
The page up key increases the play speed by a factor of 2.
The page down key decreases the play speed by a factor of 2.
The home key sets the play speed to 1X.< br > < / td >
< td style = "vertical-align: top;" > New samples are added to the
sample buffer.< br >
< br >
Once the sample buffer is full < span style =
"font-weight: bold;">new< / span > samples are discarded.< / td >
< / tr >
< tr >
< td style = "vertical-align: top;" > Pause< br > < / td >
< td style = "vertical-align: top;" > Recorded GPIO samples are
displayed.< br >
< br >
The left and right cursor keys move the blue marker to the previous
or next edge. By default all GPIO edges are considered.
Clicking on a GPIO name will limit edge searches to the highlighted
GPIO only.< br >
< br >
The left and right square bracket keys move the blue marker to the
previous or next trigger.< br >
< br >
The time between the blue and gold markers is displayed. The
gold marker is set to the blue marker by a press of the 'g'
key.< br > < / td >
< td style = "vertical-align: top;" > New samples are added to the
sample buffer.< br >
< br >
Once the sample buffer is full < span style =
"font-weight: bold;">new< / span > samples are discarded.< / td >
< / tr >
< / tbody >
< / table >
< br >
In all modes the down and up cursor keys zoom the time scale in and
out.< br >
< br >
Samples can be saved with File Save All Samples or File Save
Selected Samples.
< p > To select samples enter pause mode. Press 1 to specify the start
of the samples (green marker) and 2 to specify the end of the
samples (red marker).< / p >
< p > The samples may be saved in the native piscope format or in VCD
format.< / p >
< p > Data saved in VCD format may be viewed and further processed
with GTKWave.< / p >
< p > Data saved in the native piscope format may be restored later
with File Restore Saved Data.< / p >
< h2 > Installation< / h2 >
< p > To download and install piscope.< / p >
< h3 > Pi (pre-built image)< / h3 >
< code > wget abyz.me.uk/rpi/pigpio/piscope.tar< br >
tar xvf piscope.tar< br >
cd PISCOPE< br >
make hf< br >
make install< / code > < span style = "font-weight: bold;" > < br > < / span >
< h3 > Linux 64 bit X86/AMD (pre-built image)< / h3 >
< code > wget abyz.me.uk/rpi/pigpio/piscope.tar< br >
tar xvf piscope.tar< br >
cd PISCOPE< br >
make x86_64< br >
make install< br > < / code >
< h3 > All machines (building from source)< / h3 >
You only need to perform this step if you want to build the
executable from the source files. This is not needed if you
use a pre-built image.< br >
< span style = "font-weight: bold;" > < br >
WARNING< / span > : Installing gtk+-3.0 uses a lot of SD card
space.< br >
< br >
Most of the space used by gtk+-3.0 is taken up by unneeded *-dbg
packages.< br >
< br >
With *-dbg packages an additional 3753MB SD space is required.< br >
< br >
If you edit the list of packages to be downloaded and remove the
*-dbg packages only 134MB of additional SD space is needed (as at
the time of writing).< br >
< br >
< code > #< br > < / code > < code > # *** This may take a lot of time and use
a lot of SD card space ***< br > < / code > < code > #< br >
sudo apt-get install gtk+-3.0< br > < / code > < code > #< br > < / code >
< code > wget abyz.me.uk/rpi/pigpio/piscope.tar< br >
tar xvf piscope.tar< br >
cd PISCOPE< br >
make< br >
make install< br > < / code > < br >
< / td >
< / table >
< div style = "vertical-align: center; text-align: center; background-color:#98bf21; font-size:0.8em; height:30px" > < a class = "l2" href = "index.html" > [pigpio]< / a >
< a class = "l2" href = "cif.html" > [pigpio C I/F]< / a >
< a class = "l2" href = "pigpiod.html" > [pigpiod]< / a >
< a class = "l2" href = "pdif2.html" > [pigpiod C I/F]< / a >
< a class = "l2" href = "python.html" > [Python]< / a >
< a class = "l2" href = "pigs.html" > [pigs]< / a >
< a class = "l2" href = "piscope.html" > [piscope]< / a >
< a class = "l2" href = "misc.html" > [Misc]< / a >
< a class = "l2" href = "examples.html" > [Examples]< / a >
< a class = "l2" href = "download.html" > [Download]< / a >
< a class = "l2" href = "faq.html" > [FAQ]< / a >
< a class = "l2" href = "sitemap.html" > [Site Map]< / a >
< / div >
< table > < tr >
< td style = "width: 200px" > < div style = "text-align: left;" > < small > © 2012-2020< / small > < / div > < / td >
< td style = "width: 350px" > < div style = "text-align: center;" > e-mail: pigpio @ abyz.me.uk< / div > < / td >
2020-04-30 16:55:43 +02:00
< td style = "width: 200px" > < div style = "text-align: right;" > < small > Updated: 30/04/2020< / small > < / div > < / td >
2020-04-30 06:43:20 +02:00
< / tr > < / table >
< / td >
< / table >
< / body >
< / html >