[PARPORT] ppdev, EPP, hardware/software


Steve Sutphen (steve@cs.ualberta.ca)
Mon, 6 Dec 1999 01:31:49 -0700


Hi,
I am trying to develop a custom hardware device and am interfacing
it to the parallel port. I am running RHL 6.1 on the machine that
I am using for development. It is running the 2.2.12-20 kernel.
I applied the patch-2.2.13-ppdev4 to it (with a little hand work),
and the new kernel compiles and runs just fine with the ppdev included
(as a static part of the kernel, I am not using modules). First I
tried to read using BYTE_MODE, and when that failed I switched to
EPP. It failed in that the data read was always the same - namely
what ever was last written to the device. With EPP (after changing
the hardware handshake) I got a similar result. The program that
I am using is:

----------------------read.c----------------

/*
 * Simple parallel port input program for Linux. At this stage it is
 * intended to test out basic functionality of read operations.
 * Written Steve Sutphen, University of Alberta, 1999
 * (e-mail: steve@cs.ualberta.ca)
 *
 * The program uses the user-space parallel port driver (ppdev) for Linux.
 * Currently it is wired to read from the standard port /dev/parport0
 *
 */

#include <sys/types.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <linux/parport.h>
#include <linux/ppdev.h>
#define EPP

main(int argc, char **argv)
{
        int fd, val;
        unsigned char buf[8];

        if ((fd = open ("/dev/parport0", O_RDONLY)) < 0){
                fprintf(stderr, "cannot open /dev/parport0\n");
                exit(1);
        }
        if (ioctl (fd, PPCLAIM) < 0) {
                perror ("Cannot claim");
                exit(1);
        }
#ifdef EPP
        val = IEEE1284_MODE_EPP;
#else
        val = IEEE1284_MODE_BYTE;
#endif
        if (ioctl (fd, PPSETMODE, &val) < 0) {
                perror ("Cannot setmode");
                exit(1);
        }

        if (ioctl (fd, PPRCONTROL, &val) < 0) {
                perror ("Cannot read Control");
                exit(1);
        }
        printf ("Control: 0x%x\n", val);

/* reset the counter */
        val &= ~PARPORT_CONTROL_INIT;
        if (ioctl (fd, PPWCONTROL, &val) < 0) {
                perror ("Cannot write Control");
                exit(1);
        }
        (void) sleep (1);
        val |= PARPORT_CONTROL_INIT;
        if (ioctl (fd, PPWCONTROL, &val) < 0) {
                perror ("Cannot write Control");
                exit(1);
        }

        if (ioctl (fd, PPRCONTROL, &val) < 0) {
                perror ("Cannot read Control");
                exit(1);
        }
        printf ("Control: 0x%x\n", val);

        /*while (1) /*uncomment to scope interface signals*/
        if ((val = read (fd, buf, 8)) < 0) {
                perror ("read failed");
                exit(1);
        }
        printf ("read %d bytes: %x, %x, %x, %x, %x, %x, %x, %x\n", val,
                buf[0], buf[1], buf[2], buf[3], buf[4], buf[5],
                buf[6], buf[7]);

        if (ioctl (fd, PPRELEASE) < 0) {
                perror ("Cannot release");
                exit(1);
        }
}
-----------------end read.c-----------------

I looked at the hardware with a scope, and it seems to be doing the
right thing (putting data on the data lines when pin 14 is low and pin 1
is high), but all I get is the last thing written.
I am including a PostScript file with the schematic (I hope that the 22K
is not too big for this mailing list). It is quite simple.

Any ideas where I have gone wrong? Was it in trying to wedge the
2.2.13 patch into a 2.2.12 kernel?
Thank you,
        steve@cs.ualberta.ca

--------------test_epp.ps------------------------
%!
/inch {72 mul} def

/mils
{
1000 div inch
} def

/setcoords
{
8500 mils 0 translate
90 rotate
0.844782 0.844782 scale
} def

/box {
exch dup 0 rlineto
exch 0 exch rlineto
neg 0 rlineto
closepath
stroke
} def
/fbox {
exch dup 0 rlineto
exch 0 exch rlineto
neg 0 rlineto
closepath
fill
} def

setcoords

2 setlinecap

% Translate origin to the right place...
-17468 mils -63654 mils translate

newpath
1.5 setlinewidth
20700 mils 66200 mils moveto
20400 mils 66200 mils lineto
stroke
1 setlinewidth

