Sponsored Content
Top Forums Shell Programming and Scripting Storing received value from send, spawned telnet session Post 302888945 by bwkm on Tuesday 18th of February 2014 04:30:37 AM
Old 02-18-2014
I'm still having a problem with this code.
After a little bit of digging to figure out which calculation was going wrong, I found it to be the line:

Code:
set val [expr 10^($val/10)]

For an RSSI of -73 the output of result says -14 when it should be

10 ^(-73/10) = 5 * 10^-08

My guess is that it's some kind of wrapping going on, how do I avoid this?

Again, thank you so much for all your time and help.

Here is my code so far, please ignore my debug puts "$ "

Code:
#!/usr/bin/expect -f

set timeout 8
log_user 0
set ip [lindex $argv 0]
spawn -noecho telnet $ip
sleep 2

set count 0
set result 0.0
set val 0.0

send "PS1='PROMPT# '\r"

expect -re "PROMPT# '(.*)PROMPT# "
while {$count < 20} {
    send "iwconfig wlan0 | grep -o \"Signal level=....\" | cut -c14-16\r"
    expect -re "\r\n(.*)\r\n(.*)PROMPT# "
    set val $expect_out(1,string)
    puts "$val"
    #convert
    set val [expr 10^($val/10)]
    puts "$val"
    set result [expr $result+$val ]
    puts "$result"
    set count [expr $count+1 ]
}
send "exit\r"
expect eof
puts "$result"
#average
set result [expr $result/20.0 ]
puts "$result"
#convert back to dB
puts "$result"
set result [expr 10*log(($result/10.0)/log(10))]

puts "Average RSSI $result"

 

9 More Discussions You Might Find Interesting

1. Programming

Find the IP address that a telnet session uses

Hello Experts, Happy New Year to all of us, In AIX 4.3.3 I am trying to figure out how is possible to find out the IP address that a telnet session - user uses to login in to host machine. My objective is by finding the login IP address to allow the user to login or not. All users uses the... (6 Replies)
Discussion started by: sszago
6 Replies

2. UNIX for Dummies Questions & Answers

telnet session timeout

hi, we can set something such that if the user has been idle for a while, it will auto disconnect. where to do so? thanks (6 Replies)
Discussion started by: yls177
6 Replies

3. Shell Programming and Scripting

Telnet session does not expire

Dear friends.. Our project has a module that runs on handheld devices. Through the handheld we telnet to solaris where the application actually runs. I noticed that after starting a session through the handheld, if i go out of range or if i remove and replace the battery in the handheld, the... (1 Reply)
Discussion started by: deepsteptom
1 Replies

4. Shell Programming and Scripting

Telnet Session

{ sleep 2 echo "$user" sleep 2 echo "$password" sleep 2 echo " ls" sleep 10 echo "exit" }| telnet $server I have a machine x and i have executed the above script on machine 'x'. i entered the... (6 Replies)
Discussion started by: pathanjalireddy
6 Replies

5. UNIX for Dummies Questions & Answers

Unix Telnet session

Hi Is there any way whilst in a telnet session you can view your client machine name that you are using to connect to the Unix box ? :eek: (2 Replies)
Discussion started by: mlucas
2 Replies

6. UNIX for Dummies Questions & Answers

Telnet Session to AIX

Hello, I have AIX 5.3 at home connected to netgear router. Port Forwarding has been enabled on the router. Problem is that if I want to telnet, I have to try 2 or 3 times before I can get a logon prompt. It times out for first or second time (Connection to session <IP_Address> failed: Connection... (1 Reply)
Discussion started by: bluebee
1 Replies

7. UNIX for Dummies Questions & Answers

Disconnecting a telnet session

How can I disconnect an existing telnet session? The host is a serial port server with multiple ports. The users login using the host's name and a port, i.e. telnet host01 1235. Thanks. (14 Replies)
Discussion started by: cooldude
14 Replies

8. HP-UX

ssh session getting hung (smilar to hpux telnet session is getting hung after about 15 minutes)

Our network administrators implemented some sort of check to kill idle sessions and now burden is on us to run some sort of keep alive. Client based keep alive doesn't do a very good job. I have same issue with ssh. Does solution 2 provided above apply for ssh sessions also? (1 Reply)
Discussion started by: yoda9691
1 Replies

9. Shell Programming and Scripting

Suppressing output of a spawned telnet process

Hi, I'm trying to spawn a telnet process and trying to do some actions in the remote host using expect script. I would like to know how to suppress all the output in order the user using the script should not be able to see any actions done on the remote host. I tried using the "log_user 0"... (8 Replies)
Discussion started by: arun_maffy
8 Replies
local(n)							    [incr Tcl]								  local(n)

__________________________________________________________________________________________________________________________________________________

NAME
local - create an object local to a procedure SYNOPSIS
itcl::local className objName ?arg arg ...? _________________________________________________________________ DESCRIPTION
The local command creates an [incr Tcl] object that is local to the current call frame. When the call frame goes away, the object is auto- matically deleted. This command is useful for creating objects that are local to a procedure. As a side effect, this command creates a variable named "itcl-local-xxx", where xxx is the name of the object that is created. This vari- able detects when the call frame is destroyed and automatically deletes the associated object. EXAMPLE
In the following example, a simple "counter" object is used within the procedure "test". The counter is created as a local object, so it is automatically deleted each time the procedure exits. The puts statements included in the constructor/destructor show the object coming and going as the procedure is called. itcl::class counter { private variable count 0 constructor {} { puts "created: $this" } destructor { puts "deleted: $this" } method bump {{by 1}} { incr count $by } method get {} { return $count } } proc test {val} { local counter x for {set i 0} {$i < $val} {incr i} { x bump } return [x get] } set result [test 5] puts "test: $result" set result [test 10] puts "test: $result" puts "objects: [itcl::find objects *]" KEYWORDS
class, object, procedure itcl local(n)
All times are GMT -4. The time now is 03:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy