Skip to content

Commit 9a15a05

Browse files
committed
Implement R-PORT com specs
1 parent 1851e2b commit 9a15a05

8 files changed

+2191
-108
lines changed

CHANGELOG.md

+19-3
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,39 @@ Non-collectable elements are various sub-elements to collectable elements.
2020

2121
#### XML - Software component elements
2222

23+
* ClientComSpec
2324
* ModeSwitchedAckRequest
25+
* ModeSwitchReceiverComSpec
2426
* ModeSwitchSenderComSpec
27+
* NonqueuedReceiverComSpec
2528
* NonqueuedSenderComSpec
2629
* NvProvideComSpec
30+
* NvRequireComSpec
2731
* ParameterProvideComSpec
32+
* ParameterRequireComSpec
33+
* QueuedReceiverComSpec
2834
* QueuedSenderComSpec
35+
* ReceptionComSpecProps
2936
* ServerComSpec
3037
* TransmissionAcknowledgementRequest
3138
* TransmissionComSpecProps
3239

40+
#### XML - SWC internal behavior elements
41+
42+
* ArVariableInImplementationDataInstanceRef
43+
* AutosarVariableRef
44+
* VariableAccess
45+
* VariableInAtomicSWCTypeInstanceRef
46+
3347
#### XML - Reference elements
3448

35-
* ParameterDataPrototypeRef
36-
* ModeDeclarationGroupPrototypeRef
49+
* ApplicationCompositeElementDataPrototypeRef
3750
* AutosarDataPrototypeRef
38-
* E2EProfileCompatibilityPropsRef
3951
* ClientServerOperationRef
52+
* E2EProfileCompatibilityPropsRef
53+
* ModeDeclarationGroupPrototypeRef
54+
* ParameterDataPrototypeRef
55+
* PortPrototypeRef
4056

4157
## [v0.5.2] - 2024-02-11
4258

src/autosar/xml/element.py

+458-8
Large diffs are not rendered by default.

src/autosar/xml/enumeration.py

+142-57
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,25 @@ class HandleOutOfRange(Enum):
164164
SATURATE = 5
165165

166166

167+
class HandleOutOfRangeStatus(Enum):
168+
"""
169+
HANDLE-OUT-OF-RANGE-STATUS-ENUM--SIMPLE
170+
"""
171+
172+
INDICATE = 0
173+
SILENT = 1
174+
175+
176+
class HandleTimeout(Enum):
177+
"""
178+
HANDLE-TIMEOUT-ENUM--SIMPLE
179+
"""
180+
181+
NONE = 0
182+
REPLACE = 1
183+
REPLACE_BY_TIMEOUT_SUBSTITUTION_VALUE = 2
184+
185+
167186
class IdentifiableSubTypes(Enum):
168187
"""
169188
IDENTIFIABLE--SUBTYPES-ENUM
@@ -173,32 +192,44 @@ class IdentifiableSubTypes(Enum):
173192
"""
174193

