OnWorks favicon

xoscope - Online in the Cloud

Run xoscope in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command xoscope that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



xoscope - Digital Oscilloscope


xoscope [X toolkit options] [xoscope options] [file]


Xoscope is a digital real-time oscilloscope. It graphically displays signal amplitude or
bit logic as a function of time. Signals may be displayed, saved, recalled, and
manipulated by math functions. Signal input devices currently include:

Audio sound recording via /dev/dsp. Two 8-bit analog channels at 8000 S/s to 44100
S/s. Left and right audio is connected to A and B inputs respectively. Use an
external mixer program to select which sound inputs to record. AC coupled, voltages
unknown, 256K sample memory.

Shared audio sound via the Enlightened Sound Daemon. This is great for watching
music but support for it is an option at compile-time. EsounD is auto-detected and
preferred over /dev/dsp.

ProbeScope / OsziFOX
Radio Shack ProbeScope, Cat. No. 22-310 is also known as an osziFOX. This handheld
probe sends its data through a serial port. It samples one channel at 6-bits up to
20 MS/s with 128 samples of memory. Real voltages are labeled in sample ranges from
1 volt to 100 volts. If a ProbeScope is detected, it is connected to the A input.

Bitscope (www.bitscope.com) is a mixed-signal capture engine which is accessed
through a serial port. It simultaneously samples a digital 8-bit port and two analog
channels at 8 bit resolution at up to 25 MS/s or more. If detected, Channel A and B
are connected to X and Y while the Logic Analyzer is connected to C. Bitscope
support is currently under development and not yet fully functional.

The COMEDI project (www.comedi.org) develops Linux drivers, tools, and libraries for
data acquisition. Many commercially available ADC cards are supported by COMEDI, and
Xoscope can receive signals from them via the COMEDI library.

See the -x and -z options and the ENVIRONMENT section below for more details on how
the above devices are detected. Some of the controls below apply only to the sound
card and are labeled as such. Xoscope has no physical control over the
ProbeScope/osziFOX which is controlled by its own switches and built-in menus.
Please refer to your ProbeScope or osziFOX Owner's Manual for operating instructions.
Bitscope will eventually be controlled through a separate dialog window.


Xoscope is an interactive program and can be completely controlled from the keyboard at
run-time. In verbose key help mode, each available key is shown on the screen in
(parentheses). The following single key commands are available:

? Toggle verbose key help display mode.

Immediately quit the program.

@ Load a previously saved file. You are prompted for the filename.

# Save current settings and memory buffers to a file that can be loaded later. You are
prompted for the filename and asked for confirmation to overwrite if it already

Clear and refresh the entire screen.

& Cycle between the various input devices. Note that this key will not toggle to an
unresponsive input device, so if only one device is present, it will appear to have
no effect.

* Different behavior for different input devices

Under EsounD, this value instead determines whether the connection to EsounD will
block or not. Blocking mode is nicest to CPU usage but the xoscope interface will
not respond when the there is no sound stream coming from EsounD. Nonblocking mode
will let xoscope be responsive whether sound is available or not, but will consume
all available CPU cycles.

Under COMEDI, this key toggles between different analog reference points (ground,
differential, or common).

^ Different behavior for different input devices

(/) Decrease/increase the sampling rate.

9/0 Increase/decrease the Sec/Div horizontal time scale (zoom out/in on time).

-/= Decrease/increase the trigger level.

_ Cycle the trigger channel.

+ Cycle the trigger type: none, rising edge, or falling edge.

Cycle the trigger mode: run, wait, stop. Run mode continuously acquires and displays
samples after trigger events. Wait mode waits for the first trigger event and
displays only the first set of samples; this is "single-shot" mode. Stop mode
suspends the data acquisition and displays the current samples.

! Cycle the plotting mode: point, point accumulate, line, or line accumulate. In the
accumulate modes, all samples stay on the screen; use Enter to clear them.

, Cycle the graticule style: none, minor divisions only, or minor and major divisions.

. Toggle the graticule position: behind or in front of the signals.

' Toggle the manual cursors on/off. When manual cursors are displayed, the
measurements between the cursor positions are shown. When cursors are not displayed,
automatic measurements are shown.

" Reset both manual cursor positions to the sample just after trigger.

The Control key held down in combination with q/w/e/r moves the first cursor back or
forward by 10 samples or back or forward by 1 sample respectively.

The Control key held down in combination with a/s/d/f moves the second cursor back or
forward by 10 samples or back or forward by 1 sample respectively.

1-8 Select the corresponding display channel. Measurements are displayed for the
channel. Channel 1 and 2 are used as input to the math functions so they can't be
used to do math. By default, they are connected to the A and B input channels.
Channel 1 and 2 can also be used to display memory buffers or for doing math on
memory or the alternate input. Channel 3 through 8 are not restricted and can be
used for any purpose. The remaining single key commands operate on the currently
selected channel:

Tab Toggle visibility: Hide or show the selected channel.

{/} Decrease/Increase vertical scale of the selected channel.

[/] Decrease/Increase vertical position of the selected channel.

