stevem@pserv.CFSMO.Honeywell.COM (Steve Mestad) (03/27/91)
OK folks, I have a problem and need help from the experts. I have tried HP and the official answer is "we can't help you". I have a Dataproducts LZR2665 postscript printer which I want to connect to an HP9000 370 via rs422. This is the 98659 board used (and only supported) for connecting 64700 series emulators. I need to go a fairly long distance and want the higher speed that rs422 provides so rs232 and Centronics are not good options. The problem is in getting the printer and the computer to speak nicely to each other. I have a routine that opens the line and shoots out data at 57600 baud. When I echo the data to the console, things work ok. When I get rid of that echo, the printer doesn't do anything except send back an error message. Apparently a problem with data arriving too fast or some such. Now for my questions on the rs422: (which HP can't answer) Do I need to use special ioctl's or other special i/o programming for the rs422 board? Or does it follow the normal ioctl conventions used on rs232? The 98659.h include file has many strange definitions and I am curious if I need to use them somehow (and if so, how) or if those were only required for the device driver....?? Does the device driver support xon/xoff flow control transparently? Do I need to handle it myself (other than turning it on via the ioctl's)? The emulators are connected via hardware handshake. Is hw handshake all that is supported? Will xon/xoff get passed through or dropped? If its dropped, what else is not passed on? Cabling. The printer only has the xmit and rec data pairs. No other handshake signals are available. I built my cable by passing those lines to the printer and looping the rest back like the test hood loopbacks. This seems to work. However, the timing line worries me a bit. Will the card keep straight 57600 baud rates or must the timing line actually run to the peripheral to get accurate baud rates? Must any of the other signals actually interact with the peripheral? My other questions are kind of postscript related. The printer doesn't seem to have a way of telling the computer that it is offline, out of paper, etc. Although the rs232 port has some hw handshake signals, none of them are ever toggled to indicate status. All are strapped high or low permanently. Is this how all postscript printers work? Must I interrogate the printer via postscript to see if its ready? What about when it runs out of paper or goes offline during a print job? On this printer that seems to bring sudden death to the print job. Do postscript printers flow control via xon/xoff to prevent buffer overrun? I think I have this one set to do so but I haven't been able to tell if it is actually trying to do so. I had a protocol analyzer connected but it wasn't able to catch data going back to the computer for some reason. (Data does go back though as I am able to read out those error messages.) Are buffer full conditions also a postscript status query situation? I suppose this is a bit much to ask, but I will anyway. The section of code from the emul700 program that sets up the rs422 port for emulation would have all the programming info I am after. Is there any way I can get a copy of the code that sets up the port? If the reads and writes are non standard, it would also be helpful to see an example of each as well. Any examples of working code would be tremendously helpful but the emul700 program is the only one that comes to mind. Confidentiality is promised, nondisclosures could be arranged. I really do wish to make this work and I still think it can be done. Somehow. I really don't want to use rs232 at 9600 baud. Thanks for any info. Steve Mestad