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

# output files:
# BeamlineSteering.loc

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 root BeamlineSteering
set pvList ""
foreach section "ID IDus IDds BM" {
    for {set beamline 1} {$beamline <= 35} {incr beamline} {
        set bl [format %02d $beamline]
        lappend pvList ${section}${bl}:BLSteerStatus
        lappend pvList ${section}${bl}:SteeringCount
        lappend pvList ${section}${bl}:XpActualAccum
        lappend pvList ${section}${bl}:YpActualAccum
        lappend pvList ${section}${bl}:XpRunAccum
        lappend pvList ${section}${bl}:YpRunAccum
        lappend pvList ${section}${bl}:BLSteerStatus
    }
}
lappend pvList SRID:SteeringLockBI

set data(ColumnNames) "ControlName"
set data(Column.ControlName) [list $pvList]

if {[catch {sdds save /tmp/${root}.loc data} results]} {
    puts "Error: $results"
    exit
}
if {[catch {exec sddsprocess /tmp/${root}.loc -print=column,Provider,ca -print=column,ExpectNumeric,y,type=character -print=column,ExpectFieldType,scalar -define=column,ExpectElements,1,type=long -nowarn} results]} {
    puts "ERROR: $results"
    exit
}


puts "Comparing against master PV list"
exec sddsselect /tmp/${root}.loc /home/helios/oagData/pvdata/iocRecNamesOAG.sdds ./../DataLogging/${root}.loc -match=ControlName=rec_name -nowarning -reuse

file delete -force /tmp/${root}.loc

sdds load ./../DataLogging/${root}.loc data
set data(ParameterNames) "InstallLocation"
set data(Parameter.InstallLocation) [list /home/helios/oagData/logonchange/${root}/${root}.loc]
set data(Layout.DataMode.Mode) "ascii"
sdds save ./../DataLogging/${root}.loc data

puts "use cppatch to install ${root}.loc"


