[2!v Talos Digitizer Interface Program General Overview Ted Frohling 602-792-2800 Mountain States Engineers P O Box 17960 Tucson, AZ 85731 April 24, 1984 Talos Digitizer Interface Overview Page 1 Our company made a decision to develop a capability to do mine planning. We needed some software and hardware to accomplish this task. Specifically digitizing and plotting. The software was relatively easy to gather and, as it turned out, the hardware was easy to come by. We already had the digitizer and plotter on our Calcomp IGS system. It would be a simple matter to just plug them into the VAX and away we go. Well, things are never as simple as they appear. The Talos digitizer would not have been my choice, but then it was cheap. Our particular digitizer does not have any smarts. It just sits there and spews out points. The device has several operating modes, but just a few are important for our use. They are point mode, track mode and increment mode. The digitizer supports a stylus or puck. We use the puck. It has the ability to input information from the key pad. The key pad has the keys 0 thru 9 and the asterisk and pound sign. We use the asterisk and pound sign to interrupt the main process. Back to the various modes. In point mode a set of coordinates is transmitted when a puck button is pressed. Track and increment mode are similar except that in increment mode points are only transmitted when a change in location is detected by the controller. We use the increment mode since it results in fewer points actually being transmitted from the digitizer. Since the digitizer has no smarts built-in changing from mode to mode is a manual operation. Getting information from the digitizer is a matter of issuing one-shot read qios to the device with an AST routine ready for the reply. The program Digitizer.bas is the mainline program. The program has many functions built in. We used to call them modes but that became confusing with the digitizer device modes. It issues a call to post a qio which signals an ast routine on its completion. Since the majority of qios are the nowait variety the ast routine reissues the qio again. When using the point function one outstanding qio being repeated by the ast routine is sufficient for collection of data at all human input speeds. The story is very different when a continuous stream of information needs to be read from the digitizer. This occurs when the digitizer program is in the area function. Many hours were spent trying to figure out where the data was going and why there were so many outstanding information packets unread. Setting the priority of the process up and slowing down the digitizers baud rate to 1200 did little to alleviate the problem. This was my first venture down the qio - ast road. After some friendly advice from a local guru, a solution was found; issue many qio requests. At about 4 outstanding requests all problems of dropped data stopped. During certain interrupt processing, the '#' was pressed on the puck, all outstanding qios are flushed and a qiow is posted to read in the next value from the puck. We do this to pick up one and only one digitized point. Being able to pick one point is necessary when the operator needs to put in just one or two points, as in the case of the map origin (see Diguse.mem) or axis rotation calculations. After the qiow is received series of qios are enabled depending on the function of the digitizer interface. Multiple qios are posted at program initialization and while in the area function, single qios are used during other functions. For a discussion of the various program functions see Diguse.mem. Talos Digitizer Interface Overview Page 2 The operator is presented with a screen upon program initialization which looks something like the following: :-----------------------------------------------------------: : : : Talos Digitizer Interface : : : :Function:POINT Recording to: : : : :Talos Device: _TTF3: : : : : X-Scale: 1.0000 Y-Scale: 1.0000 : : : :X-Origin: 0 Y-Origin: 0 X-Axis Rotate: 0.000: : : : X-Coord: 0 Y-Coord: 0 Area: 0 : : : : Status area for rest of screen : :___________________________________________________________: The screen image here has been reduced to protect the innocent and runoff won't allow reversed video images to be displayed. I'm sure you get the idea though. The 10 remaining lines or so are reserved for the question line (23) and the menu area. The menu area is painted on the screen in response to a press of the '#' on the puck and allows for a multitude of set up parameters to be changed. The program in its present version is fairly bug free, at least we haven't found any in a couple months use. Hope you can use this. [3!v