192 lines
4.8 KiB
Plaintext
192 lines
4.8 KiB
Plaintext
+LoggerService = {
|
|
Class = LoggerService
|
|
CPUs = 0x1
|
|
StackSize = 32768
|
|
NumberOfLogPages = 128
|
|
+ConLogger = {
|
|
Class = ConsoleLogger
|
|
Format = "EtOoFmC"
|
|
PrintKeys = 1
|
|
}
|
|
}
|
|
+StateMachine = {
|
|
Class = StateMachine
|
|
+INITIAL = {
|
|
Class = ReferenceContainer
|
|
+START = {
|
|
Class = StateMachineEvent
|
|
NextState = "RUNNING"
|
|
NextStateError = "ERROR"
|
|
+PrepareNextStateOnOurRTApp = {
|
|
Class = Message
|
|
Destination = MyDemoApp
|
|
Mode = ExpectsReply
|
|
Function = PrepareNextState
|
|
+Parameters = {
|
|
Class = ConfigurationDatabase
|
|
param1 = State1
|
|
}
|
|
}
|
|
+StartNextStateExecutionMsg = {
|
|
Class = Message
|
|
Destination = MyDemoApp
|
|
Function = StartNextStateExecution
|
|
Mode = ExpectsReply
|
|
}
|
|
}
|
|
}
|
|
+RUNNING = {
|
|
Class = ReferenceContainer
|
|
+LOCKEDFOREVER = {
|
|
Class = StateMachineEvent
|
|
NextState = RUNNING
|
|
NextStateError = ERROR
|
|
}
|
|
}
|
|
+ERROR = {
|
|
Class = ReferenceContainer
|
|
+LOCKEDFOREVER = {
|
|
Class = StateMachineEvent
|
|
NextState = ERROR
|
|
NextStateError = ERROR
|
|
}
|
|
}
|
|
}
|
|
+MyDemoApp = {
|
|
Class = RealTimeApplication
|
|
+Functions = {
|
|
Class = ReferenceContainer
|
|
+GAMTimer = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
Time = {
|
|
DataSource = Timer
|
|
Type = uint32
|
|
}
|
|
Counter = {
|
|
DataSource = Timer
|
|
Type = uint32
|
|
Frequency = 1 //in Hz. Cycle for one state execution.
|
|
}
|
|
RTThreadPerf = {
|
|
DataSource = Timings
|
|
Alias = "State1.Thread1_CycleTime"
|
|
Type = uint32
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Time = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
Counter = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
RTThreadPerf = {
|
|
DataSource = DDB1
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
+GAMEPICSCA = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
doValue = {
|
|
DataSource = EPICSCAInput
|
|
Type = uint8
|
|
}
|
|
}
|
|
OutputSignals = {
|
|
Value = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
}
|
|
}
|
|
+GAMDebug = {
|
|
Class = IOGAM
|
|
InputSignals = {
|
|
Value = {
|
|
DataSource = DDB1
|
|
Type = uint8
|
|
}
|
|
|
|
}
|
|
OutputSignals = {
|
|
Value = {
|
|
DataSource = NI6528
|
|
Type = uint8
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+Data = {
|
|
Class = ReferenceContainer
|
|
DefaultDataSource = DDB1
|
|
+DDB1 = {
|
|
Class = GAMDataSource
|
|
}
|
|
+Timer = {
|
|
Class = LinuxTimer
|
|
SleepNature = "Busy"
|
|
SleepPercentage = 0
|
|
ExecutionMode = RealTimeThread
|
|
CPUMask = 0x1
|
|
Signals = {
|
|
Counter = {
|
|
Type = uint32
|
|
}
|
|
Time = {
|
|
Type = uint32
|
|
}
|
|
}
|
|
}
|
|
+NI6528 = {
|
|
Class = NI6528
|
|
DeviceName = "/dev/pxi6528.0"
|
|
Port = 3
|
|
Value = {
|
|
Counter = {
|
|
Type = uint8
|
|
}
|
|
}
|
|
}
|
|
+EPICSCAInput = {
|
|
Class = "EPICSCA::EPICSCAInput"
|
|
CPUMask = "1"
|
|
StackSize = "10000000"
|
|
Signals = {
|
|
doValue = {
|
|
PVName = "test:doValue"
|
|
}
|
|
}
|
|
}
|
|
+Display = {
|
|
Class = LoggerDataSource
|
|
}
|
|
+Timings = {
|
|
Class = TimingDataSource
|
|
}
|
|
}
|
|
+States = {
|
|
Class = ReferenceContainer
|
|
+State1 = {
|
|
Class = RealTimeState
|
|
+Threads = {
|
|
Class = ReferenceContainer
|
|
+Thread1 = {
|
|
Class = RealTimeThread
|
|
Functions = {GAMTimer GAMEPICSCA GAMDebug}
|
|
CPUMask = 0x1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
+Scheduler = {
|
|
Class = GAMScheduler
|
|
TimingDataSource = Timings
|
|
}
|
|
}
|
|
|