newpath
21300 mils 66300 mils moveto
21200 mils 66100 mils lineto
stroke

newpath
21200 mils 66100 mils moveto
21100 mils 66300 mils lineto
stroke

newpath
21100 mils 66300 mils moveto
21000 mils 66100 mils lineto
stroke

newpath
21000 mils 66100 mils moveto
20900 mils 66300 mils lineto
stroke

newpath
21300 mils 66300 mils moveto
21400 mils 66100 mils lineto
stroke

newpath
21400 mils 66100 mils moveto
21450 mils 66200 mils lineto
stroke

newpath
1.5 setlinewidth
21600 mils 66200 mils moveto
21450 mils 66200 mils lineto
stroke
1 setlinewidth

newpath
1.5 setlinewidth
20700 mils 66200 mils moveto
20852 mils 66200 mils lineto
stroke
1 setlinewidth

newpath
20901 mils 66300 mils moveto
20850 mils 66200 mils lineto
stroke

newpath
1.5 setlinewidth
21600 mils 65300 mils moveto
21600 mils 65500 mils lineto
stroke
1 setlinewidth

newpath
1.5 setlinewidth
21600 mils 66200 mils moveto
21600 mils 66000 mils lineto
stroke
1 setlinewidth

newpath
21400 mils 65700 mils moveto
21800 mils 65700 mils lineto
stroke

newpath
21400 mils 65800 mils moveto
21800 mils 65800 mils lineto
stroke

newpath
21600 mils 66000 mils moveto
21600 mils 65800 mils lineto
stroke

newpath
21600 mils 65700 mils moveto
21600 mils 65500 mils lineto
stroke

newpath
1.5 setlinewidth
21600 mils 65100 mils moveto
21600 mils 65300 mils lineto
stroke
1 setlinewidth

newpath
21500 mils 65100 mils moveto
21700 mils 65100 mils lineto
stroke

newpath
21555 mils 65050 mils moveto
21645 mils 65050 mils lineto
stroke

newpath
21580 mils 65010 mils moveto
21620 mils 65010 mils lineto
stroke

newpath
22200 mils 66100 mils moveto
22200 mils 66700 mils lineto
stroke

gsave
/Helvetica findfont
11.200000 scalefont
setfont

22200 mils 65900 mils moveto
(74132) show
grestore

newpath
22200 mils 66700 mils moveto
22600 mils 66700 mils lineto
stroke

newpath
22200 mils 66100 mils moveto
22600 mils 66100 mils lineto
stroke

newpath
22600 mils 66400 mils
300 mils
-90 90 arc
stroke

newpath
22950 mils 66400 mils
50 mils
0 360 arc
stroke

newpath
1.5 setlinewidth
23000 mils 66400 mils moveto
23200 mils 66400 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

22985 mils 66450 mils moveto
(3) show
grestore

newpath
1.5 setlinewidth
22200 mils 66200 mils moveto
21900 mils 66200 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

22000 mils 66250 mils moveto
(2) show
grestore

newpath
1.5 setlinewidth
22200 mils 66600 mils moveto
21900 mils 66600 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

22000 mils 66650 mils moveto
(1) show
grestore

gsave
newpath
19600 mils 66500 mils moveto
20100 mils 66200 mils lineto
stroke

newpath
20100 mils 66200 mils moveto
19600 mils 65900 mils lineto
stroke

newpath
19600 mils 66500 mils moveto
19600 mils 66200 mils lineto
stroke

newpath
19600 mils 66200 mils moveto
19600 mils 65900 mils lineto
stroke

newpath
19550 mils 66200 mils
50 mils
0 360 arc
stroke

gsave
/Helvetica findfont
11.200000 scalefont
setfont

19600 mils 65700 mils moveto
(7404) show
grestore

newpath
1.5 setlinewidth
20400 mils 66200 mils moveto
20100 mils 66200 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

20115 mils 66250 mils moveto
(2) show
grestore

newpath
1.5 setlinewidth
19500 mils 66200 mils moveto
19300 mils 66200 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

19400 mils 66250 mils moveto
(1) show
grestore

grestore

gsave
newpath
1.5 setlinewidth
19100 mils 66200 mils moveto
19300 mils 66200 mils lineto
stroke
1 setlinewidth

newpath
18500 mils 66300 mils moveto
18500 mils 66100 mils lineto
stroke

