Files
MARTe2-isttok/Configurations/RTApp-AtcaIop.cfg
2024-04-23 14:53:30 +01:00

1819 lines
45 KiB
C++

+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