TK/Expect causes BEEP bacause of <CTL> chars, need to disable or filter <CTL> chars - TCL

This is a discussion on TK/Expect causes BEEP bacause of <CTL> chars, need to disable or filter <CTL> chars - TCL ; HELP!!! I think I am going crazy. I'm writing a utility in TCL/TK/Expect. Every thing works great except for one problerm that I have not been able to fix. I'll explain what the utility does and what the problem is ...

+ Reply to Thread
Results 1 to 5 of 5

TK/Expect causes BEEP bacause of <CTL> chars, need to disable or filter <CTL> chars

  1. Default TK/Expect causes BEEP bacause of <CTL> chars, need to disable or filter <CTL> chars

    HELP!!!
    I think I am going crazy. I'm writing a utility in TCL/TK/Expect. Every
    thing works great except for one problerm that I have not been able to fix.
    I'll explain what the utility does and what the problem is in detail below.
    If anyone can hep me fix this I will be forever GREATFULL!!!!

    Basically, Expect is sending strings to the user (in the expect_out(buffer))
    with a certain <CTL> char. Later I use some of the strings to send back to
    the device through expect, but expect (or TK, or the OS) doesn't like the
    <CTL chars> and beeps for every char (millions of beeps).


    My Configuration:

    USER PC <----------------------> Device, or DUT (device under test)
    (TCL/TK/Expect) (ethernet) (Internet router)



    WHAT THE PROGRAM/UTILITY DOES:
    There is a GUI interface, the user starts the program, enters in the
    destination IP address to the device that the user wants to configure (the
    DUT) with my TK/Expect utility. When the tool runs, it gets the old
    configuation from the DUT by sending a command to the device (DUT) and it
    saves the config (parses expect_out(buffer) to a file. (NOTE: This fle is
    not used now, but can be used at a later time by parsing the file
    (extracting the commads), saving them to an array, etc). The user selects
    the text file that contains configuration commands, loads the commands (the
    utility parses the file for commands), saves the commands to an array, and
    then logs into the device (DUT) and sends the commands to the DUT, one
    command at a time.

    PROBLEM:
    When the commands are sent to the DUT via Expect and telnet, I usually hear
    a loud BEEP! It wouldn't be a big deal if I didn't have thoudsands of
    commands, and a dozen co-workers all using the tol. Can you hear thousands
    or millions of BEEPs for 8 hours during the day. Actually, no one would use
    it, they would probably just laugh. Anyway, I have tried to change the
    settings on the user's OS platform (I used xset on the Sun, and the system
    settings for Windows) and the TK/Expect utility it still beeps anyway) .
    (Mostly the utility will be used on Windows XP). On the platforms, I
    disabled the BEEP on both platforms and the Utility still causes a beep.
    When I see the "running display" on the TCL/TK/Expect utility while all the
    beeps are occouring, I do see one extra extra control characters over and
    over and am pretty certain that Expect sending these control characters to
    the DUT is causing the beep. Either Expect, TK, or the OS to beep. In the
    text file (with Windows notepad) I do not see the <CTL chars>, all looks
    okay, but I do see the <CTL chars> in the tool console and running-log
    display. I beleive it's a linefeed or something like that.

    This is the character causing the problem: ""
    The char doesn't even show up in this message (above), instead I see a
    carrage retrn or lne feed or something. When the script runs, I can see the
    chrs in the running log. It looks like a verticle bar, or an emply square.
    PLEASE HELP.

    Thanks,
    - Daniel K

    --
    Posted via a free Usenet account from http://www.teranews.com


  2. Default Re: TK/Expect causes BEEP bacause of <CTL> chars, need to disable or filter <CTL> chars

    At 2007-05-25 02:15AM, "dopeAddict{}fukdup.com" wrote:
    > Basically, Expect is sending strings to the user (in the expect_out(buffer))
    > with a certain <CTL> char. Later I use some of the strings to send back to
    > the device through expect, but expect (or TK, or the OS) doesn't like the
    > <CTL chars> and beeps for every char (millions of beeps).


    What else are you doing with those strings? Writing them to a log file?
    Are you printing them to the screen with puts or send_user? I suspect
    they are Ctl-G (the ascii BEL character)

    I assume the functionality is working as expected but the only annoyance
    is the beeping.


    --
    Glenn Jackman
    "You can only be young once. But you can always be immature." -- Dave Barry

  3. Default Re: TK/Expect causes BEEP bacause of <CTL> chars, need to disableor filter <CTL> chars

    Glenn Jackman wrote:
    > At 2007-05-25 02:15AM, "dopeAddict{}fukdup.com" wrote:
    >
    >> Basically, Expect is sending strings to the user (in the expect_out(buffer))
    >> with a certain <CTL> char. Later I use some of the strings to send back to
    >> the device through expect, but expect (or TK, or the OS) doesn't like the
    >><CTL chars> and beeps for every char (millions of beeps).

    >
    >
    > What else are you doing with those strings? Writing them to a log file?
    > Are you printing them to the screen with puts or send_user? I suspect
    > they are Ctl-G (the ascii BEL character)
    >
    > I assume the functionality is working as expected but the only annoyance
    > is the beeping.
    >
    >

    disabling logging of matched input to stderr with

    log_user 0

    comees to mind.
    Check first with

    puts log_user:[log_user]

    will be "1" if enabled (default)


    uwe

  4. Default Re: TK/Expect causes BEEP bacause of <CTL> chars, need to disable or filter <CTL> chars

    Yes, I set log_user to "1" when I debug, but I've tried it with log_user "0"
    and still hear the bell. Yes, the program works, but if I send a command and
    it fails for some (legitimate) reason I hear the bell and when I login to
    the device through telnet/expect, the login banner at the device through
    telnet expect has the vertcal bar at the end of every line (I think CTL-G)
    and in the middle of some lines. If I telnet to the same device without
    using expect I do not see the CTL chars in the telnet sesion, only the
    telnet/expect session.

    Maybe some term config setting or something. What about stderr, is there any
    way to change this to remove the bell on error? I'll try anythng. I will
    play with log_user and see if it helps but I remember trying this a while
    back but I've made other changes since then so it's worth trying again.
    - Daniel

    --
    Posted via a free Usenet account from http://www.teranews.com


  5. Default Re: TK/Expect causes BEEP bacause of <CTL> chars, need to disable or filter <CTL> chars

    You didn't answer Glenn's fundamental question: are you, or not,
    displaying back on the console what comes back from telnet ?

    If yes, then you can simply filter out the ^G's with [string map].
    If it goes to the console without your intervention, please say so.

    -Alex


+ Reply to Thread

Similar Threads

  1. DirectoryExists on 1st 4 chars
    By Application Development in forum DOTNET
    Replies: 2
    Last Post: 11-19-2007, 10:52 AM
  2. ttfont alt chars?
    By Application Development in forum Graphics
    Replies: 2
    Last Post: 08-20-2007, 07:40 PM
  3. Replies: 0
    Last Post: 04-05-2007, 01:17 PM
  4. Sending chars between VB6 and C#.NET
    By Application Development in forum DOTNET
    Replies: 2
    Last Post: 03-31-2007, 09:28 AM
  5. Chinese chars in VB6
    By Application Development in forum basic.visual
    Replies: 0
    Last Post: 10-23-2006, 01:19 AM