newpath
18500 mils 66300 mils moveto
19000 mils 66300 mils lineto
stroke

newpath
19000 mils 66300 mils moveto
19100 mils 66200 mils lineto
stroke

newpath
19100 mils 66200 mils moveto
19000 mils 66100 mils lineto
stroke

newpath
19000 mils 66100 mils moveto
18500 mils 66100 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
21600 mils 66200 mils moveto
21900 mils 66200 mils lineto
stroke
newpath
21600 mils 66200 mils
3
0 360 arc
fill
grestore

gsave
newpath
1.5 setlinewidth
19100 mils 66600 mils moveto
19300 mils 66600 mils lineto
stroke
1 setlinewidth

newpath
18500 mils 66700 mils moveto
18500 mils 66500 mils lineto
stroke

newpath
18500 mils 66700 mils moveto
19000 mils 66700 mils lineto
stroke

newpath
19000 mils 66700 mils moveto
19100 mils 66600 mils lineto
stroke

newpath
19100 mils 66600 mils moveto
19000 mils 66500 mils lineto
stroke

newpath
19000 mils 66500 mils moveto
18500 mils 66500 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
19300 mils 66600 mils moveto
21900 mils 66600 mils lineto
stroke
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

18700 mils 66500 mils moveto
(1) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

18600 mils 66100 mils moveto
(14) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

21000 mils 66300 mils moveto
(1K) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

21900 mils 65600 mils moveto
(500) show
grestore

gsave
newpath
1.5 setlinewidth
23300 mils 69700 mils moveto
23600 mils 69700 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23400 mils 69750 mils moveto
(2) show
grestore

newpath
1.5 setlinewidth
23300 mils 69400 mils moveto
23600 mils 69400 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23400 mils 69450 mils moveto
(4) show
grestore

newpath
1.5 setlinewidth
23300 mils 69100 mils moveto
23600 mils 69100 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23400 mils 69150 mils moveto
(6) show
grestore

newpath
1.5 setlinewidth
23300 mils 68800 mils moveto
23600 mils 68800 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23400 mils 68850 mils moveto
(8) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

23600 mils 70000 mils moveto
(74244) show
grestore

newpath
23900 mils 67250 mils
50 mils
0 360 arc
stroke

newpath
1.5 setlinewidth
23900 mils 67200 mils moveto
23900 mils 67000 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23784 mils 67101 mils moveto
(1) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23660 mils 69700 mils moveto
(A1) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23660 mils 69400 mils moveto
(A2) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23660 mils 69100 mils moveto
(A3) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23660 mils 68800 mils moveto
(A4) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23660 mils 68500 mils moveto
(B1) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23660 mils 68200 mils moveto
(B2) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23660 mils 67900 mils moveto
(B3) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23660 mils 67600 mils moveto
(B4) show
grestore

newpath
1.5 setlinewidth
23300 mils 68500 mils moveto
23600 mils 68500 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23400 mils 68550 mils moveto
(11) show
grestore

newpath
1.5 setlinewidth
23300 mils 68200 mils moveto
23600 mils 68200 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23400 mils 68250 mils moveto
(13) show
grestore

newpath
1.5 setlinewidth
23300 mils 67900 mils moveto
23600 mils 67900 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23400 mils 67950 mils moveto
(15) show
grestore

newpath
1.5 setlinewidth
23300 mils 67600 mils moveto
23600 mils 67600 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23400 mils 67650 mils moveto
(17) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24655 mils 69700 mils moveto
(YA1) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24655 mils 69400 mils moveto
(YA2) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24655 mils 69100 mils moveto
(YA3) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24655 mils 68800 mils moveto
(YA4) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24655 mils 68200 mils moveto
(YB1) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24655 mils 67900 mils moveto
(YB2) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24655 mils 67600 mils moveto
(YB3) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24655 mils 68500 mils moveto
(YB4) show
grestore

newpath
24700 mils 67250 mils
50 mils
0 360 arc
stroke

newpath
1.5 setlinewidth
24700 mils 67200 mils moveto
24700 mils 67000 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24500 mils 67100 mils moveto
(19) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

23802 mils 67360 mils moveto
(GA) show
grestore

gsave
/Helvetica findfont
11.200000 scalefont
setfont

24598 mils 67360 mils moveto
(GB) show
grestore