`/~ Decrease/Increase number of logic analyzer bits displayed. The default of zero bits
plots the signal as one analog line of varying amplitude. Any other value plots
multiple digital lines representing the least significant bits from bottom to top.

;/: Increase/Decrease the math function of the selected channel. This is not available
on channel 1 & 2.

$ Show the result of an external math command on the selected channel. You are
prompted for the command. The command must accept samples of channel 1 & 2 on stdin
and write a new signal to stdout. See operl, offt.c and xy.c in the distribution for
examples of external math filter commands. Not available on channel 1 & 2.

a-z Recall the corresponding memory buffer or input device to the currently selected
channel. Input device channels are mapped to the earliest letters of the alphabet;
the rest of the buffers are available for signal memory.

A-Z Store the currently selected channel into the corresponding memory buffer. Early
letters of the alphabet can not be used because they're reserved as the signal
inputs, so the exact number of available buffers is dependant on the input device.
Memories are stored from time zero to the current display update position. So it is
best to STOP the display before storing to a memory buffer.


Xoscope adds mouse controls to menus or around the edges of the scope area. These should
be nearly self-explanatory. They perform the same functions as the equivalent keyboard
commands above. If built with GTK+, a context-sensitive pop-up menu is available with
right-click to select channels, change scale and position, recall and store signals and so
on. Left click decreases a variable while right click increases. The manual measurement
cursors can also be positioned with the mouse.


The command-line options define the startup state of xoscope and have reasonable defaults.
All options may be capitalized in case they conflict with an X toolkit option. These
options are also recorded in text files saved by xoscope.

-h Help usage message showing these startup options with their default values, then

-# <code>
Startup conditions of each channel. # is a channel number from 1 to 8. Code can
have up to three fields, separated by colons: position[.bits][:scale[:function #,
memory letter, or external command]]. Position is the number of pixels above
(positive) or below (negative) the center of the display. Bits is the number of
logic analyzer bits to display. Scale is a valid scaling factor from 1/50 to 50,
expressed as a fraction. The third field may contain a built-in math function
number, memory letter, or external math command to run on the channel. Using these
options makes the channel visible unless position begins with a '+', in which case
the channel is hidden.

-a <channel>
Active, or selected, channel.

-r <rate>
Sampling Rate in samples per second. For the sound card, current valid values are
8000, 11025, 22050, or 44100.

-s <scale>
Time Scale factor from 1/20 to 1000 expressed as a fraction where 1/1 is 1 ms/div.

-t <trigger>
Trigger conditions. Trigger can have up to three fields, separated by colons:
position[:type[:channel]]. Position is the number of pixels above (positive) or
below (negative) the center of the display. Type is a number indicating the kind of
trigger, 0 = automatic, 1 = rising edge, 2 = falling edge. Channel should be x or y.

-l <cursors>
Manual cursor Line positions. Cursors can have up to three fields, separated by
colons: first[:second[:on?]]. First is the sample position of the first cursor.
Second is the sample position of the second cursor. The final field is weather the
manual cursors are displayed (1) or the not displayed (0).

-p <type>
Plot type. 0 = point, 1 = point accumulate, 2 = line, 3 = line accumulate, 4 = step,
5 = step accumulate.

-g <style>
Graticule style. 0 = none, 1 = minor divisions only, 2 = minor and major divisions.

-b Whether the graticule is drawn Behind or in front of the signals.

-v Whether the Verbose key help is displayed.

-x Whether the sound card input device (XY) is turned on. This can be used to skip the
attempt to connect to Esound or /dev/dsp.

-z Whether the serial input device (Z) is turned on. This can be used to suppress the
search for a serial scope device.

file The name of a file to load upon startup. This should be a file previously saved by


xoscope -1 80 -2 -80 -3 0:1/5:6 -4 -160:1/5:7

This runs xoscope with channel 1 above and channel 2 below the center of the display.
Also channel 3 and 4 are made visible to show the FFT of channel 1 and 2 respectively
at a reduced scale of 1/5.

xoscope oscope.dat

This runs xoscope, loading settings and memory buffers from a previously saved data
file called "oscope.dat".

Use xoscope online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Free Pascal Compiler
    Free Pascal Compiler
    A 32/64/16-bit Pascal compiler for
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Advance, Nintendo NDS and DOS;
    semantically compatible wi...
    Download Free Pascal Compiler
  • 2
    Canon EOS DIGITAL Info
    Canon EOS DIGITAL Info
    Canon doesn�t have shutter count
    included on the EXIF information of an
    image file, as opposed to Nikon and
    Pentax. There�s no official Canon based
    application ...
    Download Canon EOS DIGITAL Info
  • 3
    rEFInd is a fork of the rEFIt boot
    manager. Like rEFIt, rEFInd can
    auto-detect your installed EFI boot
    loaders and it presents a pretty GUI
    menu of boot option...
    Download rEFInd
  • 4
    ExpressLuke GSI
    ExpressLuke GSI
    This SourceForge download page was to
    grant users to download my source built
    GSIs, based upon phhusson's great
    work. I build both Android Pie and
    Android 1...
    Download ExpressLuke GSI
  • 5
    Music Caster
    Music Caster
    Music Caster is a tray music player
    that lets you cast your local music to a
    Google Cast device. On the first run,
    you will need to click the arrow in your
    Download Music Caster
  • 6
    PyQt is the Python bindings for
    Digia's Qt cross-platform
    application development framework. It
    supports Python v2 and v3 and Qt v4 and
    Qt v5. PyQt is avail...
    Download PyQt
  • More »

Linux commands