Generation working and Compilation of MARTe components
This commit is contained in:
@@ -0,0 +1,249 @@
|
||||
// +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
|
||||
}
|
||||
}
|
||||
}
|
||||
+PV2DDB1 = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
AiValue = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = float32
|
||||
}
|
||||
LongInValue = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = uint32
|
||||
}
|
||||
StringInValue = {
|
||||
DataSource = EPICSCAInput
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
AValue = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
LValue = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
SValue = {
|
||||
DataSource = DDB1
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
+DDB12PV = {
|
||||
Class = IOGAM
|
||||
InputSignals = {
|
||||
AValue = {
|
||||
DataSource = DDB1
|
||||
Type = float32
|
||||
}
|
||||
LValue = {
|
||||
DataSource = DDB1
|
||||
Type = uint32
|
||||
}
|
||||
SValue = {
|
||||
DataSource = DDB1
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
OutputSignals = {
|
||||
AoValue = {
|
||||
DataSource = EPICSCAOutput
|
||||
Type = float32
|
||||
}
|
||||
LongOutValue = {
|
||||
DataSource = EPICSCAOutput
|
||||
Type = uint32
|
||||
}
|
||||
StringOutValue = {
|
||||
DataSource = EPICSCAOutput
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+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
|
||||
}
|
||||
}
|
||||
}
|
||||
+EPICSCAInput = {
|
||||
//Class = "EPICSCA::EPICSCAInput"
|
||||
Class = "JAEPICSCA::JAEPICSCAInput"
|
||||
CPUMask = "1"
|
||||
StackSize = "10000000"
|
||||
Signals = {
|
||||
AiValue = {
|
||||
PVName = "ai"
|
||||
Type = float32
|
||||
}
|
||||
LongInValue = {
|
||||
PVName = "longin"
|
||||
Type = uint32
|
||||
}
|
||||
StringInValue = {
|
||||
PVName = "stringin"
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
+EPICSCAOutput = {
|
||||
//Class = "EPICSCA::EPICSCAOutput"
|
||||
Class = "JAEPICSCA::JAEPICSCAOutput"
|
||||
CPUMask = "1"
|
||||
StackSize = "10000000"
|
||||
NumberOfBuffers = 2
|
||||
Signals = {
|
||||
AoValue = {
|
||||
PVName = "ao"
|
||||
Type = float32
|
||||
}
|
||||
LongOutValue = {
|
||||
PVName = "longout"
|
||||
Type = uint32
|
||||
}
|
||||
StringOutValue = {
|
||||
PVName = "stringout"
|
||||
Type = char8
|
||||
NumberOfElements = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
+Display = {
|
||||
Class = LoggerDataSource
|
||||
}
|
||||
+Timings = {
|
||||
Class = TimingDataSource
|
||||
}
|
||||
}
|
||||
+States = {
|
||||
Class = ReferenceContainer
|
||||
+State1 = {
|
||||
Class = RealTimeState
|
||||
+Threads = {
|
||||
Class = ReferenceContainer
|
||||
+Thread1 = {
|
||||
Class = RealTimeThread
|
||||
Functions = {GAMTimer PV2DDB1 DDB12PV}
|
||||
CPUMask = 0x1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+Scheduler = {
|
||||
Class = GAMScheduler
|
||||
TimingDataSource = Timings
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user