#!/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


if {[catch {exec sdds2stream /home/helios/oagData/deviceConfig/IOCs.sdds -col=Name,Operational} results]} {
    puts "ERROR: $results"
    exit
}
set data(ParameterNames) "InstallLocation"
set data(ColumnNames) "ControlName ReadbackName ReadbackUnits Provider ExpectNumeric ExpectFieldType ExpectElements"
set data(ParameterInfo.InstallLocation) "type SDDS_STRING"
set data(ColumnInfo.ControlName) "type SDDS_STRING"
set data(ColumnInfo.ReadbackName) "type SDDS_STRING"
set data(ColumnInfo.ReadbackUnits) "type SDDS_STRING"
set data(ColumnInfo.Provider) "type SDDS_STRING"
set data(ColumnInfo.ExpectNumeric) "type SDDS_CHARACTER"
set data(ColumnInfo.ExpectFieldType) "type SDDS_STRING"
set data(ColumnInfo.ExpectElements) "type SDDS_LONG"

set data(Parameter.InstallLocation) "/home/helios/oagData/logging/caDiagnostics/caDiagnostics.mon"
foreach "name operational" $results {
    if {$operational} {
        append data(Column.ControlName) "NET:${name}:p:trafIn "
        append data(Column.ControlName) "NET:${name}:p:trafOut "
        append data(Column.ControlName) "NET:${name}:s:trafIn "
        append data(Column.ControlName) "NET:${name}:s:trafOut "
        append data(Column.ReadbackName) "NET:${name}:p:trafIn "
        append data(Column.ReadbackName) "NET:${name}:p:trafOut "
        append data(Column.ReadbackName) "NET:${name}:s:trafIn "
        append data(Column.ReadbackName) "NET:${name}:s:trafOut "
        append data(Column.ReadbackUnits) {"" "" "" "" }
        append data(Column.Provider) "ca ca ca ca "
        append data(Column.ExpectNumeric) "y y y y "
        append data(Column.ExpectFieldType) "scalar scalar scalar scalar "
        append data(Column.ExpectElements) "1 1 1 1 "
    }
}
set data(Column.ControlName) [list $data(Column.ControlName)]
set data(Column.ReadbackName) [list $data(Column.ReadbackName)]
set data(Column.ReadbackUnits) [list $data(Column.ReadbackUnits)]
set data(Column.Provider) [list $data(Column.Provider)]
set data(Column.ExpectNumeric) [list $data(Column.ExpectNumeric)]
set data(Column.ExpectFieldType) [list $data(Column.ExpectFieldType)]
set data(Column.ExpectElements) [list $data(Column.ExpectElements)]

sdds save ../DataLogging/caDiagnostics.mon data

exec sddssort ../DataLogging/caDiagnostics.mon -col=ControlName -num -nowarn

