[GRASS5] Digitizer drivers in v.digit

Justin Hickey jhickey at impact1.hpcc.nectec.or.th
Thu May 11 13:09:46 EDT 2000

Hello all

We are trying to create a Tcl/tk interface for v.digit and we found some
strange things in the code. I already mailed Markus on this but he suggested I
mail the list as well.

The first thing we found was that the main.c file was NOT the main program. It
was not even compiled. The main program is in the file bin_digit.c. Markus,
regarding your comment to me "I have renamed bin_digit.c to main.c and changed
the Gmakefile" I did a cvs update, and although other changes have been made
(the files I listed to you are no longer there) this particular change was not
there. Do you want me to do this as part of our project?

Sorry to the rest of you, but I had to clear that up with Markus. Another
strange finding was that we found two files with similar functions, but neither
of the files were compiled. The strange part was in the comments at the top of
the file. Each file contained the following comment

*  This code is compiled by each digitizer driver and stored in its directory.
*  Even though there is no curses.o it is used.

The problem is that both files seem to define the same function names, but if
we believe the comments, how can both of them be used by the digitizer drivers?

After this we went looking into digitizer drivers and we found that the FAQ's
on the web site give directions for hooking up a digitizer to your computer but
there is nothing concerning using v.digit. Then we checked the GRASS
programming guide for 4.2 and found something completely different from the
current v.digit. For example, the guide (Ch 22) says that the file dig_curses.c
only contains #include statements and should be about 6 lines long. However,
the current dig_curses.c file contains several functions and is over 900 lines
long. Clearly the v.digit code has drastically changed since 4.2 and we are
confused by this talk of Digitizer Device Drivers in the old documentation. We
also found references to code in the src/libes/digitizers directory, but that
code is under construction and is not compiled.

There were "unused" files in the v.digit directory as well, and we wanted to
delete these (after all, I like to clean up code when I can :). Markus has
moved them to an unused directory in CVS and I recompiled v.digit without them
and all went well (Markus, the new directory "unused" did not show up when I
did the cvs update, is this a problem?). So in summary, we are confused about
how this apparently extra code is used by digitizers and are they even
necessary anymore. We would appreciate any ideas you may have concerning
digitizers and v.digit code. Unfortunately, we do not have a digitizer so we
cannot even run our own tests.

Concerning the CVS branch discussion; we plan to separate the interface code
from v.digit. This is going to produce many changes to the core code of
v.digit, so should I use a separate branch? By the way, I know next to nothing
about CVS and haven't had time to read up on it yet. Just curious, since a
previous post indicated users should create their own branch.

Thank you for your time and consideration.


Jazzman (a.k.a. Justin Hickey)  e-mail: jhickey at hpcc.nectec.or.th
High Performance Computing Center
National Electronics and Computer Technology Center (NECTEC)
Bangkok, Thailand
People who think they know everything are very irritating to those
of us who do.  ---Anonymous

Jazz and Trek Rule!!!

If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo at geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 4425
max: 0

More information about the grass-dev mailing list