pigpio
pigpio C I/F
pigpiod
pigpiod C I/F
Python
pigs
piscope
Misc
Examples
Download
FAQ
Site Map
|
piscope
Introduction
piscope is a logic analyser (digital
waveform viewer) for the Raspberry. It shows the state (high
or low) of selected GPIO in real-time.
See video.
piscope uses the services of the pigpio library. pigpio needs to be running on
the Pi whose GPIO are to be monitored.
The pigpio library may be started as a daemon (background process)
by the following command.
sudo pigpiod
piscope may be invoked in several different ways
Pi
|
pi_host ~ $ piscope
&
|
Pi captures
data
Pi processes data
Pi displays data
|
Pi plus Linux PC
(with the
display on a remote
Linux PC)
|
remote_host ~ $ ssh -X pi_host pi_host ~ $ piscope
&
|
Pi captures data
Pi processes data
Remote Linux PC displays data
|
Pi plus Windows PC
(with the
display on a remote
Windows PC) |
You need to install an SSH
client (putty suggested) and a X11 server (xming suggested).
Run Program Files -> Xming -> XLaunch and accept the
defaults.
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.
pi_host ~ $ piscope
&
|
Pi captures data
Pi processes data
Remote Windows PC displays data |
Pi plus Linux PC
(with the display and processing on a remote Linux
PC)
|
remote_host ~ $ export
PIGPIO_ADDR=pi_host
remote_host ~ $ piscope
&
|
Pi captures data
Remote processes data
Remote displays data
|
piscope operates in one of three modes
Live
|
The latest GPIO samples are
displayed.
The mode will automatically change to Pause if a sampling trigger
is detected.
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.
|
New samples are added to the
sample buffer.
Once the sample buffer is full the oldest samples are discarded. |
Play
|
Recorded GPIO samples are
displayed.
The play speed may be varied between 64 times real-time to 1/32768
of real-time.
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.
|
New samples are added to the
sample buffer.
Once the sample buffer is full new samples are discarded. |
Pause
|
Recorded GPIO samples are
displayed.
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.
The left and right square bracket keys move the blue marker to the
previous or next trigger.
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.
|
New samples are added to the
sample buffer.
Once the sample buffer is full new samples are discarded. |
In all modes the down and up cursor keys zoom the time scale in and
out.
Samples can be saved with File Save All Samples or File Save
Selected Samples.
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).
The samples may be saved in the native piscope format or in VCD
format.
Data saved in VCD format may be viewed and further processed
with GTKWave.
Data saved in the native piscope format may be restored later
with File Restore Saved Data.
Installation
To download and install piscope.
Pi (pre-built image)
wget abyz.me.uk/rpi/pigpio/piscope.tar
tar xvf piscope.tar
cd PISCOPE
make hf
make install
Linux 64 bit X86/AMD (pre-built image)
wget abyz.me.uk/rpi/pigpio/piscope.tar
tar xvf piscope.tar
cd PISCOPE
make x86_64
make install
All machines (building from source)
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.
WARNING: Installing gtk+-3.0 uses a lot of SD card
space.
Most of the space used by gtk+-3.0 is taken up by unneeded *-dbg
packages.
With *-dbg packages an additional 3753MB SD space is required.
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).
#
# *** This may take a lot of time and use
a lot of SD card space ***
#
sudo apt-get install gtk+-3.0
#
wget abyz.me.uk/rpi/pigpio/piscope.tar
tar xvf piscope.tar
cd PISCOPE
make
make install
|