#!/bin/sh  
# \
exec oagtclsh "$0" "$@"


set auto_path [linsert $auto_path 0  /usr/local/oag/apps/lib/$env(HOST_ARCH)]
set auto_path [linsert $auto_path 0 /usr/local/oag/lib_patch/$env(HOST_ARCH)]

APSStandardSetup
set args $argv

set command0 ":WAVEFORM:DATA?"
set instName "164.54.3.214"
set chan 2
APSParseArguments {filename}

set errorMessage "Usage: $argv0 -filename <filename>"

if {[string length $filename] == 0 } {
    puts stderr $errorMessage
    exit
}

if {![string match {*.*.*.*} $instName]} {
    set string [exec net $instName]
    regexp {([0-9]*\.[0-9]*\.[0-9]*.[0-9]*)} $string dummy instName
    puts "$instName"
}

set instrumentName $instName
set PeerPort 5025


foreach chan {1 2} {
    if {[catch {socket $instrumentName $PeerPort} sid]} {
        puts "Error: Socket Could not be created: $sid"
        exit 1
    }
    # set indexString [format {%6.6d} $index]
    # set filename "$rootname-$indexString"

    fconfigure $sid -buffering line
    set command ":CHANNEL$chan:DISPLAY?"
    puts $sid "$command"
    gets $sid response 
    if {$response == 0} {
	exit 1	
    }
    set command ":WAVEFORM:SOURCE CHANNEL$chan"
    puts $sid "$command"
    set command $command0
    #puts "Sending query: ${command}"
    puts $sid "$command" 
    gets $sid response
    #puts $response
    set astring [string trim [split $response ,]]
    lappend data(ColumnNames) Channel$chan
    set data(ColumnInfo.Channel$chan) "type SDDS_DOUBLE"
    lappend data(Column.Channel$chan) [lrange $astring 0 end-1] 
    
}

catch {close $sid}

if [catch {sdds save $filename.1 data} result] {
    puts stderr "getS2Sscopedata: Error saving file: $result"
    exit 1
}

if [catch {exec sddsprocess $filename.1 $filename -define=col,Index,i_row,type=long } result] {
    puts stderr "Error processing file: $result"
    exit 1
}
exec rm $filename.1
exit 0







