Gscope: A Software Oscilloscope Library

Table of Contents
Gscope Widgets
Using Gscope Applications
Gscope Applications
Library Interface
Gscope Application Programming Interface
Known Bugs, Limitations and TODO


Gscope is a software oscilloscope library build using the GTK and GNOME graphical toolkits. The scope displays signals in real-time and allows recording and playback of signal data. It can be used to simultaneously display multiple signals and for modifying signal parameters on the fly. In general, the scope can be used to monitor, display and debug various types of "real-time" data. In addition, the scope can be used for plotting or graphing file data that is in a tuple format.

The gscope library consists of two main widgets, GtkScope and GtkScopeApp, that can be used by application programmers. GtkScope is a canvas on which signal data is plotted. GtkScopeApp provides a graphical interface for manipulating the GtkScope widget functionality. An application creates one or more GtkScope or GtkScopeApp widgets to display data. On each GtkScope or GtkScopeApp widgets, one or more signals can be plotted.

The gscope library allows updating signal and control parameters dynamically. For instance, the filter parameter of a low-pass filtered signal can be adjusted from within the scope. In addition, new signals can be added dynamically or signals can be removed from the scope by an application program. For better visualization, the range of each plotted signal, its zoom and bias can all be adjusted.

When a gscope application is run, the user sees the GtkScopeApp and GtkScope widgets. These widgets are managed using the Gscope object. These widgets are described briefly in the section called Gscope Widgets. Their usage is explained with an example in the section called Using Gscope Applications. The gscope library comes with four demo applications, gscope_test, displaydata, gscope_load and gscope_load_app. These applications illustrate how the library works and are described in the section called Gscope Applications. The library interface is described in the section called Library Interface. The gscope API is described in the section called Gscope Application Programming Interface. This document describes version 0.4.1 of the gscope program.