#!/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 args $argv
set filename ""
set steps 1
APSParseArguments {filename steps}

#set filename [lindex $argv 0]
#st steps [lindex $argv 1]

if [string length $filename]==0 {
    puts "Usage $argv0 <filename> <steps(0)>" 
    exit
}

if [string length $steps]==0 {
    set steps 1
}

if [catch {exec cavget -list=B:SampleperiodAI -pend=10 -printErrors} sampleInterval] {
    put stderr "Error in reading sample interval: $sampleInterval"
    exit 1
}
set msPerSample [expr $sampleInterval/4000.0]

set BMVoltageScale 0.1220722
set QFVoltageScale 0.0219730
set QDVoltageScale 0.0219730
set SFVoltageScale 0.0045777
set SDVoltageScale 0.0045777
set newVoltageScale 1.019473597764458


if [catch {exec sddswmonitor -erase ${filename}.1 \
    -steps=$steps  -interval=1 \
    -pvnames=B:BM:PSVoltageWF,B:QF:PSVoltageWF,B:QD:PSVoltageWF,B:SF:PSVoltageWF,B:SD:PSVoltageWF,B:SF-U:PSVoltageWF,B:SD-U:PSVoltageWF \
    -scalars=/home/helios/oagData/booster/ramps/IRamp/brampcurrentWF.scalars -pend=30 } result] {
    puts stderr "GetBooRampVoltageWF1: Error reading booster voltage waveform:$result"
    exit 1
}
if [catch {exec sddsprocess $filename.1 $filename \
             "-redefine=col,time,Index $msPerSample *,units=mS" \
             "-redefine=col,BMvout,B:BM:PSVoltageWF $BMVoltageScale * $newVoltageScale *,units=Volts" \
             "-redefine=col,QFvout,B:QF:PSVoltageWF $QFVoltageScale * $newVoltageScale *,units=Volts" \
             "-redefine=col,QDvout,B:QD:PSVoltageWF $QDVoltageScale * $newVoltageScale *,units=Volts" \
             "-redefine=col,SFvout,B:SF:PSVoltageWF $SFVoltageScale * $newVoltageScale *,units=Volts" \
             "-redefine=col,SDvout,B:SD:PSVoltageWF $SDVoltageScale * $newVoltageScale *,units=Volts" \
             "-redefine=col,SF-Uvout,B:SF-U:PSVoltageWF $SFVoltageScale * $newVoltageScale *,units=Volts" \
             "-redefine=col,SD-Uvout,B:SD-U:PSVoltageWF $SDVoltageScale * $newVoltageScale *,units=Volts" \
             -now } result] {
    puts stderr "GetBooRampVoltageWF12: Error processing file: $result"
    exit 1
}
file delete -force ${filename}.1
exit
