|Need some help understanding the 82164A (HP-IL to RS-232)|
Message #1 Posted by Mike on 3 June 2006, 9:37 p.m.
I have a problem trying to understand the operation of the 82164A (HP-IL to RS-232) module. I'm trying to use it to connect to some display device. But I have a problem.
1) I'm seeing some extra garbage (escape sequences I think) that follow a CR (ENTER) used from the HP-71B. These only show up when I use ENTER on the 71B. A similar thing happens when I use UPARROW or DNARROW arrow on the 71B. Several lines are printed out, as in the test program, these extra characters aren't sent.
This is a problem because of different behavior on two different display devices. On most display devices, and on a DOS Terminal Emulator, these extra characters are simply ignored as non-displayable. These sequences are,
and so forth. See figure 3 for actual sequence of characters send, after ENTER is pressed. On the device that is seeing these characters and displaying them (incorrectly), instead of ignoring them, like other devices, it's output would look like this:
- "0x1B, 0x3C - ("ESC <")"
- "0x1B, 0x3E ("ESC >")
- "0x1B, 0x52" - ("ESC R")
- And so forth
everytime an ENTER key is pressed, instead of simply ">" like what is normal on most devices and the 71B display. All that should be displayed is ">" after an ENTER press. But what shows up is "<R,CR,LF,><>>>R>". Wierd!
As you can see in the 3 screenshots, if I run an emulator, these don't show up and are not displayed, on the emulator. Also, these are not displayed on most other display devices by other manufacturers. But on ONLY one of my display devices, the 0x1B is ignored and the 0x3C is printed. I need to understand what these other characters are and why they are sent???
Anyone know why these extra characters would be sent by the 82164A module? Anyone know how to turn them off?
Images (so you know what you are looking at:
Image1: This is what most display devices look like and what I want them to look like.
Image2: The captured text, being sent over RS-232, to the display device, in ascii format. The small box, is the 0x1B character. The esc chars aren't displyaed on emulator and other displays. They are on the ONLY one of my display devices. On this one device, the 2nd byte is being displayed, as if the 1st (0x1B) isn't seen. I think that is the source of my problem.
Image3: Image 3 is simply 3 presses of the ENTER key, on the 71B. I would expect to see ONLY three sequences of 0x0D, 0x0A characters.
Click Images for Larger View
So, what I'm trying to figure out is 2 fold.
1) Why these characters are even being sent?
2) Why this other display device ignores the first char and prints the 2nd? (working that through the display mfg.) But folks here can help me with the first question.
The only question for this forum is the 1st question. I'll deal with the 2nd question with the mfg. of the display controller.
Why are these extra two-byte (esc ?) chars being sent? How to turn them off? Is this even normal? Because it's a consistent 2 byte sequence, I think we can rule out noise or some other similar cause.
Anyone here have an answer to the 1st question?
Sidenote: I'm initializing the 82164A with the following sequence:
OUTPUT :1; "R0, R1, P4, SS0, SBF"
The RS-232 is being initialized to be a DISPLAY IS device. Is this a good sequence or should I be initializing with something additional or different.
Edited: 3 June 2006, 11:24 p.m.