ANSI to ASCII translation

0 votes
asked Jun 17, 2011 by tebee (220 points)
edited Jul 12, 2012

I need to decode the output of an industrial equipment that sends status to a VT100 style console. Actually data has to be parsed, only some fields in the mask are needed but first the ANSI sequence has to be converted to a columnar ascii data. The model used by your product should be correct, however only the library is useful and the suggested method to use it. I.e., the AnsiConvertor has no support for stdi/stdout (pipes), besides is easy to write the appropriate code to use; also there is no RS-232 support, comparing to working PuTTY and plink it seems a big difference. The ANSI set I use is limited to few escape sequence and there is no interaction with sender, a subset of the scope, the Rebex products. Any suggestion? Thank you.

3 Answers

0 votes
answered Jun 20, 2011 by Lukas Matyska (54,470 points)
edited Jun 20, 2011

Rebex Terminal component is a program library for software developers. It is not an application for end user unlike the PuTTY.

Purpose of the AnsiConvertor sample is to show some specific capabilities of the library and how to use it. It is not a command line interface unlike the Plink.

Are you able to write your own code in .NET? If yes, we can provide some code targeted to your needs.

0 votes
answered Jun 20, 2011 by tebee (220 points)
edited Jul 12, 2012

Thanks for explain, i am now trying the telnet virtual terminal emulation, with a rs232 backend. If you have any coding example please forward; the kind of comm's i have is like: (sorry for awful presentation)

7[H<abcdef>[K87[H<abdef>[K87[H<abcdef>[K <itm1> <col1> <col2> <col3> <col4> <col5> [K <itm2> <col1> <col2> <col3> <col4> <col5> [K 7[H<abcdef>[K8<abcdef>[K <itm3> <col1> <col2> <col3> <col4> <col5> [K <itm4> <col1> <col2> <col3> <col4> <col5> [K

of which i am only interested of some columns data. As is possible to see from capture log, it is only a status broadcasted data, unidirectional, with items or rows from 1 to 50. My concern is the rs232 realtime update (3 per second) and the fact that there is no end of page indication; i can only rely on cursor positioning to 0,0 to start recapture new data. I am not a coding professional, however i can grasp the basics and try to improve.

commented Jun 21, 2011 by Lukas Matyska (54,470 points)
edited Jul 12, 2012

It is hard to provide you with a reasonable code. Can you please try the experimental serial port factory project. If it works, please send us a communication recording at support@rebex.net. It can be created by assigning the Recorder property as follows:

vt.Recorder = File.AppendText("C:/temp/record.ans");

0 votes
answered Jun 21, 2011 by tebee (220 points)
edited Jul 12, 2012

Back to forum, same question, RS-232? The example given for virtual terminal binds to telnet to pass data, how to link virtual terminal with another file i/o source? Cheers.

commented Jun 21, 2011 by Lukas Matyska (54,470 points)
edited Jul 12, 2012

RS-232 is not currently supported, but you can try experimental serial port factory project

To link VirtualTerminal with another file please look at the AnsiPlayer sample. The AnsiPlayerShellChannel class simulates the remote end by providing server responses read from a local file.

commented Jun 22, 2011 by tebee (220 points)
edited Jun 22, 2011

Now I am trying to get virtualserver down to scope but i have troubles: - beside rs232 works well the ansi decode of virtualserver is not. I try to put some values in options but cursor always move with data, the escape ESC[H (cursorhome) is not interpreted. How to get access to ansi decode function?

commented Jun 22, 2011 by Lukas Matyska (54,470 points)
edited Jun 22, 2011

I am sure the ESC[H (cursorhome) works correctly (I tried the sample output you provided before), but there is also ESC7 (DECSC - Save cursor) and ESC8 (DECRC - Restore cursor) which affects the cursor position also.

Can you please send us the communication recording at support@rebex.net as described in my comment to your previous post. We will analyze it and tell you more.
Thank you.

...