This page gives some instructions on how to compile, run and use Gaw.
If you are lost with some terms used in this page have a look to this page.
Dependancies :
Or :
Gaw comes now in 2 packages : a package for gtk+-2.0 and a package for gtk+-3.0. They are no longer interchangeable. So, Please, start by choosing the version you want.
We need to have some files installed, and next run the following commands.
tar zxvf gaw-yyyymmdd.tar.gz cd gaw-yyyymmdd ./configure make make install
If you do not want to embed libasound, try :
./configure --enable-gawsound=no
If you want to disable nls support :
./configure --disable-nls
Gaw does not need to be installed in a special directory and will run as long it finds its libraries. However, if a tool default configuration file gawrc is created in ~/.gaw at the first run, a default gtk configuration file gaw-gtkrc is needed. The installation process makes a copy in $prefix/share/gaw directory, but the user can have its own customised copy in $HOME/.gaw directory.
To get some more debugging messages, just configure with the following flag and run gaw with -d option.
./configure CFLAGS="-g -DMSG_DEBUG" gaw -d
You can get short help by leaving the mouse on a button, this will generate a tooltips. As in Gtk+, it is not possible to get a tooltips on a menu item, messages are generated in the statusBar. The statusBar is at the bottom left corner, and displays "Welcome to gaw" when you enter Gaw. So you should keep one eye on the statusBar and the other on the menu item. But this is difficult to do for some people !!!
The help menu will direct you to this page using your prefered browser. This one is defined by default to be firefox %s, but you can override this with an environnement variable GAW_HELPCMD. Here is an example on how to set this in bash :
export GAW_HELPCMD=konqueror
Two other environnement variables, GAW_USERGUIDE and GAW_WEBSITE, let the user to redirect the browser to, for example, a local instance of this web page , or another web site respectively.
export GAW_USERGUIDE=file://your_path_to/gawman.html
Instead of setting environnement variables, you can modify the configuration. file .gaw/gawrc
up_helpCmd = "firefox %s" /* Gaw user guide page */ up_userGuide = "http://www.rvq.fr/linux/gawman.php" /* gaw main page web site */ up_webSite = "http://www.rvq.fr/linux/gaw.php"
If you prefer use a local copy of this page, create it with the save page command of you browser and modify the above variables top point to it.
On command line :
gaw [options] [input file] ... : display analog waveforms from input file [-h] : print list of options [-d] : set debug mode [-rf fmt] : specify spice format for input file [-pf fmt] : specify a printf format for output file [-p num] : port number for inside server [-C name] : configuration dir or file name\n")
Simple example:
gaw
This command will load all the files invsweep.tr* present in the current directory :
gaw invsweep.tr*
Running a previous version of Gaw, with the current version installed, may fail, as configuration is dependant of release. You can specify another configuration file or directory with the -C option.
Without this option, if a gawrc file is present in the current directory it will be taken as the configuration directory.
There is a resize grip at left of the X labels area. it is intended to allow the modification of ratio between the left side size and drawing area size.
However, remember that panels have a minimal width.
As the grip may be not very visible depending on default style, it is possible to modify its background color using gtkrc using widget name gawgrip.
Sometime, it may be usefull to put comments in panels near the waveforms. This can be done with the text editor. Select your settings font, bg color, fg color, angle. Enter your text in the entry, click apply, move the pointer in a panel and click with left button to place the text.
Text can be modified and moved around the panel. Click left and drag to move the text. Click Right on the text to get a context menu that lets you edit or suppress the text. By clicking Right in the panel, the context menu lets you remove all texts in the panel.
Multisweep means that a set of data is generated for each value of a given parameter for a component. This parameter is swept from one value to another. Only Hspice format incorporates the value of his parameter for each data set.
You can find an example of multisweep data in the file examples/invsweep.tr0. So load the file and try Right click on a button in the list window : y @... and select Add all similar to selected. This will show all the waves for each value of the component.Other formats can be multi tables that gives the same waveforms, but without the different values of the parameter on the button labels.
Instead of taking input from file, Gaw can take input from the sound card on your motherboard. Samples come directly in internal memory and can be viewed as a loaded file. You have just to connect your real time signals to the sound card input.
This just a direct replacement for using arecord to store data in a .wav file and loading the file afterwards.
Talk to Gaw or in short ttg is an experimental feature that let the user to send command to Gaw from another application. Of course you do not get more, but you get it in another way.
The directory ttg provides 2 examples, one in C and one in Perl on how it can be done. Just think about !
In principle Gaw is able to recognize the implemented formats, but due to the lack of definition in some format, it should be very easy to confuse Gaw. So it is suggested to provide a format name , when possible.
There are 2 ways to provide a format :
The recognized extensions are :
See directory examples for example of different data file formats.
Gaw can display menus and messages in other languages than the native.
These are the languages shipped in package at the date of writting:
You should have a file gaw.mo in the directory /usr/share/locale/fr/LC_MESSAGES/ or /usr/local/share/locale/fr/LC_MESSAGES/, depending on the prefix given to configure, if not, copy the message file to its destination:
cd po cp fr.gmo /usr/share/locale/fr/LC_MESSAGES/gaw.mo
Verify the value of LANG in your environnement, and set it, if not set.
export LANG=fr_FR.UTF-8
Gaw is developped under Fedora. But this does not mean, it should not work on others distributions. Instead it means that if there are mistakes due to distributions differences, I cannot see them, and you need to report them.
If you have crashes or messages like the following from Gtk, Glib, ..., report them with the steps, you make to produce them. If I cannot reproduce them, I cannot fix them.
(gaw:2565): GLib-GObject-WARNING **: IA__g_object_set_valist: construct property "type" for object `Log' can't be set after construction (gaw:5863): Gtk-CRITICAL **: gtk_drag_dest_set: assertion `GTK_IS_WIDGET (widget)' failed
As evoked above, Gaw uses 2 configuration files :
The first one is specific to Gtk objects and is mandatory. A copy of it can be found in the directory GAWRCDIR (/usr/local/share/gaw) after installation. The contents of this file can be overriden by an instance of the file $HOME/.gaw/gaw-gtkrc where users are invited to put their preferences. Infos on the content and syntax of this file can be found in GTK+ Reference Manual : Resource Files.
Note: for the same function, the gtk3.0 version uses a different file name gaw-gtkrc.css with a different syntax described in the GTK3.0+ Reference Manual : Resource Files.
This file define colors for labels corresponding to cursors, wave buttons, waves, DrawingAreas in wavePanel, statusBar. Keep in mind that changing a color may imply others changes. For example changing the DrawingArea background to white, will imply changing the hightlight and srange color and may be the cursor color to make then visible.
So to change :
The second configuration file deals with application itself and is automaticaly created in the file $HOME/.gaw/gawrc at first startup. Its purpose is to keep remanent the info stored with action Save conf, Clear default, and to let the user modify them. Some variables can be changed from inside the application in the Preference menu, but others require that you use your favorite text editor.
So if you want to start Gaw with 4 panels instead of 2 or with a height of 400 pixels instead of 100 for the drawing areas, this is the place to go.
Gaw can display a one million datas in a panel of 512 points. It is easy to understand that there is some loss somewhere and to consider the plot as an approch of the reality. Only zooming will make the display more reliable.