Files
MARTe2-isttok/Configurations/RTApp-AtcaIop.cfg
2024-04-15 16:22:11 +00:00

1535 lines
38 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 = "AtcaIop_0_ADC"
Type = "uint32"
}
Time = {
Frequency = "10000"
DataSource = "AtcaIop_0_ADC"
Type = "uint32"
}
ADC0Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC1Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC2Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC3Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC4Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC5Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC6Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC7Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC8Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC9Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC10Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC11Decim = {
DataSource = "AtcaIop_0_ADC"
Type = "int32"
}
ADC0Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC1Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC2Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC3Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC4Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC5Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC6Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC7Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC8Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC9Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC10Integral = {
DataSource = "AtcaIop_0_ADC"
Type = "int64"
}
ADC11Integral = {
DataSource = "AtcaIop_0_ADC"
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"
}
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"
}
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 = AtcaIop_0_DAC
Type = float32
}
DAC1 = {
DataSource = AtcaIop_0_DAC
Type = float32
Trigger = 1
}
}
}
+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"
}
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"
}
}
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"
}
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"
}
}
}
+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"
}
}
}
+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"
}
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"
}
}
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"
}
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"
}
}
}
}
+Data = {
Class = "ReferenceContainer"
DefaultDataSource = "DDB1"
+DDB1 = {
Class = "GAMDataSource"
}
+LoggerDataSource = {
Class = "LoggerDataSource"
}
+Timings = {
Class = "TimingDataSource"
}
+AtcaIop_0_DAC = {
Class = "AtcaIop::AtcaIopDAC"
//CPUMask = "0xC"
DeviceName = "/dev/atca_v6_dac_9"
//NumberOfChannels = 2
Signals = {
DAC0 = {
Type = float32
OutputRange = 15.0
// OutputPolarity = Bipolar
}
DAC1 = {
Type = float32
OutputRange = 15.0
}
}
}
+AtcaIop_0_ADC = {
Class = "AtcaIop::AtcaIopADC"
CPUMask = "0xC"
DeviceName = "/dev/atca_v6_9"
DeviceDmaName = "/dev/atca_v6_dmart_9"
NumberOfChannels = "12"
IsMaster = "1"
SleepNature = "Busy"
SleepPercentage = "0"
ADCFrequency = "2000000"
RTDecimation = "200"
ChopperPeriod = "2000"
// ElectricalOffsets = {"86150" "-142" "130" "-165" "-280" "-187" "-10" "194" "40" "-36" "260" "-770"}
ElectricalOffsets = {"-151" "110" "-417" "-35" "-204" "0" "134" "-59" "-227" "-308" "-120" "-175"}
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"}
//WiringOffsets = {"33.0" "34.89" "26.0" "38.0" "39.0" "-75.0" "30.0" "11.0" "-100.0" "-87.0" "-110.0" "-55.0"}
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"
}
ADC0Integral = {
Type = "int64"
}
ADC1Integral = {
Type = "int64"
}
ADC2Integral = {
Type = "int64"
}
ADC3Integral = {
Type = "int64"
}
ADC4Integral = {
Type = "int64"
}
ADC5Integral = {
Type = "int64"
}
ADC6Integral = {
Type = "int64"
}
ADC7Integral = {
Type = "int64"
}
ADC8Integral = {
Type = "int64"
}
ADC9Integral = {
Type = "int64"
}
ADC10Integral = {
Type = "int64"
}
ADC11Integral = {
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"
}
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.ADC0INT"
Period = "100e-6"
MakeSegmentAfterNWrites = "200"
DecimatedNodeName = "ATCAIOP1.ADC0INTD"
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"
}
}
}
+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"
}
}
}
+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"}
}
}
}
+Run = {
Class = "RealTimeState"
+Threads = {
Class = "ReferenceContainer"
+Thread1 = {
Class = "RealTimeThread"
CPUs = "0x4"
Functions = {"AtcaGAMInput" "DacConstants" "AtcaGAMOutput" "GAMConvert2Volt" "GAMConvert2Float" "GAMHistogramCycleTimes" "GAMCAOutput" "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