armodel 1.4.3__py3-none-any.whl → 1.6.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 +14 -14
- armodel/cli/memory_section_cli.py +76 -0
- armodel/cli/system_signal_cli.py +74 -0
- armodel/lib/__init__.py +2 -1
- armodel/lib/system_signal.py +37 -0
- armodel/models/__init__.py +6 -3
- armodel/models/annotation.py +27 -3
- armodel/models/ar_object.py +18 -6
- armodel/models/ar_package.py +248 -30
- armodel/models/ar_ref.py +115 -45
- armodel/models/bsw_module_template.py +66 -28
- armodel/models/common_structure.py +150 -150
- armodel/models/communication.py +1 -1
- armodel/models/data_prototype.py +41 -6
- armodel/models/datatype.py +11 -5
- armodel/models/fibex/__init__.py +0 -0
- armodel/models/fibex/can_communication.py +122 -0
- armodel/models/fibex/fibex_4_can/__init__.py +0 -0
- armodel/models/fibex/fibex_4_lin/__init__.py +0 -0
- armodel/models/fibex/fibex_4_multiplatform.py +138 -0
- armodel/models/fibex/fibex_core/__init__.py +0 -0
- armodel/models/fibex/fibex_core/core_communication.py +627 -0
- armodel/models/fibex/fibex_core/core_topology.py +180 -0
- armodel/models/fibex/fibex_core.py +341 -0
- armodel/models/fibex/lin_communication.py +38 -0
- armodel/models/fibex/lin_topology.py +7 -0
- armodel/models/general_structure.py +119 -10
- armodel/models/implementation.py +4 -5
- armodel/models/internal_behavior.py +63 -0
- armodel/models/m2/__init__.py +0 -0
- armodel/models/m2/autosar_templates/__init__.py +0 -0
- armodel/models/m2/autosar_templates/common_structure/__init__.py +188 -0
- armodel/models/m2/autosar_templates/common_structure/constants.py +0 -0
- armodel/models/m2/autosar_templates/ecuc_description_template.py +268 -0
- armodel/models/m2/autosar_templates/sw_component_template/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/communication.py +316 -0
- armodel/models/m2/autosar_templates/sw_component_template/components/__init__.py +0 -0
- armodel/models/m2/autosar_templates/sw_component_template/components/instance_refs.py +149 -0
- armodel/models/m2/autosar_templates/sw_component_template/port_interface.py +236 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/__init__.py +203 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/access_count.py +13 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/data_elements.py +54 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/mode_declaration_group.py +39 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/server_call.py +26 -0
- armodel/models/m2/autosar_templates/sw_component_template/swc_internal_behavior/trigger.py +10 -0
- armodel/models/m2/autosar_templates/system_template/__init__.py +321 -0
- armodel/models/m2/autosar_templates/system_template/data_mapping.py +88 -0
- armodel/models/m2/autosar_templates/system_template/network_management.py +554 -0
- armodel/models/m2/autosar_templates/system_template/transport_protocols.py +7 -0
- armodel/models/m2/msr/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/__init__.py +0 -0
- armodel/models/m2/msr/asam_hdo/units.py +105 -0
- armodel/models/m2/msr/data_dictionary/__init__.py +0 -0
- armodel/models/m2/msr/data_dictionary/auxillary_objects.py +42 -0
- armodel/models/m2/msr/data_dictionary/data_def_properties.py +295 -0
- armodel/models/m2/msr/documentation/__init__.py +0 -0
- armodel/models/m2/msr/documentation/block_elements.py +18 -0
- armodel/models/mode_declaration.py +8 -0
- armodel/models/multilanguage_data.py +15 -0
- armodel/models/per_instance_memory.py +34 -6
- armodel/models/port_prototype.py +15 -159
- armodel/models/rpt_scenario.py +20 -0
- armodel/models/sw_component.py +48 -187
- armodel/models/system_template/__init__.py +0 -0
- armodel/models/system_template/network_management.py +7 -0
- armodel/models/system_template/transport_protocols.py +7 -0
- armodel/models/timing.py +91 -0
- armodel/parser/abstract_arxml_parser.py +11 -2
- armodel/parser/arxml_parser.py +1101 -227
- armodel/tests/test_armodel/models/test_ar_package.py +1 -1
- armodel/tests/test_armodel/models/test_ar_ref.py +3 -3
- armodel/tests/test_armodel/models/test_bsw_module_template.py +5 -5
- armodel/tests/test_armodel/models/test_common_structure.py +3 -3
- armodel/tests/test_armodel/models/test_data_dictionary.py +5 -5
- armodel/tests/test_armodel/models/test_data_prototype.py +2 -2
- armodel/tests/test_armodel/models/test_datatype.py +8 -8
- armodel/tests/test_armodel/models/test_port_interface.py +6 -6
- armodel/tests/test_armodel/parser/test_parse_bswmd.py +16 -8
- armodel/tests/test_armodel/parser/test_sw_components.py +6 -6
- armodel/writer/arxml_writer.py +1046 -181
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/METADATA +48 -1
- armodel-1.6.0.dist-info/RECORD +127 -0
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/entry_points.txt +3 -1
- armodel-1.4.3.dist-info/RECORD +0 -78
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/LICENSE +0 -0
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/WHEEL +0 -0
- {armodel-1.4.3.dist-info → armodel-1.6.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
from ...fibex.lin_communication import LinFrameTriggering
|
|
5
|
+
from ...fibex.can_communication import CanFrameTriggering
|
|
6
|
+
from ...ar_ref import RefType
|
|
7
|
+
from ...general_structure import Identifiable
|
|
8
|
+
from ...ar_object import ARFloat, ARLiteral, ARObject
|
|
9
|
+
from ...fibex.fibex_core.core_communication import FibexElement, FrameTriggering, ISignalTriggering, PduTriggering
|
|
10
|
+
|
|
11
|
+
class PhysicalChannel (Identifiable, metaclass = ABCMeta):
|
|
12
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
13
|
+
if type(self) == PhysicalChannel:
|
|
14
|
+
raise NotImplementedError("PhysicalChannel is an abstract class.")
|
|
15
|
+
|
|
16
|
+
super().__init__(parent, short_name)
|
|
17
|
+
|
|
18
|
+
self.commConnectorRefs = [] # type: List[RefType]
|
|
19
|
+
self.managedPhysicalChannelRefs = [] # type: List[RefType]
|
|
20
|
+
|
|
21
|
+
def getCommConnectorRefs(self):
|
|
22
|
+
return self.commConnectorRefs
|
|
23
|
+
|
|
24
|
+
def addCommConnectorRef(self, value):
|
|
25
|
+
self.commConnectorRefs.append(value)
|
|
26
|
+
return self
|
|
27
|
+
|
|
28
|
+
def getFrameTriggerings(self) -> List[FrameTriggering]:
|
|
29
|
+
return list(sorted(filter(lambda a: isinstance(a, FrameTriggering), self.elements.values()), key= lambda o:o.short_name))
|
|
30
|
+
|
|
31
|
+
def createCanFrameTriggering(self, short_name: str):
|
|
32
|
+
if (short_name not in self.elements):
|
|
33
|
+
channel = CanFrameTriggering(self, short_name)
|
|
34
|
+
self.elements[short_name] = channel
|
|
35
|
+
return self.elements[short_name]
|
|
36
|
+
|
|
37
|
+
def createLinFrameTriggering(self, short_name: str):
|
|
38
|
+
if (short_name not in self.elements):
|
|
39
|
+
channel = LinFrameTriggering(self, short_name)
|
|
40
|
+
self.elements[short_name] = channel
|
|
41
|
+
return self.elements[short_name]
|
|
42
|
+
|
|
43
|
+
def getISignalTriggerings(self) -> List[ISignalTriggering]:
|
|
44
|
+
return list(sorted(filter(lambda a: isinstance(a, ISignalTriggering), self.elements.values()), key= lambda o:o.short_name))
|
|
45
|
+
|
|
46
|
+
def createISignalTriggering(self, short_name: str):
|
|
47
|
+
if (short_name not in self.elements):
|
|
48
|
+
channel = ISignalTriggering(self, short_name)
|
|
49
|
+
self.elements[short_name] = channel
|
|
50
|
+
return self.elements[short_name]
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def getManagedPhysicalChannelRefs(self):
|
|
54
|
+
return self.managedPhysicalChannelRefs
|
|
55
|
+
|
|
56
|
+
def addManagedPhysicalChannelRef(self, value):
|
|
57
|
+
self.managedPhysicalChannelRefs.append(value)
|
|
58
|
+
return self
|
|
59
|
+
|
|
60
|
+
def getPduTriggerings(self) -> List[PduTriggering]:
|
|
61
|
+
return list(sorted(filter(lambda a: isinstance(a, PduTriggering), self.elements.values()), key= lambda o:o.short_name))
|
|
62
|
+
|
|
63
|
+
def createPduTriggering(self, short_name: str):
|
|
64
|
+
if (short_name not in self.elements):
|
|
65
|
+
channel = PduTriggering(self, short_name)
|
|
66
|
+
self.elements[short_name] = channel
|
|
67
|
+
return self.elements[short_name]
|
|
68
|
+
|
|
69
|
+
class AbstractCanPhysicalChannel(PhysicalChannel, metaclass = ABCMeta):
|
|
70
|
+
def __init__(self, parent, short_name):
|
|
71
|
+
if type(self) == ARObject:
|
|
72
|
+
raise NotImplementedError("AbstractCanPhysicalChannel is an abstract class.")
|
|
73
|
+
|
|
74
|
+
super().__init__(parent, short_name)
|
|
75
|
+
|
|
76
|
+
class CanPhysicalChannel(AbstractCanPhysicalChannel):
|
|
77
|
+
def __init__(self, parent, short_name):
|
|
78
|
+
super().__init__(parent, short_name)
|
|
79
|
+
|
|
80
|
+
class LinPhysicalChannel(PhysicalChannel):
|
|
81
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
82
|
+
super().__init__(parent, short_name)
|
|
83
|
+
|
|
84
|
+
class CommunicationCluster(FibexElement, metaclass = ABCMeta):
|
|
85
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
86
|
+
if type(self) == CommunicationCluster:
|
|
87
|
+
raise NotImplementedError("CommunicationCluster is an abstract class.")
|
|
88
|
+
|
|
89
|
+
super().__init__(parent, short_name)
|
|
90
|
+
|
|
91
|
+
self.baudrate = None # type: ARFloat
|
|
92
|
+
self.protocolName = None # type: ARLiteral
|
|
93
|
+
self.protocolVersion = None # type: ARLiteral
|
|
94
|
+
|
|
95
|
+
def getBaudrate(self):
|
|
96
|
+
return self.baudrate
|
|
97
|
+
|
|
98
|
+
def setBaudrate(self, value):
|
|
99
|
+
self.baudrate = value
|
|
100
|
+
return self
|
|
101
|
+
|
|
102
|
+
def getPhysicalChannels(self) -> List[PhysicalChannel]:
|
|
103
|
+
return list(sorted(filter(lambda a: isinstance(a, PhysicalChannel), self.elements.values()), key= lambda o:o.short_name))
|
|
104
|
+
|
|
105
|
+
def getCanPhysicalChannels(self) -> List[CanPhysicalChannel]:
|
|
106
|
+
return list(sorted(filter(lambda a: isinstance(a, CanPhysicalChannel), self.elements.values()), key= lambda o:o.short_name))
|
|
107
|
+
|
|
108
|
+
def getLinPhysicalChannels(self) -> List[LinPhysicalChannel]:
|
|
109
|
+
return list(sorted(filter(lambda a: isinstance(a, LinPhysicalChannel), self.elements.values()), key= lambda o:o.short_name))
|
|
110
|
+
|
|
111
|
+
def createCanPhysicalChannel(self, short_name: str):
|
|
112
|
+
if (short_name not in self.elements):
|
|
113
|
+
channel = CanPhysicalChannel(self, short_name)
|
|
114
|
+
self.elements[short_name] = channel
|
|
115
|
+
return self.elements[short_name]
|
|
116
|
+
|
|
117
|
+
def createLinPhysicalChannel(self, short_name: str):
|
|
118
|
+
if (short_name not in self.elements):
|
|
119
|
+
channel = LinPhysicalChannel(self, short_name)
|
|
120
|
+
self.elements[short_name] = channel
|
|
121
|
+
return self.elements[short_name]
|
|
122
|
+
|
|
123
|
+
def getProtocolName(self):
|
|
124
|
+
return self.protocolName
|
|
125
|
+
|
|
126
|
+
def setProtocolName(self, value):
|
|
127
|
+
self.protocolName = value
|
|
128
|
+
return self
|
|
129
|
+
|
|
130
|
+
def getProtocolVersion(self):
|
|
131
|
+
return self.protocolVersion
|
|
132
|
+
|
|
133
|
+
def setProtocolVersion(self, value):
|
|
134
|
+
self.protocolVersion = value
|
|
135
|
+
return self
|
|
136
|
+
|
|
137
|
+
class AbstractCanCluster(CommunicationCluster, metaclass = ABCMeta):
|
|
138
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
139
|
+
if type(self) == AbstractCanCluster:
|
|
140
|
+
raise NotImplementedError("AbstractCanCluster is an abstract class.")
|
|
141
|
+
|
|
142
|
+
super().__init__(parent, short_name)
|
|
143
|
+
|
|
144
|
+
self.busOffRecovery = None
|
|
145
|
+
self.canFdBaudrate = None
|
|
146
|
+
self.canXlBaudrate = None
|
|
147
|
+
|
|
148
|
+
def getBusOffRecovery(self):
|
|
149
|
+
return self.busOffRecovery
|
|
150
|
+
|
|
151
|
+
def setBusOffRecovery(self, value):
|
|
152
|
+
self.busOffRecovery = value
|
|
153
|
+
return self
|
|
154
|
+
|
|
155
|
+
def getCanFdBaudrate(self):
|
|
156
|
+
return self.canFdBaudrate
|
|
157
|
+
|
|
158
|
+
def setCanFdBaudrate(self, value):
|
|
159
|
+
self.canFdBaudrate = value
|
|
160
|
+
return self
|
|
161
|
+
|
|
162
|
+
def getCanXlBaudrate(self):
|
|
163
|
+
return self.canXlBaudrate
|
|
164
|
+
|
|
165
|
+
def setCanXlBaudrate(self, value):
|
|
166
|
+
self.canXlBaudrate = value
|
|
167
|
+
return self
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
class CanCluster(AbstractCanCluster):
|
|
171
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
172
|
+
super().__init__(parent, short_name)
|
|
173
|
+
|
|
174
|
+
class LinCluster(CommunicationCluster):
|
|
175
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
176
|
+
super().__init__(parent, short_name)
|
|
177
|
+
|
|
178
|
+
class EcuInstance(FibexElement):
|
|
179
|
+
def __init__(self, parent, short_name):
|
|
180
|
+
super().__init__(parent, short_name)
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
from abc import ABCMeta
|
|
2
|
+
from typing import List
|
|
3
|
+
|
|
4
|
+
from armodel.models.ar_ref import RefType
|
|
5
|
+
|
|
6
|
+
from ..ar_object import ARFloat, ARLiteral, ARNumerical, ARObject, ARPositiveInteger
|
|
7
|
+
from ..general_structure import Identifiable
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FibexElement(Identifiable):
|
|
11
|
+
__metaclass__ = ABCMeta
|
|
12
|
+
|
|
13
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
14
|
+
if type(self) == FibexElement:
|
|
15
|
+
raise NotImplementedError("FibexElement is an abstract class.")
|
|
16
|
+
|
|
17
|
+
super().__init__(parent, short_name)
|
|
18
|
+
|
|
19
|
+
class PhysicalChannel (Identifiable):
|
|
20
|
+
__metaclass__ = ABCMeta
|
|
21
|
+
|
|
22
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
23
|
+
if type(self) == PhysicalChannel:
|
|
24
|
+
raise NotImplementedError("PhysicalChannel is an abstract class.")
|
|
25
|
+
|
|
26
|
+
super().__init__(parent, short_name)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class CommunicationCluster(FibexElement):
|
|
30
|
+
__metaclass__ = ABCMeta
|
|
31
|
+
|
|
32
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
33
|
+
if type(self) == CommunicationCluster:
|
|
34
|
+
raise NotImplementedError("CommunicationCluster is an abstract class.")
|
|
35
|
+
|
|
36
|
+
super().__init__(parent, short_name)
|
|
37
|
+
|
|
38
|
+
self.baudrate = None # type: ARFloat
|
|
39
|
+
self.physical_channels = [] # type: List[PhysicalChannel]
|
|
40
|
+
self.protocol_name = None # type: ARLiteral
|
|
41
|
+
self.protocol_version = None # type: ARLiteral
|
|
42
|
+
|
|
43
|
+
def addPhysicalChannel(self, channel: PhysicalChannel):
|
|
44
|
+
self.physical_channels.append(channel)
|
|
45
|
+
|
|
46
|
+
def getPhysicalChannels(self) -> List[PhysicalChannel]:
|
|
47
|
+
return self.physical_channels
|
|
48
|
+
|
|
49
|
+
@property
|
|
50
|
+
def protocolName(self) -> ARLiteral:
|
|
51
|
+
return self.protocol_name
|
|
52
|
+
|
|
53
|
+
@protocolName.setter
|
|
54
|
+
def protocolName(self, value: ARLiteral):
|
|
55
|
+
self.protocol_name = value
|
|
56
|
+
|
|
57
|
+
@property
|
|
58
|
+
def protocolVersion(self) -> ARLiteral:
|
|
59
|
+
return self.protocol_version
|
|
60
|
+
|
|
61
|
+
@protocolVersion.setter
|
|
62
|
+
def protocolVersion(self, value: ARLiteral):
|
|
63
|
+
self.protocol_version = value
|
|
64
|
+
|
|
65
|
+
class Pdu(FibexElement):
|
|
66
|
+
__metaclass__ = ABCMeta
|
|
67
|
+
|
|
68
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
69
|
+
if type(self) == Pdu:
|
|
70
|
+
raise NotImplementedError("Pdu is an abstract class.")
|
|
71
|
+
|
|
72
|
+
super().__init__(parent, short_name)
|
|
73
|
+
|
|
74
|
+
self.length = None # type: ARNumerical
|
|
75
|
+
|
|
76
|
+
class PduToFrameMapping(Identifiable):
|
|
77
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
78
|
+
super().__init__(parent, short_name)
|
|
79
|
+
|
|
80
|
+
self.packing_byte_order = None # type: ARLiteral
|
|
81
|
+
self.pdu_ref = None # type: RefType
|
|
82
|
+
self.start_position = None # type: ARNumerical
|
|
83
|
+
|
|
84
|
+
@property
|
|
85
|
+
def packingByteOrder(self) -> ARLiteral:
|
|
86
|
+
return self.packing_byte_order
|
|
87
|
+
|
|
88
|
+
@packingByteOrder.setter
|
|
89
|
+
def packingByteOrder(self, value: ARLiteral):
|
|
90
|
+
self.packing_byte_order = value
|
|
91
|
+
|
|
92
|
+
@property
|
|
93
|
+
def pduRef(self) -> RefType:
|
|
94
|
+
return self.pdu_ref
|
|
95
|
+
|
|
96
|
+
@pduRef.setter
|
|
97
|
+
def pduRef(self, value: RefType):
|
|
98
|
+
self.pdu_ref = value
|
|
99
|
+
|
|
100
|
+
@property
|
|
101
|
+
def startPosition(self) -> ARNumerical:
|
|
102
|
+
return self.start_position
|
|
103
|
+
|
|
104
|
+
@startPosition.setter
|
|
105
|
+
def startPosition(self, value: ARNumerical):
|
|
106
|
+
self.start_position = value
|
|
107
|
+
|
|
108
|
+
class Frame(Identifiable):
|
|
109
|
+
__metaclass__ = ABCMeta
|
|
110
|
+
|
|
111
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
112
|
+
if type(self) == Frame:
|
|
113
|
+
raise NotImplementedError("Frame is an abstract class.")
|
|
114
|
+
|
|
115
|
+
super().__init__(parent, short_name)
|
|
116
|
+
|
|
117
|
+
self.frame_length = None
|
|
118
|
+
self.pdu_to_frame_mappings = [] # type: List[PduToFrameMapping]
|
|
119
|
+
|
|
120
|
+
@property
|
|
121
|
+
def frameLength(self) -> ARNumerical:
|
|
122
|
+
return self.frame_length
|
|
123
|
+
|
|
124
|
+
@frameLength.setter
|
|
125
|
+
def frameLength(self, value: ARNumerical):
|
|
126
|
+
self.frame_length = value
|
|
127
|
+
|
|
128
|
+
def createPduToFrameMapping(self, short_name: str) -> PduToFrameMapping:
|
|
129
|
+
if (short_name not in self.elements):
|
|
130
|
+
mapping = PduToFrameMapping(self, short_name)
|
|
131
|
+
self.elements[short_name] = mapping
|
|
132
|
+
self.pdu_to_frame_mappings.append(mapping)
|
|
133
|
+
return self.elements[short_name]
|
|
134
|
+
|
|
135
|
+
def getPduToFrameMappings(self) -> List[PduToFrameMapping]:
|
|
136
|
+
return list(sorted(filter(lambda a: isinstance(a, PduToFrameMapping), self.elements.values()), key= lambda o:o.short_name))
|
|
137
|
+
|
|
138
|
+
class ContainedIPduProps(ARObject):
|
|
139
|
+
def __init__(self):
|
|
140
|
+
super().__init__()
|
|
141
|
+
|
|
142
|
+
self._collection_semantics = None # type: ARLiteral
|
|
143
|
+
self._header_id_long_header = None # type: ARPositiveInteger
|
|
144
|
+
self._header_id_short_header = None # type: ARPositiveInteger
|
|
145
|
+
self._offset = None # type: ARNumerical
|
|
146
|
+
self._timeout = None # type: ARNumerical
|
|
147
|
+
self._trigger = None # type: ARLiteral
|
|
148
|
+
self._update_indication_bit_position = None # type: ARNumerical
|
|
149
|
+
|
|
150
|
+
@property
|
|
151
|
+
def headerIdLongHeader(self) -> ARPositiveInteger:
|
|
152
|
+
return self._header_id_long_header
|
|
153
|
+
|
|
154
|
+
@headerIdLongHeader.setter
|
|
155
|
+
def headerIdLongHeader(self, value: ARPositiveInteger):
|
|
156
|
+
self._header_id_long_header = value
|
|
157
|
+
|
|
158
|
+
@property
|
|
159
|
+
def headerIdShortHeader(self) -> ARPositiveInteger:
|
|
160
|
+
return self._header_id_short_header
|
|
161
|
+
|
|
162
|
+
@headerIdShortHeader.setter
|
|
163
|
+
def headerIdShortHeader(self, value: ARPositiveInteger):
|
|
164
|
+
self._header_id_short_header = value
|
|
165
|
+
|
|
166
|
+
@property
|
|
167
|
+
def offset(self) -> ARNumerical:
|
|
168
|
+
return self._offset
|
|
169
|
+
|
|
170
|
+
@offset.setter
|
|
171
|
+
def offset(self, value: ARNumerical):
|
|
172
|
+
self._offset = value
|
|
173
|
+
|
|
174
|
+
@property
|
|
175
|
+
def timeout(self):
|
|
176
|
+
return self._timeout
|
|
177
|
+
|
|
178
|
+
@timeout.setter
|
|
179
|
+
def timeout(self, value):
|
|
180
|
+
self._timeout = value
|
|
181
|
+
|
|
182
|
+
@property
|
|
183
|
+
def collectionSemantics(self) -> ARLiteral:
|
|
184
|
+
return self._collection_semantics
|
|
185
|
+
|
|
186
|
+
@collectionSemantics.setter
|
|
187
|
+
def collectionSemantics(self, value: ARLiteral):
|
|
188
|
+
self._collection_semantics = value
|
|
189
|
+
|
|
190
|
+
@property
|
|
191
|
+
def trigger(self) -> ARLiteral:
|
|
192
|
+
return self._trigger
|
|
193
|
+
|
|
194
|
+
@trigger.setter
|
|
195
|
+
def trigger(self, value: ARLiteral):
|
|
196
|
+
self._trigger = value
|
|
197
|
+
|
|
198
|
+
@property
|
|
199
|
+
def updateIndicationBitPosition(self) -> ARNumerical:
|
|
200
|
+
return self._update_indication_bit_position
|
|
201
|
+
|
|
202
|
+
@updateIndicationBitPosition.setter
|
|
203
|
+
def updateIndicationBitPosition(self, value: ARNumerical):
|
|
204
|
+
self._update_indication_bit_position = value
|
|
205
|
+
|
|
206
|
+
class IPdu(Pdu):
|
|
207
|
+
__metaclass__ = ABCMeta
|
|
208
|
+
|
|
209
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
210
|
+
if type(self) == IPdu:
|
|
211
|
+
raise NotImplementedError("IPdu is an abstract class.")
|
|
212
|
+
|
|
213
|
+
super().__init__(parent, short_name)
|
|
214
|
+
|
|
215
|
+
self._contained_ipdu_props = None # type: ContainedIPduProps
|
|
216
|
+
|
|
217
|
+
@property
|
|
218
|
+
def containedIPduProps(self) -> ContainedIPduProps:
|
|
219
|
+
return self._contained_ipdu_props
|
|
220
|
+
|
|
221
|
+
@containedIPduProps.setter
|
|
222
|
+
def containedIPduProps(self, value: ContainedIPduProps):
|
|
223
|
+
self._contained_ipdu_props = value
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
class NmPdu(Pdu):
|
|
227
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
228
|
+
super().__init__(parent, short_name)
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
class NPdu(IPdu):
|
|
232
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
233
|
+
super().__init__(parent, short_name)
|
|
234
|
+
|
|
235
|
+
class DcmIPdu(IPdu):
|
|
236
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
237
|
+
super().__init__(parent, short_name)
|
|
238
|
+
|
|
239
|
+
class FrameTriggering(Identifiable):
|
|
240
|
+
__metaclass__ = ABCMeta
|
|
241
|
+
|
|
242
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
243
|
+
if type(self) == FrameTriggering:
|
|
244
|
+
raise NotImplementedError("FrameTriggering is an abstract class.")
|
|
245
|
+
|
|
246
|
+
super().__init__(parent, short_name)
|
|
247
|
+
|
|
248
|
+
class ISignal(FibexElement):
|
|
249
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
250
|
+
super().__init__(parent, short_name)
|
|
251
|
+
|
|
252
|
+
self._data_transformation_ref = None
|
|
253
|
+
self._data_type_policy = None
|
|
254
|
+
self._i_signal_props = None
|
|
255
|
+
self._i_signal_type = None
|
|
256
|
+
self._init_value = None
|
|
257
|
+
self._length = None
|
|
258
|
+
self._network_representation_props = None
|
|
259
|
+
self._system_signal_ref = None # type: RefType
|
|
260
|
+
self._timeout_substitution_value = None
|
|
261
|
+
self._transformation_i_signal_props = []
|
|
262
|
+
|
|
263
|
+
@property
|
|
264
|
+
def dataTransformationRef(self):
|
|
265
|
+
return self._data_transformation_ref
|
|
266
|
+
|
|
267
|
+
@dataTransformationRef.setter
|
|
268
|
+
def dataTransformationRef(self, value):
|
|
269
|
+
self._data_transformation_ref = value
|
|
270
|
+
|
|
271
|
+
@property
|
|
272
|
+
def dataTypePolicy(self):
|
|
273
|
+
return self._data_type_policy
|
|
274
|
+
|
|
275
|
+
@dataTypePolicy.setter
|
|
276
|
+
def dataTypePolicy(self, value):
|
|
277
|
+
self._data_type_policy = value
|
|
278
|
+
|
|
279
|
+
@property
|
|
280
|
+
def iSignalProps(self):
|
|
281
|
+
return self._i_signal_props
|
|
282
|
+
|
|
283
|
+
@iSignalProps.setter
|
|
284
|
+
def iSignalProps(self, value):
|
|
285
|
+
self._i_signal_props = value
|
|
286
|
+
|
|
287
|
+
@property
|
|
288
|
+
def iSignalType(self):
|
|
289
|
+
return self._i_signal_type
|
|
290
|
+
|
|
291
|
+
@iSignalType.setter
|
|
292
|
+
def iSignalType(self, value):
|
|
293
|
+
self._i_signal_type = value
|
|
294
|
+
|
|
295
|
+
@property
|
|
296
|
+
def initValue(self):
|
|
297
|
+
return self._init_value
|
|
298
|
+
|
|
299
|
+
@initValue.setter
|
|
300
|
+
def initValue(self, value):
|
|
301
|
+
self._init_value = value
|
|
302
|
+
|
|
303
|
+
@property
|
|
304
|
+
def length(self):
|
|
305
|
+
return self._length
|
|
306
|
+
|
|
307
|
+
@length.setter
|
|
308
|
+
def length(self, value):
|
|
309
|
+
self._length = value
|
|
310
|
+
|
|
311
|
+
@property
|
|
312
|
+
def networkRepresentationProps(self):
|
|
313
|
+
return self._network_representation_props
|
|
314
|
+
|
|
315
|
+
@networkRepresentationProps.setter
|
|
316
|
+
def networkRepresentationProps(self, value):
|
|
317
|
+
self._network_representation_props = value
|
|
318
|
+
|
|
319
|
+
@property
|
|
320
|
+
def systemSignalRef(self):
|
|
321
|
+
return self._system_signal_ref
|
|
322
|
+
|
|
323
|
+
@systemSignalRef.setter
|
|
324
|
+
def systemSignalRef(self, value):
|
|
325
|
+
self._system_signal_ref = value
|
|
326
|
+
|
|
327
|
+
@property
|
|
328
|
+
def timeoutSubstitutionValue(self):
|
|
329
|
+
return self._timeout_substitution_value
|
|
330
|
+
|
|
331
|
+
@timeoutSubstitutionValue.setter
|
|
332
|
+
def timeoutSubstitutionValue(self, value):
|
|
333
|
+
self._timeout_substitution_value = value
|
|
334
|
+
|
|
335
|
+
@property
|
|
336
|
+
def transformationISignalProps(self):
|
|
337
|
+
return self._transformation_i_signal_props
|
|
338
|
+
|
|
339
|
+
@transformationISignalProps.setter
|
|
340
|
+
def transformationISignalProps(self, value):
|
|
341
|
+
self._transformation_i_signal_props = value
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
|
|
2
|
+
from abc import ABCMeta
|
|
3
|
+
from ..ar_object import ARLiteral, ARNumerical, ARObject
|
|
4
|
+
from .fibex_core.core_communication import Frame, FrameTriggering
|
|
5
|
+
|
|
6
|
+
class LinFrame(Frame):
|
|
7
|
+
__metaclass__ = ABCMeta
|
|
8
|
+
|
|
9
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
10
|
+
if type(self) == LinFrame:
|
|
11
|
+
raise NotImplementedError("LinFrame is an abstract class.")
|
|
12
|
+
|
|
13
|
+
super().__init__(parent, short_name)
|
|
14
|
+
|
|
15
|
+
class LinUnconditionalFrame(LinFrame):
|
|
16
|
+
def __init__(self, parent: ARObject, short_name: str):
|
|
17
|
+
super().__init__(parent, short_name)
|
|
18
|
+
|
|
19
|
+
class LinFrameTriggering(FrameTriggering):
|
|
20
|
+
def __init__(self, parent, short_name):
|
|
21
|
+
super().__init__(parent, short_name)
|
|
22
|
+
|
|
23
|
+
self.identifier = None # type: ARNumerical
|
|
24
|
+
self.linChecksum = None # type: ARLiteral
|
|
25
|
+
|
|
26
|
+
def getIdentifier(self):
|
|
27
|
+
return self.identifier
|
|
28
|
+
|
|
29
|
+
def setIdentifier(self, value):
|
|
30
|
+
self.identifier = value
|
|
31
|
+
return self
|
|
32
|
+
|
|
33
|
+
def getLinChecksum(self):
|
|
34
|
+
return self.linChecksum
|
|
35
|
+
|
|
36
|
+
def setLinChecksum(self, value):
|
|
37
|
+
self.linChecksum = value
|
|
38
|
+
return self
|