newpath
1.5 setlinewidth
25000 mils 69700 mils moveto
25300 mils 69700 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

25085 mils 69750 mils moveto
(18) show
grestore

newpath
1.5 setlinewidth
25000 mils 69400 mils moveto
25300 mils 69400 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

25085 mils 69450 mils moveto
(16) show
grestore

newpath
1.5 setlinewidth
25000 mils 69100 mils moveto
25300 mils 69100 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

25085 mils 69150 mils moveto
(14) show
grestore

newpath
1.5 setlinewidth
25000 mils 68800 mils moveto
25300 mils 68800 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

25085 mils 68850 mils moveto
(12) show
grestore

newpath
1.5 setlinewidth
25000 mils 68500 mils moveto
25300 mils 68500 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

25085 mils 68550 mils moveto
(9) show
grestore

newpath
1.5 setlinewidth
25000 mils 68200 mils moveto
25300 mils 68200 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

25085 mils 68250 mils moveto
(7) show
grestore

newpath
1.5 setlinewidth
25000 mils 67900 mils moveto
25300 mils 67900 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

25085 mils 67950 mils moveto
(5) show
grestore

newpath
1.5 setlinewidth
25000 mils 67600 mils moveto
25300 mils 67600 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

25085 mils 67650 mils moveto
(3) show
grestore

newpath
23600 mils 67300 mils moveto
1400 mils 2600 mils box

grestore

newpath
26200 mils 66700 mils moveto
26700 mils 66400 mils lineto
stroke

newpath
26700 mils 66400 mils moveto
26200 mils 66100 mils lineto
stroke

newpath
26200 mils 66700 mils moveto
26200 mils 66400 mils lineto
stroke

newpath
26200 mils 66400 mils moveto
26200 mils 66100 mils lineto
stroke

newpath
26150 mils 66400 mils
50 mils
0 360 arc
stroke

gsave
/Helvetica findfont
11.200000 scalefont
setfont

26200 mils 65900 mils moveto
(7404) show
grestore

newpath
1.5 setlinewidth
27000 mils 66400 mils moveto
26700 mils 66400 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

26715 mils 66450 mils moveto
(4) show
grestore

newpath
1.5 setlinewidth
26100 mils 66400 mils moveto
25900 mils 66400 mils lineto
stroke
1 setlinewidth

gsave
/Helvetica findfont
11.200000 scalefont
setfont

26000 mils 66450 mils moveto
(3) show
grestore

gsave
newpath
1.5 setlinewidth
23200 mils 66400 mils moveto
25900 mils 66400 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
23900 mils 67000 mils moveto
23900 mils 66400 mils lineto
stroke
newpath
23900 mils 66400 mils
3
0 360 arc
fill
grestore

gsave
newpath
1.5 setlinewidth
24700 mils 67000 mils moveto
24700 mils 66900 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
24700 mils 66900 mils moveto
23900 mils 66900 mils lineto
stroke
newpath
23900 mils 66900 mils
3
0 360 arc
fill
grestore

gsave
newpath
1.5 setlinewidth
27200 mils 66400 mils moveto
27400 mils 66400 mils lineto
stroke
1 setlinewidth

newpath
27400 mils 66500 mils moveto
27400 mils 66300 mils lineto
stroke

newpath
27400 mils 66500 mils moveto
27900 mils 66500 mils lineto
stroke

newpath
27900 mils 66500 mils moveto
28000 mils 66400 mils lineto
stroke

newpath
28000 mils 66400 mils moveto
27900 mils 66300 mils lineto
stroke

newpath
27900 mils 66300 mils moveto
27400 mils 66300 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
25800 mils 67600 mils moveto
26000 mils 67600 mils lineto
stroke
1 setlinewidth

newpath
26000 mils 67700 mils moveto
26000 mils 67500 mils lineto
stroke

newpath
26000 mils 67700 mils moveto
26500 mils 67700 mils lineto
stroke

newpath
26500 mils 67700 mils moveto
26600 mils 67600 mils lineto
stroke

newpath
26600 mils 67600 mils moveto
26500 mils 67500 mils lineto
stroke

newpath
26500 mils 67500 mils moveto
26000 mils 67500 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
25800 mils 67900 mils moveto
26000 mils 67900 mils lineto
stroke
1 setlinewidth

newpath
26000 mils 68000 mils moveto
26000 mils 67800 mils lineto
stroke

