armodel 1.6.3__py3-none-any.whl → 1.7.0__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_dump_cli.py +7 -7
- armodel/cli/arxml_format_cli.py +14 -12
- armodel/cli/connector2xlsx_cli.py +2 -3
- armodel/cli/connector_update_cli.py +1 -4
- armodel/cli/memory_section_cli.py +2 -2
- armodel/cli/swc_list_cli.py +2 -3
- armodel/cli/system_signal_cli.py +2 -2
- armodel/lib/sw_component.py +2 -2
- armodel/lib/system_signal.py +1 -3
- armodel/models/M2/AUTOSARTemplates/AutosarTopLevelStructure.py +5 -10
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswBehavior.py +9 -11
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswImplementation.py +51 -12
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswInterfaces.py +3 -3
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/BswOverview.py +5 -6
- armodel/models/M2/AUTOSARTemplates/BswModuleTemplate/__init__.py +4 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Filter.py +86 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Implementation.py +186 -29
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ImplementationDataTypes.py +7 -10
- armodel/models/M2/AUTOSARTemplates/CommonStructure/InternalBehavior.py +21 -11
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ModeDeclaration.py +3 -3
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/MemorySectionUsage.py +3 -6
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ResourceConsumption/__init__.py +3 -5
- armodel/models/M2/AUTOSARTemplates/CommonStructure/ServiceNeeds.py +10 -6
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcBswMapping.py +3 -4
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/ModeDeclarationGroup.py +2 -5
- armodel/models/M2/AUTOSARTemplates/CommonStructure/SwcInternalBehavior/__init__.py +0 -1
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/ExecutionOrderConstraint.py +45 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingConstraint.py +24 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint/TimingExtensions.py +33 -0
- armodel/models/M2/AUTOSARTemplates/CommonStructure/TriggerDeclaration.py +2 -2
- armodel/models/M2/AUTOSARTemplates/CommonStructure/__init__.py +4 -6
- armodel/models/M2/AUTOSARTemplates/{ecuc_description_template.py → ECUCDescriptionTemplate.py} +6 -11
- armodel/models/M2/AUTOSARTemplates/GenericStructure/AbstractStructure.py +3 -6
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/ARPackage.py +42 -36
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/EngineeringObject.py +2 -5
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/Identifiable.py +11 -16
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/PrimitiveTypes.py +87 -4
- armodel/models/M2/AUTOSARTemplates/GenericStructure/GeneralTemplateClasses/__init__.py +0 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Communication.py +21 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/InstanceRefs.py +2 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Components/__init__.py +114 -12
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/InstanceRefs.py +2 -5
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Composition/__init__.py +4 -62
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/DataPrototypes.py +6 -8
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/Datatypes.py +7 -7
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/Datatype/__init__.py +0 -1
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/{port_interface/instance_refs.py → PortInterface/InstanceRefs.py} +2 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/{port_interface → PortInterface}/__init__.py +10 -10
- armodel/models/{rpt_scenario.py → M2/AUTOSARTemplates/SWComponentTemplate/RPTScenario.py} +4 -6
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcImplementation.py +29 -6
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/DataElements.py +6 -6
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/IncludedDataTypes.py +2 -2
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/InstanceRefsUsage.py +3 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ModeDeclarationGroup.py +28 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PerInstanceMemory.py +3 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/PortAPIOptions.py +86 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/RTEEvents.py +174 -0
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServerCall.py +3 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py +37 -3
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/Trigger.py +2 -4
- armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/__init__.py +166 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/{data_mapping.py → DataMapping.py} +2 -3
- armodel/models/{fibex/can_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanCommunication.py} +3 -4
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can/CanTopology.py +173 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/EthernetFrame.py +14 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet/ServiceInstances.py +116 -0
- armodel/models/{fibex/lin_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/LinCommunication.py} +4 -5
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Lin/__init__.py +0 -0
- armodel/models/{fibex/fibex_4_multiplatform.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Multiplatform.py} +5 -6
- armodel/models/{fibex/fibex_core/core_communication.py → M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreCommunication.py} +6 -14
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/FibexCore/CoreTopology.py +388 -0
- 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/Fibex/FibexCore/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/Fibex/__init__.py +0 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/InstanceRefs.py +39 -2
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/{network_management.py → NetworkManagement.py} +5 -10
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/TransportProtocols.py +6 -0
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/__init__.py +86 -17
- armodel/models/M2/MSR/AsamHdo/AdminData.py +2 -5
- armodel/models/M2/MSR/AsamHdo/BaseTypes.py +3 -3
- armodel/models/M2/MSR/AsamHdo/ComputationMethod.py +5 -6
- armodel/models/M2/MSR/AsamHdo/Constraints/GlobalConstraints.py +3 -4
- armodel/models/M2/MSR/AsamHdo/Constraints/__init__.py +0 -1
- armodel/models/M2/MSR/AsamHdo/SpecialData.py +1 -4
- armodel/models/M2/MSR/AsamHdo/Units.py +3 -6
- armodel/models/M2/MSR/AsamHdo/__init__.py +0 -1
- armodel/models/M2/MSR/CalibrationData/CalibrationValue.py +3 -7
- armodel/models/M2/MSR/CalibrationData/__init__.py +0 -1
- armodel/models/M2/MSR/DataDictionary/AuxillaryObjects.py +3 -6
- armodel/models/M2/MSR/DataDictionary/Axis.py +3 -3
- armodel/models/M2/MSR/DataDictionary/CalibrationParameter.py +3 -3
- armodel/models/M2/MSR/DataDictionary/DataDefProperties.py +5 -6
- armodel/models/M2/MSR/DataDictionary/RecordLayout.py +4 -4
- armodel/models/M2/MSR/DataDictionary/__init__.py +0 -1
- armodel/models/M2/MSR/Documentation/Annotation.py +4 -6
- armodel/models/M2/MSR/Documentation/BlockElements.py +2 -2
- armodel/models/M2/MSR/Documentation/TextModel/LanguageDataModel.py +1 -2
- armodel/models/M2/MSR/Documentation/TextModel/MultilanguageData.py +3 -6
- armodel/models/M2/MSR/Documentation/TextModel/__init__.py +0 -2
- armodel/models/M2/MSR/Documentation/__init__.py +1 -1
- armodel/models/M2/MSR/__init__.py +1 -1
- armodel/models/M2/__init__.py +0 -1
- armodel/models/__init__.py +57 -3
- armodel/parser/abstract_arxml_parser.py +50 -16
- armodel/parser/arxml_parser.py +285 -112
- armodel/parser/file_parser.py +2 -1
- armodel/report/connector_xls_report.py +2 -1
- armodel/tests/test_armodel/models/test_ar_object.py +0 -2
- armodel/tests/test_armodel/models/test_ar_package.py +4 -4
- armodel/tests/test_armodel/models/test_data_prototype.py +1 -1
- armodel/tests/test_armodel/models/test_datatype.py +7 -7
- armodel/tests/test_armodel/models/test_port_interface.py +6 -6
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +12 -12
- armodel/tests/test_armodel/parser/test_sw_components.py +1 -23
- armodel/tests/test_armodel/parser/test_system.py +3 -3
- armodel/writer/abstract_arxml_writer.py +10 -1
- armodel/writer/arxml_writer.py +249 -80
- {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/METADATA +385 -366
- armodel-1.7.0.dist-info/RECORD +160 -0
- {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/WHEEL +1 -1
- armodel/models/M2/AUTOSARTemplates/SystemTemplate/transport_protocols.py +0 -7
- armodel/models/fibex/fibex_core/core_topology.py +0 -184
- armodel/models/sw_component.py +0 -390
- armodel/models/timing.py +0 -91
- armodel-1.6.3.dist-info/RECORD +0 -148
- /armodel/models/{fibex → M2/AUTOSARTemplates/CommonStructure/Timing/TimingConstraint}/__init__.py +0 -0
- /armodel/models/{fibex/fibex_4_can → M2/AUTOSARTemplates/CommonStructure/Timing}/__init__.py +0 -0
- /armodel/models/{fibex/fibex_4_lin → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Can}/__init__.py +0 -0
- /armodel/models/{fibex/fibex_core → M2/AUTOSARTemplates/SystemTemplate/Fibex/Fibex4Ethernet}/__init__.py +0 -0
- {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/LICENSE +0 -0
- {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/entry_points.txt +0 -0
- {armodel-1.6.3.dist-info → armodel-1.7.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.Components.InstanceRefs import RVariableInAtomicSwcInstanceRef, RModeInAtomicSwcInstanceRef
|
|
2
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import POperationInAtomicSwcInstanceRef
|
|
3
|
+
from .....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import AbstractEvent
|
|
4
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType, TimeValue
|
|
6
|
+
from typing import List
|
|
7
|
+
|
|
8
|
+
class RTEEvent(AbstractEvent):
|
|
9
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
10
|
+
super().__init__(parent, short_name)
|
|
11
|
+
|
|
12
|
+
self.disabledModeIRefs = [] # type: List[RModeInAtomicSwcInstanceRef]
|
|
13
|
+
self.startOnEventRef = None # type: RefType
|
|
14
|
+
|
|
15
|
+
def getDisabledModeIRefs(self):
|
|
16
|
+
return self.disabledModeIRefs
|
|
17
|
+
|
|
18
|
+
def addDisabledModeIRef(self, value):
|
|
19
|
+
self.disabledModeIRefs.append(value)
|
|
20
|
+
return self
|
|
21
|
+
|
|
22
|
+
def getStartOnEventRef(self):
|
|
23
|
+
return self.startOnEventRef
|
|
24
|
+
|
|
25
|
+
def setStartOnEventRef(self, value):
|
|
26
|
+
self.startOnEventRef = value
|
|
27
|
+
return self
|
|
28
|
+
|
|
29
|
+
class AsynchronousServerCallReturnsEvent(RTEEvent):
|
|
30
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
31
|
+
super().__init__(parent, short_name)
|
|
32
|
+
|
|
33
|
+
self.eventSourceRef = None # type: RefType
|
|
34
|
+
|
|
35
|
+
def getEventSourceRef(self):
|
|
36
|
+
return self.eventSourceRef
|
|
37
|
+
|
|
38
|
+
def setEventSourceRef(self, value):
|
|
39
|
+
self.eventSourceRef = value
|
|
40
|
+
return self
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class DataSendCompletedEvent(RTEEvent):
|
|
44
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
45
|
+
super().__init__(parent, short_name)
|
|
46
|
+
|
|
47
|
+
self.eventSourceRef = None # type: RefType
|
|
48
|
+
|
|
49
|
+
def getEventSourceRef(self):
|
|
50
|
+
return self.eventSourceRef
|
|
51
|
+
|
|
52
|
+
def setEventSourceRef(self, value):
|
|
53
|
+
self.eventSourceRef = value
|
|
54
|
+
return self
|
|
55
|
+
|
|
56
|
+
class DataWriteCompletedEvent(RTEEvent):
|
|
57
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
58
|
+
super().__init__(parent, short_name)
|
|
59
|
+
|
|
60
|
+
self.eventSourceRef = None # type: RefType
|
|
61
|
+
|
|
62
|
+
def getEventSourceRef(self):
|
|
63
|
+
return self.eventSourceRef
|
|
64
|
+
|
|
65
|
+
def setEventSourceRef(self, value):
|
|
66
|
+
self.eventSourceRef = value
|
|
67
|
+
return self
|
|
68
|
+
|
|
69
|
+
class DataReceivedEvent(RTEEvent):
|
|
70
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
71
|
+
super().__init__(parent, short_name)
|
|
72
|
+
|
|
73
|
+
self.dataIRef = None # type: RVariableInAtomicSwcInstanceRef
|
|
74
|
+
|
|
75
|
+
def getDataIRef(self):
|
|
76
|
+
return self.dataIRef
|
|
77
|
+
|
|
78
|
+
def setDataIRef(self, value):
|
|
79
|
+
self.dataIRef = value
|
|
80
|
+
return self
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class SwcModeSwitchEvent(RTEEvent):
|
|
84
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
85
|
+
super().__init__(parent, short_name)
|
|
86
|
+
|
|
87
|
+
self.activation = None # type: ModeActivationKind
|
|
88
|
+
self.modeIRefs = [] # type: List[RModeInAtomicSwcInstanceRef]
|
|
89
|
+
|
|
90
|
+
def getActivation(self):
|
|
91
|
+
return self.activation
|
|
92
|
+
|
|
93
|
+
def setActivation(self, value):
|
|
94
|
+
self.activation = value
|
|
95
|
+
return self
|
|
96
|
+
|
|
97
|
+
def getModeIRefs(self):
|
|
98
|
+
return self.modeIRefs
|
|
99
|
+
|
|
100
|
+
def addModeIRef(self, value):
|
|
101
|
+
self.modeIRefs.append(value)
|
|
102
|
+
return self
|
|
103
|
+
|
|
104
|
+
class DataReceiveErrorEvent(RTEEvent):
|
|
105
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
106
|
+
super().__init__(parent, short_name)
|
|
107
|
+
|
|
108
|
+
self.dataIRef = None
|
|
109
|
+
|
|
110
|
+
def getDataIRef(self):
|
|
111
|
+
return self.dataIRef
|
|
112
|
+
|
|
113
|
+
def setDataIRef(self, value):
|
|
114
|
+
self.dataIRef = value
|
|
115
|
+
return self
|
|
116
|
+
|
|
117
|
+
class OperationInvokedEvent(RTEEvent):
|
|
118
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
119
|
+
super().__init__(parent, short_name)
|
|
120
|
+
|
|
121
|
+
self.operationIRef = None # type: POperationInAtomicSwcInstanceRef
|
|
122
|
+
|
|
123
|
+
def getOperationIRef(self):
|
|
124
|
+
return self.operationIRef
|
|
125
|
+
|
|
126
|
+
def setOperationIRef(self, value):
|
|
127
|
+
self.operationIRef = value
|
|
128
|
+
return self
|
|
129
|
+
|
|
130
|
+
class InitEvent(RTEEvent):
|
|
131
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
132
|
+
super().__init__(parent, short_name)
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class TimingEvent(RTEEvent):
|
|
136
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
137
|
+
super().__init__(parent, short_name)
|
|
138
|
+
|
|
139
|
+
self.offset = None # type: TimeValue
|
|
140
|
+
self.period = None # type: TimeValue
|
|
141
|
+
|
|
142
|
+
@property
|
|
143
|
+
def periodMs(self):
|
|
144
|
+
if (self.period < 0.001):
|
|
145
|
+
return self.period * 1000
|
|
146
|
+
else:
|
|
147
|
+
return (int)(self.period * 1000)
|
|
148
|
+
|
|
149
|
+
def getOffset(self):
|
|
150
|
+
return self.offset
|
|
151
|
+
|
|
152
|
+
def setOffset(self, value):
|
|
153
|
+
self.offset = value
|
|
154
|
+
return self
|
|
155
|
+
|
|
156
|
+
def getPeriod(self):
|
|
157
|
+
return self.period
|
|
158
|
+
|
|
159
|
+
def setPeriod(self, value):
|
|
160
|
+
self.period = value
|
|
161
|
+
return self
|
|
162
|
+
|
|
163
|
+
class InternalTriggerOccurredEvent(RTEEvent):
|
|
164
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
165
|
+
super().__init__(parent, short_name)
|
|
166
|
+
|
|
167
|
+
self.eventSourceRef = None # type: RefType
|
|
168
|
+
|
|
169
|
+
def getEventSourceRef(self):
|
|
170
|
+
return self.eventSourceRef
|
|
171
|
+
|
|
172
|
+
def setEventSourceRef(self, value):
|
|
173
|
+
self.eventSourceRef = value
|
|
174
|
+
return self
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
|
-
from
|
|
3
|
-
from
|
|
4
|
-
from .
|
|
5
|
-
|
|
2
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
|
|
3
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.Composition.InstanceRefs import ROperationInAtomicSwcInstanceRef
|
|
6
5
|
|
|
7
6
|
class ServerCallPoint(AbstractAccessPoint, metaclass = ABCMeta):
|
|
8
7
|
|
armodel/models/M2/AUTOSARTemplates/SWComponentTemplate/SwcInternalBehavior/ServiceMapping.py
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
from
|
|
2
|
-
from
|
|
3
|
-
|
|
1
|
+
from typing import List
|
|
2
|
+
from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import NvBlockNeeds, RoleBasedDataAssignment, ServiceNeeds
|
|
3
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Identifier, RefType
|
|
5
|
+
from .....M2.AUTOSARTemplates.CommonStructure.ServiceNeeds import ServiceDependency
|
|
4
6
|
class RoleBasedPortAssignment(ARObject):
|
|
5
7
|
def __init__(self):
|
|
6
8
|
super().__init__()
|
|
@@ -21,3 +23,35 @@ class RoleBasedPortAssignment(ARObject):
|
|
|
21
23
|
def setRole(self, value):
|
|
22
24
|
self.role = value
|
|
23
25
|
return self
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class SwcServiceDependency(ServiceDependency):
|
|
29
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
30
|
+
super().__init__(parent, short_name)
|
|
31
|
+
|
|
32
|
+
self._assigned_data = []
|
|
33
|
+
self._assigned_ports = []
|
|
34
|
+
|
|
35
|
+
def AddAssignedData(self, data: RoleBasedDataAssignment):
|
|
36
|
+
self._assigned_data.append(data)
|
|
37
|
+
|
|
38
|
+
def getAssignedData(self) -> List[RoleBasedDataAssignment]:
|
|
39
|
+
return self._assigned_data
|
|
40
|
+
|
|
41
|
+
def AddAssignedPort(self, data: RoleBasedPortAssignment):
|
|
42
|
+
self._assigned_ports.append(data)
|
|
43
|
+
|
|
44
|
+
def getAssignedPorts(self) -> List[RoleBasedPortAssignment]:
|
|
45
|
+
return self._assigned_ports
|
|
46
|
+
|
|
47
|
+
def createNvBlockNeeds(self, short_name: str) -> NvBlockNeeds:
|
|
48
|
+
if (short_name not in self.elements):
|
|
49
|
+
event = NvBlockNeeds(self, short_name)
|
|
50
|
+
self.elements[short_name] = event
|
|
51
|
+
return self.elements[short_name]
|
|
52
|
+
|
|
53
|
+
def getNvBlockNeeds(self) -> List[NvBlockNeeds]:
|
|
54
|
+
return sorted(filter(lambda c: isinstance(c, NvBlockNeeds), self.elements.values()), key=lambda e: e.short_name)
|
|
55
|
+
|
|
56
|
+
def getServiceNeeds(self) -> List[ServiceNeeds]:
|
|
57
|
+
return sorted(filter(lambda c: isinstance(c, ServiceNeeds), self.elements.values()), key=lambda e: e.short_name)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
from .
|
|
3
|
-
from ...GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
4
|
-
|
|
1
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.AccessCount import AbstractAccessPoint
|
|
2
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
3
|
|
|
6
4
|
class InternalTriggeringPoint(AbstractAccessPoint):
|
|
7
5
|
def __init__(self, parent: ARObject, short_name: str):
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
from .ServiceMapping import *
|
|
3
|
-
|
|
4
1
|
from typing import Dict, List
|
|
5
2
|
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
from
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from
|
|
12
|
-
from
|
|
3
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PortAPIOptions import PortAPIOption
|
|
4
|
+
from .....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import InternalBehavior
|
|
5
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.Datatype.DataPrototypes import ParameterDataPrototype, VariableDataPrototype
|
|
6
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.IncludedDataTypes import IncludedDataTypeSet
|
|
7
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.PerInstanceMemory import PerInstanceMemory
|
|
8
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.RTEEvents import DataReceivedEvent, InitEvent, InternalTriggerOccurredEvent, OperationInvokedEvent, RTEEvent, SwcModeSwitchEvent, TimingEvent
|
|
9
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServiceMapping import SwcServiceDependency
|
|
10
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARLiteral, RefType, ARBoolean
|
|
11
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.DataElements import ParameterAccess, VariableAccess
|
|
12
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ServerCall import ServerCallPoint
|
|
13
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.ModeDeclarationGroup import ModeAccessPoint, ModeSwitchPoint
|
|
14
|
+
from .....M2.AUTOSARTemplates.SWComponentTemplate.SwcInternalBehavior.Trigger import InternalTriggeringPoint
|
|
15
|
+
from .....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
16
|
+
from .....M2.AUTOSARTemplates.CommonStructure.InternalBehavior import ExecutableEntity
|
|
13
17
|
|
|
14
18
|
class RunnableEntityArgument(ARObject):
|
|
15
19
|
def __init__(self):
|
|
@@ -200,3 +204,155 @@ class RunnableEntity(ExecutableEntity):
|
|
|
200
204
|
self.symbol = value
|
|
201
205
|
return self
|
|
202
206
|
|
|
207
|
+
|
|
208
|
+
class SwcInternalBehavior(InternalBehavior):
|
|
209
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
210
|
+
super().__init__(parent, short_name)
|
|
211
|
+
|
|
212
|
+
self.handle_termination_and_restart = None # type: str
|
|
213
|
+
self.supports_multiple_instantiation = None # type: ARBoolean
|
|
214
|
+
self.explicit_inter_runnable_variables = [] # type: List[VariableDataPrototype]
|
|
215
|
+
self.implicit_inter_runnable_variables = [] # type: List[VariableDataPrototype]
|
|
216
|
+
self.per_instance_memories = [] # type: List[PerInstanceMemory]
|
|
217
|
+
self.per_instance_parameters = [] # type: List[ParameterDataPrototype]
|
|
218
|
+
self.port_api_options = [] # type: List[PortAPIOption]
|
|
219
|
+
self.included_data_type_sets = [] # type: List[IncludedDataTypeSet]
|
|
220
|
+
|
|
221
|
+
def getExplicitInterRunnableVariables(self) -> List[VariableDataPrototype]:
|
|
222
|
+
return self.explicit_inter_runnable_variables
|
|
223
|
+
|
|
224
|
+
def getImplicitInterRunnableVariables(self) -> List[VariableDataPrototype]:
|
|
225
|
+
return self.implicit_inter_runnable_variables
|
|
226
|
+
|
|
227
|
+
def getPerInstanceMemories(self) -> List[PerInstanceMemory]:
|
|
228
|
+
return self.per_instance_memories
|
|
229
|
+
|
|
230
|
+
def getPerInstanceParameters(self) -> List[ParameterDataPrototype]:
|
|
231
|
+
return self.per_instance_parameters
|
|
232
|
+
|
|
233
|
+
def addPortAPIOption(self, option: PortAPIOption):
|
|
234
|
+
self.port_api_options.append(option)
|
|
235
|
+
|
|
236
|
+
def getPortAPIOptions(self) -> List[PortAPIOption]:
|
|
237
|
+
return self.port_api_options
|
|
238
|
+
|
|
239
|
+
def addIncludedDataTypeSet(self, set: IncludedDataTypeSet):
|
|
240
|
+
self.included_data_type_sets.append(set)
|
|
241
|
+
|
|
242
|
+
def getIncludedDataTypeSets(self) -> List[IncludedDataTypeSet]:
|
|
243
|
+
return self.included_data_type_sets
|
|
244
|
+
|
|
245
|
+
def createOperationInvokedEvent(self, short_name: str) -> OperationInvokedEvent:
|
|
246
|
+
if (short_name not in self.elements):
|
|
247
|
+
event = OperationInvokedEvent(self, short_name)
|
|
248
|
+
self.elements[short_name] = event
|
|
249
|
+
return self.elements[short_name]
|
|
250
|
+
|
|
251
|
+
def createTimingEvent(self, short_name: str) -> TimingEvent:
|
|
252
|
+
if (short_name not in self.elements):
|
|
253
|
+
event = TimingEvent(self, short_name)
|
|
254
|
+
self.elements[short_name] = event
|
|
255
|
+
return self.elements[short_name]
|
|
256
|
+
|
|
257
|
+
def createInitEvent(self, short_name: str) -> InitEvent:
|
|
258
|
+
if (short_name not in self.elements):
|
|
259
|
+
event = InitEvent(self, short_name)
|
|
260
|
+
self.elements[short_name] = event
|
|
261
|
+
return self.elements[short_name]
|
|
262
|
+
|
|
263
|
+
def createDataReceivedEvent(self, short_name: str) -> DataReceivedEvent:
|
|
264
|
+
if (short_name not in self.elements):
|
|
265
|
+
event = DataReceivedEvent(self, short_name)
|
|
266
|
+
self.elements[short_name] = event
|
|
267
|
+
return self.elements[short_name]
|
|
268
|
+
|
|
269
|
+
def createSwcModeSwitchEvent(self, short_name: str) -> SwcModeSwitchEvent:
|
|
270
|
+
if (short_name not in self.elements):
|
|
271
|
+
event = SwcModeSwitchEvent(self, short_name)
|
|
272
|
+
self.elements[short_name] = event
|
|
273
|
+
return self.elements[short_name]
|
|
274
|
+
|
|
275
|
+
def createInternalTriggerOccurredEvent(self, short_name: str) -> InternalTriggerOccurredEvent:
|
|
276
|
+
if (short_name not in self.elements):
|
|
277
|
+
event = InternalTriggerOccurredEvent(self, short_name)
|
|
278
|
+
self.elements[short_name] = event
|
|
279
|
+
return self.elements[short_name]
|
|
280
|
+
|
|
281
|
+
def createSwcServiceDependency(self, short_name: str) -> SwcServiceDependency:
|
|
282
|
+
if (short_name not in self.elements):
|
|
283
|
+
event = SwcServiceDependency(self, short_name)
|
|
284
|
+
self.elements[short_name] = event
|
|
285
|
+
return self.elements[short_name]
|
|
286
|
+
|
|
287
|
+
def getRteEvents(self) -> List[RTEEvent]:
|
|
288
|
+
return sorted(filter(lambda c: isinstance(c, RTEEvent), self.elements.values()), key=lambda e: e.short_name)
|
|
289
|
+
|
|
290
|
+
def getOperationInvokedEvents(self) -> List[OperationInvokedEvent]:
|
|
291
|
+
return sorted(filter(lambda c: isinstance(c, OperationInvokedEvent), self.elements.values()), key=lambda e: e.short_name)
|
|
292
|
+
|
|
293
|
+
def getInitEvents(self) -> List[InitEvent]:
|
|
294
|
+
return sorted(filter(lambda c: isinstance(c, InitEvent), self.elements.values()), key=lambda e: e.short_name)
|
|
295
|
+
|
|
296
|
+
def getTimingEvents(self) -> List[TimingEvent]:
|
|
297
|
+
return sorted(filter(lambda c: isinstance(c, TimingEvent), self.elements.values()), key=lambda e: e.short_name)
|
|
298
|
+
|
|
299
|
+
def getDataReceivedEvents(self) -> List[DataReceivedEvent]:
|
|
300
|
+
return sorted(filter(lambda c: isinstance(c, DataReceivedEvent), self.elements.values()), key=lambda e: e.short_name)
|
|
301
|
+
|
|
302
|
+
def getSwcModeSwitchEvents(self) -> List[SwcModeSwitchEvent]:
|
|
303
|
+
return sorted(filter(lambda c: isinstance(c, SwcModeSwitchEvent), self.elements.values()), key=lambda e: e.short_name)
|
|
304
|
+
|
|
305
|
+
def getInternalTriggerOccurredEvents(self) -> List[InternalTriggerOccurredEvent]:
|
|
306
|
+
return sorted(filter(lambda c: isinstance(c, InternalTriggerOccurredEvent), self.elements.values()), key= lambda e: e.short_name)
|
|
307
|
+
|
|
308
|
+
def getSwcServiceDependencies(self) -> List[SwcServiceDependency]:
|
|
309
|
+
return sorted(filter(lambda c: isinstance(c, SwcServiceDependency), self.elements.values()), key= lambda e: e.short_name)
|
|
310
|
+
|
|
311
|
+
def getEvent(self, short_name: str) -> RTEEvent:
|
|
312
|
+
if (not isinstance(self.elements[short_name], RTEEvent)):
|
|
313
|
+
raise ValueError("Invalid Event Type <%s> of <%s>" % type(self.elements[short_name]), short_name)
|
|
314
|
+
return self.elements[short_name]
|
|
315
|
+
|
|
316
|
+
def createExplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
|
|
317
|
+
if (short_name not in self.elements):
|
|
318
|
+
prototype = VariableDataPrototype(self, short_name)
|
|
319
|
+
self.elements[short_name] = prototype
|
|
320
|
+
self.explicit_inter_runnable_variables.append(prototype)
|
|
321
|
+
return self.elements[short_name]
|
|
322
|
+
|
|
323
|
+
def createImplicitInterRunnableVariable(self, short_name: str) -> VariableDataPrototype:
|
|
324
|
+
if (short_name not in self.elements):
|
|
325
|
+
prototype = VariableDataPrototype(self, short_name)
|
|
326
|
+
self.elements[short_name] = prototype
|
|
327
|
+
self.implicit_inter_runnable_variables.append(prototype)
|
|
328
|
+
return self.elements[short_name]
|
|
329
|
+
|
|
330
|
+
def createPerInstanceMemory(self, short_name: str) -> PerInstanceMemory:
|
|
331
|
+
if (short_name not in self.elements):
|
|
332
|
+
memory = PerInstanceMemory(self, short_name)
|
|
333
|
+
self.elements[short_name] = memory
|
|
334
|
+
self.per_instance_memories.append(memory)
|
|
335
|
+
return self.elements[short_name]
|
|
336
|
+
|
|
337
|
+
def createPerInstanceParameter(self, short_name: str) -> ParameterDataPrototype:
|
|
338
|
+
if (short_name not in self.elements):
|
|
339
|
+
prototype = ParameterDataPrototype(self, short_name)
|
|
340
|
+
self.elements[short_name] = prototype
|
|
341
|
+
self.per_instance_parameters.append(prototype)
|
|
342
|
+
return self.elements[short_name]
|
|
343
|
+
|
|
344
|
+
def getVariableDataPrototypes(self) -> List[VariableDataPrototype]:
|
|
345
|
+
return sorted(filter(lambda c: isinstance(c, VariableDataPrototype), self.elements.values()), key=lambda e: e.short_name)
|
|
346
|
+
|
|
347
|
+
def createRunnableEntity(self, short_name: str) -> RunnableEntity:
|
|
348
|
+
if (short_name not in self.elements):
|
|
349
|
+
runnable = RunnableEntity(self, short_name)
|
|
350
|
+
self.elements[short_name] = runnable
|
|
351
|
+
return self.elements[short_name]
|
|
352
|
+
|
|
353
|
+
def getRunnableEntities(self) -> List[RunnableEntity]:
|
|
354
|
+
return sorted(filter(lambda c: isinstance(c, RunnableEntity), self.elements.values()), key=lambda r: r.short_name)
|
|
355
|
+
|
|
356
|
+
def getRunnableEntity(self, short_name) -> RunnableEntity:
|
|
357
|
+
return self.elements[short_name]
|
|
358
|
+
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from abc import ABCMeta
|
|
2
|
-
|
|
3
|
-
from
|
|
4
|
-
from ..GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
2
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import RefType
|
|
3
|
+
from ....M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
4
|
|
|
6
5
|
class DataMapping(ARObject, metaclass = ABCMeta):
|
|
7
6
|
def __init__(self):
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
from
|
|
2
|
-
from
|
|
3
|
-
from
|
|
4
|
-
from .fibex_core.core_communication import Frame, FrameTriggering
|
|
1
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import Frame, FrameTriggering
|
|
2
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import ARPositiveInteger
|
|
5
4
|
|
|
6
5
|
class RxIdentifierRange(ARObject):
|
|
7
6
|
def __init__(self):
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
|
|
3
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.PrimitiveTypes import Boolean, Float, Integer, PositiveInteger, PositiveUnlimitedInteger
|
|
4
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
5
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreTopology import CommunicationConnector, CommunicationController
|
|
6
|
+
|
|
7
|
+
class AbstractCanCommunicationControllerAttributes(ARObject, metaclass = ABCMeta):
|
|
8
|
+
def __init__(self):
|
|
9
|
+
super().__init__()
|
|
10
|
+
|
|
11
|
+
self.canControllerFdAttributes = None # type: CanControllerFdConfiguration
|
|
12
|
+
self.canControllerFdRequirements = None # type: CanControllerFdConfigurationRequirements
|
|
13
|
+
self.canControllerXlAttributes = None # type: CanControllerXlConfiguration
|
|
14
|
+
self.canControllerXlRequirements = None # type: CanControllerXlConfigurationRequirements
|
|
15
|
+
|
|
16
|
+
def getCanControllerFdAttributes(self):
|
|
17
|
+
return self.canControllerFdAttributes
|
|
18
|
+
|
|
19
|
+
def setCanControllerFdAttributes(self, value):
|
|
20
|
+
self.canControllerFdAttributes = value
|
|
21
|
+
return self
|
|
22
|
+
|
|
23
|
+
def getCanControllerFdRequirements(self):
|
|
24
|
+
return self.canControllerFdRequirements
|
|
25
|
+
|
|
26
|
+
def setCanControllerFdRequirements(self, value):
|
|
27
|
+
self.canControllerFdRequirements = value
|
|
28
|
+
return self
|
|
29
|
+
|
|
30
|
+
def getCanControllerXlAttributes(self):
|
|
31
|
+
return self.canControllerXlAttributes
|
|
32
|
+
|
|
33
|
+
def setCanControllerXlAttributes(self, value):
|
|
34
|
+
self.canControllerXlAttributes = value
|
|
35
|
+
return self
|
|
36
|
+
|
|
37
|
+
def getCanControllerXlRequirements(self):
|
|
38
|
+
return self.canControllerXlRequirements
|
|
39
|
+
|
|
40
|
+
def setCanControllerXlRequirements(self, value):
|
|
41
|
+
self.canControllerXlRequirements = value
|
|
42
|
+
return self
|
|
43
|
+
|
|
44
|
+
class CanControllerConfigurationRequirements(AbstractCanCommunicationControllerAttributes):
|
|
45
|
+
def __init__(self):
|
|
46
|
+
super().__init__()
|
|
47
|
+
|
|
48
|
+
self.maxNumberOfTimeQuantaPerBit = None # type: Integer
|
|
49
|
+
self.maxSamplePoint = None # type: Float
|
|
50
|
+
self.maxSyncJumpWidth = None # type: Float
|
|
51
|
+
self.minNumberOfTimeQuantaPerBit = None # type: Integer
|
|
52
|
+
self.minSamplePoint = None # type: Float
|
|
53
|
+
self.minSyncJumpWidth = None # type: Float
|
|
54
|
+
|
|
55
|
+
def getMaxNumberOfTimeQuantaPerBit(self):
|
|
56
|
+
return self.maxNumberOfTimeQuantaPerBit
|
|
57
|
+
|
|
58
|
+
def setMaxNumberOfTimeQuantaPerBit(self, value):
|
|
59
|
+
self.maxNumberOfTimeQuantaPerBit = value
|
|
60
|
+
return self
|
|
61
|
+
|
|
62
|
+
def getMaxSamplePoint(self):
|
|
63
|
+
return self.maxSamplePoint
|
|
64
|
+
|
|
65
|
+
def setMaxSamplePoint(self, value):
|
|
66
|
+
self.maxSamplePoint = value
|
|
67
|
+
return self
|
|
68
|
+
|
|
69
|
+
def getMaxSyncJumpWidth(self):
|
|
70
|
+
return self.maxSyncJumpWidth
|
|
71
|
+
|
|
72
|
+
def setMaxSyncJumpWidth(self, value):
|
|
73
|
+
self.maxSyncJumpWidth = value
|
|
74
|
+
return self
|
|
75
|
+
|
|
76
|
+
def getMinNumberOfTimeQuantaPerBit(self):
|
|
77
|
+
return self.minNumberOfTimeQuantaPerBit
|
|
78
|
+
|
|
79
|
+
def setMinNumberOfTimeQuantaPerBit(self, value):
|
|
80
|
+
self.minNumberOfTimeQuantaPerBit = value
|
|
81
|
+
return self
|
|
82
|
+
|
|
83
|
+
def getMinSamplePoint(self):
|
|
84
|
+
return self.minSamplePoint
|
|
85
|
+
|
|
86
|
+
def setMinSamplePoint(self, value):
|
|
87
|
+
self.minSamplePoint = value
|
|
88
|
+
return self
|
|
89
|
+
|
|
90
|
+
def getMinSyncJumpWidth(self):
|
|
91
|
+
return self.minSyncJumpWidth
|
|
92
|
+
|
|
93
|
+
def setMinSyncJumpWidth(self, value):
|
|
94
|
+
self.minSyncJumpWidth = value
|
|
95
|
+
return self
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class AbstractCanCommunicationController(CommunicationController, metaclass = ABCMeta):
|
|
100
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
101
|
+
if type(self) == AbstractCanCommunicationController:
|
|
102
|
+
raise NotImplementedError("AbstractCanCommunicationController is an abstract class.")
|
|
103
|
+
|
|
104
|
+
super().__init__(parent, short_name)
|
|
105
|
+
|
|
106
|
+
self.canControllerAttributes = None # type: AbstractCanCommunicationControllerAttributes
|
|
107
|
+
|
|
108
|
+
def getCanControllerAttributes(self):
|
|
109
|
+
return self.canControllerAttributes
|
|
110
|
+
|
|
111
|
+
def setCanControllerAttributes(self, value):
|
|
112
|
+
self.canControllerAttributes = value
|
|
113
|
+
return self
|
|
114
|
+
|
|
115
|
+
class CanCommunicationController(AbstractCanCommunicationController):
|
|
116
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
117
|
+
super().__init__(parent, short_name)
|
|
118
|
+
|
|
119
|
+
class AbstractCanCommunicationConnector(CommunicationConnector, metaclass = ABCMeta):
|
|
120
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
121
|
+
if type(self) == AbstractCanCommunicationConnector:
|
|
122
|
+
raise NotImplementedError("AbstractCanCommunicationConnector is an abstract class.")
|
|
123
|
+
|
|
124
|
+
super().__init__(parent, short_name)
|
|
125
|
+
|
|
126
|
+
class CanCommunicationConnector(AbstractCanCommunicationConnector):
|
|
127
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
128
|
+
super().__init__(parent, short_name)
|
|
129
|
+
|
|
130
|
+
# type: PositiveInteger
|
|
131
|
+
self.pncWakeupCanId = None
|
|
132
|
+
self.pncWakeupCanIdExtended = None # type: Boolean
|
|
133
|
+
# type: PositiveInteger
|
|
134
|
+
self.pncWakeupCanIdMask = None
|
|
135
|
+
# type: PositiveUnlimitedInteger
|
|
136
|
+
self.pncWakeupDataMask = None
|
|
137
|
+
# type: PositiveInteger
|
|
138
|
+
self.pncWakeupDlc = None
|
|
139
|
+
|
|
140
|
+
def getPncWakeupCanId(self):
|
|
141
|
+
return self.pncWakeupCanId
|
|
142
|
+
|
|
143
|
+
def setPncWakeupCanId(self, value):
|
|
144
|
+
self.pncWakeupCanId = value
|
|
145
|
+
return self
|
|
146
|
+
|
|
147
|
+
def getPncWakeupCanIdExtended(self):
|
|
148
|
+
return self.pncWakeupCanIdExtended
|
|
149
|
+
|
|
150
|
+
def setPncWakeupCanIdExtended(self, value):
|
|
151
|
+
self.pncWakeupCanIdExtended = value
|
|
152
|
+
return self
|
|
153
|
+
|
|
154
|
+
def getPncWakeupCanIdMask(self):
|
|
155
|
+
return self.pncWakeupCanIdMask
|
|
156
|
+
|
|
157
|
+
def setPncWakeupCanIdMask(self, value):
|
|
158
|
+
self.pncWakeupCanIdMask = value
|
|
159
|
+
return self
|
|
160
|
+
|
|
161
|
+
def getPncWakeupDataMask(self):
|
|
162
|
+
return self.pncWakeupDataMask
|
|
163
|
+
|
|
164
|
+
def setPncWakeupDataMask(self, value):
|
|
165
|
+
self.pncWakeupDataMask = value
|
|
166
|
+
return self
|
|
167
|
+
|
|
168
|
+
def getPncWakeupDlc(self):
|
|
169
|
+
return self.pncWakeupDlc
|
|
170
|
+
|
|
171
|
+
def setPncWakeupDlc(self, value):
|
|
172
|
+
self.pncWakeupDlc = value
|
|
173
|
+
return self
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
from ......M2.AUTOSARTemplates.GenericStructure.GeneralTemplateClasses.ArObject import ARObject
|
|
3
|
+
from ......M2.AUTOSARTemplates.SystemTemplate.Fibex.FibexCore.CoreCommunication import Frame
|
|
4
|
+
|
|
5
|
+
class AbstractEthernetFrame(Frame, metaclass = ABCMeta):
|
|
6
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
7
|
+
if type(self) == AbstractEthernetFrame:
|
|
8
|
+
raise NotImplementedError("AbstractEthernetFrame is an abstract class.")
|
|
9
|
+
|
|
10
|
+
super().__init__(parent, short_name)
|
|
11
|
+
|
|
12
|
+
class GenericEthernetFrame(AbstractEthernetFrame):
|
|
13
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
14
|
+
super().__init__(parent, short_name)
|