#!/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)]
set CVSRevisionAuthor "\$Revision: 1.1 $ \$Author: soliday $"

if {[llength $argv] != 2} {
    puts "usage: advantest2sdds <advantest file> <sdds file>\n[join [split $CVSRevisionAuthor $] ""]"
    exit 1
}
set input [lindex $argv 0]
set output [lindex $argv 1]
if {![file exists $input]} {
    puts "error: $input does not exist"
    exit 1
}
if {[catch {open $input r} fid]} {
    puts "error: $fid"
    exit 1
}
set data [read $fid]
catch {close $fid}

set sdds(Layout.DataMode.Mode) binary
set sdds(ParameterNames) "CenterFreq FreqSpan"
set sdds(ColumnNames) "TA TA_LEVEL"
set sdds(ParameterInfo.CenterFreq) "type SDDS_DOUBLE"
set sdds(ParameterInfo.FreqSpan) "type SDDS_DOUBLE"
set sdds(ColumnInfo.TA) "type SDDS_LONG"
set sdds(ColumnInfo.TA_LEVEL) "type SDDS_DOUBLE"

set data [split $data \n]

set cf 1
set sp 1
set tr 1
set ta 0
set rows 0
set col1 ""
set col2 ""
foreach line $data {
    if {$cf} {
	if {[lindex $line 0] == "CF"} {
	    set sdds(Parameter.CenterFreq) [list [lindex $line 1]]
	    set cf 0
	    continue
	}
    }
    if {$sp} {
	if {[lindex $line 0] == "SP"} {
	    set sdds(Parameter.FreqSpan) [list [lindex $line 1]]
	    set sp 0
	    continue
	}
    }
    if {$tr} {
	if {[lindex $line 0] == "TRCPNT"} {
	    set rows [lindex $line 1]
	    set TR 0
	    continue
	}
    }
    if {$ta == 0} {
	if {[lindex $line 0] == "<TA>"} {
	    set ta 1
	    continue
	}
    }
    if {($ta > 0) && ($ta <= $rows)} {
	append col1 "[lindex $line 0] "
	append col2 "[lindex $line 1] "
	incr ta
    }
}
set sdds(Column.TA) [list $col1]
set sdds(Column.TA_LEVEL) [list $col2]

if {[catch {sdds save $output sdds} results]} {
    puts "error: $results"
    exit 1
}

