Implementing new features
This commit is contained in:
@@ -0,0 +1,186 @@
|
||||
{
|
||||
"$App": {
|
||||
"Class": "RealTimeApplication",
|
||||
"+Data": {
|
||||
"Class": "ReferenceContainer",
|
||||
"+RTTimer": {
|
||||
"Class": "LinuxTimer",
|
||||
"SleepNature": "Busy",
|
||||
"CPUMask": 2,
|
||||
"Locked": 1,
|
||||
"Signals": {
|
||||
"Counter": {
|
||||
"Type": "uint32"
|
||||
},
|
||||
"Time": {
|
||||
"Type": "uint32"
|
||||
}
|
||||
}
|
||||
},
|
||||
"+Timing": {
|
||||
"Class": "TimingDataSource",
|
||||
"Locked": 1
|
||||
},
|
||||
"+DDB0": {
|
||||
"Class": "GAMDataSource",
|
||||
"Locked": 1,
|
||||
"Signals": {
|
||||
"Time": {
|
||||
"Type": "uint32"
|
||||
},
|
||||
"Times": {
|
||||
"Type": "uint32",
|
||||
"NumberOfDimensions": 1,
|
||||
"NumberOfElements": 3
|
||||
},
|
||||
"Amplitudes": {
|
||||
"Type": "float32",
|
||||
"NumberOfDimensions": 1,
|
||||
"NumberOfElements": 3
|
||||
}
|
||||
}
|
||||
},
|
||||
"+EpicsIn": {
|
||||
"Class": "EPICSCA::EPICSCAInput",
|
||||
"Locked": 1,
|
||||
"Signals": {
|
||||
"Amplitude": {
|
||||
"Type": "float32",
|
||||
"PVName": "Amplitude"
|
||||
},
|
||||
"Frequency": {
|
||||
"Type": "float32",
|
||||
"PVName": "Frequency"
|
||||
}
|
||||
}
|
||||
},
|
||||
"DefaultDataSource": "DDB0",
|
||||
"+Logger": {
|
||||
"Class": "OnChangeLoggerDataSource",
|
||||
"Locked": 1,
|
||||
"Signals": {
|
||||
"Times": {
|
||||
"Type": "uint32",
|
||||
"NumberOfDimensions": 1,
|
||||
"NumberOfElements": 3
|
||||
},
|
||||
"Amplitudes": {
|
||||
"Type": "float32",
|
||||
"NumberOfDimensions": 1,
|
||||
"NumberOfElements": 3
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"+Functions": {
|
||||
"+TimerGAM": {
|
||||
"Class": "IOGAM",
|
||||
"InputSignals": {
|
||||
"Time": {
|
||||
"Frequency": 100,
|
||||
"DataSource": "RTTimer",
|
||||
"Type": "uint32",
|
||||
"Alias": "Time"
|
||||
}
|
||||
},
|
||||
"OutputSignals": {
|
||||
"Time": {
|
||||
"DataSource": "DDB0",
|
||||
"Type": "uint32",
|
||||
"Alias": "Time"
|
||||
}
|
||||
}
|
||||
},
|
||||
"+Chai": {
|
||||
"Class": "ChaiGAM",
|
||||
"Code": "global g = 4;\nfun() {\n\tg = g + 1;\n\ty[0] = -A;\n \ty[1] = A;\n\ty[2] = -A;\n\tt[0] = g;\n\tif (freq <= 0) {\n\t\tt[1] = 0;\n\t\tt[2] = 0;\n\t} else {\n\t\tt[1] = int(5e5 / freq);\n\t\tt[2] = int(1e6 / freq);\n\t}\n}",
|
||||
"InputSignals": {
|
||||
"A": {
|
||||
"DataSource": "EpicsIn",
|
||||
"Type": "float32",
|
||||
"Alias": "Amplitude"
|
||||
},
|
||||
"freq": {
|
||||
"DataSource": "EpicsIn",
|
||||
"Type": "float32",
|
||||
"Alias": "Frequency"
|
||||
}
|
||||
},
|
||||
"OutputSignals": {
|
||||
"t": {
|
||||
"NumberOfElements": 3,
|
||||
"NumberOfDimensions": 1,
|
||||
"DataSource": "DDB0",
|
||||
"Type": "uint32",
|
||||
"Alias": "Times"
|
||||
},
|
||||
"y": {
|
||||
"NumberOfElements": 3,
|
||||
"NumberOfDimensions": 1,
|
||||
"DataSource": "DDB0",
|
||||
"Type": "float32",
|
||||
"Alias": "Amplitudes"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Class": "ReferenceContainer",
|
||||
"+LogGAM": {
|
||||
"Class": "IOGAM",
|
||||
"InputSignals": {
|
||||
"t": {
|
||||
"NumberOfElements": 3,
|
||||
"NumberOfDimensions": 1,
|
||||
"DataSource": "DDB0",
|
||||
"Type": "uint32",
|
||||
"Alias": "Times"
|
||||
},
|
||||
"y": {
|
||||
"NumberOfElements": 3,
|
||||
"NumberOfDimensions": 1,
|
||||
"DataSource": "DDB0",
|
||||
"Type": "float32",
|
||||
"Alias": "Amplitudes"
|
||||
}
|
||||
},
|
||||
"OutputSignals": {
|
||||
"times": {
|
||||
"NumberOfElements": 3,
|
||||
"NumberOfDimensions": 1,
|
||||
"DataSource": "Logger",
|
||||
"Type": "uint32",
|
||||
"Alias": "Times"
|
||||
},
|
||||
"amplitudes": {
|
||||
"NumberOfElements": 3,
|
||||
"NumberOfDimensions": 1,
|
||||
"DataSource": "Logger",
|
||||
"Type": "float32",
|
||||
"Alias": "Amplitudes"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"+States": {
|
||||
"Class": "ReferenceContainer",
|
||||
"+Exec": {
|
||||
"Class": "RealTimeState",
|
||||
"+Threads": {
|
||||
"+Comm": {
|
||||
"Class": "RealTimeThread",
|
||||
"CPUs": 1,
|
||||
"Functions": [
|
||||
"TimerGAM",
|
||||
"Chai",
|
||||
"LogGAM"
|
||||
]
|
||||
},
|
||||
"Class": "ReferenceContainer"
|
||||
}
|
||||
}
|
||||
},
|
||||
"+Scheduler": {
|
||||
"Class": "GAMScheduler",
|
||||
"TimingDataSource": "Timing"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user