Go Down

Topic: How to update only a portion of the PuTTY serial display (Read 1 time) previous topic - next topic

Toastman85

Hello,

I've been looking around and cannot find an answer to my question so please forgive me if this is a repost, which it likely is.

I'm trying to automate my home brewery and I want to get a proof of concept working with a serial connection to a (Windows 7) laptop before I start to mess with a GLCD.  I have a screen that is always present in the serial display that looks like the attached picture and I want to be able to update fields like "TIME LEFT: " and "Current Temp: " without printing out a whole new screen every second.  Is there a way to move the "cursor" to the field I want and only change a few characters?  How do people normally do this with menu based, DOS-like programs?

I mostly use the Arduino Serial Monitor, but I also use PuTTY or TeraTerm.  I understand they all behave slightly differently.

Thank you so much for any help.

-Ken



mkwired

It cannot be done with the Arduino Serial Monitor because it isn't a VT100 emulator but PuTTY is.  The answer is use VT100 escape codes.

http://ascii-table.com/ansi-escape-sequences-vt-100.php

nottwo

As mkwired said, the ANSI/VT100 escape sequences are the general way to arbitrarily position text on a display.  Historically, the display was a hardware serial terminal like the DEC VT100 and Wyse 50.  These days, it is typically a software terminal emulator such as HyperTerminal, Tera Term, Terminal.app, xterm, Gnome Terminal and so on.

If you want to use the ANSI escape sequences with a GLCD, you will need to select one that supports them.  Most out there have their own interface for controlling the display.  Here is one manufacturer I found with a quick websearch (no endorsement): http://www.acscontrol.com/Pages/Products/Lcd/index.htm

Here's an Arduino library that can control KS0108-based GLCDs natively, without the ANSI escape sequences: http://www.arduino.cc/playground/Code/GLCDks0108

You will have a wider range of GLCDS to choose from if you don't go the ANSI-compatible route, but I don't know how you will be able to do your development using just your host machine and then add the GLCD later without using ANSI escapes.

Homebrew automation sounds like a fun project!  Good luck!

liudr

I look up this link now and then:

http://en.wikipedia.org/wiki/ANSI_escape_code

My phi-panel serial LCD keypad supports most of these escape codes but they are not yet glcd, biggest being 20*4 character display.

Do you intend to eventually use an LCD on board your display or a PC window? If you use a PC window, just get xterm and start using escape code to set your cursor.

Go Up