newpath
26000 mils 68000 mils moveto
26500 mils 68000 mils lineto
stroke

newpath
26500 mils 68000 mils moveto
26600 mils 67900 mils lineto
stroke

newpath
26600 mils 67900 mils moveto
26500 mils 67800 mils lineto
stroke

newpath
26500 mils 67800 mils moveto
26000 mils 67800 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
25800 mils 68200 mils moveto
26000 mils 68200 mils lineto
stroke
1 setlinewidth

newpath
26000 mils 68300 mils moveto
26000 mils 68100 mils lineto
stroke

newpath
26000 mils 68300 mils moveto
26500 mils 68300 mils lineto
stroke

newpath
26500 mils 68300 mils moveto
26600 mils 68200 mils lineto
stroke

newpath
26600 mils 68200 mils moveto
26500 mils 68100 mils lineto
stroke

newpath
26500 mils 68100 mils moveto
26000 mils 68100 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
25800 mils 68500 mils moveto
26000 mils 68500 mils lineto
stroke
1 setlinewidth

newpath
26000 mils 68600 mils moveto
26000 mils 68400 mils lineto
stroke

newpath
26000 mils 68600 mils moveto
26500 mils 68600 mils lineto
stroke

newpath
26500 mils 68600 mils moveto
26600 mils 68500 mils lineto
stroke

newpath
26600 mils 68500 mils moveto
26500 mils 68400 mils lineto
stroke

newpath
26500 mils 68400 mils moveto
26000 mils 68400 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
25800 mils 68800 mils moveto
26000 mils 68800 mils lineto
stroke
1 setlinewidth

newpath
26000 mils 68900 mils moveto
26000 mils 68700 mils lineto
stroke

newpath
26000 mils 68900 mils moveto
26500 mils 68900 mils lineto
stroke

newpath
26500 mils 68900 mils moveto
26600 mils 68800 mils lineto
stroke

newpath
26600 mils 68800 mils moveto
26500 mils 68700 mils lineto
stroke

newpath
26500 mils 68700 mils moveto
26000 mils 68700 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
25800 mils 69100 mils moveto
26000 mils 69100 mils lineto
stroke
1 setlinewidth

newpath
26000 mils 69200 mils moveto
26000 mils 69000 mils lineto
stroke

newpath
26000 mils 69200 mils moveto
26500 mils 69200 mils lineto
stroke

newpath
26500 mils 69200 mils moveto
26600 mils 69100 mils lineto
stroke

newpath
26600 mils 69100 mils moveto
26500 mils 69000 mils lineto
stroke

newpath
26500 mils 69000 mils moveto
26000 mils 69000 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
25800 mils 69400 mils moveto
26000 mils 69400 mils lineto
stroke
1 setlinewidth

newpath
26000 mils 69500 mils moveto
26000 mils 69300 mils lineto
stroke

newpath
26000 mils 69500 mils moveto
26500 mils 69500 mils lineto
stroke

newpath
26500 mils 69500 mils moveto
26600 mils 69400 mils lineto
stroke

newpath
26600 mils 69400 mils moveto
26500 mils 69300 mils lineto
stroke

newpath
26500 mils 69300 mils moveto
26000 mils 69300 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
25800 mils 69700 mils moveto
26000 mils 69700 mils lineto
stroke
1 setlinewidth

newpath
26000 mils 69800 mils moveto
26000 mils 69600 mils lineto
stroke

newpath
26000 mils 69800 mils moveto
26500 mils 69800 mils lineto
stroke

newpath
26500 mils 69800 mils moveto
26600 mils 69700 mils lineto
stroke

newpath
26600 mils 69700 mils moveto
26500 mils 69600 mils lineto
stroke

newpath
26500 mils 69600 mils moveto
26000 mils 69600 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
25300 mils 69700 mils moveto
25800 mils 69700 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
25300 mils 69400 mils moveto
25800 mils 69400 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
25300 mils 69100 mils moveto
25800 mils 69100 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
25300 mils 68800 mils moveto
25800 mils 68800 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
25300 mils 68500 mils moveto
25800 mils 68500 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
25300 mils 68200 mils moveto
25800 mils 68200 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
25300 mils 67900 mils moveto
25800 mils 67900 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
25300 mils 67600 mils moveto
25800 mils 67600 mils lineto
stroke
grestore

