Initial work on MARTe config

This commit is contained in:
Martino Ferrari
2026-01-23 15:59:37 +01:00
parent febdac9a24
commit 0fdac299a8
14 changed files with 6476 additions and 5147 deletions

View File

@@ -0,0 +1,43 @@
#package jada_gyro
+StateMachine = {
Class = StateMachine
}
+JAGyroApp = {
Class = RealTimeApplication
+Data = {
Class = ReferenceContainer
DefaultDataSource = DDB1
//# GAM Datasource for Thread 1
+DDB1 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
//# GAMDatasource for thread 2
+DDB2 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
//# GAMDatasource for thread 3
+DDB3 = {
Class = GAMDataSource
AllowNoProducers = 1
ResetUnusedVariablesAtStateChange = 0
}
+Timings = {
Class = TimingDataSource
}
}
+Functions = {
Class = ReferenceContainer
}
+States = {
Class = ReferenceContainer
}
+Scheduler = {
Class = GAMScheduler
TimingDataSource = Timings
}
}

View File

@@ -0,0 +1,32 @@
#package jada_gyro.JAGyroApp
+Data = {
+DDB1 = {
Signals = {
//# Fast controller state variable
PCF_STATE = {
Type = uint32
}
//# Fast controller fault stata variable
PCF_FAULT = {
Type = uint32
}
}
}
}
+Functions = {
//# GAM That publish state of the system
+StateGAM = {
Class = ConstantGAM
OutputSignals = {
PCF_STATE = {
DataSource = DDB1
Default = 0
}
PCF_FAULT = {
DataSource = DDB1
Default = 1
}
}
}
}

View File

@@ -0,0 +1,99 @@
#package jada_gyro.StateMachine
+DISABLED = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,53 @@
#package jada_gyro.StateMachine
//# Error State (Enter by HVPS errors)
+ERROR = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
}

View File

@@ -0,0 +1,46 @@
#package jada_gyro.StateMachine
+INITIAL = {
Class = ReferenceContainer
+Start = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITHVON = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITHVON_PREP = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITHVON_SDN = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,144 @@
+WAITHVON_SDN_PREP = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,287 @@
#package jada_gyro.StateMachine
+WAITPERMIT = {
Class = ReferenceContainer
+GoWaitReady = {
Class = StateMachineEvent
NextState = "WAITREADY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitReady
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 4
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitHVON = {
Class = StateMachineEvent
NextState = "WAITHVON"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 6
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitHVON_SDN = {
Class = StateMachineEvent
NextState = "WAITHVON_SDN"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_SDN
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 8
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitHVON_PREP = {
Class = StateMachineEvent
NextState = "WAITHVON_PREP"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_PREP
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 7
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitHVON_SDN_PREP = {
Class = StateMachineEvent
NextState = "WAITHVON_SDN_PREP"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitHVON_SDN_PREP
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 9
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITREADY = {
Class = ReferenceContainer
+GoWaitStandby = {
Class = StateMachineEvent
NextState = "WAITSTANDBY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitStandby
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 3
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoWaitPermit = {
Class = StateMachineEvent
NextState = "WAITPERMIT"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitPermit
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 5
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,146 @@
#package jada_gyro.StateMachine
+WAITSTANDBY = {
Class = ReferenceContainer
+GoWaitReady = {
Class = StateMachineEvent
NextState = "WAITREADY"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = WaitReady
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 4
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoDisabled = {
Class = StateMachineEvent
NextState = "DISABLED"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Disabled
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 2
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 0
}
}
}
+GoError = {
Class = StateMachineEvent
NextState = "ERROR"
NextStateError = "ERROR"
+StopCurrentStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StopCurrentStateExecution
Mode = ExpectsReply
}
+PrepareNextStateMsg = {
Class = Message
Destination = JAGyroApp
Mode = ExpectsReply
Function = PrepareNextState
+Parameters = {
Class = ConfigurationDatabase
param1 = Error
}
}
+StartNextStateExecutionMsg = {
Class = Message
Destination = JAGyroApp
Function = StartNextStateExecution
Mode = ExpectsReply
}
+SetState = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_STATE
SignalValue = 1
}
}
+SetFault = {
Class = Message
Destination = JAGyroApp.Functions.StateGAM
Function = SetOutput
+Parameters = {
Class = ConfigurationDatabase
SignalName = PCF_FAULT
SignalValue = 1
}
}
}
}

View File

@@ -0,0 +1,149 @@
#package jada_gyro.JAGyroApp
+Data = {
//# Fast cycle timer
+Timer1kHz = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x100
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
//# Timer used for publsihing SDN data
+TimerSDN = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x200
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
//# Fast Timer for thread 3 (RTStateMachineGAM execution cycle.)
+FastTimer = {
Class = LinuxTimer
SleepNature = "Busy"
SleepPercentage = 40
ExecutionMode = RealTimeThread
CPUMask = 0x400
Signals = {
Counter = {
Type = uint32
}
Time = {
Type = uint32
}
}
}
// Add signals to existing ddb
+DDB1 = {
Signals = {
Time = {
Type = uint32
}
Counter = {
Type = uint32
}
}
}
+DDB2 = {
Signals = {
Time = {
Type = uint32
}
Counter = {
Type = uint32
}
}
}
+DDB3 = {
Signals = {
Time = {
Type = uint32
}
Counter = {
Type = uint32
}
}
}
}
+Functions = {
//# Timer for thread 1
+Timer1kHzGAM = {
Class = IOGAM
InputSignals = {
Counter = {
DataSource = Timer1kHz
Frequency = 1000 // Hz
}
Time = {
DataSource = Timer1kHz
}
}
OutputSignals = {
Counter = {
DataSource = DDB1
}
Time = {
DataSource = DDB1
}
}
}
//# Timer for SDN thread.
+TimeSDNGAM = {
Class = IOGAM
InputSignals = {
Time = {
DataSource = TimerSDN
}
Counter = {
DataSource = TimerSDN
Frequency = 1000 // operation:1k(=1ms cyc), debug:10
}
}
OutputSignals = {
Time = {
DataSource = DDB2
}
Counter = {
DataSource = DDB2
}
}
}
//# GAM for realtime statemachine
+FastTimerGAM = {
Class = IOGAM
InputSignals = {
Time = {
DataSource = FastTimer
}
Counter = {
DataSource = FastTimer
Frequency = 200000 // operation:10k(=100us cyc)
// Frequency = 100000 //operation:100k(=10us cyc)
}
}
OutputSignals = {
Time = {
DataSource = DDB3
}
Counter = {
DataSource = DDB3
}
}
}
}