#!/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 cList ""
foreach sector {32 33 38 39} {
    if {[catch {APSGetMagnetPVNamesAndInfo -beamline sr -type quad -sector $sector} results]} {
        puts $results
        exit
    }
    append cList "$results "
    if {[catch {APSGetMagnetPVNamesAndInfo -beamline sr -type skewquad -sector $sector} results]} {
        puts $results
        exit
    }
    append cList "$results "
    if {[catch {APSGetMagnetPVNamesAndInfo -beamline sr -type sext -sector $sector} results]} {
        puts $results
        exit
    }
    append cList "$results "
}

set data(ColumnNames) "ControlName ReadbackName ReadbackUnits"
set data(ParameterNames) "OutputRootname TriggerControlName MinorAlarm MajorAlarm NoAlarm InstallLocation"
set data(ParameterInfo.MinorAlarm) "type SDDS_SHORT"
set data(ParameterInfo.MajorAlarm) "type SDDS_SHORT"
set data(ParameterInfo.NoAlarm) "type SDDS_SHORT"
foreach c $cList {
    set ControlName "$magnetPVs(${c}.setCurrentPV) $magnetPVs(${c}.readCurrentPV) "
    set ReadbackName "$magnetPVs(${c}.setCurrentPV) $magnetPVs(${c}.readCurrentPV) "
    set ReadbackUnits "A A "
    if {$magnetPVs(${c}.readDacCurrentPV) != ""} {
        append ControlName "$magnetPVs(${c}.readDacCurrentPV) "
        append ReadbackName "$magnetPVs(${c}.readDacCurrentPV) "
        append ReadbackUnits "A "
    }
    if {$magnetPVs(${c}.readDCCTCurrentPV) != ""} {
        append ControlName "$magnetPVs(${c}.readDCCTCurrentPV) "
        append ReadbackName "$magnetPVs(${c}.readDCCTCurrentPV) "
        append ReadbackUnits "A "
    }

    if ![file exists /home/helios/oagData/glitchLogs/SRConverters/$c] {
        puts stderr "Warning: Create missing directories in /home/helios/oagData/glitchLogs/SRConverters"
        exit
    }
    lappend data(Parameter.OutputRootname) ${c}/$c
    lappend data(Parameter.TriggerControlName) ${c}:PS:FaultsM
    lappend data(Parameter.MinorAlarm) 1
    lappend data(Parameter.MajorAlarm) 1
    lappend data(Parameter.NoAlarm) 0
    lappend data(Parameter.InstallLocation) /home/helios/oagData/glitchLogs/SRConverters/SRConverters.glitchlog
    lappend data(Column.ControlName) $ControlName
    lappend data(Column.ReadbackName) $ReadbackName
    lappend data(Column.ReadbackUnits) $ReadbackUnits
    
}
if [catch {sdds save ./../glitchLogs/SRConverters.glitchlog data} result] {
    puts stderr "$result"
}
