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

# output files:
# FPGA_BPM_Synch.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 data(ColumnNames) "ControlName Tolerance"
set data(ParameterNames) "InstallLocation"
set data(ColumnInfo.ControlName) "type SDDS_STRING"
set data(ColumnInfo.Tolerance) "type SDDS_DOUBLE"

set data(Parameter.InstallLocation) [list $OAGGlobal(OAGDataDirectory)/logonchange/FPGA_BPM_Synch/FPGA_BPM_Synch.loc]

set sectors [exec sdds2stream -col=Sector /home/helios/oagData/sr/FPGAbpm/sectors.sdds]

foreach i $sectors {
    lappend cn S${i}A:ClockFaultMBBI.BA
    lappend tol 0.0
    lappend cn S${i}B:ClockFaultMBBI.BA
    lappend tol 0.0
    lappend cn S${i}A:ClockFaultMBBI.B0
    lappend tol 0.0
    lappend cn S${i}B:ClockFaultMBBI.B0
    lappend tol 0.0
    lappend cn S${i}A:ClockFaultMBBI.B1
    lappend tol 0.0
    lappend cn S${i}B:ClockFaultMBBI.B1
    lappend tol 0.0
    lappend cn S${i}A:ClockFaultMBBI.B2
    lappend tol 0.0
    lappend cn S${i}B:ClockFaultMBBI.B2
    lappend tol 0.0
    lappend cn S${i}A:ClockFaultMBBI.B8
    lappend tol 0.0
    lappend cn S${i}B:ClockFaultMBBI.B8
    lappend tol 0.0
    lappend cn S${i}A:ClockFaultMBBI.B9
    lappend tol 0.0
    lappend cn S${i}B:ClockFaultMBBI.B9
    lappend tol 0.0
}

set data(Column.ControlName) [list $cn]
set data(Column.Tolerance) [list $tol]

sdds save /tmp/FPGA_BPM_Synch.loc data

if {[catch {exec sddsprocess /tmp/FPGA_BPM_Synch.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 sddsprocess /tmp/FPGA_BPM_Synch.loc -pipe=out -edit=column,SimpleControlName,ControlName,S?/./K | sddssort -col=ControlName -pipe -nowarning -numericHigh | sddsselect -pipe /home/helios/oagData/pvdata/iocRecNamesOAG.sdds -match=SimpleControlName=rec_name -nowarning -reuse | sddsconvert -pipe=in ./../DataLogging/FPGA_BPM_Synch.loc -delete=column,SimpleControlName

file delete -force /tmp/FPGA_BPM_Synch.loc

puts "use cppatch to install FPGA_BPM_Synch.loc"

