Moved to Signal Arrays

Signed-off-by: Bernardo Carvalho <bernardo.carvalho@tecnico.ulisboa.pt>
This commit is contained in:
2024-12-14 00:27:37 +00:00
parent a2714221fa
commit 361ab6880c
3 changed files with 290 additions and 562 deletions

View File

@@ -15,7 +15,7 @@
Event = {
Destination = "StateMachine"
PVValue = "Function"
FunctionMap = {{"1" "GOTORUN"}{"0" "GOTOIDLE"}}
FunctionMap = {{"2", "GOTOPULSING"}, {"1", "GOTOWAITING_FOR_PRE"}, {"0", "GOTOIDLE"}}
}
}
+PV_ERROR_RST = {
@@ -48,6 +48,18 @@
Function = "GOTOIDLE"
Mode = "ExpectsReply"
}
+GOTOWAITING_FOR_PRE = {
Class = Message
Destination = StateMachine
Function = GOTOWAITING_FOR_PRE
Mode = ExpectsReply
}
+GOTOPULSING = {
Class = Message
Destination = StateMachine
Function = GOTOPULSING
Mode = ExpectsReply
}
+GOTORUN = {
Class = "Message"
Destination = "StateMachine"
@@ -113,11 +125,23 @@
}
+IDLE = {
Class = "ReferenceContainer"
+GOTORUN = {
+GOTOWAITING_FOR_PRE = {
//+GOTORUN = {
Class = "StateMachineEvent"
NextState = "RUN"
NextState = "WAITING_FOR_PRE"
//NextState = "RUN"
NextStateError = "ERROR"
Timeout = "0"
+ChangeToWaitPreMsg = {
Class = Message
Destination = "IsttokApp"
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = "Online"
}
}
+OpenTreeMsg = {
Class = "Message"
Destination = "IsttokApp.Data.SignalsWriter"
@@ -135,6 +159,7 @@
Function = "WriteEoWo"
Mode = "ExpectsReply"
}
/*
+ChangeToRunMsg = {
Class = "Message"
Destination = "IsttokApp"
@@ -145,6 +170,7 @@
param1 = "Run"
}
}
*/
+StopCurrentStateExecutionMsg = {
Class = "Message"
Destination = "IsttokApp"
@@ -159,7 +185,60 @@
}
}
}
+RUN = {
+WAITING_FOR_PRE = {
Class = ReferenceContainer
+ENTER = {
Class = ReferenceContainer
+SetStatusPV = {
Class = Message
Destination = "EPICSCAInterface.PV_STATUS"
Function = CAPut
Mode = ExpectsReply
+Parameters = {
Class = ConfigurationDatabase
param1 = 1
}
}
}
+GOTOPULSING = {
Class = StateMachineEvent
NextState = "PULSING"
NextStateError = "ERROR"
//NextStateError = "IDLE"
Timeout = 0
+ChangeToRunMsg = {
Class = Message
Destination = MdsLoopApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Online
}
}
/*
+CalcOffSetsMsg = {
Class = "Message"
Destination = "MdsLoopApp.Functions.GAMElectricProbes"
Function = "CalcOffSets"
Mode = "ExpectsReply"
}
*/
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = MdsLoopApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = MdsLoopApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+PULSING = {
Class = "ReferenceContainer"
+ENTER = {
Class = "ReferenceContainer"
@@ -314,133 +393,15 @@ $IsttokApp = {
DataSource = "AtcaIopAdc_DS"
Type = "uint32"
}
ADC0Decim = {
ADCDecim = {
DataSource = "AtcaIopAdc_DS"
Type = "int32"
NumberOfElements = 16
}
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 = {
ADCInt = {
DataSource = "AtcaIopAdc_DS"
Type = "int64"
NumberOfElements = 16
}
Idle_Thread1_CycleTime = {
DataSource = "Timings"
@@ -449,7 +410,7 @@ $IsttokApp = {
}
Run_Thread1_CycleTime = {
DataSource = "Timings"
Alias = "Run.Thread1_CycleTime"
Alias = "Online.Thread1_CycleTime"
Type = "uint32"
}
}
@@ -470,133 +431,16 @@ $IsttokApp = {
DataSource = "DDB1"
Type = "uint32"
}
ADC0DRaw = {
ADCDRaw = {
DataSource = "DDB1"
Type = "int32"
NumberOfElements = 16
NumberOfDimensions = 1
}
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 = {
ADCIntegral = {
DataSource = "DDB1"
Type = "int64"
NumberOfElements = 16
}
Idle_Thread1_CycleTime = {
DataSource = "DDB1"
@@ -609,6 +453,7 @@ $IsttokApp = {
}
}
}
/*
+DacConstants = {
Class = ConstantGAM
OutputSignals = {
@@ -624,18 +469,45 @@ $IsttokApp = {
}
}
}
+AtcaGAMOutput = {
*/
+GAMDacSignals = {
Class = "IOGAM"
InputSignals = {
//DacSignal0 = {
ADC1DecimV = {
ADCDecimF = {
DataSource = "DDB1"
Type = "float32"
NumberOfElements = "16"
}
}
OutputSignals = {
DacSignal0 = {
DataSource = "DDB1"
Type = float32
}
ADC2DecimV = {
DacSignal1 = {
DataSource = "DDB1"
Type = float32
}
ADCDacOthers = {
DataSource = "DDB1"
Type = "float32"
NumberOfElements = "14"
}
}
}
+GAMDacOutput = {
Class = "IOGAM"
InputSignals = {
DacSignal0 = {
DataSource = "DDB1"
Type = float32
Default = -1.0
}
DacSignal1 = {
DataSource = "DDB1"
Type = float32
Default = 2.0
}
}
OutputSignals = {
DAC0 = {
@@ -679,50 +551,55 @@ $IsttokApp = {
}
}
}
/*
+GAMConvert2Volt = {
Class = "ConversionGAM"
InputSignals = {
ADC0DRaw = {
DataSource = "DDB1"
Type = "int32"
}
ADC1DRaw = {
DataSource = "DDB1"
Type = "int32"
}
ADC2DRaw = {
DataSource = "DDB1"
Type = "int32"
}
ADC3DRaw = {
ADCDRaw = {
DataSource = "DDB1"
Type = "int32"
//Elements = 12
}
}
OutputSignals = {
ADC0DecimV= {
ADCDecimV= {
DataSource = "DDB1"
Type = "float32"
Gain = 0.00007629
//Elements = 12
//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 = {
ADCDRaw = {
DataSource = "DDB1"
Type = "int32"
//NumberOfElements = "16"
}
ADCIntegral = {
DataSource = "DDB1"
Type = "int64"
//NumberOfElements = "16"
}
}
OutputSignals = {
ADCDecimF = {
DataSource = "DDB1"
Type = "float32"
NumberOfElements = "16"
}
ADCIntegF = {
DataSource = "DDB1"
Type = "float32"
NumberOfElements = "16"
}
}
}
/*
+GAMConvert2Float = {
Class = "ConversionGAM"
InputSignals = {
@@ -954,6 +831,7 @@ $IsttokApp = {
}
}
}
*/
+GAMHistogramCycleTimes = {
Class = "HistogramGAM"
BeginCycleNumber = "10"
@@ -1037,6 +915,7 @@ $IsttokApp = {
DataSource = "DDB1"
Type = "uint32"
}
/*
ADC0DecimV = {
DataSource = "DDB1"
Type = "float32"
@@ -1045,6 +924,7 @@ $IsttokApp = {
DataSource = "DDB1"
Type = "float32"
}
*/
}
OutputSignals = {
CounterLi = {
@@ -1063,6 +943,7 @@ $IsttokApp = {
DataSource = "EPICSCAOutput"
Type = "uint32"
}
/*
ADC0DecimAi = {
DataSource = "EPICSCAOutput"
Type = "float32"
@@ -1071,6 +952,7 @@ $IsttokApp = {
DataSource = "EPICSCAOutput"
Type = "float32"
}
*/
}
}
+GAMSignalsWriter = {
@@ -1080,115 +962,12 @@ $IsttokApp = {
DataSource = "DDB1"
Type = "uint32"
}
ADC0DecimS = {
ADCDecimF = {
DataSource = "DDB1"
Type = "float32"
//NumberOfElements = 12
}
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 = {
ADCIntegF = {
DataSource = "DDB1"
Type = "float32"
}
@@ -1246,13 +1025,10 @@ $IsttokApp = {
DataSource = "SignalsWriter"
Type = "float32"
}
AdcRawDecim12 = {
DataSource = "SignalsWriter"
Type = "float32"
}
AdcRawDecim13 = {
DataSource = "SignalsWriter"
AdcRawDecimOther = {
DataSource = "DDB1"
Type = "float32"
NumberOfElements = 4
}
AdcInteg0 = {
DataSource = "SignalsWriter"
@@ -1302,13 +1078,10 @@ $IsttokApp = {
DataSource = "SignalsWriter"
Type = "float32"
}
AdcInteg12 = {
DataSource = "SignalsWriter"
Type = "float32"
}
AdcInteg13 = {
DataSource = "SignalsWriter"
AdcIntegOther = {
DataSource = "DDB1"
Type = "float32"
NumberOfElements = 4
}
}
}
@@ -1346,14 +1119,14 @@ $IsttokApp = {
BoardId = 9
//NumberOfChannels = 2
Signals = {
DAC0 = {
Type = float32
OutputRange = 15.0
DAC0 = {
Type = float32
OutputRange = 15.0
// OutputPolarity = Bipolar
}
DAC1 = {
Type = float32
OutputRange = 15.0
Type = float32
OutputRange = 15.0
}
}
}
@@ -1364,7 +1137,7 @@ $IsttokApp = {
DeviceName = "/dev/atca_v6"
BoardId = 9
DeviceDmaName = "/dev/atca_v6_dmart_2"
NumberOfChannels = "12"
NumberOfChannels = "16"
IsMaster = "1"
SleepNature = "Busy"
SleepPercentage = "15"
@@ -1388,100 +1161,10 @@ $IsttokApp = {
TimeoutMax = {
Type = "uint32"
}
ADC0Decim = {
ADCDecim = {
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 = {
ADCInt = {
Type = "int64"
}
}
@@ -1610,6 +1293,7 @@ $IsttokApp = {
SamplePhase = "0"
AutomaticSegmentation = "0"
}
/*
AdcRawDecim12 = {
NodeName = "ATCAIOP1.ADC12RAW"
Period = "100e-6"
@@ -1628,6 +1312,7 @@ $IsttokApp = {
SamplePhase = "0"
AutomaticSegmentation = "0"
}
*/
AdcInteg0 = {
NodeName = "ATCAIOP1.ADC0INT"
Period = "100e-6"
@@ -1736,6 +1421,7 @@ $IsttokApp = {
SamplePhase = "0"
AutomaticSegmentation = "0"
}
/*
AdcInteg12 = {
NodeName = "ATCAIOP1.ADC12INT"
Period = "100e-6"
@@ -1754,6 +1440,7 @@ $IsttokApp = {
SamplePhase = "0"
AutomaticSegmentation = "0"
}
*/
}
}
+EPICSCAOutput = {
@@ -1779,6 +1466,7 @@ $IsttokApp = {
PVName = "ISTTOK:marte2:AtcaIop-Timeout-Max"
Type = "uint32"
}
/*
ADC0DecimAi = {
PVName = "ISTTOK:marte2:Adc0-Decim"
Type = "float32"
@@ -1787,6 +1475,7 @@ $IsttokApp = {
PVName = "ISTTOK:marte2:Adc1-Decim"
Type = "float32"
}
*/
}
}
+EPICSCAInput = {
@@ -1833,19 +1522,19 @@ $IsttokApp = {
Class = "RealTimeThread"
CPUs = "0x100"
//Functions = {"AtcaGAMInput" "DacConstants" "AtcaGAMOutput" "GAMConvert2Volt" "GAMConvert2Float" "GAMHistogramCycleTimes" "GAMCAOutput"}
Functions = {"AtcaGAMInput" "DacConstants" "AtcaGAMOutput" "AtcaGAMEoWoOutput" "GAMConvert2Volt" "GAMConvert2Float" "GAMHistogramCycleTimes" "GAMCAOutput" "GAMCAInput"}
Functions = {"AtcaGAMInput" "AtcaGAMEoWoOutput" "GAMConvert2Float" "GAMHistogramCycleTimes" "GAMDacSignals" "GAMCAOutput" "GAMDacOutput" "GAMCAInput"}
}
}
}
+Run = {
+Online = {
Class = "RealTimeState"
+Threads = {
Class = "ReferenceContainer"
+Thread1 = {
Class = "RealTimeThread"
CPUs = "0x100"
Functions = {"AtcaGAMInput" "DacConstants" "AtcaGAMOutput" "AtcaGAMEoWoOutput" "GAMConvert2Volt" "GAMConvert2Float" "GAMHistogramCycleTimes" "GAMCAOutput" "GAMCAInput" "GAMSignalsWriter"}
Functions = {"AtcaGAMInput" "AtcaGAMEoWoOutput" "GAMConvert2Float" "GAMHistogramCycleTimes" "GAMDacSignals" "GAMDacOutput" "GAMCAOutput" "GAMCAInput" "GAMSignalsWriter"}
}
}
}