175194
ABSTRACT_IMPLEMENTATION_DATA_TYPE = 0
176-
APPLICATION_ARRAY_DATA_TYPE = 1
177-
APPLICATION_ASSOC_MAP_DATA_TYPE = 2
178-
APPLICATION_COMPOSITE_DATA_TYPE = 3
179-
APPLICATION_DATA_TYPE = 4
180-
APPLICATION_ERROR = 5
181-
APPLICATION_DEFERRED_DATA_TYPE = 6
182-
APPLICATION_PRIMITIVE_DATA_TYPE = 7
183-
APPLICATION_RECORD_DATA_TYPE = 8
184-
ARGUMENT_DATA_PROTOTYPE = 9
185-
AUTOSAR_DATA_TYPE = 10
186-
BSW_MODULE_ENTRY = 11
187-
CLIENT_SERVER_OPERATION = 12
188-
COMPU_METHOD = 13
189-
CONSTANT_SPECIFICATION = 14
190-
DATA_CONSTR = 15
191-
E2E_PROFILE_COMPATIBILITY_PROPS = 16
192-
IMPLEMENTATION_DATA_TYPE = 17
193-
MODE_DECLARATION = 18
194-
MODE_DECLARATION_GROUP = 19
195-
MODE_DECLARATION_GROUP_PROTOTYPE = 20
196-
PARAMETER_DATA_PROTOTYPE = 21
197-
PHYSICAL_DIMENSION = 22
198-
SW_ADDR_METHOD = 23
199-
SW_BASE_TYPE = 24
200-
UNIT = 25
201-
VARIABLE_DATA_PROTOTYPE = 26
195+
ABSTRACT_IMPLEMENTATION_DATA_TYPE_ELEMENT = 1
196+
ABSTRACT_PROVIDED_PORT_PROTOTYPE = 2
197+
ABSTRACT_REQUIRED_PORT_PROTOTYPE = 3
198+
APPLICATION_ARRAY_DATA_TYPE = 4
199+
APPLICATION_ARRAY_ELEMENT = 5
200+
APPLICATION_COMPOSITE_DATA_TYPE = 6
201+
APPLICATION_COMPOSITE_ELEMENT_DATA_PROTOTYPE = 7
202+
APPLICATION_DATA_TYPE = 8
203+
APPLICATION_DEFERRED_DATA_TYPE = 9
204+
APPLICATION_ERROR = 10
205+
APPLICATION_PRIMITIVE_DATA_TYPE = 11
206+
APPLICATION_RECORD_DATA_TYPE = 12
207+
APPLICATION_RECORD_ELEMENT = 13
208+
ARGUMENT_DATA_PROTOTYPE = 14
209+
AUTOSAR_DATA_PROTOTYPE = 15
210+
AUTOSAR_DATA_TYPE = 16
211+
BSW_MODULE_ENTRY = 17
212+
CLIENT_SERVER_OPERATION = 18
213+
COMPU_METHOD = 19
214+
CONSTANT_SPECIFICATION = 20
215+
DATA_CONSTR = 21
216+
DATA_PROTOTYPE = 22
217+
E2E_PROFILE_COMPATIBILITY_PROPS = 23
218+
IMPLEMENTATION_DATA_TYPE = 24
219+
IMPLEMENTATION_DATA_TYPE_ELEMENT = 25
220+
MODE_DECLARATION = 26
221+
MODE_DECLARATION_GROUP = 27
222+
MODE_DECLARATION_GROUP_PROTOTYPE = 28
223+
P_PORT_PROTOTYPE = 29
224+
PARAMETER_DATA_PROTOTYPE = 30
225+
PHYSICAL_DIMENSION = 31
226+
PORT_PROTOTYPE = 32
227+
PR_PORT_PROTOTYPE = 33
228+
R_PORT_PROTOTYPE = 34
229+
SW_ADDR_METHOD = 35
230+
SW_BASE_TYPE = 36
231+
UNIT = 37
232+
VARIABLE_DATA_PROTOTYPE = 38
202233

203234

204235
class IntervalType(Enum):
@@ -522,11 +553,14 @@ class ValueFormat(Enum):
522553
SCIENTIFIC = 4
523554

524555

525-
class VariableDataPrototype(Enum):
556+
class VariableAccessScope(Enum):
526557
"""
527-
AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM
558+
VARIABLE-ACCESS-SCOPE-ENUM--SIMPLE
528559
"""
529560

561+
COMMUNICATION_INTER_ECU = 0
562+
COMMUNICATION_INTRA_PARTITION = 1
563+
INTER_PARTITION_INTRA_ECU = 2
530564

531565
########################################
532566

