Scanner Software.

Epic and vim

Here are a couple of useful vim accessories.

  • Epic syntax file: This file will correctly color different syntactic ggroups in the source code. (e.g. inline statements, cv's starting with op or pi etc). It goes in the vim releasein the ${VIM}/syntax (e.g. /usr/local/share/vim/vim71/syntax).
  • Color scheme: This file changes the colors used by the syntax file to ones that are easier on the eyes. It was originally written by Ciaran McCreesh. It shoud be put in ${VIM}/colors.

History formatter

The WTools interface writes out a pulse history, but is sorted according by sequencer rather than time. Here is a short program (written in python) that sorts the WTools.x output (in .tgt.his) and writes the output in tab-delimited text suitable for displaying in a spreadsheet program:

Debugger

GE recommends using totalview or gdb. Totalview is bit too sophisticated for the job - it is really a development environment, and if you like gdb you must love Epic. The best debugger I have every used is ups, which was first developed in the late-80s, early 90s. It doesn't wrap gdb like other graphical debuggers. It builds over the gdb libraries to create a very fast and inuitive interface.. Its primary advantages is that it displays variable and expressions of variables very quickly and has a better user interface. You can make WTools use it as the primary debugger by changing both "Debugger" lines in your ~/.psdtoolsrc to

Debugger "/apps/dev/ups/bin/figaro/ups

There is one bug that needs to be worked around. The MGD code starts with a SIGUSR1. To clear this signal do the following:

  • Click on "Signals" in the upper window.
  • Click the "Expand" button.
  • Click on the line that starts with "signal SIGUSR1"
  • Click on the "stop/continue" button. The signal action will change to "Ignore."
  • Click on "Signals" again and then on the "Collapse" button.

To see source code do the following:

  • Click on "Source files"
  • Click on "Expand"
  • Click on the file named "<psdname>.ipg.c
  • Click on "Source files" and then on pulse "Collapse"

To get started:

  • Enter "pulsegen" and carriage return on the upper leftmost line.
  • Scroll down the source code to an executable statement. (Clicking in the scrollbar and moving the cursor controls the speed of scrolling, not the scroll position)
  • Use the leftmost mouse button to insert a breakpoint.
  • Click on the "cont" button to continue.
  • Click on "Pulsegen" on the MGD sim panel
  • ups will stop at the breakpoint.
  • Display variables by clicking on them.
  • Display functions of variables by clicking on the the subroutine name and then on "add expr"

Add these X resources to your ~/.Xdefaults file for a more readable gui:

  • ups.Font: 10x20
  • ups.Geometry: 900x1000+0+0
  • ups.borderWidth: 9
  • ups.Foreground: White
  • ups.Background: Black
  • ups.EditlinesColor: Yellow
  • ups.VariableColor: Cyan
  • ups.HighlightColor: Yellow
  • ups.LastButtonTextColor: Yellow

This debugger hasn't been supported for several years now, and the public version will not build correctly. Here is a binary of the version I patched to run on the workstation we use to build sequences under ESEM4.

More documentation is on the ups website.

Last modified October 18, 2008