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

# input files:
# S-DAQ.alog.Template
# S-DAQ.alog.Misc
#

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 usage "usage: makeS-DAQAlarmFile"
set listFile "/home/helios/oagData/sr/BPLDs/sectors.sdds"

set sectorList [APSGetSDDSColumn -fileName $listFile -column Sector]

for {set sector 1} {$sector<=40} {incr sector} {
    set ssector [format %02ld $sector]
    set filename [format S-DAQ.alog.%02ld $sector]
    exec sddsprocess ./../Alarms/S-DAQ.alog.Template /tmp/$filename \
      -retain=column,ControlName \
      -reedit=column,ControlName,%/<sector>/$ssector/ 
    lappend fileList /tmp/$filename
}

#remove control names that didn't connect
set tmpfile S-DAQ.alog
if {[catch {eval exec sddscombine $fileList ./../Alarms/S-DAQ.alog.Misc \
              -merge -overwrite /tmp/$tmpfile.comb} results]} {
    puts "error: results"
    exit
}
if {[catch {exec sddsprocess /tmp/$tmpfile.comb /tmp/$tmpfile.desc \
              -reedit=col,ControlName,ei/.DESC/  \
              -print=col,ControlType,pv -print=col,ControlMode,""} results]} {
    puts "error: results"
    exit
}
if {[catch {exec burtrb -f /tmp/$tmpfile.desc -o /tmp/$tmpfile.desc.out} results]} {
    #        puts stderr "error: $results"
    #        exit
}

if {[catch {exec sddsxref /tmp/$tmpfile.comb /tmp/$tmpfile.desc.out \
              -pipe=out -take=ValueString \
              -rename=column,ValueString=Description \
              | sddsprocess -pipe=in /tmp/S-DAQ.alog \
              -edit=column,SimpleControlName,ControlName,S?/./K \
              -reedit=column,Description,10%/"//a%/\\0//} results]} {
    puts stderr "error: $results"
}
exec sddssort -col=ControlName /tmp/S-DAQ.alog -nowarning -numericHigh



puts "Comparing against master PV list"
exec sddsselect /tmp/S-DAQ.alog /home/helios/oagData/pvdata/iocRecNamesOAG.sdds -pipe=out -match=SimpleControlName=rec_name -nowarning -reuse | sddsconvert -pipe=in ./../Alarms/S-DAQ.alog -delete=column,SimpleControlName

sdds load ./../Alarms/S-DAQ.alog data
set data(ParameterNames) "InstallLocation"
set data(Parameter.InstallLocation) [list /home/helios/oagData/Alarms/S-DAQ.alog]
set data(Layout.DataMode.Mode) "ascii"
sdds save ./../Alarms/S-DAQ.alog data

eval file delete -force $fileList /tmp/$tmpfile.comb \
  /tmp/$tmpfile.desc.out /tmp/$tmpfile.desc /tmp/S-DAQ.alog /tmp/S-DAQ.alog~

puts "use cppatch to install S-DAQ.alog"