gsave
newpath
1.5 setlinewidth
27000 mils 66400 mils moveto
27200 mils 66400 mils lineto
stroke
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

27600 mils 66300 mils moveto
(11) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

26200 mils 69600 mils moveto
(2) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

26200 mils 69300 mils moveto
(3) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

26200 mils 69000 mils moveto
(4) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

26200 mils 68700 mils moveto
(5) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

26200 mils 68400 mils moveto
(6) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

26200 mils 68100 mils moveto
(7) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

26200 mils 67800 mils moveto
(8) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

26200 mils 67500 mils moveto
(9) show
grestore

gsave
newpath
1.5 setlinewidth
23100 mils 69700 mils moveto
23300 mils 69700 mils lineto
stroke
1 setlinewidth

newpath
22800 mils 69700 mils moveto
22700 mils 69800 mils lineto
stroke

newpath
22800 mils 69700 mils moveto
22700 mils 69600 mils lineto
stroke

newpath
23100 mils 69700 mils moveto
22800 mils 69700 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
23100 mils 69400 mils moveto
23300 mils 69400 mils lineto
stroke
1 setlinewidth

newpath
22800 mils 69400 mils moveto
22700 mils 69500 mils lineto
stroke

newpath
22800 mils 69400 mils moveto
22700 mils 69300 mils lineto
stroke

newpath
23100 mils 69400 mils moveto
22800 mils 69400 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
23100 mils 69100 mils moveto
23300 mils 69100 mils lineto
stroke
1 setlinewidth

newpath
22800 mils 69100 mils moveto
22700 mils 69200 mils lineto
stroke

newpath
22800 mils 69100 mils moveto
22700 mils 69000 mils lineto
stroke

newpath
23100 mils 69100 mils moveto
22800 mils 69100 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
23100 mils 68800 mils moveto
23300 mils 68800 mils lineto
stroke
1 setlinewidth

newpath
22800 mils 68800 mils moveto
22700 mils 68900 mils lineto
stroke

newpath
22800 mils 68800 mils moveto
22700 mils 68700 mils lineto
stroke

newpath
23100 mils 68800 mils moveto
22800 mils 68800 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
23100 mils 68500 mils moveto
23300 mils 68500 mils lineto
stroke
1 setlinewidth

newpath
22800 mils 68500 mils moveto
22700 mils 68600 mils lineto
stroke

newpath
22800 mils 68500 mils moveto
22700 mils 68400 mils lineto
stroke

newpath
23100 mils 68500 mils moveto
22800 mils 68500 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
23100 mils 68200 mils moveto
23300 mils 68200 mils lineto
stroke
1 setlinewidth

newpath
22800 mils 68200 mils moveto
22700 mils 68300 mils lineto
stroke

newpath
22800 mils 68200 mils moveto
22700 mils 68100 mils lineto
stroke

newpath
23100 mils 68200 mils moveto
22800 mils 68200 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
23100 mils 67900 mils moveto
23300 mils 67900 mils lineto
stroke
1 setlinewidth

newpath
22800 mils 67900 mils moveto
22700 mils 68000 mils lineto
stroke

newpath
22800 mils 67900 mils moveto
22700 mils 67800 mils lineto
stroke

newpath
23100 mils 67900 mils moveto
22800 mils 67900 mils lineto
stroke

grestore

gsave
newpath
1.5 setlinewidth
23100 mils 67600 mils moveto
23300 mils 67600 mils lineto
stroke
1 setlinewidth

newpath
22800 mils 67600 mils moveto
22700 mils 67700 mils lineto
stroke

newpath
22800 mils 67600 mils moveto
22700 mils 67500 mils lineto
stroke

newpath
23100 mils 67600 mils moveto
22800 mils 67600 mils lineto
stroke

grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

28100 mils 66300 mils moveto
(/WAIT) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

19400 mils 66600 mils moveto
(/WRITE) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

18000 mils 65900 mils moveto
(/DATASTB) show
grestore

gsave
/Helvetica findfont
14.000000 scalefont
setfont

22700 mils 71000 mils moveto
(EPP INPUT DATA CIRCUIT) show
grestore

showpage
-------------end test_epp.ps--------------------

-- To unsubscribe, send mail to: linux-parport-request@torque.net --
-- with the single word "unsubscribe" in the body of the message. --



This archive was generated by hypermail 2.0b3 on Mon 06 Dec 1999 - 06:36:00 EST