genui
is a code generator for processing engineering data within
the Anderson Group Data Acquisition System architecture. Based on a simple
configuration file, genui
generates source code for data extraction and
a series of Matlab .m
files for viewing the resulting data. Multiple
data channels can be displayed on each graph, and multiple graphs can be
stacked together in groups, making it easy to correlate events across a group
of related channels.
genui [-d matdir] [-c] inputfile
When you run genui, it will generate a .cdf or .edf file from which an extraction program can be compiled. The name of the output file is the concatenation of the MNEMONIC (specified in the configuration file), 'eng' and the file type (.cdf or .edf).
In order to build the extraction program, you will need to add a definition to the .spec file something like this:
ccengext : cceng.cdf
You may need to modify this rule to add additional files, and you will also have to add an explicit rule for generating cceng.cdf.
The configuration file, frequently called genui.txt
, has a
very simple format, consisting of only two line types:
Keyword definition lines consist of a keyword followed by a space and the keyword value. The keywords are:
Data definition lines consist of the following elements separated by whitespace:
<Rate> <Mnc>[:<Var>:<bit>] <Group> <Graph> [<format>] [:<function>] [<legend_pos>] [<legend>]
mnemonic:datum:bit_number
, where
datum is the aggregate TM variable and bit_number is
an integer, with zero representing the least significant bit. Digital
status values cannot be combined on the same graph with analog channels,
although they can be combined effectively within a group.
There are three Matlab libraries you will need to install to run the engineering plot gui:
Installation involves checking out the libraries from the appropriate source code repository and adding them to your Matlab path. The first thing you probably want to do is figure out where you want to locate these libraries. You probably want to create a common base directory for Matlab libraries. This could be a Matlab directory in "My Documents" or C:\Matlab. All three of these libraries could then be subdirectories of this root directory. On the other hand, you might have all of the experiment's source code checked out somewhere, so it might make sense to leave the experiment-specific engineering plot library where it is.
To check out Nort's matlab libraries, bring up a shell, cd into your common base directory and:
cvs -d :ext:forge.abcd.harvard.edu:/cvsroot/arp-das co -d nort Matlab/nort
or
cvs -d :pserver:anonymous@forge.abcd.harvard.edu:/cvsroot/arp-das login
cvs -d :pserver:anonymous@forge.abcd.harvard.edu:/cvsroot/arp-das co -d nort Matlab/nort
There are several directories included in this download, but only two that should be added to your Matlab path: nort and nort/ne. The others contain examples of installation-specific configuration hooks to make other parts of the libraries work.
To download the experiment-specific engineering plots, you will need to refer to the source code repository for your instrument. Look for a README file in a directory named 'eng'.
Add the libraries nort, nort/ne and the experiment-specific directory to your Matlab path.
Now you need to decide on a root directory for flight/run data. This directory will contain a subdirectory for each run using the same run numbering as under QNX. Each run directory will contain .mat files with all the engineering data. If you append an 'F' to the name of flight runs, then the plots will note that this is flight data.
The first time your run the instrument's engineering GUI, you will be prompted to specify your data root directory. The directory name will be stored using the file name specified with the HOMEDIR keyword in the genui configuration file.
Each time you make a data run, you will need to perform the following steps in order to view the engineering plots:
The exact order of these operations and the specific procedures you need to follow are probably experiment-specific.
The name of the GUI routine is 'ui_
I have added some menu items to the graph displays:
You will often want to further customize individual graphs. The use of lines may be inappropriate on particularly noisy data, for example, or the default limits may reflect a transient startup condition, not the region of interest. You can create a customization function for any graph by selecting the graph in the 'Edit' menu. The customization function will contain a summary of the graph's definition and examples of how you might want to modify it. The argument to this function is a vector of graphic object handles.
Such modifications can be checked back in to the instrument's source code repository to make them available to other team members. Subsequent changes to genui.txt should not overwrite these, although it is possible that major modifications to the group and plot structure might result in name changes that would defeat your modifications.
Return to Manuals Guide
last updated: Wed Apr 17 13:00 2013 EDT | webmaster@huarp.harvard.edu |
Copyright 2013 by the President and Fellows of Harvard College |