Files
ec-gn-ja-pcf/EC-GN-JA-PCF/.svn/pristine/2f/2f0379f7e9df3871844046ef2e1f3ceada17bd06.svn-base

396 lines
12 KiB
Plaintext

+StateMachine = {
Class = StateMachine
+INITIAL = {
Class = ReferenceContainer
+Start = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "WAITSTANDBY"
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
+WAITSTANDBY = {
Class = ReferenceContainer
+Stay = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "WAITSTANDBY"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyrotronRTApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyrotronRTApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
}
}
}
+JAGyrotronRTApp = {
Class = RealTimeApplication
+Functions = {
Class = ReferenceContainer
+GAMSDNSubCommand = {
Class = IOGAM
InputSignals = {
Command = {
DataSource = SDNSubCommands
Type = uint16
NumberOfDimensions = 1
NumberOfElements = 64
Ranges = {{0 0}}
Frequency = 1
}
ESDNTime = {
DataSource = SDNSubCommands
Type = uint32
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNTimeDisplay = {
Alias = ESDNTime
DataSource = SDNSubCommands
Type = uint32
NumberOfDimensions = 1
NumberOfElements = 1
}
}
OutputSignals = {
Command = {
DataSource = Display
Type = uint16
}
ESDNTime = {
DataSource = DDB1
Type = uint32
}
ESDNTimeDisplay = {
DataSource = Display
Type = uint32
}
}
}
+GAMSDNSubWaveform = {
Class = IOGAM
InputSignals = {
GYA_FHPS_SP = {
DataSource = SDNSubWaveform
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_MCPS_SP = {
DataSource = SDNSubWaveform
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_CCPS_SP = {
DataSource = SDNSubWaveform
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
MHVPS_SP = {
DataSource = SDNSubWaveform
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_BPS_SP = {
DataSource = SDNSubWaveform
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_APS_SP = {
DataSource = SDNSubWaveform
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
WaveformPacketIDFor1kHz = {
DataSource = SDNSubWaveform
Alias = WaveformPacketID
Type = uint16
}
}
OutputSignals = {
GYA_FHPS_SP = {
DataSource = DDB1
Type = float32
}
GYA_MCPS_SP = {
DataSource = DDB1
Type = float32
}
GYA_CCPS_SP = {
DataSource = DDB1
Type = float32
}
MHVPS_SP = {
DataSource = DDB1
Type = float32
}
GYA_BPS_SP = {
DataSource = DDB1
Type = float32
}
GYA_APS_SP = {
DataSource = DDB1
Type = float32
}
WaveformPacketIDFor1kHz = {
DataSource = DDB1
Alias = WaveformPacketID
Type = uint16
}
}
}
+GAMReply = {
Class = IOGAM
InputSignals = {
ESDNTime = {
DataSource = DDB1
Type = uint32
}
WaveformPacketID = {
DataSource = DDB1
Type = uint16
}
}
OutputSignals = {
ESDNTime = {
DataSource = SDNReply
Type = uint32
Trigger = 1
}
ReplyWaveformAck = {
DataSource = SDNReply
Type = uint16
}
}
}
}
+Data = {
Class = ReferenceContainer
DefaultDataSource = DDB1
+DDB1 = {
Class = GAMDataSource
}
+Timings = {
Class = TimingDataSource
}
+Display = {
Class = LoggerDataSource
}
+SDNSubCommands = {
Class = SDN::SDNSubscriber
Topic = ECPC2SCUJA
Interface = lo
CPUs = 0x2
Locked = 1
Timeout = 1000 // TODO: change to 1 ms
Signals = {
Header = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 48
}
ESDNHeaderVersionId = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNHeaderSize = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNStatus = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNDoNotUse = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNTime = {
Type = uint32
NumberOfDimensions = 1
NumberOfElements = 1
}
Command = {
Type = uint16
NumberOfDimensions = 1
NumberOfElements = 64
}
}
}
+SDNReply = {
Class = SDN::SDNPublisher
Topic = SCUJA2ECPC
Interface = lo
CPUs = 0x8
Locked = 1
Signals = {
Header = {
Type = uint8
NumberOfElements = 48
}
ESDNHeaderVersionId = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNHeaderSize = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNStatus = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNDoNotUse = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNTime = {
Type = uint32
NumberOfDimensions = 1
NumberOfElements = 1
}
ReplyStatus = {
Type = uint16
NumberOfDimensions = 1
NumberOfElements = 1
}
ReplyWaveformAck = {
Type = uint16
NumberOfDimensions = 1
NumberOfElements = 1
}
}
}
+SDNSubWaveform = {
Class = SDN::SDNSubscriber
Topic = ECPC2SCUJAWF
Interface = lo
Locked = 1
Timeout = 1000 // TODO: change to 1 ms
Signals = {
Header = {
Type = uint8
NumberOfElements = 48
}
ESDNHeaderVersionId = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNHeaderSize = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNStatus = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNDoNotUse = {
Type = uint8
NumberOfDimensions = 1
NumberOfElements = 1
}
ESDNTime = {
Type = uint32
NumberOfDimensions = 1
NumberOfElements = 1
}
WaveformPacketID = {
Type = uint16
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_MCPS_SP = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_CCPS_SP = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
MHVPS_SP = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_BPS_SP = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
GYA_APS_SP = {
Type = float32
NumberOfDimensions = 1
NumberOfElements = 1
}
}
}
}
+States = {
Class = ReferenceContainer
+WaitStandby = {
Class = RealTimeState
+Threads = {
Class = ReferenceContainer
+Thread1 = {
Class = RealTimeThread
Functions = {GAMSDNSubCommand GAMSDNSubWaveform GAMReply}
CPUs = 0x1
}
}
}
}
+Scheduler = {
Class = GAMScheduler
TimingDataSource = Timings
}
}