Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
XOSCOPE(1)			  User Commands 		      XOSCOPE(1)

NAME
     xoscope - Digital Oscilloscope

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

DESCRIPTION
     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:

     /dev/dsp
	  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 in-
	  puts to record.  AC coupled, voltages unknown, 256K sample memory.

     EsounD
	  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
	  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 cur-
	  rently under development and not yet fully functional.

     COMEDI
	  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 con-
	  trolled 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  win-
	  dow.

RUN-TIME KEYBOARD CONTROLS
     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.

     Escape
	  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 exists.

     Enter
	  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  re-
	  sponsive  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.

     Space
	  Cycle the trigger mode: run, wait, stop.  Run  mode  continuously  ac-
	  quires 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 accu-
	  mulate.  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.

     Ctrl-q/w/e/r
	  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.

     Ctrl-a/s/d/f
	  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 func-
	  tions so they can't be used to do math.  By  default,  they  are  con-
	  nected  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  al-
	  ternate 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  de-
	  fault  of zero bits plots the signal as one analog line of varying am-
	  plitude.  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 fil-
	  ter commands.  Not available on channel 1 & 2.

     a-z  Recall  the  corresponding  memory  buffer or input device to the cur-
	  rently selected channel.  Input device channels are mapped to the ear-
	  liest 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.

MOUSE CONTROLS
     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.

COMMAND-LINE OPTIONS
     The command-line options define the startup state of xoscope and have  rea-
     sonable  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 exit.

     -# <code>
	  Startup conditions of each channel.  # is a channel number from  1  to
	  8.   Code  can  have	up  to	three fields, separated by colons: posi-
	  tion[.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, ex-
	  pressed 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 posi-
	  tion 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  posi-
	  tion 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  accu-
	  mulate, 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 previ-
	  ously saved by xoscope.

EXAMPLES
     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  previ-
	  ously saved data file called "oscope.dat".

FILES
     Xoscope  creates  readable  text  data files.  The files contain at least a
     comment header which holds the current settings of  xoscope.   Loading  the
     file causes these saved settings to be restored.

     To  record  your  signals permanently first store them into memory buffers,
     optionally recall them to channels, and then save the file.  All  non-empty
     memory  buffers  are  written to a column of the file following the comment
     header.  Columns are separated by tab characters.	These  are  stored  back
     into  the memory buffers when the file is later loaded.  Simply recall them
     to channels to view them.

     This format could also be read by some spreadsheet  or  plotting  programs.
     For example, the gnuplot (1) command

     plot "oscope.dat" using 0:1, "oscope.dat" using 0:2

     would plot the first and second columns of the "oscope.dat" data file.

ENVIRONMENT
     OSCOPEPATH
	  The  path  to  use when looking for external math commands.  If unset,
	  the built-in default is used.

     PROBESCOPE
	  The serial device your ProbeScope or osziFOX is connected to.  If  un-
	  set,	/dev/probescope  is  used.   /dev/probescope could be a symbolic
	  link to the real device such as /dev/ttyS1.

     BITSCOPE
	  The  serial  device  your  Bitscope  is  connected  to.    If   unset,
	  /dev/bitscope  is used.  /dev/bitscope could be a symbolic link to the
	  real device such as /dev/ttyS1.

     ESPEAKER
	  The host:port of the EsounD to connect to if built  with  EsounD  sup-
	  port.   If  unset,  localhost  is assumed.  If no EsounD connection is
	  made or if there is no EsounD support compiled in, then  xoscope  will
	  try to read /dev/dsp directly.

LIMITATIONS
     The  sound  card  should be capable of 44100 Hz sampling via the sound dri-
     vers.  You must use an external mixer program to select  the  input  source
     device, level, etc.  Since these unknowns affect the amplitude, there is no
     reference to voltage on the Y axis; it is in fact, unknown.  Instead you're
     given  the  scale in pixels per sample unit.  Note that the serial oscillo-
     scope devices don't have this limitation.	They have real voltage labels on
     the Y axis.

     Signal math is only valid if Channel 1 and 2 contain signals  of  the  same
     sampling  rate.   It is up to you to make sure this is the case. Doing math
     on signals of different sample rates will produce incorrect results!

     The automatic measurements count zero crossings and divide to determine the
     frequency and period.  If these zero  crossings  are  not	"regularly-peri-
     odic", these measurements could be invalid.  Xoscope does understand how to
     measure  the  built-in  FFT  functions by locating the peak frequency.  Use
     manual cursor positioning to get more precise measurements.

     Your sound card is most-likely AC coupled so you will never see any DC off-
     set.  You probably can't get DC coupling by just shorting the input capaci-
     tors on your sound card.  Use serial hardware to see DC offsets.

     The display may not be able to keep up if you give it too much to plot, de-
     pending on your sound card, graphics card, and processor  speed.	External
     math  commands  are particularly expensive since the kernel must then split
     the available CPU cycles across multiple processes.   To  maximize  refresh
     speed, hide all unneeded channels, use point or point accumulate mode, zoom
     in on Sec/Div as much as possible, and turn off the graticule.

BUGS
     The keyboard interface may be confusing.

AUTHOR
     Oscope was written by Tim Witham (twitham@quiknet.com), originally based on
     "scope"  by  Jeff Tranter (Jeff_Tranter@Mitel.COM).  Most recent work is by
     Brent Baccala (cosine@freesoft.org).  Xoscope is released under the  condi-
     tions  of the GNU General Public License.	See the files README and COPYING
     in the distribution for details.

Linux				  May  6  2001			      XOSCOPE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xoscope&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help