Xoscope

From TheAnalogThing
Revision as of 11:23, 6 August 2021 by Sven (talk | contribs) (+cat)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Screenshot on Xoscope on Linux

Xoscope is an advanced software oscilloscope for the Linux desktop, suitable for both notbooks but also for running on the Raspberry Pi (Audio input).

Installation at Linux distributions such as Ubuntu simply go like apt install xoscope, apt install oscilloscope or similar.

Known issues

  • Some installations on older distributions require the presence of the OSS /dev/dsp audio device. There are workarounds such as aoss as workarounds, see for instance https://ubuntuforums.org/showthread.php?t=1674376 – this did not work for me, thought.

Known limitations

  • Cannot display xy diagrams

Manual installation guide (on Linux, from code)

This guide explains how to build the software from the code. In order to do so, first install gcc, the build tools and GTK+ devel libraries on your machine.

Then download the sources for https://sourceforge.net/projects/gtkdatabox/

Build with ./configure && make && sudo make install. This will install the headers and so files under /usr/local, which is usually not a default search path. More on this later.

Next, download the sources for https://sourceforge.net/projects/xoscope/

For me, with xoscope-2.2 there was a bug I had to fix manually. Here is the patch:

--- display.c       2021-04-07 15:40:32.357377686 +0200
+++ display.c   2021-04-07 15:40:38.537377400 +0200
@@ -35,7 +35,6 @@
 #define DEBUG 0
 
 int     triggered = 0;          /* whether we've triggered or not */
-void    *font;
 int     math_warning = 0;       /* TRUE if math has a problem */
 
 struct signal_stats stats;

You can put the snippet in a file thepatch.txt and apply it with patch display.c < thepatch.txt, or you just remove in line 37 the void pointer to `*font` by hand.

Build and run with

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure
make -j5
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
./xoscope

And you're ready to start with data aquisition :-)