armodel 1.6.4__py3-none-any.whl → 1.7.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- armodel/cli/arxml_format_cli.py +14 -11
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +50 -13
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +1 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +86 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +3 -4
- armodel/models/M2/AUTOSARTemplates/ECUCDescriptionTemplate.py +1 -1
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +95 -13
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +14 -4
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +103 -10
- armodel/models/M2/AUTOSARTemplates/GenericStructure/LifeCycles.py +5 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +21 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +24 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +1 -1
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +173 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py +1 -1
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py +6 -6
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +237 -28
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/EcuInstance.py +223 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/Timing.py +177 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +37 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +88 -16
- armodel/models/M2/MSR/AsamHdo/AdminData.py +34 -8
- armodel/models/M2/MSR/Documentation/Annotation.py +1 -1
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/ListElements.py +54 -0
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/PaginationAndView.py +9 -0
- armodel/models/M2/MSR/Documentation/TextModel/BlockElements/__init__.py +25 -0
- armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +33 -5
- armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +15 -2
- armodel/models/M2/MSR/Documentation/__init__.py +1 -1
- armodel/models/__init__.py +15 -2
- armodel/parser/abstract_arxml_parser.py +55 -18
- armodel/parser/arxml_parser.py +344 -101
- armodel/tests/test_armodel/models/test_ar_ref.py +7 -4
- armodel/tests/test_armodel/parser/test_sw_components.py +6 -19
- armodel/tests/test_armodel/parser/test_system.py +2 -2
- armodel/writer/abstract_arxml_writer.py +17 -8
- armodel/writer/arxml_writer.py +291 -78
- {armodel-1.6.4.dist-info → armodel-1.7.1.dist-info}/METADATA +23 -1
- {armodel-1.6.4.dist-info → armodel-1.7.1.dist-info}/RECORD +43 -35
- {armodel-1.6.4.dist-info → armodel-1.7.1.dist-info}/LICENSE +0 -0
- {armodel-1.6.4.dist-info → armodel-1.7.1.dist-info}/WHEEL +0 -0
- {armodel-1.6.4.dist-info → armodel-1.7.1.dist-info}/entry_points.txt +0 -0
- {armodel-1.6.4.dist-info → armodel-1.7.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, RefType, TimeValue
|
|
2
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanCommunication import CanFrameTriggering
|
|
3
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.Fibex4Can.CanTopology import CanCommunicationConnector, CanCommunicationController
|
|
4
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import FibexElement
|
|
5
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationConnector, CommunicationController
|
|
6
|
+
from typing import List
|
|
7
|
+
|
|
8
|
+
class EcuInstance(FibexElement):
|
|
9
|
+
def __init__(self, parent, short_name):
|
|
10
|
+
super().__init__(parent, short_name)
|
|
11
|
+
|
|
12
|
+
self.associatedComIPduGroupRefs = [] # type: List[RefType]
|
|
13
|
+
self.associatedConsumedProvidedServiceInstanceGroupRefs = [] # type: List[RefType]
|
|
14
|
+
self.associatedPdurIPduGroupRefs = [] # type: List[RefType]
|
|
15
|
+
self.channelSynchronousWakeup = None # type: Boolean
|
|
16
|
+
self.clientIdRange = None # type: ClientIdRange
|
|
17
|
+
self.comConfigurationGwTimeBase = None # type: TimeValue
|
|
18
|
+
self.comConfigurationRxTimeBase = None # type: TimeValue
|
|
19
|
+
self.comConfigurationTxTimeBase = None # type: TimeValue
|
|
20
|
+
self.comEnableMDTForCyclicTransmission = None # type: Boolean
|
|
21
|
+
self.commControllers = [] # type: List[CommunicationController]
|
|
22
|
+
self.connectors = [] # type: List[CommunicationConnector]
|
|
23
|
+
self.dltConfig = None # type: DltConfig
|
|
24
|
+
self.doIpConfig = None # type: DoIpConfig
|
|
25
|
+
self.ecuTaskProxyRefs = [] # type: List[RefType]
|
|
26
|
+
self.ethSwitchPortGroupDerivation = None # type: Boolean
|
|
27
|
+
self.firewallRuleRef = None # type: RefType
|
|
28
|
+
self.partitions = [] # type: List[EcuPartition]
|
|
29
|
+
self.pncNmRequest = None # type: Boolean
|
|
30
|
+
self.pncPrepareSleepTimer = None # type: TimeValue
|
|
31
|
+
self.pncSynchronousWakeup = None # type: Boolean
|
|
32
|
+
self.pnResetTime = None # type: TimeValue
|
|
33
|
+
self.sleepModeSupported = None # type: Boolean
|
|
34
|
+
self.tcpIpIcmpPropsRef = None # type: RefType
|
|
35
|
+
self.tcpIpPropsRef = None # type: RefType
|
|
36
|
+
self.v2xSupported = None # type: V2xSupportEnum
|
|
37
|
+
self.wakeUpOverBusSupported = None # type: Boolean
|
|
38
|
+
|
|
39
|
+
def getAssociatedComIPduGroupRefs(self):
|
|
40
|
+
return self.associatedComIPduGroupRefs
|
|
41
|
+
|
|
42
|
+
def addAssociatedComIPduGroupRef(self, value):
|
|
43
|
+
self.associatedComIPduGroupRefs.append(value)
|
|
44
|
+
return self
|
|
45
|
+
|
|
46
|
+
def getAssociatedConsumedProvidedServiceInstanceGroupRefs(self):
|
|
47
|
+
return self.associatedConsumedProvidedServiceInstanceGroupRefs
|
|
48
|
+
|
|
49
|
+
def addAssociatedConsumedProvidedServiceInstanceGroupRef(self, value):
|
|
50
|
+
self.associatedConsumedProvidedServiceInstanceGroupRefs.append(value)
|
|
51
|
+
return self
|
|
52
|
+
|
|
53
|
+
def getAssociatedPdurIPduGroupRefs(self):
|
|
54
|
+
return self.associatedPdurIPduGroupRefs
|
|
55
|
+
|
|
56
|
+
def addAssociatedPdurIPduGroupRef(self, value):
|
|
57
|
+
self.associatedPdurIPduGroupRefs.append(value)
|
|
58
|
+
return self
|
|
59
|
+
|
|
60
|
+
def getChannelSynchronousWakeup(self):
|
|
61
|
+
return self.channelSynchronousWakeup
|
|
62
|
+
|
|
63
|
+
def setChannelSynchronousWakeup(self, value):
|
|
64
|
+
self.channelSynchronousWakeup = value
|
|
65
|
+
return self
|
|
66
|
+
|
|
67
|
+
def getClientIdRange(self):
|
|
68
|
+
return self.clientIdRange
|
|
69
|
+
|
|
70
|
+
def setClientIdRange(self, value):
|
|
71
|
+
self.clientIdRange = value
|
|
72
|
+
return self
|
|
73
|
+
|
|
74
|
+
def getComConfigurationGwTimeBase(self):
|
|
75
|
+
return self.comConfigurationGwTimeBase
|
|
76
|
+
|
|
77
|
+
def setComConfigurationGwTimeBase(self, value):
|
|
78
|
+
self.comConfigurationGwTimeBase = value
|
|
79
|
+
return self
|
|
80
|
+
|
|
81
|
+
def getComConfigurationRxTimeBase(self):
|
|
82
|
+
return self.comConfigurationRxTimeBase
|
|
83
|
+
|
|
84
|
+
def setComConfigurationRxTimeBase(self, value):
|
|
85
|
+
self.comConfigurationRxTimeBase = value
|
|
86
|
+
return self
|
|
87
|
+
|
|
88
|
+
def getComConfigurationTxTimeBase(self):
|
|
89
|
+
return self.comConfigurationTxTimeBase
|
|
90
|
+
|
|
91
|
+
def setComConfigurationTxTimeBase(self, value):
|
|
92
|
+
self.comConfigurationTxTimeBase = value
|
|
93
|
+
return self
|
|
94
|
+
|
|
95
|
+
def getComEnableMDTForCyclicTransmission(self):
|
|
96
|
+
return self.comEnableMDTForCyclicTransmission
|
|
97
|
+
|
|
98
|
+
def setComEnableMDTForCyclicTransmission(self, value):
|
|
99
|
+
self.comEnableMDTForCyclicTransmission = value
|
|
100
|
+
return self
|
|
101
|
+
|
|
102
|
+
def getCommControllers(self):
|
|
103
|
+
return list(sorted(filter(lambda a: isinstance(a, CommunicationController), self.elements.values()), key= lambda o:o.short_name))
|
|
104
|
+
|
|
105
|
+
def createCanCommunicationController(self, short_name: str) -> CanCommunicationController:
|
|
106
|
+
if (short_name not in self.elements):
|
|
107
|
+
controller = CanCommunicationController(self, short_name)
|
|
108
|
+
self.elements[short_name] = controller
|
|
109
|
+
return self.elements[short_name]
|
|
110
|
+
|
|
111
|
+
def getConnectors(self):
|
|
112
|
+
return list(sorted(filter(lambda a: isinstance(a, CommunicationConnector), self.elements.values()), key= lambda o:o.short_name))
|
|
113
|
+
|
|
114
|
+
def createCanCommunicationConnector(self, short_name: str) -> CanCommunicationConnector:
|
|
115
|
+
if (short_name not in self.elements):
|
|
116
|
+
controller = CanCommunicationConnector(self, short_name)
|
|
117
|
+
self.elements[short_name] = controller
|
|
118
|
+
return self.elements[short_name]
|
|
119
|
+
|
|
120
|
+
def getDltConfig(self):
|
|
121
|
+
return self.dltConfig
|
|
122
|
+
|
|
123
|
+
def setDltConfig(self, value):
|
|
124
|
+
self.dltConfig = value
|
|
125
|
+
return self
|
|
126
|
+
|
|
127
|
+
def getDoIpConfig(self):
|
|
128
|
+
return self.doIpConfig
|
|
129
|
+
|
|
130
|
+
def setDoIpConfig(self, value):
|
|
131
|
+
self.doIpConfig = value
|
|
132
|
+
return self
|
|
133
|
+
|
|
134
|
+
def getEcuTaskProxyRefs(self):
|
|
135
|
+
return self.ecuTaskProxyRefs
|
|
136
|
+
|
|
137
|
+
def setEcuTaskProxyRefs(self, value):
|
|
138
|
+
self.ecuTaskProxyRefs = value
|
|
139
|
+
return self
|
|
140
|
+
|
|
141
|
+
def getEthSwitchPortGroupDerivation(self):
|
|
142
|
+
return self.ethSwitchPortGroupDerivation
|
|
143
|
+
|
|
144
|
+
def setEthSwitchPortGroupDerivation(self, value):
|
|
145
|
+
self.ethSwitchPortGroupDerivation = value
|
|
146
|
+
return self
|
|
147
|
+
|
|
148
|
+
def getFirewallRuleRef(self):
|
|
149
|
+
return self.firewallRuleRef
|
|
150
|
+
|
|
151
|
+
def setFirewallRuleRef(self, value):
|
|
152
|
+
self.firewallRuleRef = value
|
|
153
|
+
return self
|
|
154
|
+
|
|
155
|
+
def getPartitions(self):
|
|
156
|
+
return self.partitions
|
|
157
|
+
|
|
158
|
+
def addPartition(self, value):
|
|
159
|
+
self.partitions.append(value)
|
|
160
|
+
return self
|
|
161
|
+
|
|
162
|
+
def getPncNmRequest(self):
|
|
163
|
+
return self.pncNmRequest
|
|
164
|
+
|
|
165
|
+
def setPncNmRequest(self, value):
|
|
166
|
+
self.pncNmRequest = value
|
|
167
|
+
return self
|
|
168
|
+
|
|
169
|
+
def getPncPrepareSleepTimer(self):
|
|
170
|
+
return self.pncPrepareSleepTimer
|
|
171
|
+
|
|
172
|
+
def setPncPrepareSleepTimer(self, value):
|
|
173
|
+
self.pncPrepareSleepTimer = value
|
|
174
|
+
return self
|
|
175
|
+
|
|
176
|
+
def getPncSynchronousWakeup(self):
|
|
177
|
+
return self.pncSynchronousWakeup
|
|
178
|
+
|
|
179
|
+
def setPncSynchronousWakeup(self, value):
|
|
180
|
+
self.pncSynchronousWakeup = value
|
|
181
|
+
return self
|
|
182
|
+
|
|
183
|
+
def getPnResetTime(self):
|
|
184
|
+
return self.pnResetTime
|
|
185
|
+
|
|
186
|
+
def setPnResetTime(self, value):
|
|
187
|
+
self.pnResetTime = value
|
|
188
|
+
return self
|
|
189
|
+
|
|
190
|
+
def getSleepModeSupported(self):
|
|
191
|
+
return self.sleepModeSupported
|
|
192
|
+
|
|
193
|
+
def setSleepModeSupported(self, value):
|
|
194
|
+
self.sleepModeSupported = value
|
|
195
|
+
return self
|
|
196
|
+
|
|
197
|
+
def getTcpIpIcmpPropsRef(self):
|
|
198
|
+
return self.tcpIpIcmpPropsRef
|
|
199
|
+
|
|
200
|
+
def setTcpIpIcmpPropsRef(self, value):
|
|
201
|
+
self.tcpIpIcmpPropsRef = value
|
|
202
|
+
return self
|
|
203
|
+
|
|
204
|
+
def getTcpIpPropsRef(self):
|
|
205
|
+
return self.tcpIpPropsRef
|
|
206
|
+
|
|
207
|
+
def setTcpIpPropsRef(self, value):
|
|
208
|
+
self.tcpIpPropsRef = value
|
|
209
|
+
return self
|
|
210
|
+
|
|
211
|
+
def getV2xSupported(self):
|
|
212
|
+
return self.v2xSupported
|
|
213
|
+
|
|
214
|
+
def setV2xSupported(self, value):
|
|
215
|
+
self.v2xSupported = value
|
|
216
|
+
return self
|
|
217
|
+
|
|
218
|
+
def getWakeUpOverBusSupported(self):
|
|
219
|
+
return self.wakeUpOverBusSupported
|
|
220
|
+
|
|
221
|
+
def setWakeUpOverBusSupported(self, value):
|
|
222
|
+
self.wakeUpOverBusSupported = value
|
|
223
|
+
return self
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import Describable
|
|
2
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Integer, RefType, TimeValue
|
|
4
|
+
|
|
5
|
+
class ModeDrivenTransmissionModeCondition(ARObject):
|
|
6
|
+
def __init__(self):
|
|
7
|
+
super().__init__()
|
|
8
|
+
|
|
9
|
+
self.modeDeclarationRef = None # type: RefType
|
|
10
|
+
|
|
11
|
+
def getModeDeclarationRef(self):
|
|
12
|
+
return self.modeDeclarationRef
|
|
13
|
+
|
|
14
|
+
def setModeDeclarationRef(self, value):
|
|
15
|
+
self.modeDeclarationRef = value
|
|
16
|
+
return self
|
|
17
|
+
|
|
18
|
+
class TransmissionModeCondition(ARObject):
|
|
19
|
+
def __init__(self):
|
|
20
|
+
super().__init__()
|
|
21
|
+
|
|
22
|
+
self.dataFilter = None # type: DataFilter
|
|
23
|
+
self.iSignalInIPduRef = None # type: RefType
|
|
24
|
+
|
|
25
|
+
def getDataFilter(self):
|
|
26
|
+
return self.dataFilter
|
|
27
|
+
|
|
28
|
+
def setDataFilter(self, value):
|
|
29
|
+
self.dataFilter = value
|
|
30
|
+
return self
|
|
31
|
+
|
|
32
|
+
def getISignalInIPduRef(self):
|
|
33
|
+
return self.iSignalInIPduRef
|
|
34
|
+
|
|
35
|
+
def setISignalInIPduRef(self, value):
|
|
36
|
+
self.iSignalInIPduRef = value
|
|
37
|
+
return self
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class TimeRangeType(ARObject):
|
|
41
|
+
def __init__(self):
|
|
42
|
+
super().__init__()
|
|
43
|
+
|
|
44
|
+
# type: TimeRangeTypeTolerance
|
|
45
|
+
self.tolerance = None
|
|
46
|
+
self.value = None # type: TimeValue
|
|
47
|
+
|
|
48
|
+
def getTolerance(self):
|
|
49
|
+
return self.tolerance
|
|
50
|
+
|
|
51
|
+
def setTolerance(self, value):
|
|
52
|
+
self.tolerance = value
|
|
53
|
+
return self
|
|
54
|
+
|
|
55
|
+
def getValue(self):
|
|
56
|
+
return self.value
|
|
57
|
+
|
|
58
|
+
def setValue(self, value):
|
|
59
|
+
self.value = value
|
|
60
|
+
return self
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class CyclicTiming(Describable):
|
|
64
|
+
def __init__(self):
|
|
65
|
+
super().__init__()
|
|
66
|
+
|
|
67
|
+
self.timeOffset = None # type: TimeRangeType
|
|
68
|
+
self.timePeriod = None # type: TimeRangeType
|
|
69
|
+
|
|
70
|
+
def getTimeOffset(self):
|
|
71
|
+
return self.timeOffset
|
|
72
|
+
|
|
73
|
+
def setTimeOffset(self, value):
|
|
74
|
+
self.timeOffset = value
|
|
75
|
+
return self
|
|
76
|
+
|
|
77
|
+
def getTimePeriod(self):
|
|
78
|
+
return self.timePeriod
|
|
79
|
+
|
|
80
|
+
def setTimePeriod(self, value):
|
|
81
|
+
self.timePeriod = value
|
|
82
|
+
return self
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
class EventControlledTiming(Describable):
|
|
86
|
+
def __init__(self):
|
|
87
|
+
super().__init__()
|
|
88
|
+
|
|
89
|
+
self.numberOfRepetitions = None # type: Integer
|
|
90
|
+
self.repetitionPeriod = None # type: TimeRangeType
|
|
91
|
+
|
|
92
|
+
def getNumberOfRepetitions(self):
|
|
93
|
+
return self.numberOfRepetitions
|
|
94
|
+
|
|
95
|
+
def setNumberOfRepetitions(self, value):
|
|
96
|
+
self.numberOfRepetitions = value
|
|
97
|
+
return self
|
|
98
|
+
|
|
99
|
+
def getRepetitionPeriod(self):
|
|
100
|
+
return self.repetitionPeriod
|
|
101
|
+
|
|
102
|
+
def setRepetitionPeriod(self, value):
|
|
103
|
+
self.repetitionPeriod = value
|
|
104
|
+
return self
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class TransmissionModeTiming(ARObject):
|
|
108
|
+
def __init__(self):
|
|
109
|
+
super().__init__()
|
|
110
|
+
|
|
111
|
+
self.cyclicTiming = None # type: CyclicTiming
|
|
112
|
+
# type: EventControlledTiming
|
|
113
|
+
self.eventControlledTiming = None
|
|
114
|
+
|
|
115
|
+
def getCyclicTiming(self):
|
|
116
|
+
return self.cyclicTiming
|
|
117
|
+
|
|
118
|
+
def setCyclicTiming(self, value):
|
|
119
|
+
self.cyclicTiming = value
|
|
120
|
+
return self
|
|
121
|
+
|
|
122
|
+
def getEventControlledTiming(self):
|
|
123
|
+
return self.eventControlledTiming
|
|
124
|
+
|
|
125
|
+
def setEventControlledTiming(self, value):
|
|
126
|
+
self.eventControlledTiming = value
|
|
127
|
+
return self
|
|
128
|
+
|
|
129
|
+
class TransmissionModeDeclaration(ARObject):
|
|
130
|
+
def __init__(self):
|
|
131
|
+
super().__init__()
|
|
132
|
+
|
|
133
|
+
# type: ModeDrivenTransmissionModeCondition
|
|
134
|
+
self.modeDrivenFalseConditions = []
|
|
135
|
+
# type: ModeDrivenTransmissionModeCondition
|
|
136
|
+
self.modeDrivenTrueConditions = []
|
|
137
|
+
# type: TransmissionModeCondition
|
|
138
|
+
self.transmissionModeConditions = []
|
|
139
|
+
# type: TransmissionModeTiming
|
|
140
|
+
self.transmissionModeFalseTiming = None
|
|
141
|
+
# type: TransmissionModeTiming
|
|
142
|
+
self.transmissionModeTrueTiming = None
|
|
143
|
+
|
|
144
|
+
def getModeDrivenFalseConditions(self):
|
|
145
|
+
return self.modeDrivenFalseConditions
|
|
146
|
+
|
|
147
|
+
def addModeDrivenFalseCondition(self, value):
|
|
148
|
+
self.modeDrivenFalseConditions.append(value)
|
|
149
|
+
return self
|
|
150
|
+
|
|
151
|
+
def getModeDrivenTrueConditions(self):
|
|
152
|
+
return self.modeDrivenTrueConditions
|
|
153
|
+
|
|
154
|
+
def addModeDrivenTrueCondition(self, value):
|
|
155
|
+
self.modeDrivenTrueConditions.append(value)
|
|
156
|
+
return self
|
|
157
|
+
|
|
158
|
+
def getTransmissionModeConditions(self):
|
|
159
|
+
return self.transmissionModeConditions
|
|
160
|
+
|
|
161
|
+
def addTransmissionModeCondition(self, value):
|
|
162
|
+
self.transmissionModeConditions.append(value)
|
|
163
|
+
return self
|
|
164
|
+
|
|
165
|
+
def getTransmissionModeFalseTiming(self):
|
|
166
|
+
return self.transmissionModeFalseTiming
|
|
167
|
+
|
|
168
|
+
def setTransmissionModeFalseTiming(self, value):
|
|
169
|
+
self.transmissionModeFalseTiming = value
|
|
170
|
+
return self
|
|
171
|
+
|
|
172
|
+
def getTransmissionModeTrueTiming(self):
|
|
173
|
+
return self.transmissionModeTrueTiming
|
|
174
|
+
|
|
175
|
+
def setTransmissionModeTrueTiming(self, value):
|
|
176
|
+
self.transmissionModeTrueTiming = value
|
|
177
|
+
return self
|
|
@@ -46,3 +46,40 @@ class VariableDataPrototypeInSystemInstanceRef(AtpInstanceRef):
|
|
|
46
46
|
def setTargetDataPrototypeRef(self, value):
|
|
47
47
|
self.targetDataPrototypeRef = value
|
|
48
48
|
return self
|
|
49
|
+
|
|
50
|
+
class ComponentInSystemInstanceRef(AtpInstanceRef):
|
|
51
|
+
def __init__(self):
|
|
52
|
+
super().__init__()
|
|
53
|
+
|
|
54
|
+
self.baseRef = None # type: RefType
|
|
55
|
+
self.contextComponentRefs = [] # type: List[RefType]
|
|
56
|
+
self.contextCompositionRef = None # type: RefType
|
|
57
|
+
self.targetComponentRef = None # type: RefType
|
|
58
|
+
|
|
59
|
+
def getBaseRef(self):
|
|
60
|
+
return self.baseRef
|
|
61
|
+
|
|
62
|
+
def setBaseRef(self, value):
|
|
63
|
+
self.baseRef = value
|
|
64
|
+
return self
|
|
65
|
+
|
|
66
|
+
def getContextComponentRefs(self):
|
|
67
|
+
return self.contextComponentRefs
|
|
68
|
+
|
|
69
|
+
def addContextComponentRef(self, value):
|
|
70
|
+
self.contextComponentRefs.append(value)
|
|
71
|
+
return self
|
|
72
|
+
|
|
73
|
+
def getContextCompositionRef(self):
|
|
74
|
+
return self.contextCompositionRef
|
|
75
|
+
|
|
76
|
+
def setContextCompositionRef(self, value):
|
|
77
|
+
self.contextCompositionRef = value
|
|
78
|
+
return self
|
|
79
|
+
|
|
80
|
+
def getTargetComponentRef(self):
|
|
81
|
+
return self.targetComponentRef
|
|
82
|
+
|
|
83
|
+
def setTargetComponentRef(self, value):
|
|
84
|
+
self.targetComponentRef = value
|
|
85
|
+
return self
|
|
@@ -1,10 +1,48 @@
|
|
|
1
1
|
from typing import List
|
|
2
|
-
from ....M2.AUTOSARTemplates.
|
|
3
|
-
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.
|
|
4
|
-
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement
|
|
2
|
+
from ....M2.AUTOSARTemplates.SystemTemplate.InstanceRefs import ComponentInSystemInstanceRef
|
|
3
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.Identifiable import ARElement, Identifiable
|
|
5
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import PositiveInteger, RefType, TRefType
|
|
6
|
+
|
|
7
|
+
class SwcToEcuMapping(Identifiable):
|
|
8
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
9
|
+
super().__init__(parent, short_name)
|
|
10
|
+
|
|
11
|
+
self.componentIRefs = [] # type: List[ComponentInSystemInstanceRef]
|
|
12
|
+
self.controlledHwElementRef = None # type: RefType
|
|
13
|
+
self.ecuInstanceRef = None # type: RefType
|
|
14
|
+
self.processingUnitRef = None # type: RefType
|
|
15
|
+
|
|
16
|
+
def getComponentIRefs(self):
|
|
17
|
+
return self.componentIRefs
|
|
18
|
+
|
|
19
|
+
def addComponentIRef(self, value):
|
|
20
|
+
self.componentIRefs.append(value)
|
|
21
|
+
return self
|
|
22
|
+
|
|
23
|
+
def getControlledHwElementRef(self):
|
|
24
|
+
return self.controlledHwElementRef
|
|
25
|
+
|
|
26
|
+
def setControlledHwElementRef(self, value):
|
|
27
|
+
self.controlledHwElementRef = value
|
|
28
|
+
return self
|
|
29
|
+
|
|
30
|
+
def getEcuInstanceRef(self):
|
|
31
|
+
return self.ecuInstanceRef
|
|
32
|
+
|
|
33
|
+
def setEcuInstanceRef(self, value):
|
|
34
|
+
self.ecuInstanceRef = value
|
|
35
|
+
return self
|
|
36
|
+
|
|
37
|
+
def getProcessingUnitRef(self):
|
|
38
|
+
return self.processingUnitRef
|
|
39
|
+
|
|
40
|
+
def setProcessingUnitRef(self, value):
|
|
41
|
+
self.processingUnitRef = value
|
|
42
|
+
return self
|
|
5
43
|
|
|
6
44
|
class SystemMapping(Identifiable):
|
|
7
|
-
def __init__(self, parent, short_name):
|
|
45
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
8
46
|
super().__init__(parent, short_name)
|
|
9
47
|
|
|
10
48
|
self.applicationPartitionToEcuPartitionMappings = []
|
|
@@ -28,7 +66,7 @@ class SystemMapping(Identifiable):
|
|
|
28
66
|
self.swClusterMappings = []
|
|
29
67
|
self.swcToApplicationPartitionMappings = []
|
|
30
68
|
self.swImplMappings = []
|
|
31
|
-
self.swMappings = []
|
|
69
|
+
self.swMappings = [] # type: List[SwcToEcuMapping]
|
|
32
70
|
self.systemSignalGroupToComResourceMappings = []
|
|
33
71
|
self.systemSignalToComResourceMappings = []
|
|
34
72
|
|
|
@@ -182,9 +220,12 @@ class SystemMapping(Identifiable):
|
|
|
182
220
|
def getSwMappings(self):
|
|
183
221
|
return self.swMappings
|
|
184
222
|
|
|
185
|
-
def
|
|
186
|
-
self.
|
|
187
|
-
|
|
223
|
+
def createSwcToEcuMapping(self, short_name: str) -> SwcToEcuMapping:
|
|
224
|
+
if short_name not in self.elements:
|
|
225
|
+
mapping = SwcToEcuMapping(self, short_name)
|
|
226
|
+
self.addElement(mapping)
|
|
227
|
+
self.swMappings.append(mapping)
|
|
228
|
+
return self.getElement(short_name)
|
|
188
229
|
|
|
189
230
|
def getSystemSignalGroupToComResourceMappings(self):
|
|
190
231
|
return self.systemSignalGroupToComResourceMappings
|
|
@@ -200,9 +241,37 @@ class SystemMapping(Identifiable):
|
|
|
200
241
|
self.systemSignalToComResourceMappings.append(value)
|
|
201
242
|
return self
|
|
202
243
|
|
|
244
|
+
class RootSwCompositionPrototype(Identifiable):
|
|
245
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
246
|
+
super().__init__(parent, short_name)
|
|
247
|
+
|
|
248
|
+
self.calibrationParameterValueSetRef = None # type: RefType
|
|
249
|
+
self.flatMapRef = None # type: RefType
|
|
250
|
+
self.softwareCompositionTRef = None # type: TRefType
|
|
251
|
+
|
|
252
|
+
def getCalibrationParameterValueSetRef(self):
|
|
253
|
+
return self.calibrationParameterValueSetRef
|
|
254
|
+
|
|
255
|
+
def setCalibrationParameterValueSetRef(self, value):
|
|
256
|
+
self.calibrationParameterValueSetRef = value
|
|
257
|
+
return self
|
|
258
|
+
|
|
259
|
+
def getFlatMapRef(self):
|
|
260
|
+
return self.flatMapRef
|
|
261
|
+
|
|
262
|
+
def setFlatMapRef(self, value):
|
|
263
|
+
self.flatMapRef = value
|
|
264
|
+
return self
|
|
265
|
+
|
|
266
|
+
def getSoftwareCompositionTRef(self):
|
|
267
|
+
return self.softwareCompositionTRef
|
|
268
|
+
|
|
269
|
+
def setSoftwareCompositionTRef(self, value):
|
|
270
|
+
self.softwareCompositionTRef = value
|
|
271
|
+
return self
|
|
203
272
|
|
|
204
273
|
class System(ARElement):
|
|
205
|
-
def __init__(self, parent, short_name):
|
|
274
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
206
275
|
super().__init__(parent, short_name)
|
|
207
276
|
|
|
208
277
|
self.clientIdDefinitionSetRefs = [] # type: List[RefType]
|
|
@@ -212,12 +281,12 @@ class System(ARElement):
|
|
|
212
281
|
self.interpolationRoutineMappingSetRefs = [] # type: List[RefType]
|
|
213
282
|
self.j1939SharedAddressClusters = []
|
|
214
283
|
self.mappings = [] # type: List[SystemMapping]
|
|
215
|
-
self.pncVectorLength = None
|
|
216
|
-
self.pncVectorOffset = None
|
|
217
|
-
self.rootSoftwareComposition = None
|
|
284
|
+
self.pncVectorLength = None # type: PositiveInteger
|
|
285
|
+
self.pncVectorOffset = None # type: PositiveInteger
|
|
286
|
+
self.rootSoftwareComposition = None # type: RootSwCompositionPrototype
|
|
218
287
|
self.swClusters = []
|
|
219
288
|
self.systemDocumentation = []
|
|
220
|
-
self.systemVersion = None
|
|
289
|
+
self.systemVersion = None # type: RevisionLabelString
|
|
221
290
|
|
|
222
291
|
def getClientIdDefinitionSetRefs(self):
|
|
223
292
|
return self.clientIdDefinitionSetRefs
|
|
@@ -287,9 +356,12 @@ class System(ARElement):
|
|
|
287
356
|
def getRootSoftwareComposition(self):
|
|
288
357
|
return self.rootSoftwareComposition
|
|
289
358
|
|
|
290
|
-
def
|
|
291
|
-
self.
|
|
292
|
-
|
|
359
|
+
def createRootSoftwareComposition(self, short_name) -> RootSwCompositionPrototype:
|
|
360
|
+
if short_name not in self.elements:
|
|
361
|
+
prototype = RootSwCompositionPrototype(self, short_name)
|
|
362
|
+
self.addElement(prototype)
|
|
363
|
+
self.rootSoftwareComposition = prototype
|
|
364
|
+
return self.getElement(short_name)
|
|
293
365
|
|
|
294
366
|
def getSwClusters(self):
|
|
295
367
|
return self.swClusters
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from ....M2.MSR.Documentation.TextModel.LanguageDataModel import LEnum
|
|
2
|
+
from ....M2.MSR.Documentation.TextModel.MultilanguageData import MultiLanguagePlainText
|
|
1
3
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
2
4
|
from ....M2.MSR.AsamHdo.SpecialData import Sdg
|
|
3
5
|
from typing import List
|
|
@@ -6,13 +8,37 @@ class AdminData(ARObject):
|
|
|
6
8
|
def __init__(self):
|
|
7
9
|
super().__init__()
|
|
8
10
|
|
|
9
|
-
self.
|
|
10
|
-
self.language = None
|
|
11
|
-
self.
|
|
12
|
-
self.
|
|
11
|
+
self.DocRevisions = [] # type: List[DocRevision]
|
|
12
|
+
self.language = None # type: LEnum
|
|
13
|
+
self.sdgs = [] # type: List[Sdg]
|
|
14
|
+
self.usedLanguages = None # type: MultiLanguagePlainText
|
|
13
15
|
|
|
14
|
-
def
|
|
15
|
-
self.
|
|
16
|
+
def getDocRevisions(self):
|
|
17
|
+
return self.DocRevisions
|
|
16
18
|
|
|
17
|
-
def
|
|
18
|
-
|
|
19
|
+
def setDocRevisions(self, value):
|
|
20
|
+
self.DocRevisions.append(value)
|
|
21
|
+
return self
|
|
22
|
+
|
|
23
|
+
def getLanguage(self):
|
|
24
|
+
return self.language
|
|
25
|
+
|
|
26
|
+
def setLanguage(self, value):
|
|
27
|
+
self.language = value
|
|
28
|
+
return self
|
|
29
|
+
|
|
30
|
+
def getSdgs(self):
|
|
31
|
+
return self.sdgs
|
|
32
|
+
|
|
33
|
+
def addSdg(self, value):
|
|
34
|
+
self.sdgs.append(value)
|
|
35
|
+
return self
|
|
36
|
+
|
|
37
|
+
def getUsedLanguages(self):
|
|
38
|
+
return self.usedLanguages
|
|
39
|
+
|
|
40
|
+
def setUsedLanguages(self, value):
|
|
41
|
+
self.usedLanguages = value
|
|
42
|
+
return self
|
|
43
|
+
|
|
44
|
+
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from
|
|
1
|
+
from .TextModel.BlockElements import DocumentationBlock
|
|
2
2
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
3
|
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral
|
|
4
4
|
from ....M2.MSR.Documentation.TextModel.MultilanguageData import MultilanguageLongName
|