+EPICSCAInterface = { Class = "EPICS::EPICSCAClient" StackSize = "1048576" CPUs = "0x1" AutoStart = "0" +PV_STATUS = { Class = "EPICS::EPICSPV" PVName = "ISTTOK:central:MARTe2-Status" PVType = "int32" } +PV_COMMAND = { Class = "EPICS::EPICSPV" PVName = "ISTTOK:central:MARTe2-Command" PVType = "uint32" Event = { Destination = "StateMachine" PVValue = "Function" FunctionMap = {{"1" "GOTORUN"}{"0" "GOTOIDLE"}} } } +PV_ERROR_RST = { Class = "EPICS::EPICSPV" PVName = "ISTTOK:central:MARTe2-Reset" PVType = "uint32" Event = { Destination = "StateMachine" PVValue = "Ignore" Function = "RESET" } } } +WebRoot = { Class = "HttpObjectBrowser" Root = "." +ObjectBrowse = { Class = "HttpObjectBrowser" Root = "/" } +ResourcesHtml = { Class = "HttpDirectoryResource" BaseDir = "/opt/marte/MARTe2/Resources/HTTP" } +HttpMessageInterface = { Class = "HttpMessageInterface" +GOTOIDLE = { Class = "Message" Destination = "StateMachine" Function = "GOTOIDLE" Mode = "ExpectsReply" } +GOTORUN = { Class = "Message" Destination = "StateMachine" Function = "GOTORUN" Mode = "ExpectsReply" } +GOTOERR = { Class = "Message" Destination = "StateMachineError" Function = "GOTOERR" Mode = "ExpectsReply" } } } +WebServer = { Class = "HttpService" Port = "8084" WebRoot = "WebRoot" Timeout = "0" ListenMaxConnections = "255" AcceptTimeout = "1000" MaxNumberOfThreads = "8" MinNumberOfThreads = "1" } +StateMachine = { Class = "StateMachine" +INITIAL = { Class = "ReferenceContainer" +START = { Class = "StateMachineEvent" NextState = "IDLE" NextStateError = "ERROR" Timeout = "0" +StartHttpServer = { Class = "Message" Destination = "WebServer" Mode = "ExpectsReply" Function = "Start" } +StartEPICSCAInterface = { Class = "Message" Destination = "EPICSCAInterface" Mode = "ExpectsReply" Function = "Start" } +ChangeToStateIdleMsg = { Class = "Message" Destination = "IsttokApp" Mode = "ExpectsReply" Function = "PrepareNextState" +Parameters = { Class = "ConfigurationDatabase" param1 = "Idle" } } +StartNextStateExecutionMsg = { Class = "Message" Destination = "IsttokApp" Function = "StartNextStateExecution" Mode = "ExpectsReply" } } } +IDLE = { Class = "ReferenceContainer" +GOTORUN = { Class = "StateMachineEvent" NextState = "RUN" NextStateError = "ERROR" Timeout = "0" +OpenTreeMsg = { Class = "Message" Destination = "IsttokApp.Data.SignalsWriter" Function = "OpenTree" Mode = "ExpectsReply" +Parameters = { Class = "ConfigurationDatabase" //param1 = "100" // param1 = "-1" Auto numer param1 = "-1" // param1 = "-1" Auto number } } +ChangeToRunMsg = { Class = "Message" Destination = "IsttokApp" Mode = "ExpectsReply" Function = "PrepareNextState" +Parameters = { Class = "ConfigurationDatabase" param1 = "Run" } } +StopCurrentStateExecutionMsg = { Class = "Message" Destination = "IsttokApp" Function = "StopCurrentStateExecution" Mode = "ExpectsReply" } +StartNextStateExecutionMsg = { Class = "Message" Destination = "IsttokApp" Function = "StartNextStateExecution" Mode = "ExpectsReply" } } } +RUN = { Class = "ReferenceContainer" +ENTER = { Class = "ReferenceContainer" +SetStatusPV = { Class = "Message" Destination = "EPICSCAInterface.PV_STATUS" Function = "CAPut" Mode = "ExpectsReply" +Parameters = { Class = "ConfigurationDatabase" param1 = "1" } } } +GOTOIDLE = { Class = "StateMachineEvent" NextState = "IDLE" NextStateError = "ERROR" Timeout = "0" +ChangeToIdleMsg = { Class = "Message" Destination = "IsttokApp" Mode = "ExpectsReply" Function = "PrepareNextState" +Parameters = { Class = "ConfigurationDatabase" param1 = "Idle" } } +StopCurrentStateExecutionMsg = { Class = "Message" Destination = "IsttokApp" Function = "StopCurrentStateExecution" Mode = "ExpectsReply" } +StartNextStateExecutionMsg = { Class = "Message" Destination = "IsttokApp" Function = "StartNextStateExecution" Mode = "ExpectsReply" } +SetStatusPV = { Class = "Message" Destination = "EPICSCAInterface.PV_STATUS" Function = "CAPut" Mode = "ExpectsReply" +Parameters = { Class = "ConfigurationDatabase" param1 = "0" } } } } +ERROR = { Class = "ReferenceContainer" +ENTER = { Class = "ReferenceContainer" +SetStatusPV = { Class = "Message" Destination = "EPICSCAInterface.PV_STATUS" Function = "CAPut" Mode = "ExpectsReply" +Parameters = { Class = "ConfigurationDatabase" param1 = "2" } } +ChangeToErrorMsg = { Class = "Message" Destination = "IsttokApp" Mode = "ExpectsReply" Function = "PrepareNextState" +Parameters = { Class = "ConfigurationDatabase" param1 = "Error" } } +StopCurrentStateExecutionMsg = { Class = "Message" Destination = "IsttokApp" Function = "StopCurrentStateExecution" Mode = "ExpectsReply" } +StartNextStateExecutionMsg = { Class = "Message" Destination = "IsttokApp" Function = "StartNextStateExecution" Mode = "ExpectsReply" } } +RESET = { Class = "StateMachineEvent" NextState = "IDLE" NextStateError = "ERROR" Timeout = "0" +ChangeToIdleMsg = { Class = "Message" Destination = "IsttokApp" Mode = "ExpectsReply" Function = "PrepareNextState" +Parameters = { Class = "ConfigurationDatabase" param1 = "Idle" } } +StopCurrentStateExecutionMsg = { Class = "Message" Destination = "IsttokApp" Function = "StopCurrentStateExecution" Mode = "ExpectsReply" } +StartNextStateExecutionMsg = { Class = "Message" Destination = "IsttokApp" Function = "StartNextStateExecution" Mode = "ExpectsReply" } +SetStatusPV = { Class = "Message" Destination = "EPICSCAInterface.PV_STATUS" Function = "CAPut" Mode = "ExpectsReply" +Parameters = { Class = "ConfigurationDatabase" param1 = "0" } } } } } $IsttokApp = { Class = "RealTimeApplication" +Functions = { Class = "ReferenceContainer" +AtcaGAMInput = { Class = "IOGAM" InputSignals = { Counter = { DataSource = "AtcaIopAdc_DS" Type = "uint32" } Time = { Frequency = "10000" DataSource = "AtcaIopAdc_DS" Type = "uint32" } ADC0Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC1Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC2Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC3Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC4Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC5Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC6Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC7Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC8Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC9Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC10Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC11Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC12Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC13Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC14Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC15Decim = { DataSource = "AtcaIopAdc_DS" Type = "int32" } ADC0Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC1Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC2Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC3Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC4Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC5Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC6Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC7Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC8Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC9Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC10Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC11Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC12Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC13Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC14Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } ADC15Int = { DataSource = "AtcaIopAdc_DS" Type = "int64" } Idle_Thread1_CycleTime = { DataSource = "Timings" Alias = "Idle.Thread1_CycleTime" Type = "uint32" } Run_Thread1_CycleTime = { DataSource = "Timings" Alias = "Run.Thread1_CycleTime" Type = "uint32" } } OutputSignals = { Counter = { DataSource = "DDB1" Type = "uint32" } Time = { DataSource = "DDB1" Type = "uint32" } ADC0DRaw = { DataSource = "DDB1" Type = "int32" } ADC1DRaw = { DataSource = "DDB1" Type = "int32" } ADC2DRaw = { DataSource = "DDB1" Type = "int32" } ADC3DRaw = { DataSource = "DDB1" Type = "int32" } ADC4DRaw = { DataSource = "DDB1" Type = "int32" } ADC5DRaw = { DataSource = "DDB1" Type = "int32" } ADC6DRaw = { DataSource = "DDB1" Type = "int32" } ADC7DRaw = { DataSource = "DDB1" Type = "int32" } ADC8DRaw = { DataSource = "DDB1" Type = "int32" } ADC9DRaw = { DataSource = "DDB1" Type = "int32" } ADC10DRaw = { DataSource = "DDB1" Type = "int32" } ADC11DRaw = { DataSource = "DDB1" Type = "int32" } ADC12DRaw = { DataSource = "DDB1" Type = "int32" } ADC13DRaw = { DataSource = "DDB1" Type = "int32" } ADC14DRaw = { DataSource = "DDB1" Type = "int32" } ADC15DRaw = { DataSource = "DDB1" Type = "int32" } ADC0Integral = { DataSource = "DDB1" Type = "int64" } ADC1Integral = { DataSource = "DDB1" Type = "int64" } ADC2Integral = { DataSource = "DDB1" Type = "int64" } ADC3Integral = { DataSource = "DDB1" Type = "int64" } ADC4Integral = { DataSource = "DDB1" Type = "int64" } ADC5Integral = { DataSource = "DDB1" Type = "int64" } ADC6Integral = { DataSource = "DDB1" Type = "int64" } ADC7Integral = { DataSource = "DDB1" Type = "int64" } ADC8Integral = { DataSource = "DDB1" Type = "int64" } ADC9Integral = { DataSource = "DDB1" Type = "int64" } ADC10Integral = { DataSource = "DDB1" Type = "int64" } ADC11Integral = { DataSource = "DDB1" Type = "int64" } ADC12Integral = { DataSource = "DDB1" Type = "int64" } ADC13Integral = { DataSource = "DDB1" Type = "int64" } ADC14Integral = { DataSource = "DDB1" Type = "int64" } ADC15Integral = { DataSource = "DDB1" Type = "int64" } Idle_Thread1_CycleTime = { DataSource = "DDB1" Type = "uint32" NumberOfDimensions = "1" } Run_Thread1_CycleTime = { DataSource = "DDB1" Type = "uint32" } } } +DacConstants = { Class = ConstantGAM OutputSignals = { DacSignal0 = { DataSource = "DDB1" Type = float32 Default = -1.0 } DacSignal1 = { DataSource = "DDB1" Type = float32 Default = 2.0 } } } +AtcaGAMOutput = { Class = "IOGAM" InputSignals = { //DacSignal0 = { ADC1DecimV = { DataSource = "DDB1" Type = float32 } ADC2DecimV = { DataSource = "DDB1" Type = float32 } } OutputSignals = { DAC0 = { DataSource = AtcaIopDac_DS Type = float32 } DAC1 = { DataSource = AtcaIopDac_DS Type = float32 Trigger = 1 } } } +AtcaGAMEoWoOutput = { Class = "IOGAM" InputSignals = { EoArr = { DataSource = "DDB1" NumberOfDimensions = "1" NumberOfElements = "16" Type = "int32" } WoArr = { DataSource = "DDB1" NumberOfDimensions = "1" NumberOfElements = "16" Type = "float32" } } OutputSignals = { EO = { DataSource = AtcaIopConfigEoWo_DS Type = int32 NumberOfElements = "16" Trigger = 1 } WO = { DataSource = AtcaIopConfigEoWo_DS NumberOfElements = "16" Type = float32 } } } +GAMConvert2Volt = { Class = "ConversionGAM" InputSignals = { ADC0DRaw = { DataSource = "DDB1" Type = "int32" } ADC1DRaw = { DataSource = "DDB1" Type = "int32" } ADC2DRaw = { DataSource = "DDB1" Type = "int32" } ADC3DRaw = { DataSource = "DDB1" Type = "int32" } } OutputSignals = { ADC0DecimV= { DataSource = "DDB1" Type = "float32" Gain = 0.00007629 //Gain = 0.0000762939453125 10.0 / 2 **17 } ADC1DecimV = { DataSource = "DDB1" Type = "float32" Gain = 0.00007629 } ADC2DecimV = { DataSource = "DDB1" Type = "float32" Gain = 0.00007629 } ADC3DecimV = { DataSource = "DDB1" Type = "float32" Gain = 0.00007629 } } } +GAMConvert2Float = { Class = "ConversionGAM" InputSignals = { ADC0DRaw = { DataSource = "DDB1" Type = "int32" } ADC1DRaw = { DataSource = "DDB1" Type = "int32" } ADC2DRaw = { DataSource = "DDB1" Type = "int32" } ADC3DRaw = { DataSource = "DDB1" Type = "int32" } ADC4DRaw = { DataSource = "DDB1" Type = "int32" } ADC5DRaw = { DataSource = "DDB1" Type = "int32" } ADC6DRaw = { DataSource = "DDB1" Type = "int32" } ADC7DRaw = { DataSource = "DDB1" Type = "int32" } ADC8DRaw = { DataSource = "DDB1" Type = "int32" } ADC9DRaw = { DataSource = "DDB1" Type = "int32" } ADC10DRaw = { DataSource = "DDB1" Type = "int32" } ADC11DRaw = { DataSource = "DDB1" Type = "int32" } ADC12DRaw = { DataSource = "DDB1" Type = "int32" } ADC13DRaw = { DataSource = "DDB1" Type = "int32" } ADC0Integral = { DataSource = "DDB1" Type = "int64" } ADC1Integral = { DataSource = "DDB1" Type = "int64" } ADC2Integral = { DataSource = "DDB1" Type = "int64" } ADC3Integral = { DataSource = "DDB1" Type = "int64" } ADC4Integral = { DataSource = "DDB1" Type = "int64" } ADC5Integral = { DataSource = "DDB1" Type = "int64" } ADC6Integral = { DataSource = "DDB1" Type = "int64" } ADC7Integral = { DataSource = "DDB1" Type = "int64" } ADC8Integral = { DataSource = "DDB1" Type = "int64" } ADC9Integral = { DataSource = "DDB1" Type = "int64" } ADC10Integral = { DataSource = "DDB1" Type = "int64" } ADC11Integral = { DataSource = "DDB1" Type = "int64" } ADC12Integral = { DataSource = "DDB1" Type = "int64" } ADC13Integral = { DataSource = "DDB1" Type = "int64" } } OutputSignals = { ADC0DecimS = { DataSource = "DDB1" Type = "float32" } ADC1DecimS = { DataSource = "DDB1" Type = "float32" } ADC2DecimS = { DataSource = "DDB1" Type = "float32" } ADC3DecimS = { DataSource = "DDB1" Type = "float32" } ADC4DecimS = { DataSource = "DDB1" Type = "float32" } ADC5DecimS = { DataSource = "DDB1" Type = "float32" } ADC6DecimS = { DataSource = "DDB1" Type = "float32" } ADC7DecimS = { DataSource = "DDB1" Type = "float32" } ADC8DecimS = { DataSource = "DDB1" Type = "float32" } ADC9DecimS = { DataSource = "DDB1" Type = "float32" } ADC10DecimS = { DataSource = "DDB1" Type = "float32" } ADC11DecimS = { DataSource = "DDB1" Type = "float32" } ADC12DecimS = { DataSource = "DDB1" Type = "float32" } ADC13DecimS = { DataSource = "DDB1" Type = "float32" } ADC0IntegS = { DataSource = "DDB1" Type = "float32" } ADC1IntegS = { DataSource = "DDB1" Type = "float32" } ADC2IntegS = { DataSource = "DDB1" Type = "float32" } ADC3IntegS = { DataSource = "DDB1" Type = "float32" } ADC4IntegS = { DataSource = "DDB1" Type = "float32" } ADC5IntegS = { DataSource = "DDB1" Type = "float32" } ADC6IntegS = { DataSource = "DDB1" Type = "float32" } ADC7IntegS = { DataSource = "DDB1" Type = "float32" } ADC8IntegS = { DataSource = "DDB1" Type = "float32" } ADC9IntegS = { DataSource = "DDB1" Type = "float32" } ADC10IntegS = { DataSource = "DDB1" Type = "float32" } ADC11IntegS = { DataSource = "DDB1" Type = "float32" } ADC12IntegS = { DataSource = "DDB1" Type = "float32" } ADC13IntegS = { DataSource = "DDB1" Type = "float32" } } } +GAMHistogramCycleTimes = { Class = "HistogramGAM" BeginCycleNumber = "10" StateChangeResetName = "All" InputSignals = { Idle_Thread1_CycleTime = { DataSource = "DDB1" Type = "uint32" MinLim = "80" MaxLim = "120" } Run_Thread1_CycleTime = { DataSource = "DDB1" Type = "uint32" MinLim = "50" MaxLim = "150" } } OutputSignals = { Idle_Thread1_CycleTime_Stats = { DataSource = "EPICSCAOutputHist" NumberOfDimensions = "1" NumberOfElements = "10" Type = "uint32" } Run_Thread1_CycleTime_Stats = { DataSource = "EPICSCAOutputHist" NumberOfDimensions = "1" NumberOfElements = "10" Type = "uint32" } } } +GAMCAInput = { Class = "IOGAM" InputSignals = { PVEo = { DataSource = "EPICSCAInput" NumberOfDimensions = "1" NumberOfElements = "16" Type = "int32" } PVWo = { DataSource = "EPICSCAInput" NumberOfDimensions = "1" NumberOfElements = "16" Type = "float32" } } OutputSignals = { EoArr = { DataSource = "DDB1" NumberOfDimensions = "1" NumberOfElements = "16" Type = "int32" } WoArr = { DataSource = "DDB1" NumberOfDimensions = "1" NumberOfElements = "16" Type = "float32" } } } +GAMCAOutput = { Class = "IOGAM" InputSignals = { Time = { DataSource = "DDB1" Type = "uint32" } Counter = { DataSource = "DDB1" Type = "uint32" } ADC0DecimV = { DataSource = "DDB1" Type = "float32" } ADC1DecimV = { DataSource = "DDB1" Type = "float32" } } OutputSignals = { Time = { DataSource = "EPICSCAOutput" Type = "uint32" } Counter = { DataSource = "EPICSCAOutput" Type = "uint32" } ADC0DecimAi = { DataSource = "EPICSCAOutput" Type = "float32" } ADC1DecimAi = { DataSource = "EPICSCAOutput" Type = "float32" } } } +GAMSignalsWriter = { Class = "IOGAM" InputSignals = { Time = { DataSource = "DDB1" Type = "uint32" } ADC0DecimS = { DataSource = "DDB1" Type = "float32" } ADC1DecimS = { DataSource = "DDB1" Type = "float32" } ADC2DecimS = { DataSource = "DDB1" Type = "float32" } ADC3DecimS = { DataSource = "DDB1" Type = "float32" } ADC4DecimS = { DataSource = "DDB1" Type = "float32" } ADC5DecimS = { DataSource = "DDB1" Type = "float32" } ADC6DecimS = { DataSource = "DDB1" Type = "float32" } ADC7DecimS = { DataSource = "DDB1" Type = "float32" } ADC8DecimS = { DataSource = "DDB1" Type = "float32" } ADC9DecimS = { DataSource = "DDB1" Type = "float32" } ADC10DecimS = { DataSource = "DDB1" Type = "float32" } ADC11DecimS = { DataSource = "DDB1" Type = "float32" } ADC12DecimS = { DataSource = "DDB1" Type = "float32" } ADC13DecimS = { DataSource = "DDB1" Type = "float32" } ADC0IntegS = { DataSource = "DDB1" Type = "float32" } ADC1IntegS = { DataSource = "DDB1" Type = "float32" } ADC2IntegS = { DataSource = "DDB1" Type = "float32" } ADC3IntegS = { DataSource = "DDB1" Type = "float32" } ADC4IntegS = { DataSource = "DDB1" Type = "float32" } ADC5IntegS = { DataSource = "DDB1" Type = "float32" } ADC6IntegS = { DataSource = "DDB1" Type = "float32" } ADC7IntegS = { DataSource = "DDB1" Type = "float32" } ADC8IntegS = { DataSource = "DDB1" Type = "float32" } ADC9IntegS = { DataSource = "DDB1" Type = "float32" } ADC10IntegS = { DataSource = "DDB1" Type = "float32" } ADC11IntegS = { DataSource = "DDB1" Type = "float32" } ADC12IntegS = { DataSource = "DDB1" Type = "float32" } ADC13IntegS = { DataSource = "DDB1" Type = "float32" } } OutputSignals = { Time = { DataSource = "SignalsWriter" Type = "uint32" } AdcRawDecim0 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim1 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim2 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim3 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim4 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim5 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim6 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim7 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim8 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim9 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim10 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim11 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim12 = { DataSource = "SignalsWriter" Type = "float32" } AdcRawDecim13 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg0 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg1 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg2 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg3 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg4 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg5 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg6 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg7 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg8 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg9 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg10 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg11 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg12 = { DataSource = "SignalsWriter" Type = "float32" } AdcInteg13 = { DataSource = "SignalsWriter" Type = "float32" } } } } +Data = { Class = "ReferenceContainer" DefaultDataSource = "DDB1" +DDB1 = { Class = "GAMDataSource" } +LoggerDataSource = { Class = "LoggerDataSource" } +Timings = { Class = "TimingDataSource" } +AtcaIopConfigEoWo_DS = { Class = AtcaIop::AtcaIopConfigEoWo //CPUMask = "0xC" DeviceName = "/dev/atca_v6" BoardId = 2 //Mandatory Signals = { EO = { Type = int32 //Mandatory. Only type that is supported. } WO = { Type = float32 //Mandatory. Only type that is supported. } } } +AtcaIopDac_DS = { Class = "AtcaIop::AtcaIopDAC" //CPUMask = "0xC" DeviceName = "/dev/atca_v6" BoardId = 2 //Mandatory //NumberOfChannels = 2 Signals = { DAC0 = { Type = float32 OutputRange = 15.0 // OutputPolarity = Bipolar } DAC1 = { Type = float32 OutputRange = 15.0 } } } +AtcaIopAdc_DS = { Class = "AtcaIop::AtcaIopADC" CPUMask = "0xC" DeviceName = "/dev/atca_v6" BoardId = 2 //Mandatory DeviceDmaName = "/dev/atca_v6_dmart_2" NumberOfChannels = "12" IsMaster = "1" SleepNature = "Busy" SleepPercentage = "20" ADCFrequency = "2000000" RTDecimation = "200" ChopperPeriod = "2000" ElectricalOffsets = {"-151" "110" "-417" "-35" "-204" "0" "134" "-59" "-227" "-308" "-120" "-175" "0" "0" "0" "0"} // "-141" "123" "-415" "-31" "-202" "8" "139" "-53" "-228" "-308" "-111" "-160" //WiringOffsets = {"0.0" "0.0" "0.0" "0.0" "0.0" "0.0" "0.0" "0.0" "0.0" "0.0" "0.0" "0.0"} //WiringOffsets = { } WiringOffsets = {0.354 0.288 -0.010 -0.083 0.347 0.228 0.088 0.186 -0.297 -0.101 0.025 -0.012 0.0 0.0 0.0 0.0} //WiringOffsets = {"0.271" "0.211" "0.098" "0.141" "0.312" "0.203" "0.212" "0.361" "-0.546" "-0.433" "-0.598" "1.362"} Signals = { Counter = { Type = "uint32" } Time = { Type = "uint32" } ADC0Decim = { Type = "int32" } ADC1Decim = { Type = "int32" } ADC2Decim = { Type = "int32" } ADC3Decim = { Type = "int32" } ADC4Decim = { Type = "int32" } ADC5Decim = { Type = "int32" } ADC6Decim = { Type = "int32" } ADC7Decim = { Type = "int32" } ADC8Decim = { Type = "int32" } ADC9Decim = { Type = "int32" } ADC10Decim = { Type = "int32" } ADC11Decim = { Type = "int32" } ADC12Decim = { Type = "int32" } ADC13Decim = { Type = "int32" } ADC14Decim = { Type = "int32" } ADC15Decim = { Type = "int32" } ADC0Int = { Type = "int64" } ADC1Int = { Type = "int64" } ADC2Int = { Type = "int64" } ADC3Int = { Type = "int64" } ADC4Int = { Type = "int64" } ADC5Int = { Type = "int64" } ADC6Int = { Type = "int64" } ADC7Int = { Type = "int64" } ADC8Int = { Type = "int64" } ADC9Int = { Type = "int64" } ADC10Int = { Type = "int64" } ADC11Int = { Type = "int64" } ADC12Int = { Type = "int64" } ADC13Int = { Type = "int64" } ADC14Int = { Type = "int64" } ADC15Int = { Type = "int64" } } } +SignalsWriter = { Class = "MDSWriter::MDSWriter" NumberOfBuffers = "120000" CPUMask = "0x1" StackSize = "10000000" TreeName = "rtappisttok" StoreOnTrigger = "0" TimeRefresh = "5" NumberOfPreTriggers = "0" NumberOfPostTriggers = "0" EventName = "IgnoreMe" Signals = { Time = { SignalType = "uint32" TimeSignal = "1" } AdcRawDecim0 = { NodeName = "ATCAIOP1.ADC0RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC0RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim1 = { NodeName = "ATCAIOP1.ADC1RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC1RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim2 = { NodeName = "ATCAIOP1.ADC2RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC1RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim3 = { NodeName = "ATCAIOP1.ADC3RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC3RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim4 = { NodeName = "ATCAIOP1.ADC4RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC4RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim5 = { NodeName = "ATCAIOP1.ADC5RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC5RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim6 = { NodeName = "ATCAIOP1.ADC6RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC6RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim7 = { NodeName = "ATCAIOP1.ADC7RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC7RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim8 = { NodeName = "ATCAIOP1.ADC8RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC8RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim9 = { NodeName = "ATCAIOP1.ADC9RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC9RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim10 = { NodeName = "ATCAIOP1.ADC10RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC10RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim11 = { NodeName = "ATCAIOP1.ADC11RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC11RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim12 = { NodeName = "ATCAIOP1.ADC12RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC12RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcRawDecim13 = { NodeName = "ATCAIOP1.ADC13RAW" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC13RAWD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg0 = { NodeName = "ATCAIOP1.ADC0INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC0INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg1 = { NodeName = "ATCAIOP1.ADC1INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC1INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg2 = { NodeName = "ATCAIOP1.ADC2INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC2INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg3 = { NodeName = "ATCAIOP1.ADC3INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC3INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg4 = { NodeName = "ATCAIOP1.ADC4INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC4INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg5 = { NodeName = "ATCAIOP1.ADC5INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC5INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg6 = { NodeName = "ATCAIOP1.ADC6INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC6INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg7 = { NodeName = "ATCAIOP1.ADC7INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC7INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg8 = { NodeName = "ATCAIOP1.ADC8INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC8INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg9 = { NodeName = "ATCAIOP1.ADC9INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC9INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg10 = { NodeName = "ATCAIOP1.ADC10INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC10INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg11 = { NodeName = "ATCAIOP1.ADC11INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC11INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg12 = { NodeName = "ATCAIOP1.ADC12INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC12INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } AdcInteg13 = { NodeName = "ATCAIOP1.ADC13INT" Period = "100e-6" MakeSegmentAfterNWrites = "200" DecimatedNodeName = "ATCAIOP1.ADC13INTD" MinMaxResampleFactor = "100" SamplePhase = "0" AutomaticSegmentation = "0" } } } +EPICSCAOutput = { Class = "EPICSCA::EPICSCAOutput" StackSize = "1048576" CPUs = "0x1" IgnoreBufferOverrun = "1" NumberOfBuffers = "10" Signals = { Time = { PVName = "ISTTOK:marte2:TIME" Type = "uint32" } Counter = { PVName = "ISTTOK:marte2:COUNTER" Type = "uint32" } ADC0DecimAi = { PVName = "ISTTOK:marte2:Adc0-Decim" Type = "float32" } ADC1DecimAi = { PVName = "ISTTOK:marte2:Adc1-Decim" Type = "float32" } } } +EPICSCAInput = { Class = "EPICSCA::EPICSCAInput" StackSize = "1048576" //Optional the EmbeddedThread stack size. Default value is THREADS_DEFAULT_STACKSIZE * 4u CPUs = "0xff" //Optional the affinity of the EmbeddedThread (where the EPICS context is attached). Signals = { PVEo = { //At least one shall be defined PVName = "ISTTOK:central:ATCAIOP1-EO" //Compulsory. Name of the PV. Type = "int32" //Compulsory. Supported types are char8[40], string[40], uint8, int8, uint16, int16, int32, uint32, uint64, int64, float32 and float64 //NumberOfElements = "16" //Arrays also supported } PVWo = { PVName = "ISTTOK:central:ATCAIOP1-WO" Type = "float32" } } } +EPICSCAOutputHist = { Class = "EPICSCA::EPICSCAOutput" StackSize = "1048576" CPUs = "0x1" IgnoreBufferOverrun = "1" NumberOfBuffers = "10" Signals = { Idle_Thread1_CycleTime_Stats = { PVName = "ISTTOK:marte2:HIST-IDLE-CT" Type = "uint32" } Run_Thread1_CycleTime_Stats = { PVName = "ISTTOK:marte2:HIST-RUN-CT" Type = "uint32" } } } } +States = { Class = "ReferenceContainer" +Idle = { Class = "RealTimeState" +Threads = { Class = "ReferenceContainer" +Thread1 = { Class = "RealTimeThread" CPUs = "0x4" //Functions = {"AtcaGAMInput" "DacConstants" "AtcaGAMOutput" "GAMConvert2Volt" "GAMConvert2Float" "GAMHistogramCycleTimes" "GAMCAOutput"} Functions = {"AtcaGAMInput" "DacConstants" "AtcaGAMOutput" "AtcaGAMEoWoOutput" "GAMConvert2Volt" "GAMConvert2Float" "GAMHistogramCycleTimes" "GAMCAOutput" "GAMCAInput"} } } } +Run = { Class = "RealTimeState" +Threads = { Class = "ReferenceContainer" +Thread1 = { Class = "RealTimeThread" CPUs = "0x4" Functions = {"AtcaGAMInput" "DacConstants" "AtcaGAMOutput" "AtcaGAMEoWoOutput" "GAMConvert2Volt" "GAMConvert2Float" "GAMHistogramCycleTimes" "GAMCAOutput" "GAMCAInput" "GAMSignalsWriter"} } } } +Error = { Class = "RealTimeState" +Threads = { Class = "ReferenceContainer" +Thread1 = { Class = "RealTimeThread" CPUs = "0x4" Functions = {"AtcaGAMInput"} } } } } +Scheduler = { Class = "GAMScheduler" TimingDataSource = "Timings" } } // vim: syntax=cpp ts=2 sw=2 sts=2 sr et