"Steve Robertson" <steven_j_robertson(a)hotmail.com> wrote (after me):
>The sticky bit would be that the 3000's
terminal I/O is essentially
>one-way-at-a-time: if the terminal device doesn't have a read request
>posted, then most data sent from the attached device will be discarded
With the exception of a few watchdog functions (which
I wouldn't be using
anyway), all OPTO22 communications are done through polling. So, that
shouldn't be too big a hurdle.
Maybe, maybe not. Remember that the terminal I/O device can only do
one thing at a time. If you've done a write to send the poll request,
you don't have a read pending and it will take you a little while to
start the read. If your OPTO22 widget starts sending its response
before you get that read up then you will lose some or all of the
response.
It is possible to get the 3000 to indicate when it's got the read up
by sending a read trigger character. The typical read trigger
character is DC1 (control-Q) on terminal types 9 and 10 (among
others), but this is changeable somewhat if you fuss around with the
workstation configurator (TTUTIL.PUB.SYS?) and make up a new terminal
type definition file which you then associate with a terminal device
through SYSDUMP.
The intended use of the read trigger character is telling the HP
terminals when they can start a block-mode transfer, but there's no
reason you can't abuse it for your own purposes.
-Frank McConnell