@@ -638,17 +672,32 @@ class VersionedTextValue:
638672
"NONE": HandleOutOfRange.NONE,
639673
"SATURATE": HandleOutOfRange.SATURATE
640674
},
675+
"HandleOutOfRangeStatus": {
676+
"INDICATE": HandleOutOfRangeStatus.INDICATE,
677+
"SILENT": HandleOutOfRangeStatus.SILENT,
678+
},
679+
"HandleTimeout": {
680+
"NONE": HandleTimeout.NONE,
681+
"REPLACE": HandleTimeout.REPLACE,
682+
"REPLACE-BY-TIMEOUT-SUBSTITUTION-VALUE": HandleTimeout.REPLACE_BY_TIMEOUT_SUBSTITUTION_VALUE,
683+
},
641684
"IdentifiableSubTypes": {
642685
"ABSTRACT-IMPLEMENTATION-DATA-TYPE": IdentifiableSubTypes.ABSTRACT_IMPLEMENTATION_DATA_TYPE,
686+
"ABSTRACT-IMPLEMENTATION-DATA-TYPE-ELEMENT": IdentifiableSubTypes.ABSTRACT_IMPLEMENTATION_DATA_TYPE_ELEMENT,
687+
"ABSTRACT-PROVIDED-PORT-PROTOTYPE": IdentifiableSubTypes.ABSTRACT_PROVIDED_PORT_PROTOTYPE,
688+
"ABSTRACT-REQUIRED-PORT-PROTOTYPE": IdentifiableSubTypes.ABSTRACT_REQUIRED_PORT_PROTOTYPE,
643689
"APPLICATION-ARRAY-DATA-TYPE": IdentifiableSubTypes.APPLICATION_ARRAY_DATA_TYPE,
644-
"APPLICATION-ASSOC-MAP-DATA-TYPE": IdentifiableSubTypes.APPLICATION_ASSOC_MAP_DATA_TYPE,
690+
"APPLICATION-ARRAY-ELEMENT": IdentifiableSubTypes.APPLICATION_ARRAY_ELEMENT,
645691
"APPLICATION-COMPOSITE-DATA-TYPE": IdentifiableSubTypes.APPLICATION_COMPOSITE_DATA_TYPE,
692+
"APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE": IdentifiableSubTypes.APPLICATION_COMPOSITE_ELEMENT_DATA_PROTOTYPE, # noqa E501 pylint: disable=C0301
646693
"APPLICATION-DATA-TYPE": IdentifiableSubTypes.APPLICATION_DATA_TYPE,
647-
"APPLICATION-ERROR": IdentifiableSubTypes.APPLICATION_ERROR,
648694
"APPLICATION-DEFERRED-DATA-TYPE": IdentifiableSubTypes.APPLICATION_DEFERRED_DATA_TYPE,
695+
"APPLICATION-ERROR": IdentifiableSubTypes.APPLICATION_ERROR,
649696
"APPLICATION-PRIMITIVE-DATA-TYPE": IdentifiableSubTypes.APPLICATION_PRIMITIVE_DATA_TYPE,
650697
"APPLICATION-RECORD-DATA-TYPE": IdentifiableSubTypes.APPLICATION_RECORD_DATA_TYPE,
698+
"APPLICATION-RECORD-ELEMENT": IdentifiableSubTypes.APPLICATION_RECORD_ELEMENT,
651699
"ARGUMENT-DATA-PROTOTYPE": IdentifiableSubTypes.ARGUMENT_DATA_PROTOTYPE,
700+
"AUTOSAR-DATA-PROTOTYPE": IdentifiableSubTypes.AUTOSAR_DATA_PROTOTYPE,
652701
"AUTOSAR-DATA-TYPE": IdentifiableSubTypes.AUTOSAR_DATA_TYPE,
653702
"BSW-MODULE-ENTRY": IdentifiableSubTypes.BSW_MODULE_ENTRY,
654703
"CLIENT-SERVER-OPERATION": IdentifiableSubTypes.CLIENT_SERVER_OPERATION,
@@ -657,11 +706,16 @@ class VersionedTextValue:
657706
"DATA-CONSTR": IdentifiableSubTypes.DATA_CONSTR,
658707
"E-2-E-PROFILE-COMPATIBILITY-PROPS": IdentifiableSubTypes.E2E_PROFILE_COMPATIBILITY_PROPS,
659708
"IMPLEMENTATION-DATA-TYPE": IdentifiableSubTypes.IMPLEMENTATION_DATA_TYPE,
709+
"IMPLEMENTATION-DATA-TYPE-ELEMENT": IdentifiableSubTypes.IMPLEMENTATION_DATA_TYPE_ELEMENT,
660710
"MODE-DECLARATION": IdentifiableSubTypes.MODE_DECLARATION,
661711
"MODE-DECLARATION-GROUP": IdentifiableSubTypes.MODE_DECLARATION_GROUP,
662712
"MODE-DECLARATION-GROUP-PROTOTYPE": IdentifiableSubTypes.MODE_DECLARATION_GROUP_PROTOTYPE,
713+
"P-PORT-PROTOTYPE": IdentifiableSubTypes.P_PORT_PROTOTYPE,
663714
"PARAMETER-DATA-PROTOTYPE": IdentifiableSubTypes.PARAMETER_DATA_PROTOTYPE,
664715
"PHYSICAL-DIMENSION": IdentifiableSubTypes.PHYSICAL_DIMENSION,
716+
"PORT-PROTOTYPE": IdentifiableSubTypes.PORT_PROTOTYPE,
717+
"PR-PORT-PROTOTYPE": IdentifiableSubTypes.PR_PORT_PROTOTYPE,
718+
"R-PORT-PROTOTYPE": IdentifiableSubTypes.R_PORT_PROTOTYPE,
665719
"SW-ADDR-METHOD": IdentifiableSubTypes.SW_ADDR_METHOD,
666720
"SW-BASE-TYPE": IdentifiableSubTypes.SW_BASE_TYPE,
667721
"UNIT": IdentifiableSubTypes.UNIT,
@@ -862,6 +916,11 @@ class VersionedTextValue:
862916
"CYCLIC": TransmissionMode.CYCLIC,
863917
"CYCLIC-AND-ON-CHANGE": TransmissionMode.CYCLIC_AND_ON_CHANGE,
864918
"TRIGGERED": TransmissionMode.TRIGGERED
919+
},
920+
"VariableAccessScope": {
921+
"COMMUNICATION-INTER-ECU": VariableAccessScope.COMMUNICATION_INTER_ECU,
922+
"COMMUNICATION-INTRA-PARTITION": VariableAccessScope.COMMUNICATION_INTRA_PARTITION,
923+
"INTER-PARTITION-INTRA-ECU": VariableAccessScope.INTER_PARTITION_INTRA_ECU,
865924
}
866925
}
867926

