#!/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 filename ""
set overwrite 0
set instName "164.54.3.155"
set timeColumn 0
set description ""
APSParseArguments {filename overwrite instName timeColumn description}

if ![string length $filename] {
    puts "File name not provided."
    puts "collectParBunchLengthScopeData -filename <filename> \[-overwrite <1|0>\] -instName <scope ID address>"
    exit 1
}

if {[file exist $filename] && !$overwrite} {
    puts stderr "$filename already exist!"
    exit 1
}

set tmpRoot /tmp/[APSTmpString]
if [catch {exec sddscasr -save /home/helios/oagData/par/sddsmonitorFiles/parBunchLength.mon $tmpRoot.pv } result] {
    puts stderr "Error reading pv values: $result"
    exit 1
}
APSAddToTmpFileList -ID parbunchlength -fileList $tmpRoot.pv
set pvList [exec sdds2stream -col=ControlName $tmpRoot.pv]
set valList [exec sdds2stream -col=ValueString $tmpRoot.pv]
set option ""
foreach pv $pvList val $valList {
    if [catch {expr $val / 2.0} result] {
        lappend option "-print=par,$pv,[APSMakeSafeQualifierString $val]"
    } else {
        lappend option -define=par,$pv,$val
    }
}
lappend option "-print=par,Description,[APSMakeSafeQualifierString $description]"

APSAddToTmpFileList -ID parbunchlength -fileList $tmpRoot.data

#if [catch {exec getHP9000ScopeData -instName "164.54.3.155" -filename $tmpRoot.data} result] {
#    puts stderr "Error reading scope data: $result"
#    exit 1
#}
#changed to a new scope 164.54.1.178
if [catch {exec getHP9000ScopeData -instName $instName -filename $tmpRoot.data -timeColumn $timeColumn} result] {
    puts stderr "Error reading scope data: $result"
    exit 1
}

if [catch {eval exec sddsprocess $tmpRoot.data $filename $option} result] {
    puts stderr "Error processing data: $result"
    exit 1
}