@@ -958,34 +1017,55 @@ def xml_to_enum(enum_type_name: str, xml_text: str, schema_version: int = ar_bas
9581017
"NONE",
9591018
"SATURATE"
9601019
],
1020+
"HandleOutOfRangeStatus": [
1021+
"INDICATE", # 0
1022+
"SILENT" # 1
1023+
],
1024+
"HandleTimeout": [
1025+
"NONE", # 0
1026+
"REPLACE", # 1
1027+
"REPLACE-BY-TIMEOUT-SUBSTITUTION-VALUE" # 2
1028+
],
9611029
"IdentifiableSubTypes": [
962-
"ABSTRACT-IMPLEMENTATION-DATA-TYPE", # 0
963-
"APPLICATION-ARRAY-DATA-TYPE", # 1
964-
"APPLICATION-ASSOC-MAP-DATA-TYPE", # 2
965-
"APPLICATION-COMPOSITE-DATA-TYPE", # 3
966-
"APPLICATION-DATA-TYPE", # 4
967-
"APPLICATION-ERROR", # 5
968-
"APPLICATION-DEFERRED-DATA-TYPE", # 6
969-
"APPLICATION-PRIMITIVE-DATA-TYPE", # 7
970-
"APPLICATION-RECORD-DATA-TYPE", # 8
971-
"ARGUMENT-DATA.PROTOTYPE", # 9
972-
"AUTOSAR-DATA-TYPE", # 10
973-
"BSW-MODULE-ENTRY", # 11
974-
"CLIENT-SERVER-OPERATION", # 12
975-
"COMPU-METHOD", # 13
976-
"CONSTANT-SPECIFICATION", # 14
977-
"DATA-CONSTR", # 15
978-
"E-2-E-PROFILE-COMPATIBILITY-PROPS", # 16
979-
"IMPLEMENTATION-DATA-TYPE", # 17
980-
"MODE-DECLARATION", # 18
981-
"MODE-DECLARATION-GROUP", # 19
982-
"MODE-DECLARATION-GROUP-PROTOTYPE", # 20
983-
"PARAMETER-DATA-PROTOTYPE", # 21
984-
"PHYSICAL-DIMENSION", # 22
985-
"SW-ADDR-METHOD", # 23
986-
"SW-BASE-TYPE", # 24
987-
"UNIT", # 25
988-
"VARIABLE-DATA-PROTOTYPE" # 26
1030+
"ABSTRACT-IMPLEMENTATION-DATA-TYPE", # 0
1031+
"ABSTRACT-IMPLEMENTATION-DATA-TYPE-ELEMENT", # 1
1032+
"ABSTRACT-PROVIDED-PORT-PROTOTYPE", # 2
1033+
"ABSTRACT-REQUIRED-PORT-PROTOTYPE", # 3
1034+
"APPLICATION-ARRAY-DATA-TYPE", # 4
1035+
"APPLICATION-ARRAY-ELEMENT", # 5
1036+
"APPLICATION-COMPOSITE-DATA-TYPE", # 6
1037+
"APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE", # 7
1038+
"APPLICATION-DATA-TYPE", # 8
1039+
"APPLICATION-DEFERRED-DATA-TYPE", # 9
1040+
"APPLICATION-ERROR", # 10
1041+
"APPLICATION-PRIMITIVE-DATA-TYPE", # 11
1042+
"APPLICATION-RECORD-DATA-TYPE", # 12
1043+
"APPLICATION-RECORD-ELEMENT", # 13
1044+
"ARGUMENT-DATA-PROTOTYPE", # 14
1045+
"AUTOSAR-DATA-PROTOTYPE", # 15
1046+
"AUTOSAR-DATA-TYPE", # 16
1047+
"BSW-MODULE-ENTRY", # 17
1048+
"CLIENT-SERVER-OPERATION", # 18
1049+
"COMPU-METHOD", # 19
1050+
"CONSTANT-SPECIFICATION", # 20
1051+
"DATA-CONSTR", # 21
1052+
"DATA-PROTOTYPE", # 22
1053+
"E-2-E-PROFILE-COMPATIBILITY-PROPS", # 23
1054+
"IMPLEMENTATION-DATA-TYPE", # 24
1055+
"IMPLEMENTATION-DATA-TYPE-ELEMENT", # 25
1056+
"MODE-DECLARATION", # 26
1057+
"MODE-DECLARATION-GROUP", # 27
1058+
"MODE-DECLARATION-GROUP-PROTOTYPE", # 28
1059+
"P-PORT-PROTOTYPE", # 29
1060+
"PARAMETER-DATA-PROTOTYPE", # 30
1061+
"PHYSICAL-DIMENSION", # 31
1062+
"PORT-PROTOTYPE", # 32
1063+
"PR-PORT-PROTOTYPE", # 33
1064+
"R-PORT-PROTOTYPE", # 34
1065+
"SW-ADDR-METHOD", # 35
1066+
"SW-BASE-TYPE", # 36
1067+
"UNIT", # 37
1068+
"VARIABLE-DATA-PROTOTYPE", # 38
9891069
],
9901070
"IntervalType": [
9911071
"CLOSED", # 0
@@ -1183,6 +1263,11 @@ def xml_to_enum(enum_type_name: str, xml_text: str, schema_version: int = ar_bas
11831263
"CYCLIC-AND-ON-CHANGE", # 1
11841264
"TRIGGERED" # 2
11851265
],
1266+
"VariableAccessScope": [
1267+
"COMMUNICATION-INTER-ECU", # 0
1268+
"COMMUNICATION-INTRA-PARTITION", # 1
1269+
"INTER-PARTITION-INTRA-ECU", # 2
1270+
]
11861271
}
11871272

11881273

0 commit comments

Comments
 (0)