API Documentation: autosar_data.abstraction.communication¶
communication ¶
Cluster
module-attribute
¶
Cluster: TypeAlias = Union[
CanCluster, FlexrayCluster, EthernetCluster
]
CommunicationController
module-attribute
¶
CommunicationController: TypeAlias = Union[
CanCommunicationController,
FlexrayCommunicationController,
EthernetCommunicationController,
]
IPdu
module-attribute
¶
IPdu: TypeAlias = Union[
ContainerIPdu,
DcmIPdu,
GeneralPurposeIPdu,
ISignalIPdu,
SecuredIPdu,
NPdu,
MultiplexedIPdu,
]
Pdu
module-attribute
¶
Pdu: TypeAlias = Union[
ContainerIPdu,
DcmIPdu,
GeneralPurposePdu,
GeneralPurposeIPdu,
NPdu,
ISignalIPdu,
NmPdu,
SecuredIPdu,
MultiplexedIPdu,
]
PhysicalChannel
module-attribute
¶
PhysicalChannel: TypeAlias = Union[
CanPhysicalChannel,
FlexrayPhysicalChannel,
EthernetPhysicalChannel,
]
TransformationTechnologyConfig
module-attribute
¶
TransformationTechnologyConfig: TypeAlias = Union[
ComTransformationTechnologyConfig,
E2ETransformationTechnologyConfig,
SomeIpTransformationTechnologyConfig,
GenericTransformationTechnologyConfig,
]
CanAddressingMode ¶
CanCluster ¶
CanCluster(element: Element)
A CanCluster
contains all configuration items associated with a CAN network.
The cluster connects multiple ECUs.
can_fd_baudrate
instance-attribute
¶
can_fd_baudrate: Optional[int]
get or set the CAN FD baudrate of the cluster
can_xl_baudrate
instance-attribute
¶
can_xl_baudrate: Optional[int]
get or set the CAN XL baudrate of the cluster
physical_channel
instance-attribute
¶
physical_channel: Optional[CanPhysicalChannel]
get or set the settings of this CanCluster
with new values for the baudrates
create_physical_channel ¶
create_physical_channel(
channel_name: str,
) -> CanPhysicalChannel
Create a new physical channel for the cluster
A can cluster must contain exactly one physical channel; trying to add a second one triggers an error.
CanCommunicationConnector ¶
CanCommunicationConnector(element: Element)
A connector between a [CanCommunicationController
] in an ECU and a [CanPhysicalChannel
]
CanCommunicationController ¶
CanCommunicationController(element: Element)
An EcuInstance
needs a CanCommunicationController
in order to connect to a CAN cluster.
ecu_instance
instance-attribute
¶
ecu_instance: EcuInstance
Get the EcuInstance
that contains this CanCommunicationController
connect_physical_channel ¶
connect_physical_channel(
connection_name: str, can_channel: CanPhysicalChannel
) -> CanCommunicationConnector
Connect this [CanCommunicationController
] inside an [EcuInstance
] to a [CanPhysicalChannel
] in the [crate::System
]
Creates a [CanCommunicationConnector
] in the [EcuInstance
] that contains this [CanCommunicationController
].
This function establishes the relationships
- [
CanPhysicalChannel
] -> [CanCommunicationConnector
] - [
CanCommunicationConnector
] -> [CanCommunicationController
]
connected_channels ¶
connected_channels() -> Iterator[CanPhysicalChannel]
return an iterator over the [CanPhysicalChannel
]s connected to this controller
CanFrame ¶
CanFrame(element: Element)
CanFrameTriggering ¶
CanFrameTriggering(element: Element)
The frame triggering connects a frame to a physical channel
addressing_mode
instance-attribute
¶
addressing_mode: Optional[CanAddressingMode]
set the addressing mode for this frame triggering
frame
instance-attribute
¶
frame: Optional[CanFrame]
get the frame associated with this frame triggering
frame_type
instance-attribute
¶
frame_type: Optional[CanFrameType]
frame type for this frame triggering
physical_channel
instance-attribute
¶
physical_channel: CanPhysicalChannel
get the physical channel that contains this frame triggering
connect_to_ecu ¶
connect_to_ecu(
ecu: EcuInstance, direction: CommunicationDirection
) -> FramePort
connect this frame triggering to an ECU
The direction parameter specifies if the communication is incoming or outgoing
frame_ports ¶
frame_ports() -> Iterator[FramePort]
iterate over all frame ports for this frame triggering
pdu_triggerings ¶
pdu_triggerings() -> Iterator[PduTriggering]
iterate over all PDU triggerings referenced by the frame triggering
CanFrameType ¶
CanNmCluster ¶
CanNmCluster(element: Element)
Can specific NmCluster
attributes
channel_sleep_master
instance-attribute
¶
channel_sleep_master: Optional[bool]
set or remove the nmChannelSleepMaster flag
communication_cluster
instance-attribute
¶
communication_cluster: Optional[CanCluster]
get or set the referenced CanCluster
nm_busload_reduction_active
instance-attribute
¶
nm_busload_reduction_active: Optional[bool]
nmBusloadReductionActive flag
nm_immediate_nm_transmissions
instance-attribute
¶
nm_immediate_nm_transmissions: Optional[int]
nmImmediateNmTransmissions value
nm_message_timeout_time
instance-attribute
¶
nm_message_timeout_time: Optional[float]
get or set the nmMessageTimeoutTime
nm_msg_cycle_time
instance-attribute
¶
nm_msg_cycle_time: Optional[float]
get or set the nmMsgCycleTime
nm_network_timeout
instance-attribute
¶
nm_network_timeout: Optional[float]
get or set the nmNetworkTimeout
nm_remote_sleep_indication_time
instance-attribute
¶
nm_remote_sleep_indication_time: Optional[float]
get or set the nmRemoteSleepIndicationTime
nm_repeat_message_time
instance-attribute
¶
nm_repeat_message_time: Optional[float]
get or set the nmRepeatMessageTime
nm_wait_bus_sleep_time
instance-attribute
¶
nm_wait_bus_sleep_time: Optional[float]
get or set the nmWaitBusSleepTime
node_detection_enabled
instance-attribute
¶
node_detection_enabled: Optional[bool]
get or set the nmNodeDetectionEnabled flag
node_id_enabled
instance-attribute
¶
node_id_enabled: Optional[bool]
get or set the nmNodeIdEnabled flag
pnc_cluster_vector_length
instance-attribute
¶
pnc_cluster_vector_length: Optional[int]
get or set the pncClusterVectorLength
pnc_participation
instance-attribute
¶
pnc_participation: Optional[bool]
get or set the nmPncParticipation flag
repeat_msg_ind_enabled
instance-attribute
¶
repeat_msg_ind_enabled: Optional[bool]
get or set the nmRepeatMsgIndEnabled flag
synchronizing_network
instance-attribute
¶
synchronizing_network: Optional[bool]
get or set the nmSynchronizingNetwork flag
create_can_nm_node ¶
create_can_nm_node(
name: str,
controller: CanCommunicationController,
nm_ecu: NmEcu,
) -> CanNmNode
add a CanNmNode
to the cluster
CanNmClusterCoupling ¶
CanNmClusterCoupling(element: Element)
A CanNmClusterCoupling
couples multiple CanNmCluster
s, and contains CAN specific settings.
nm_busload_reduction_enabled
instance-attribute
¶
nm_busload_reduction_enabled: Optional[bool]
get or set the nmBusloadReductionEnabled flag
nm_immediate_restart_enabled
instance-attribute
¶
nm_immediate_restart_enabled: Optional[bool]
get or set the nmImmediateRestartEnabled flag
add_coupled_cluster ¶
add_coupled_cluster(cluster: CanNmCluster) -> None
add a reference to a coupled NmCluster
CanNmClusterSettings ¶
CanNmClusterSettings(
*,
nm_busload_reduction_active: bool,
nm_immediate_nm_transmissions: int,
nm_message_timeout_time: float,
nm_msg_cycle_time: float,
nm_network_timeout: float,
nm_remote_sleep_indication_time: float,
nm_repeat_message_time: float,
nm_wait_bus_sleep_time: float,
)
Mandatory settings for a CanNmCluster
These settings are mandatory for a CanNmCluster
and must be set during creation.
Additional optional settings can be set using the CanNmCluster
methods.
nm_busload_reduction_active
instance-attribute
¶
nm_busload_reduction_active: bool
nmBusloadReductionActive: Determines if bus load reduction for the respective CanNm
channel is active.
nm_immediate_nm_transmissions
instance-attribute
¶
nm_immediate_nm_transmissions: int
nmImmediateNmTransmissions: Defines the number of immediate NmPdus
which shall be transmitted.
If the value is zero no immediate NmPdus
are transmitted.
nm_message_timeout_time
instance-attribute
¶
nm_message_timeout_time: float
nmMessageTimeoutTime: Timeout of an NmPdu
in seconds.
nm_msg_cycle_time
instance-attribute
¶
nm_msg_cycle_time: float
nmMsgCycleTime: Period of a NmPdu
in seconds
nm_network_timeout
instance-attribute
¶
nm_network_timeout: float
nmNetworkTimeout: Network Timeout for NmPdus
in seconds.
nm_remote_sleep_indication_time
instance-attribute
¶
nm_remote_sleep_indication_time: float
nmRemoteSleepIndicationTime: Timeout for Remote Sleep Indication in seconds.
nm_repeat_message_time
instance-attribute
¶
nm_repeat_message_time: float
nmRepeatMessageTime: Timeout for Repeat Message State in seconds.
nm_wait_bus_sleep_time
instance-attribute
¶
nm_wait_bus_sleep_time: float
nmWaitBusSleepTime: Timeout for bus calm down phase in seconds.
CanNmNode ¶
CanNmNode(element: Element)
A CanNmNode
represents a node in a CanNmCluster
.
The node connects to a CanCommunicationController
and an NmEcu
.
communication_controller
instance-attribute
¶
communication_controller: Optional[
CanCommunicationController
]
get or set the referenced CanCommunicationController
node_id
instance-attribute
¶
node_id: Optional[int]
get or set the nmNodeId This value is optional; if it is set to Some(x) the value is created, if it is set to None the value is removed.
passive_mode
instance-attribute
¶
passive_mode: Optional[bool]
get or set ot remove the nmPassiveModeEnabled flag
This flag is optional; if it is set to Some(x) the value is created, if it is set to None the value is removed.
add_rx_nm_pdu ¶
add_rx_nm_pdu(nm_pdu: NmPdu) -> None
add an Rx NmPdu
Every NmNode
must have at least one Rx NmPdu
add_tx_nm_pdu ¶
add_tx_nm_pdu(nm_pdu: NmPdu) -> None
add a Tx NmPdu
Active NmNodes
must have at least one Tx NmPdu
, while passive NmNodes
may have none.
CanPhysicalChannel ¶
CanPhysicalChannel(element: Element)
The `CanPhysicalChannel contains all of the communication on a CAN network
frame_triggerings ¶
frame_triggerings() -> Iterator[CanFrameTriggering]
iterate over all frame triggerings of this physical channel
pdu_triggerings ¶
pdu_triggerings() -> Iterator[PduTriggering]
iterate over all PDU triggerings of this physical channel
signal_triggerings ¶
signal_triggerings() -> Iterator[ISignalTriggering]
iterate over all signal triggerings of this physical channel
trigger_frame ¶
trigger_frame(
frame: CanFrame,
identifier: int,
addressing_mode: CanAddressingMode,
frame_type: CanFrameType,
) -> CanFrameTriggering
add a trigger for a CAN frame in this physical channel
CanTpAddress ¶
CanTpAddress(element: Element)
CanTpAddressingFormat ¶
The addressing format of a CanTpConnection
CanTpChannel ¶
CanTpChannel(element: Element)
A CanTpChannel
represents a channel in the CanTp
module
CanTpChannelMode ¶
CanTpConfig ¶
CanTpConfig(element: Element)
Container for CanTp
configuration
There should be one CanTpConfig
for each CAN network in the system
cluster
instance-attribute
¶
cluster: Optional[CanCluster]
get or set the CanCluster
associated with this configuration
can_tp_addresses ¶
can_tp_addresses() -> Iterator[CanTpAddress]
get all of the Can Tp addresses in the configuration
can_tp_channels ¶
can_tp_channels() -> Iterator[CanTpChannel]
iterate over all CanTpChannel
s in the configuration
can_tp_connections ¶
can_tp_connections() -> Iterator[CanTpConnection]
get all of the CanTpConnections
in the configuration
can_tp_ecus ¶
can_tp_ecus() -> Iterator[CanTpEcu]
get an iterator over all ECUs in the configuration
create_can_tp_address ¶
create_can_tp_address(
name: str, address: int
) -> CanTpAddress
create a new CanTpAddress
in the configuration
create_can_tp_channel ¶
create_can_tp_channel(
name: str, channel_id: int, mode: CanTpChannelMode
) -> CanTpChannel
create a new CanTpChannel
in the configuration
create_can_tp_connection ¶
create_can_tp_connection(
name: Optional[str],
addressing_format: CanTpAddressingFormat,
can_tp_channel: CanTpChannel,
data_pdu: NPdu,
tp_sdu: IPdu,
padding_activation: bool,
) -> CanTpConnection
create a new CanTpConnection
in the configuration
create_can_tp_ecu ¶
create_can_tp_ecu(
ecu_instance: EcuInstance,
/,
*,
cycle_time_main_function: Optional[float] = None,
) -> CanTpEcu
create a CanTp
ECU in the configuration
create_can_tp_node ¶
create_can_tp_node(name: str) -> CanTpNode
create a new CanTpNode
in the configuration
CanTpConnection ¶
CanTpConnection(element: Element)
A connection identifies the sender and the receiver of this particular communication.
The CanTp
module routes a Pdu through this connection.
addressing_format
instance-attribute
¶
addressing_format: Optional[CanTpAddressingFormat]
get or set the addressing format of the connection
channel
instance-attribute
¶
channel: Optional[CanTpChannel]
get or set the CanTpChannel
associated with this connection
data_pdu
instance-attribute
¶
data_pdu: Optional[NPdu]
get or set the NPdu
associated with this connection
padding_activation
instance-attribute
¶
padding_activation: Optional[bool]
get or set the padding activation of the connection
tp_sdu
instance-attribute
¶
tp_sdu: Optional[IPdu]
get or set the IPdu
associated with this connection
transmitter
instance-attribute
¶
transmitter: Optional[CanTpNode]
set the transmitter of the connection
This is a CanTpNode
representing an ECU that will send the data
add_receiver ¶
add_receiver(receiver: CanTpNode) -> None
add a receiver to the connection
This is a CanTpNode
representing an ECU that will receive the data
CanTpEcu ¶
CanTpEcu(element: Element)
A CanTpEcu
represents an ECU that is using the CanTp
module
CanTpNode ¶
CanTpNode(element: Element)
A CanTpNode
provides the TP address and the connection to the topology description in a CanTpConfig
address
instance-attribute
¶
address: Optional[CanTpAddress]
get or set the CanTpAddress
of this Node
connector
instance-attribute
¶
connector: Optional[CanCommunicationConnector]
set the reference to a CanCommunicationConnector
between an EcuInstance
and a CanPhysicalChannel
The connector connects the ECU to the physical channel, so by setting this reference, the
ECU is also connected to the CanTpNode
ComTransformationTechnologyConfig ¶
ComTransformationTechnologyConfig(
*, isignal_ipdu_length: int
)
Configuration for a COM transformation
isignal_ipdu_length
instance-attribute
¶
isignal_ipdu_length: int
The length of the ISignalIpdu
tha will be transformed by this Com transformer.
The value is only used up to AUTOSAR R20-11 (AUTOSAR_00049
), where it is needed to calculate the buffer size.
CommonServiceDiscoveryConfig ¶
CommonServiceDiscoveryConfig(
*,
multicast_rx_socket: SocketAddress,
multicast_rx_pdu: GeneralPurposePdu,
remote_socket: SocketAddress,
prefer_static_socket_connections: bool,
ipdu_identifier_set: Optional[
SocketConnectionIpduIdentifierSet
] = None,
name_prefix: Optional[str] = None,
)
A CommonServiceDiscoveryConfig
contains common configuration settings for System::configure_service_discovery_for_ecu
.
This struct contains ECU-independent settings that should be re-used for all ECUs that are configured for SD.
ipdu_identifier_set
instance-attribute
¶
ipdu_identifier_set: Optional[
SocketConnectionIpduIdentifierSet
]
an ipdu identifier set in which PduTriggerings
are created. Only needed for StaticSocketConnections
.
multicast_rx_pdu
instance-attribute
¶
multicast_rx_pdu: GeneralPurposeIPdu
the multicast rx PDU used by all SD ECUs
multicast_rx_socket
instance-attribute
¶
multicast_rx_socket: SocketAddress
the socket address used for multicast rx by all SD ECUs
name_prefix
instance-attribute
¶
name_prefix: Optional[str]
an optional prefix for the names of the created elements
prefer_static_socket_connections
instance-attribute
¶
prefer_static_socket_connections: bool
configure_service_discovery_for_ecu
checks if any SocketConnectionBundles
exist. If so, the old configuration method must be used.
If none are found and the version is new enough, both methods are possible, and this flag determines which one to use.
remote_socket
instance-attribute
¶
remote_socket: SocketAddress
the remote socket used for SD communication. This socket must have an IP address (v4 or v6) set to ANY.
CommunicationDirection ¶
ConsumedEventGroup ¶
ConsumedEventGroup(element: Element)
A ConsumedEventGroup
is a group of events in a ConsumedServiceInstance
that are consumed by an ECU
event_group_identifier
instance-attribute
¶
event_group_identifier: Optional[int]
get or set the event group identifier of this ConsumedEventGroup
sd_client_timer_config
instance-attribute
¶
sd_client_timer_config: Optional[
SomeipSdClientEventGroupTimingConfig
]
get or set the SD client timer configuration for this ConsumedEventGroup
add_event_multicast_address ¶
add_event_multicast_address(address: SocketAddress) -> None
add an event multicast address to this ConsumedEventGroup
create_pdu_activation_routing_group ¶
create_pdu_activation_routing_group(
name: str,
event_group_control_type: EventGroupControlType,
) -> PduActivationRoutingGroup
create a new PduActivationRoutingGroup
in this ConsumedEventGroup
event_multicast_addresses ¶
event_multicast_addresses() -> Iterator[SocketAddress]
get the event multicast addresses
pdu_activation_routing_groups ¶
pdu_activation_routing_groups() -> Iterator[
PduActivationRoutingGroup
]
iterate over the PduActivationRoutingGroup
s in this ConsumedEventGroup
ConsumedEventGroupV1 ¶
ConsumedEventGroupV1(element: Element)
A ConsumedEventGroupV1
is a SD event group of a service instance that is consumed by this ECU.
This is the old V1 version of the service definition.
application_endpoint
instance-attribute
¶
application_endpoint: Optional[SocketAddress]
set the SocketAddress
that receives events from this ConsumedEventGroup
This may be a different SocketAddress
than the one that is used to send requests.
event_group_identifier
instance-attribute
¶
event_group_identifier: Optional[int]
get or set the event group identifier of this ConsumedEventGroup
sd_client_config
instance-attribute
¶
sd_client_config: Optional[SdEventConfig]
get or set the SD client configuration for this ConsumedEventGroup
add_routing_group ¶
add_routing_group(routing_group: SoAdRoutingGroup) -> None
add a reference to a SoAdRoutingGroup
to this ConsumedEventGroup
event_handlers ¶
event_handlers() -> List[EventHandlerV1]
list all EventHandlerV1
s that reference this ConsumedEventGroupV1
routing_groups ¶
routing_groups() -> Iterator[SoAdRoutingGroup]
get the routing groups referenced by this ConsumedEventGroup
ConsumedServiceInstance ¶
ConsumedServiceInstance(element: Element)
A ConsumedServiceInstance
is a service that is consumed by an ECU
instance_identifier
instance-attribute
¶
instance_identifier: Optional[int]
get or set the instance identifier of this ConsumedServiceInstance
major_version
instance-attribute
¶
major_version: Optional[int]
get or set the major version of this ConsumedServiceInstance
minor_version
instance-attribute
¶
minor_version: Optional[Union[int, str]]
get or set the minor version of this ConsumedServiceInstance
The minor version can be a number or the String "ANY".
sd_client_instance_config
instance-attribute
¶
sd_client_instance_config: Optional[
SomeipSdClientServiceInstanceConfig
]
get or set the SD client instance configuration for this ConsumedServiceInstance
service_identifier
instance-attribute
¶
service_identifier: Optional[int]
get or set the service identifier of this ConsumedServiceInstance
consumed_event_groups ¶
consumed_event_groups() -> Iterator[ConsumedEventGroup]
get the ConsumedEventGroup
s in this ConsumedServiceInstance
create_consumed_event_group ¶
create_consumed_event_group(
name: str, event_group_identifier: int
) -> ConsumedEventGroup
create a new ConsumedEventGrup
in this ConsumedServiceInstance
local_unicast_addresses ¶
local_unicast_addresses() -> Iterator[SocketAddress]
iterate over the local unicast addresses
set_local_unicast_address ¶
set_local_unicast_address(address: SocketAddress) -> None
set a local unicast address for this ConsumedServiceInstance
The CSI may use two local unicast addresses, one each for UDP and TCP.
If the consumed service instance does not specify a local unicast address
because it only receives multicast messages, then the ConsumedEventGroup
must have an eventMulticastAddress.
ConsumedServiceInstanceV1 ¶
ConsumedServiceInstanceV1(element: Element)
A ConsumedServiceInstanceV1
is a SD service instance that is consumed by this ECU.
This is the old V1 version of the service definition.
provided_service_instance
instance-attribute
¶
provided_service_instance: Optional[
ProvidedServiceInstanceV1
]
get the ProvidedServiceInstanceV1
referenced by this ConsumedServiceInstanceV1
consumed_event_groups ¶
consumed_event_groups() -> Iterator[ConsumedEventGroupV1]
get the ConsumedEventGroup
s in this ConsumedServiceInstanceV1
create_consumed_event_group ¶
create_consumed_event_group(
name: str,
event_group_identifier: int,
event_handler: EventHandlerV1,
) -> ConsumedEventGroupV1
create a new ConsumedEventGroupV1
in this ConsumedServiceInstanceV1
sd_client_config ¶
sd_client_config() -> Optional[SdConfig]
get the SD client configuration for this ConsumedServiceInstanceV1
set_sd_client_config ¶
set_sd_client_config(sd_client_config: SdConfig) -> None
set the SD client configuration for this ConsumedServiceInstanceV1
ContainedIPduCollectionSemantics ¶
ContainedIPduProps ¶
ContainedIPduProps(
*,
collection_semantics: Optional[
ContainedIPduCollectionSemantics
] = None,
header_id_long: Optional[int] = None,
header_id_short: Optional[int] = None,
offset: Optional[int] = None,
priority: Optional[int] = None,
timeout: Optional[float] = None,
trigger: Optional[PduCollectionTrigger] = None,
update_indication_bit_position: Optional[int] = None,
)
Properties for an IPdu that is transmitted in a container IPdu
collection_semantics
instance-attribute
¶
collection_semantics: Optional[
ContainedIPduCollectionSemantics
]
collection semantics: LastIsBest or Queued
header_id_long
instance-attribute
¶
header_id_long: Optional[int]
header id of the contained IPdu, used when the header type is LongHeader
header_id_short
instance-attribute
¶
header_id_short: Optional[int]
header id of the contained IPdu, used when the header type is ShortHeader
offset
instance-attribute
¶
offset: Optional[int]
offset of the contained IPdu in the container IPdu, used when the header type is NoHeader
priority
instance-attribute
¶
priority: Optional[int]
priority of the contained IPdu. 255: lowest, 0: highest
trigger
instance-attribute
¶
trigger: Optional[PduCollectionTrigger]
defines whether the contained IPdu triggers transmission of the container IPdu
update_indication_bit_position
instance-attribute
¶
update_indication_bit_position: Optional[int]
update indication bit position of the contained IPdu
ContainerIPdu ¶
ContainerIPdu(element: Element)
Several IPdus
can be collected in one ContainerIPdu
based on the headerType
contained_ipdu_props
instance-attribute
¶
contained_ipdu_props: Optional[ContainedIPduProps]
set the ContainedIPduProps for this IPdu
This is only needed when the IPdu
is contained in a ContainerIPdu
container_trigger
instance-attribute
¶
container_trigger: Optional[ContainerIPduTrigger]
get or set the container trigger of this ContainerIPdu
rx_accept_contained_ipdu
instance-attribute
¶
rx_accept_contained_ipdu: Optional[RxAcceptContainedIPdu]
get or set the rx accept of this ContainerIPdu
contained_ipdu_triggerings ¶
contained_ipdu_triggerings() -> Iterator[PduTriggering]
iterate over all contained IPdu triggerings
map_ipdu ¶
map_ipdu(
ipdu: IPdu, physical_channel: PhysicalChannel
) -> PduTriggering
map an IPdu
to this ContainerIPdu
and create a PduTriggering
for it in the PhysicalChannel
pdu_triggerings ¶
pdu_triggerings() -> List[PduTriggering]
list all PduTriggerings
that trigger this PDU
ContainerIPduHeaderType ¶
ContainerIPduTrigger ¶
CycleRepetition ¶
The cycle repetition of a Flexray frame, from the Flexray standard
CyclicTiming ¶
CyclicTiming(
time_period: float,
/,
*,
time_offset: Optional[float] = None,
)
DataIdMode ¶
DataTransformation ¶
DataTransformation(element: Element)
A DataTransformation
is a chain of TransformationTechnology
s that are used to transform data
data_transformation_set
instance-attribute
¶
data_transformation_set: Optional[DataTransformationSet]
get the DataTransformationSet
that contains this DataTransformation
transformation_technologies ¶
transformation_technologies() -> Iterator[
TransformationTechnology
]
Create an iterator over the TransformationTechnologies
in the DataTransformation
DataTransformationSet ¶
DataTransformationSet(element: Element)
A [DataTransformationSet
] contains DataTransformation
s and TransformationTechnology
s used in communication
Use [ArPackage::create_data_transformation_set
] to create a new DataTransformationSet
create_data_transformation ¶
create_data_transformation(
name: str,
transformations: List[TransformationTechnology],
execute_despite_data_unavailability: bool,
) -> DataTransformation
Create a new DataTransformation
in the DataTransformationSet
create_transformation_technology ¶
create_transformation_technology(
name: str, config: TransformationTechnologyConfig
) -> TransformationTechnology
Create a new TransformationTechnology
in the DataTransformationSet
data_transformations ¶
data_transformations() -> Iterator[DataTransformation]
Iterate over all DataTransformation
s in the DataTransformationSet
transformation_technologies ¶
transformation_technologies() -> Iterator[
TransformationTechnology
]
Iterate over all TransformationTechnology
s in the DataTransformationSet
DcmIPdu ¶
DcmIPdu(element: Element)
Represents the IPdus
handled by Dcm
contained_ipdu_props
instance-attribute
¶
contained_ipdu_props: Optional[ContainedIPduProps]
set the ContainedIPduProps for this IPdu
This is only needed when the IPdu
is contained in a ContainerIPdu
pdu_triggerings ¶
pdu_triggerings() -> List[PduTriggering]
list all PduTriggerings
that trigger this PDU
DoIpLogicAddress ¶
DoIpLogicAddress(element: Element)
DoIpTpConfig ¶
DoIpTpConfig(element: Element)
Container for DoIp
TP configuration
cluster
instance-attribute
¶
cluster: Optional[EthernetCluster]
get or set the reference to the EthernetCluster
for this DoIpTpConfig
create_doip_logic_address ¶
create_doip_logic_address(
name: str, address: int
) -> DoIpLogicAddress
create a new DoIpLogicAddress
create_doip_tp_connection ¶
create_doip_tp_connection(
name: Optional[str],
source: DoIpLogicAddress,
target: DoIpLogicAddress,
tp_sdu_triggering: PduTriggering,
) -> DoIpTpConnection
create a new DoIpTpConnection
doip_logic_addresses ¶
doip_logic_addresses() -> Iterator[DoIpLogicAddress]
iterate over all DoIpLogicAddresss
doip_tp_connections ¶
doip_tp_connections() -> Iterator[DoIpTpConnection]
iterate over all DoIpTpConnections
DoIpTpConnection ¶
DoIpTpConnection(element: Element)
The DoIpTpConnection
defines a DoIp
transport protocol connection
source
instance-attribute
¶
source: Optional[DoIpLogicAddress]
get or set the source DoIpLogicAddress
target
instance-attribute
¶
target: Optional[DoIpLogicAddress]
get or set the target DoIpLogicAddress
tp_sdu_triggering
instance-attribute
¶
tp_sdu_triggering: Optional[PduTriggering]
get or set the PduTriggering
for this connection
E2EProfile ¶
enumeration of the possible E2E profiles
E2EProfileBehavior ¶
E2ETransformationTechnologyConfig ¶
E2ETransformationTechnologyConfig(
*,
profile: E2EProfile,
zero_header_length: bool,
transform_in_place: bool,
offset: int,
max_delta_counter: int,
max_error_state_init: int,
max_error_state_invalid: int,
max_error_state_valid: int,
max_no_new_or_repeated_data: int,
min_ok_state_init: int,
min_ok_state_invalid: int,
min_ok_state_valid: int,
window_size: int,
window_size_init: Optional[int] = None,
window_size_invalid: Optional[int] = None,
window_size_valid: Optional[int] = None,
profile_behavior: Optional[E2EProfileBehavior] = None,
sync_counter_init: Optional[int] = None,
data_id_mode: Optional[DataIdMode] = None,
data_id_nibble_offset: Optional[int] = None,
crc_offset: Optional[int] = None,
counter_offset: Optional[int] = None,
)
Configuration for an E2E transformation
counter_offset
instance-attribute
¶
counter_offset: Optional[int]
Offset of the counter in the Data[] array in bits. Required for E2E profiles 01 and 11, unused otherwise
crc_offset
instance-attribute
¶
crc_offset: Optional[int]
Offset of the crc in the Data[] array in bits. Required for E2E profiles 01 and 11, unused otherwise
data_id_mode
instance-attribute
¶
data_id_mode: Optional[DataIdMode]
The data ID mode to use; required for E2E profiles 01 and 11, unused otherwise
data_id_nibble_offset
instance-attribute
¶
data_id_nibble_offset: Optional[int]
Offset of the data ID in the Data[] array in bits. Required for E2E profiles 01 and 11 when data_id_mode
is Lower12Bit
, unused otherwise
max_delta_counter
instance-attribute
¶
max_delta_counter: int
Maximum jump in the counter value between two consecutive messages
max_error_state_init
instance-attribute
¶
max_error_state_init: int
The maximum allowed number of consecutive failed counter checks in the init state
max_error_state_invalid
instance-attribute
¶
max_error_state_invalid: int
The maximum allowed number of consecutive failed counter checks in the invalid state
max_error_state_valid
instance-attribute
¶
max_error_state_valid: int
The maximum allowed number of consecutive failed counter checks in the valid state
max_no_new_or_repeated_data
instance-attribute
¶
max_no_new_or_repeated_data: int
The maximum allowed number of consecutive failed counter checks
min_ok_state_init
instance-attribute
¶
min_ok_state_init: int
The minimum allowed number of consecutive successful counter checks in the init state
min_ok_state_invalid
instance-attribute
¶
min_ok_state_invalid: int
The minimum allowed number of consecutive successful counter checks in the invalid state
min_ok_state_valid
instance-attribute
¶
min_ok_state_valid: int
The minimum allowed number of consecutive successful counter checks in the valid state
offset
instance-attribute
¶
offset: int
The offset in bits from the start of the buffer where the E2E data should be placed If E2E is used after COM, the offset should be 0; if E2E is used after SOMEIP, the offset should be 64
profile_behavior
instance-attribute
¶
profile_behavior: Optional[E2EProfileBehavior]
Behavior of the check functionality
sync_counter_init
instance-attribute
¶
sync_counter_init: Optional[int]
Number of successful checks required for validating the consistency of the counter
transform_in_place
instance-attribute
¶
transform_in_place: bool
Should the E2E transformation take place in the existing buffer or in a separate buffer?
window_size
instance-attribute
¶
window_size: int
window size: Size of the monitoring window for the E2E state machine.
This can be directly set up to AUTOSAR 4.4.0 (AUTOSAR_00047
).
For newer files this only provides the default if window_size_init
, window_size_invalid
and window_size_valid
are not set
window_size_init
instance-attribute
¶
window_size_init: Optional[int]
window size in the init state - only valid in AUTOSAR 4.5.0 (AUTOSAR_00048
) and newer. if it is not set, this will default to window_size
window_size_invalid
instance-attribute
¶
window_size_invalid: Optional[int]
window size in the invalid state - only valid in AUTOSAR 4.5.0 (AUTOSAR_00048
) and newer. if it is not set, this will default to window_size
window_size_valid
instance-attribute
¶
window_size_valid: Optional[int]
window size in the valid state - only valid in AUTOSAR 4.5.0 (AUTOSAR_00048
) and newer. if it is not set, this will default to window_size
zero_header_length
instance-attribute
¶
zero_header_length: bool
When E2E is used in a transformer chain after COM, the header length must be zero.
In this configuration you are expected to provide space for the E2E data inside the signal group layout, and zero_header_length
should be set to true.
If zero_header_length
is set to false, the appropriate header length for the chosen E2E profile will be used (e.g. 24 bits for PROFILE_05
)
EndToEndTransformationISignalProps ¶
EndToEndTransformationISignalProps(element: Element)
Properties for the End to End transformation of an ISignal(Group)
data_ids
instance-attribute
¶
data_ids: List[int]
get or set the data IDs that are used for the E2E transformation
data_length
instance-attribute
¶
data_length: Optional[int]
get or set the length of payload and E2E header in bits
max_data_length
instance-attribute
¶
max_data_length: Optional[int]
get or set the maximum data length
min_data_length
instance-attribute
¶
min_data_length: Optional[int]
get or set the minimum data length
transformer
instance-attribute
¶
transformer: Optional[TransformationTechnology]
get or set the transformer reference of the E2E transformation properties
EthernetCluster ¶
EthernetCluster(element: Element)
An EthernetCluster
contains all configuration items associated with an ethernet network.
The cluster connects multiple ECUs.
system
instance-attribute
¶
system: Optional[System]
get the System
that this EthernetCluster
is part of
create_physical_channel ¶
create_physical_channel(
channel_name: str,
/,
*,
vlan_info: Optional[EthernetVlanInfo] = None,
) -> EthernetPhysicalChannel
Create a new physical channel for the cluster
The supplied VLAN info must be unique - there cannot be two VLANs with the same vlan identifier. One channel may be created without VLAN information; it carries untagged traffic.
physical_channels ¶
physical_channels() -> Iterator[EthernetPhysicalChannel]
returns an iterator over all [EthernetPhysicalChannel
]s in the cluster
EthernetCommunicationConnector ¶
EthernetCommunicationConnector(element: Element)
A connector between an [EthernetCommunicationController
] in an ECU and an [EthernetPhysicalChannel
]
EthernetCommunicationController ¶
EthernetCommunicationController(element: Element)
An EcuInstance
needs an EthernetCommunicationController
in order to connect to an ethernet cluster.
ecu_instance
instance-attribute
¶
ecu_instance: EcuInstance
Get the EcuInstance
that contains this EthernetCommunicationController
connect_physical_channel ¶
connect_physical_channel(
connection_name: str,
eth_channel: EthernetPhysicalChannel,
) -> EthernetCommunicationConnector
Connect this [EthernetCommunicationController
] inside an [EcuInstance
] to an [EthernetPhysicalChannel
] in the [crate::System
]
Creates an EthernetCommunicationConnector
in the [EcuInstance
] that contains this [EthernetCommunicationController
].
This function establishes the relationships
- [
EthernetPhysicalChannel
] ->EthernetCommunicationConnector
EthernetCommunicationConnector
-> [EthernetCommunicationController
]
connected_channels ¶
connected_channels() -> Iterator[EthernetPhysicalChannel]
return an iterator over the [EthernetPhysicalChannel
]s connected to this controller
EthernetPhysicalChannel ¶
EthernetPhysicalChannel(element: Element)
The EthernetPhysicalChannel
represents a VLAN or untagged traffic
cluster
instance-attribute
¶
cluster: EthernetCluster
get the cluster containing this physical channel
configure_service_discovery_for_ecu ¶
configure_service_discovery_for_ecu(
ecu: EcuInstance,
unicast_socket: SocketAddress,
unicast_rx_pdu: GeneralPurposePdu,
unicast_tx_pdu: GeneralPurposePdu,
common_config: CommonServiceDiscoveryConfig,
) -> None
configure SOME/IP service discovery (SD) for an ECU connected to this channel
SD is used to broadcast service offers on the network and subscribe to services offered by other ECUs. This function configures the ECU to use the SOME/IP SD protocol.
SD uses either socket connection bundles or static socket connections to communicate.
ecu
is the ECU that should be configured for SD.
unicast_socket
is the socket address used for unicast rx/tx communication by the ECU.
unicast_rx_pdu
and unicast_tx_pdu
are the GeneralPurposePdus
used for the unicast communication.
common_config
contains common configuration settings that can be used for all SD ECUs.
- multicast_rx_socket
is the socket address used for multicast communication by all SD ECUs.
- remote_socket
is a socket whose IP is set to ANY with UDP port 0, acting as the remote address in the SD communication.
- name_prefix
is an optional prefix for the names of the created elements.
- prefer_static_socket_connections
is a flag that determines if SocketConnectionBundles
should be used instead of StaticSocketConnections
.
This is only relevant if the type can't be detected automatically.
- ipdu_identifier_set
is contains the IPduIdentifiers
that are used in StaticSocketConnections
.
Note:
Usually SomeIP
SD is expected to use port 30490, but this is not mandatory.
The port number is set in the sockets, and must be the same for all SD sockets.
create_network_endpoint ¶
create_network_endpoint(
name: str,
address: NetworkEndpointAddress,
/,
*,
ecu: Optional[EcuInstance] = None,
) -> NetworkEndpoint
create a network endpoint - IPv4 or IPv6 address - for this channel
In older versions of the Autosar standard, up to version 4.4.0, the NetworkEndpoint
could be linked to an Ecu.
The parameter ecu
specifies the target.
The link is obsoleted in newer versions, and will only be created if the file version allows it.
create_socket_address ¶
create_socket_address(
name: str,
network_endpoint: NetworkEndpoint,
tp_config: TpConfig,
sa_type: SocketAddressType,
) -> SocketAddress
create a socket address in the ethernet channel
It contains the settings of the TCP/UDP port and links to a [NetworkEndpoint
] which contains the IP address.
The socket address can either be a unicast adress which is associated with a single ECU, or a multicast address
create_socket_connection_bundle ¶
create_socket_connection_bundle(
name: str, server_port: SocketAddress
) -> SocketConnectionBundle
create a socket connection bundle
The SocketConnectionBundle
is the "old" way to establish a connection between two sockets.
It is deprecated in newer versions of the Autosar standard, but remains available for compatibility.
create_static_socket_connection_pair ¶
create_static_socket_connection_pair(
name: str,
port_1: SocketAddress,
port_2: SocketAddress,
/,
*,
tcp_connect_timeout: Optional[float] = None,
) -> Tuple[StaticSocketConnection, StaticSocketConnection]
create a pair of static socket connections
Static socket connections are usually created as a pair, one on each socket involved on the connection.
This helper function creates both at once. To create a single connection, use [SocketAddress::create_static_socket_connection
].
If the connection is a TCP connection, the first port connects to the second port, and the second port listens for incoming connection.
The ordering of port_1
and port_2
has no impact on the direction of the transported PDUs. This is defined in the PduTriggering
.
StaticSocketConnection
s are the "new" way to establish a connection between two sockets.
It was introduced in Autosar 4.5.0 (AUTOSAR_00048
) and is the recommended way to create connections.
SocketConnectionBundles
(old) and StaticSocketConnections
(new) may never be used in the same file.
has_socket_connections ¶
has_socket_connections() -> bool
check if the channel contains any SocketConnectionBundles
(old) or SocketConnections
(very old)
network_endpoints ¶
network_endpoints() -> Iterator[NetworkEndpoint]
create an iterator over all [NetworkEndpoint
]s in this channel
pdu_triggerings ¶
pdu_triggerings() -> Iterator[PduTriggering]
iterate over all PDU triggerings of this physical channel
set_vlan_info ¶
set_vlan_info(
vlan_info: Optional[EthernetVlanInfo],
) -> None
get or set the VLAN information of the channel.
In an EthernetCluster, each physical channel must have unique VLAN settings; only one channel can omit VLAN information - it carries untagged traffic. Setting duplicate VLAN information will result in an error.
signal_triggerings ¶
signal_triggerings() -> Iterator[ISignalTriggering]
iterate over all signal triggerings of this physical channel
socket_addresses ¶
socket_addresses() -> Iterator[SocketAddress]
create an iterator over all [SocketAddress
]es in this channel
socket_connection_bundles ¶
socket_connection_bundles() -> Iterator[
SocketConnectionBundle
]
iterate over all socket connection bundles in this channel
The SocketConnectionBundle
is the "old" way to establish a connection between two sockets.
It is deprecated in newer versions of the Autosar standard, but remains available for compatibility.
vlan_info ¶
vlan_info() -> Optional[EthernetVlanInfo]
get or set the VLAN information of the channel. In an EthernetCluster, each physical channel must have unique VLAN settings; only one channel can omit VLAN information - it carries untagged traffic. Setting duplicate VLAN information will result in an error.
EthernetVlanInfo ¶
EthernetVlanInfo(*, vlan_name: str, vlan_id: int)
EventControlledTiming ¶
EventControlledTiming(
number_of_repetitions: int,
/,
*,
repetition_period: Optional[float] = None,
)
Event controlled timing parameters for an IPDU
number_of_repetitions
instance-attribute
¶
number_of_repetitions: int
The PDU will be sent (number of repetitions + 1) times. If number of repetitions is 0, then the PDU is sent exactly once.
repetition_period
instance-attribute
¶
repetition_period: Optional[float]
time in seconds between two transmissions of the PDU
EventGroupControlType ¶
control types used in routing groups for SOME/IP events
EventHandler ¶
EventHandler(element: Element)
An EventHandler
describes the handling of a single event in a ProvidedServiceInstance
event_group_identifier
instance-attribute
¶
event_group_identifier: Optional[int]
get or set the event group identifier of this EventHandler
sd_server_event_group_timing_config
instance-attribute
¶
sd_server_event_group_timing_config: Optional[
SomeipSdServerEventGroupTimingConfig
]
get or set the SD server event group timing configuration for this EventHandler
create_pdu_activation_routing_group ¶
create_pdu_activation_routing_group(
name: str,
event_group_control_type: EventGroupControlType,
) -> PduActivationRoutingGroup
create a new PduActivationRoutingGroup
in this EventHandler
pdu_activation_routing_groups ¶
pdu_activation_routing_groups() -> Iterator[
PduActivationRoutingGroup
]
get the PduActivationRoutingGroup
s in this EventHandler
EventHandlerV1 ¶
EventHandlerV1(element: Element)
An EventHandlerV1
is a SD event handler that is used to receive events from other ECUs.
This is the old V1 version of the service definition.
add_consumed_event_group ¶
add_consumed_event_group(
consumed_event_group: ConsumedEventGroupV1,
) -> None
add a reference to a ConsumedEventGroupV1
to this EventHandlerV1
add_routing_group ¶
add_routing_group(routing_group: SoAdRoutingGroup) -> None
add a reference to a SoAdRoutingGroup
to this EventHandler
consumed_event_groups ¶
consumed_event_groups() -> Iterator[ConsumedEventGroupV1]
get the consumed event groups referenced by this EventHandler
routing_groups ¶
routing_groups() -> Iterator[SoAdRoutingGroup]
get the routing groups referenced by this EventHandler
sd_server_config ¶
sd_server_config() -> Optional[SdEventConfig]
get the SD server event configuration for this EventHandlerV1
set_sd_server_config ¶
set_sd_server_config(
sd_event_config: SdEventConfig,
) -> None
set the SD server event configuration for this EventHandlerV1
FlexrayArTpChannel ¶
FlexrayArTpChannel(element: Element)
The FlexrayArTpChannel
represents a channel in the Flexray Autosar Transport Protocol
ack_type
instance-attribute
¶
ack_type: Optional[FrArTpAckType]
get or set the ack type of the channel
extended_addressing
instance-attribute
¶
extended_addressing: Optional[bool]
get or set the extended addressing attribute
maximum_message_length
instance-attribute
¶
maximum_message_length: Optional[MaximumMessageLengthType]
get or set the maximum message length type
minimum_separation_time
instance-attribute
¶
minimum_separation_time: Optional[float]
get or set the minimum separation time
multicast_segmentation
instance-attribute
¶
multicast_segmentation: Optional[bool]
get or set the multicast segmentation
add_n_pdu ¶
add_n_pdu(n_pdu: NPdu) -> None
add an N-PDU to the channel
The NPdus
are logically assembled into a pool of Rx NPdus
and another pool of Tx NPdus
.
This function is supported on autosar 4.1 and later, while Autosar 4.0 uses a different approach.
create_flexray_ar_tp_connection ¶
create_flexray_ar_tp_connection(
name: Optional[str],
direct_tp_sdu: IPdu,
source: FlexrayArTpNode,
target: FlexrayArTpNode,
) -> FlexrayArTpConnection
create a new FlexrayArTpConnection
for this channel
flexray_ar_tp_connections ¶
flexray_ar_tp_connections() -> Iterator[
FlexrayArTpConnection
]
get an iterator over the connections in the channel
FlexrayArTpConfig ¶
FlexrayArTpConfig(element: Element)
The FlexrayArTpConfig
represents the configuration of the Flexray Autosar Transport Protocol
cluster
instance-attribute
¶
cluster: Optional[FlexrayCluster]
get or set the Flexray cluster for the configuration
create_flexray_ar_tp_channel ¶
create_flexray_ar_tp_channel(
ack_type: FrArTpAckType,
extended_addressing: bool,
maximum_message_length: MaximumMessageLengthType,
minimum_separation_time: float,
multicast_segmentation: bool,
) -> FlexrayArTpChannel
create a new FlexrayArTpChannel
create_flexray_ar_tp_node ¶
create_flexray_ar_tp_node(name: str) -> FlexrayArTpNode
create a new FlexrayArTpNode
flexray_ar_tp_channels ¶
flexray_ar_tp_channels() -> Iterator[FlexrayArTpChannel]
get an iterator over the channels in the configuration
flexray_ar_tp_nodes ¶
flexray_ar_tp_nodes() -> Iterator[FlexrayArTpNode]
get an iterator over the nodes
FlexrayArTpConnection ¶
FlexrayArTpConnection(element: Element)
FlexrayArTpConnection
represents a connection within a FlexrayArTpChannel
The connection identifies the sender and the receiver of this particular communication. The Flexray Autosar Tp module routes a Pdu through this connection.
reversed_tp_sdu
instance-attribute
¶
reversed_tp_sdu: Optional[IPdu]
get or set or remove the reversed TP SDU
If the connection supports both directions, then the reversed TP SDU is required. if Some(value) is passed, the reversed TP SDU is set to the given value, otherwise it is removed.
source
instance-attribute
¶
source: Optional[FlexrayArTpNode]
get or set the source of the connection
add_target ¶
add_target(target: FlexrayArTpNode) -> None
add a target to the connection
The connection can have multiple targets, but at least one target is required.
FlexrayArTpNode ¶
FlexrayArTpNode(element: Element)
FlexrayArTpNode
represents a node in the Flexray Autosar Transport Protocol
A TP node (sender or receiver) provides the TP address and the connection to the topology description
tp_address
instance-attribute
¶
tp_address: Optional[TpAddress]
set or remove the TP address
if Some(value) is passed, the TP address is set to the given value, otherwise it is removed.
add_communication_connector ¶
add_communication_connector(
connector: FlexrayCommunicationConnector,
) -> None
add a reference to a FlexrayCommunicationConnector
The connectors define the association with a PhysicalChannel
and an ECU.
In a SystemDescription
, this reference is mandatory, but in an ECUExtract
it is optional.
Up to 2 connectors can be added to a node.
communication_connectors ¶
communication_connectors() -> Iterator[
FlexrayCommunicationConnector
]
get the connectors
FlexrayChannelName ¶
FlexrayCluster ¶
FlexrayCluster(element: Element)
A FlexrayCluster
contains all configuration items associated with a Flexray network.
The cluster connects multiple ECUs.
physical_channels
instance-attribute
¶
physical_channels: FlexrayPhysicalChannelsInfo
get the physical channels of this cluster
create_physical_channel ¶
create_physical_channel(
name: str, channel_name: FlexrayChannelName
) -> FlexrayPhysicalChannel
Create a new physical channel for the cluster
A cluster may contain channel A, channel B, or both A and B.
set_settings ¶
set_settings(settings: FlexrayClusterSettings) -> None
set the current flexray cluster settings
FlexrayClusterSettings ¶
action_point_offset
instance-attribute
¶
action_point_offset: float
get or set the action point offset of the cluster
cas_rx_low_max
instance-attribute
¶
cas_rx_low_max: int
get or set the cas rx low max of the cluster
cold_start_attempts
instance-attribute
¶
cold_start_attempts: int
get or set the cold start attempts of the cluster
cycle_count_max
instance-attribute
¶
cycle_count_max: int
get or set the cycle count max of the cluster
detect_nit_error
instance-attribute
¶
detect_nit_error: bool
get or set the detect nit error status of the cluster
dynamic_slot_idle_phase
instance-attribute
¶
dynamic_slot_idle_phase: int
get or set the dynamic slot idle phase of the cluster
ignore_after_tx
instance-attribute
¶
ignore_after_tx: int
get or set the ignore after tx duration of the cluster
macro_per_cycle
instance-attribute
¶
macro_per_cycle: int
get or set the macro per cycle of the cluster
macrotick_duration
instance-attribute
¶
macrotick_duration: float
get or set the macrotick duration of the cluster
max_without_clock_correction_fatal
instance-attribute
¶
max_without_clock_correction_fatal: int
get or set the max without clock correction fatal of the cluster
max_without_clock_correction_passive
instance-attribute
¶
max_without_clock_correction_passive: int
get or set the max without clock correction passive of the cluster
minislot_action_point_offset
instance-attribute
¶
minislot_action_point_offset: int
get or set the minislot action point offset of the cluster
minislot_duration
instance-attribute
¶
minislot_duration: int
get or set the minislot duration of the cluster
network_idle_time
instance-attribute
¶
network_idle_time: int
get or set the network idle time of the cluster
network_management_vector_length
instance-attribute
¶
network_management_vector_length: int
get or set the network management vector length of the cluster
number_of_minislots
instance-attribute
¶
number_of_minislots: int
get or set the number of minislots of the cluster
number_of_static_slots
instance-attribute
¶
number_of_static_slots: int
get or set the number of static slots of the cluster
offset_correction_start
instance-attribute
¶
offset_correction_start: int
get or set the offset correction start of the cluster
payload_length_static
instance-attribute
¶
payload_length_static: int
get or set the payload length static of the cluster
sample_clock_period
instance-attribute
¶
sample_clock_period: Optional[float]
get or set the sample clock period of the cluster
static_slot_duration
instance-attribute
¶
static_slot_duration: int
get or set the static slot duration of the cluster
symbol_window_action_point_offset
instance-attribute
¶
symbol_window_action_point_offset: int
get or set the symbol window action point offset of the cluster
sync_frame_id_count_max
instance-attribute
¶
sync_frame_id_count_max: int
get or set the sync frame id count max of the cluster
transceiver_standby_delay
instance-attribute
¶
transceiver_standby_delay: Optional[float]
get or set the transceiver standby delay of the cluster
transmission_start_sequence_duration
instance-attribute
¶
transmission_start_sequence_duration: int
get or set the transmission start sequence duration of the cluster
wakeup_rx_idle
instance-attribute
¶
wakeup_rx_idle: int
get or set the wakeup rx idle of the cluster
wakeup_rx_window
instance-attribute
¶
wakeup_rx_window: int
get or set the wakeup rx window of the cluster
wakeup_tx_active
instance-attribute
¶
wakeup_tx_active: int
get or set the wakeup tx active of the cluster
wakeup_tx_idle
instance-attribute
¶
wakeup_tx_idle: int
get or set the wakeup tx idle of the cluster
FlexrayCommunicationConnector ¶
FlexrayCommunicationConnector(element: Element)
A connector between a [FlexrayCommunicationController
] in an ECU and a [FlexrayPhysicalChannel
]
FlexrayCommunicationController ¶
FlexrayCommunicationController(element: Element)
An EcuInstance
needs a FlexrayCommunicationController
in order to connect to a Flexray cluster.
ecu_instance
instance-attribute
¶
ecu_instance: EcuInstance
Get the EcuInstance
that contains this FlexrayCommunicationController
connect_physical_channel ¶
connect_physical_channel(
connection_name: str,
flx_channel: FlexrayPhysicalChannel,
) -> FlexrayCommunicationConnector
Connect this [FlexrayCommunicationController
] inside an [EcuInstance
] to a [FlexrayPhysicalChannel
] in the [crate::System
]
Creates a FlexrayCommunicationConnector
in the [EcuInstance
] that contains this [FlexrayCommunicationController
].
This function establishes the relationships
- [
FlexrayPhysicalChannel
] ->FlexrayCommunicationConnector
FlexrayCommunicationConnector
-> [FlexrayCommunicationController
]
connected_channels ¶
connected_channels() -> Iterator[FlexrayPhysicalChannel]
return an iterator over the [FlexrayPhysicalChannel
]s connected to this controller
FlexrayCommunicationCycle ¶
FlexrayCommunicationCycle_Counter ¶
FlexrayCommunicationCycle_Counter(cycle_counter: int)
Bases: FlexrayCommunicationCycle
FlexrayCommunicationCycle_Repetition ¶
FlexrayCommunicationCycle_Repetition(
base_cycle: int, cycle_repetition: CycleRepetition
)
Bases: FlexrayCommunicationCycle
FlexrayFrame ¶
FlexrayFrame(element: Element)
a Flexray frame
FlexrayFrameTriggering ¶
FlexrayFrameTriggering(element: Element)
Iterator over all [FlexrayFrameTriggering
]s using this frame
map a PDU to the frame
The frame triggering connects a frame to a physical channel
frame
instance-attribute
¶
frame: Optional[FlexrayFrame]
get the frame triggered by the frame triggering
physical_channel
instance-attribute
¶
physical_channel: FlexrayPhysicalChannel
get the physical channel that contains this frame triggering
slot
instance-attribute
¶
slot: Optional[int]
get or set the slot id for the flexray frame triggering
connect_to_ecu ¶
connect_to_ecu(
ecu: EcuInstance, direction: CommunicationDirection
) -> FramePort
connect this frame triggering to an ECU
The frame triggering may be connected to any number of ECUs.
frame_ports ¶
frame_ports() -> Iterator[FramePort]
get the frame ports connected to this frame triggering
pdu_triggerings ¶
pdu_triggerings() -> Iterator[PduTriggering]
get the PDU triggerings referenced by this frame triggering
set_timing ¶
set_timing(timing: FlexrayCommunicationCycle) -> None
set the timing of the flexray frame
timing ¶
timing() -> Optional[FlexrayCommunicationCycle]
get the timing of the flexray frame
In a well-formed file this should always return a value
FlexrayNmCluster ¶
FlexrayNmCluster(element: Element)
Flexray specific NmCluster
channel_sleep_master
instance-attribute
¶
channel_sleep_master: Optional[bool]
get or set or remove the nmChannelSleepMaster flag
communication_cluster
instance-attribute
¶
communication_cluster: Optional[FlexrayCluster]
get or set the referenced FlexrayCluster
nm_data_cycle
instance-attribute
¶
nm_data_cycle: Optional[int]
get or set the nmDataCycle
Number of Flexray Communication Cycles needed to transmit the Nm Data PDUs of all Flexray Nm Ecus of this FlexrayNmCluster
.
nm_remote_sleep_indication_time
instance-attribute
¶
nm_remote_sleep_indication_time: Optional[float]
get or set the nmRemoteSleepIndicationTime
Timeout for Remote Sleep Indication in seconds.
nm_repeat_message_time
instance-attribute
¶
nm_repeat_message_time: Optional[float]
get or set the nmRepeatMessageTime
Timeout for Repeat Message State in seconds.
nm_repetition_cycle
instance-attribute
¶
nm_repetition_cycle: Optional[int]
get or set the nmRepetitionCycle
Number of Flexray Communication Cycles used to repeat the transmission of the Nm vote Pdus of all
Flexray NmEcus
of this FlexrayNmCluster
. This value shall be an integral multiple of nmVotingCycle.
nm_voting_cycle
instance-attribute
¶
nm_voting_cycle: Optional[int]
get or set the nmVotingCycle
The number of Flexray Communication Cycles used to transmit the Nm Vote PDUs of all Flexray Nm Ecus of this FlexrayNmCluster
.
node_detection_enabled
instance-attribute
¶
node_detection_enabled: Optional[bool]
get or set the nmNodeDetectionEnabled flag
node_id_enabled
instance-attribute
¶
node_id_enabled: Optional[bool]
get or set the nmNodeIdEnabled flag
pnc_cluster_vector_length
instance-attribute
¶
pnc_cluster_vector_length: Optional[int]
get or set the pncClusterVectorLength
pnc_participation
instance-attribute
¶
pnc_participation: Optional[bool]
get or set the nmPncParticipation flag
repeat_msg_ind_enabled
instance-attribute
¶
repeat_msg_ind_enabled: Optional[bool]
get or set the nmRepeatMsgIndEnabled flag
synchronizing_network
instance-attribute
¶
synchronizing_network: Optional[bool]
get or set the nmSynchronizingNetwork flag
create_flexray_nm_node ¶
create_flexray_nm_node(
name: str,
controller: FlexrayCommunicationController,
nm_ecu: NmEcu,
) -> FlexrayNmNode
add a FlexrayNmNode
to the cluster
FlexrayNmClusterCoupling ¶
FlexrayNmClusterCoupling(element: Element)
A FlexrayNmClusterCoupling
couples multiple
FlexrayNmCluster`s.
nm_schedule_variant
instance-attribute
¶
nm_schedule_variant: Optional[FlexrayNmScheduleVariant]
get or set the nmScheduleVariant
add_coupled_cluster ¶
add_coupled_cluster(cluster: FlexrayNmCluster) -> None
add a reference to a coupled NmCluster
coupled_clusters ¶
coupled_clusters() -> Iterator[FlexrayNmCluster]
iterate over all coupled NmClusters
FlexrayNmClusterSettings ¶
FlexrayNmClusterSettings(
*,
nm_data_cycle: int,
nm_remote_sleep_indication_time: float,
nm_repeat_message_time: float,
nm_repetition_cycle: int,
nm_voting_cycle: int,
)
Mandatory settings for a FlexrayNmCluster
These settings must be provided when creating a new FlexrayNmCluster
.
Additional optional settings can be set using FlexrayNmCluster
methods.
nm_data_cycle
instance-attribute
¶
nm_data_cycle: Optional[int]
nmDataCycle: Number of Flexray Communication Cycles needed to transmit the Nm Data PDUs of all Flexray Nm Ecus of this FlexrayNmCluster
.
nm_remote_sleep_indication_time
instance-attribute
¶
nm_remote_sleep_indication_time: Optional[float]
nmRemoteSleepIndicationTime: Timeout for Remote Sleep Indication in seconds.
nm_repeat_message_time
instance-attribute
¶
nm_repeat_message_time: Optional[float]
nmRepeatMessageTime: Timeout for Repeat Message State in seconds.
nm_repetition_cycle
instance-attribute
¶
nm_repetition_cycle: Optional[int]
nmRepetitionCycle: Number of Flexray Communication Cycles used to repeat the transmission of the Nm vote Pdus of all
Flexray NmEcus
of this FlexrayNmCluster
. This value shall be an integral multiple of nmVotingCycle.
nm_voting_cycle
instance-attribute
¶
nm_voting_cycle: Optional[int]
nmVotingCycle: The number of Flexray Communication Cycles used to transmit the Nm Vote PDUs of all Flexray Nm Ecus of this FlexrayNmCluster
.
FlexrayNmNode ¶
FlexrayNmNode(element: Element)
A FlexrayNmNode
represents a Flexray specific NmNode
.
It connects a FlexrayCommunicationController
with a NmEcu
.
communication_controller
instance-attribute
¶
communication_controller: Optional[
FlexrayCommunicationController
]
get or set the referenced FlexrayCommunicationController
node_id
instance-attribute
¶
node_id: Optional[int]
get or set the nmNodeId This value is optional; if it is set to Some(x) the value is created, if it is set to None the value is removed.
passive_mode
instance-attribute
¶
passive_mode: Optional[bool]
get or set ot remove the nmPassiveModeEnabled flag
This flag is optional; if it is set to Some(x) the value is created, if it is set to None the value is removed.
add_rx_nm_pdu ¶
add_rx_nm_pdu(nm_pdu: NmPdu) -> None
add an Rx NmPdu
Every NmNode
must have at least one Rx NmPdu
add_tx_nm_pdu ¶
add_tx_nm_pdu(nm_pdu: NmPdu) -> None
add a Tx NmPdu
Active NmNodes
must have at least one Tx NmPdu
, while passive NmNodes
may have none.
FlexrayNmScheduleVariant ¶
The FlexrayNmScheduleVariant
defines the way the NM-Vote and NM-Data are transmitted within the Flexray network.
FlexrayPhysicalChannel ¶
FlexrayPhysicalChannel(element: Element)
the FlexrayPhysicalChannel
represents either channel A or B of Flexray cluster
channel_name
instance-attribute
¶
channel_name: Optional[FlexrayChannelName]
get the channel name of a FlexrayPhysicalChannel
cluster
instance-attribute
¶
cluster: FlexrayCluster
get the cluster containing this physical channel
frame_triggerings ¶
frame_triggerings() -> Iterator[FlexrayFrameTriggering]
iterate over all frame triggerings of this physical channel
pdu_triggerings ¶
pdu_triggerings() -> Iterator[PduTriggering]
iterate over all PDU triggerings of this physical channel
signal_triggerings ¶
signal_triggerings() -> Iterator[ISignalTriggering]
iterate over all signal triggerings of this physical channel
trigger_frame ¶
trigger_frame(
frame: FlexrayFrame,
slot_id: int,
timing: FlexrayCommunicationCycle,
) -> FlexrayFrameTriggering
add a trigger for a flexray frame in this physical channel
FlexrayPhysicalChannelsInfo ¶
FlexrayTpConfig ¶
FlexrayTpConfig(element: Element)
FlexrayTpConfig
defines exactly one Flexray ISO TP Configuration
cluster
instance-attribute
¶
cluster: Optional[FlexrayCluster]
get or set the FlexrayCluster
of the FlexrayTpConfig
create_flexray_tp_connection ¶
create_flexray_tp_connection(
name: Optional[str],
transmitter: FlexrayTpNode,
direct_tp_sdu: IPdu,
connection_control: FlexrayTpConnectionControl,
) -> FlexrayTpConnection
create a new FlexrayTpConnection
create_flexray_tp_connection_control ¶
create_flexray_tp_connection_control(
name: str,
) -> FlexrayTpConnectionControl
create a new FlexrayTpConnectionControl
create_flexray_tp_ecu ¶
create_flexray_tp_ecu(
ecu_instance: EcuInstance, full_duplex_enabled: bool
) -> FlexrayTpEcu
add a FlexrayTpEcu
to the FlexrayTpConfig
create_flexray_tp_node ¶
create_flexray_tp_node(name: str) -> FlexrayTpNode
create a new FlexrayTpNode
create_flexray_tp_pdu_pool ¶
create_flexray_tp_pdu_pool(name: str) -> FlexrayTpPduPool
create a new FlexrayTpPduPool
flexray_tp_connection_controls ¶
flexray_tp_connection_controls() -> Iterator[
FlexrayTpConnectionControl
]
iterate over all FlexrayTpConnectionControls
flexray_tp_connections ¶
flexray_tp_connections() -> Iterator[FlexrayTpConnection]
iterate over all FlexrayTpConnections
flexray_tp_pdu_pools ¶
flexray_tp_pdu_pools() -> Iterator[FlexrayTpPduPool]
iterate over all FlexrayTpPduPools
FlexrayTpConnection ¶
FlexrayTpConnection(element: Element)
A FlexrayTpConnection
defines a connection between FlexrayTpNodes
connection_control
instance-attribute
¶
connection_control: Optional[FlexrayTpConnectionControl]
get or set the connection control of the connection
direct_tp_sdu
instance-attribute
¶
direct_tp_sdu: Optional[IPdu]
get or set the direct TP SDU of the connection
multicast_address
instance-attribute
¶
multicast_address: Optional[TpAddress]
get or set the multicast TpAddress
of the connection
reversed_tp_sdu
instance-attribute
¶
reversed_tp_sdu: Optional[IPdu]
get or set the reversed TP SDU of the connection This is used if the connection supports both sending and receiving
rx_pdu_pool
instance-attribute
¶
rx_pdu_pool: Optional[FlexrayTpPduPool]
get or set the RX FlexrayTpPduPool
of the connection
transmitter
instance-attribute
¶
transmitter: Optional[FlexrayTpNode]
get or set the transmitter of the connection
tx_pdu_pool
instance-attribute
¶
tx_pdu_pool: Optional[FlexrayTpPduPool]
get or set the TX FlexrayTpPduPool
of the connection
FlexrayTpConnectionControl ¶
FlexrayTpConnectionControl(element: Element)
A FlexrayTpConnectionControl
defines the connection control parameters for a FlexrayTpConnection
FlexrayTpEcu ¶
FlexrayTpEcu(element: Element)
A FlexrayTpEcu
represents an ECU within the FlexrayTpConfig
cancellation
instance-attribute
¶
cancellation: Optional[bool]
get or set the cancellation status of the FlexrayTpEcu
cycle_time_main_function
instance-attribute
¶
cycle_time_main_function: Optional[float]
get or set the cycle time of the TP main function in seconds
ecu_instance
instance-attribute
¶
ecu_instance: Optional[EcuInstance]
get or set the ECU instance of the FlexrayTpEcu
full_duplex_enabled
instance-attribute
¶
full_duplex_enabled: Optional[bool]
get or set the full duplex enabled flag of the FlexrayTpEcu
FlexrayTpNode ¶
FlexrayTpNode(element: Element)
A FlexrayTpNode
provides the TP address and the connection to the topology description in a FlexrayTpConfig
tp_address
instance-attribute
¶
tp_address: Optional[TpAddress]
set or remove FlexrayTpAddress
of the node
A TP address is mandatory for unicast nodes, but optional for multicast nodes
Setting None will remove the element
add_communication_connector ¶
add_communication_connector(
connector: FlexrayCommunicationConnector,
) -> None
add a FlexrayCommunicationConnector
to the node
The node can be associated with up to 2 connectors.
In a system description this reference is mandatory.
communication_connectors ¶
communication_connectors() -> Iterator[
FlexrayCommunicationConnector
]
iterate over all FlexrayCommunicationConnectors
of the node
FlexrayTpPduPool ¶
FlexrayTpPduPool(element: Element)
A FlexrayTpPduPool
contains a set of NPdus
that can be used for sending and receiving
FrArTpAckType ¶
FramePort ¶
FramePort(element: Element)
The FramePort
allows an ECU to send or receive a frame
communication_direction
instance-attribute
¶
communication_direction: Optional[CommunicationDirection]
get or set the communication direction of the frame port
GeneralPurposeIPdu ¶
GeneralPurposeIPdu(element: Element)
This element is used for AUTOSAR Pdus without attributes that are routed by the PduR
category
instance-attribute
¶
category: Optional[GeneralPurposeIPduCategory]
get the category of this PDU
contained_ipdu_props
instance-attribute
¶
contained_ipdu_props: Optional[ContainedIPduProps]
set the ContainedIPduProps for this IPdu
This is only needed when the IPdu
is contained in a ContainerIPdu
pdu_triggerings ¶
pdu_triggerings() -> List[PduTriggering]
list all PduTriggerings
that trigger this PDU
GeneralPurposeIPduCategory ¶
The category of a GeneralPurposeIPdu
The Autosar standard defines the following categories: - XCP - SOMEIP_SEGMENTED_IPDU - DLT
GeneralPurposePdu ¶
GeneralPurposePdu(element: Element)
This element is used for AUTOSAR Pdus without additional attributes that are routed by a bus interface
GeneralPurposePduCategory ¶
GenericTransformationTechnologyConfig ¶
GenericTransformationTechnologyConfig(
*,
protocol_name: str,
protocol_version: str,
header_length: int,
in_place: bool,
)
Configuration for a generic transformation technology For a generic trasformation, the mandatory values must be chosen by the user
in_place
instance-attribute
¶
in_place: bool
Should the transformation take place in the existing buffer or in a separate buffer?
IPduPort ¶
IPduPort(element: Element)
The IPduPort
allows an ECU to send or receive a PDU
communication_direction
instance-attribute
¶
communication_direction: Optional[CommunicationDirection]
get or set the communication direction of this IPduPort
IPv4AddressSource ¶
IPv4AddressSource
defines how the address of an IPv4 NetworkEndpoint
is obtained
IPv6AddressSource ¶
IPv6AddressSource
defines how the address of an IPv6 NetworkEndpoint
is obtained
ISignal ¶
ISignal(element: Element)
Signal of the Interaction Layer
datatype
instance-attribute
¶
datatype: Optional[SwBaseType]
get or set the data type for this signal
signal_group
instance-attribute
¶
signal_group: Optional[ISignalGroup]
get the signal group that contains this signal, if any
system_signal
instance-attribute
¶
system_signal: Optional[SystemSignal]
get the system signal that corresponds to this isignal
add_data_transformation ¶
add_data_transformation(
data_transformation: DataTransformation,
) -> None
add a data transformation to this signal
create_e2e_transformation_isignal_props ¶
create_e2e_transformation_isignal_props(
transformer: TransformationTechnology,
) -> EndToEndTransformationISignalProps
create E2E transformation properties for this signal
create_someip_transformation_isignal_props ¶
create_someip_transformation_isignal_props(
transformer: TransformationTechnology,
) -> SomeIpTransformationISignalProps
create SomeIp transformation properties for this signal
data_transformations ¶
data_transformations() -> Iterator[DataTransformation]
get all data transformations that are applied to this signal
mappings ¶
mappings() -> List[ISignalToIPduMapping]
list all ISignalToIPduMapping
for this signal
Usually a signal should only be mapped to a single PDU, so this list is expected to contain either zero or one items in ordinary cases.
signal_triggerings ¶
signal_triggerings() -> List[ISignalTriggering]
list all ISignalTriggering
s that trigger this signal
transformation_isignal_props ¶
transformation_isignal_props() -> Iterator[
Union[
EndToEndTransformationISignalProps,
SomeIpTransformationISignalProps,
]
]
get all transformation properties that are applied to this signal
ISignalGroup ¶
ISignalGroup(element: Element)
An ISignalGroup
groups signals that should always be kept together
system_signal_group
instance-attribute
¶
system_signal_group: Optional[SystemSignalGroup]
get the system signal group that is associated with this signal group
add_data_transformation ¶
add_data_transformation(
data_transformation: DataTransformation,
) -> None
add a data transformation to this signal group
create_e2e_transformation_isignal_props ¶
create_e2e_transformation_isignal_props(
transformer: TransformationTechnology,
) -> EndToEndTransformationISignalProps
create E2E transformation properties for this signal group
create_someip_transformation_isignal_props ¶
create_someip_transformation_isignal_props(
transformer: TransformationTechnology,
) -> SomeIpTransformationISignalProps
create SomeIp transformation properties for this signal group
data_transformations ¶
data_transformations() -> Iterator[DataTransformation]
iterate over all data transformations that are applied to this signal group
transformation_isignal_props ¶
transformation_isignal_props() -> Iterator[
Union[
EndToEndTransformationISignalProps,
SomeIpTransformationISignalProps,
]
]
get all transformation properties that are applied to this signal group
ISignalIPdu ¶
ISignalIPdu(element: Element)
Represents the IPdus
handled by Com
contained_ipdu_props
instance-attribute
¶
contained_ipdu_props: Optional[ContainedIPduProps]
set the ContainedIPduProps for this IPdu
This is only needed when the IPdu
is contained in a ContainerIPdu
map_signal ¶
map_signal(
signal: ISignal,
start_position: int,
byte_order: ByteOrder,
/,
*,
update_bit: Optional[int] = None,
transfer_property: TransferProperty = TransferProperty.Pending,
) -> ISignalToIPduMapping
map a signal to the ISignalIPdu
If this signal is part of a signal group, then the group must be mapped first
map_signal_group ¶
map_signal_group(
signal_group: ISignalGroup,
) -> ISignalToIPduMapping
map a signal group to the PDU
mapped_signals ¶
mapped_signals() -> Iterator[Union[ISignal, ISignalGroup]]
returns an iterator over all signals and signal groups mapped to the PDU
pdu_triggerings ¶
pdu_triggerings() -> List[PduTriggering]
list all PduTriggerings
that trigger this PDU
timing ¶
timing() -> IpduTiming
Helper function to set the transmission mode timing, used by ISignalIPdu::set_timing
for both true and false timing
get the transmission timing of the PDU
ISignalPort ¶
ISignalPort(element: Element)
The ISignalPort
allows an ECU to send or receive a Signal
communication_direction
instance-attribute
¶
communication_direction: Optional[CommunicationDirection]
get or set the communication direction of this port
ISignalToIPduMapping ¶
ISignalToIPduMapping(element: Element)
ISignalToIPduMapping
connects an ISignal
or ISignalGroup
to an ISignalToIPdu
byte_order
instance-attribute
¶
byte_order: Optional[ByteOrder]
get or set the byte order of the data in the mapped signal.
signal
instance-attribute
¶
signal: Optional[ISignal]
Reference to the signal that is mapped to the PDU. Every mapping contains either a signal or a signal group.
signal_group
instance-attribute
¶
signal_group: Optional[ISignalGroup]
Reference to the signal group that is mapped to the PDU. Every mapping contains either a signal or a signal group.
start_position
instance-attribute
¶
start_position: Optional[int]
Start position of the signal data within the PDU (bit position). The start position is mandatory if the mapping describes a signal.
transfer_property
instance-attribute
¶
transfer_property: Optional[TransferProperty]
Set the transfer property of the mapped signal
update_bit
instance-attribute
¶
update_bit: Optional[int]
Bit position of the update bit for the mapped signal. Not all signals use an update bit. This is never used for signal groups
ISignalTriggering ¶
ISignalTriggering(element: Element)
an ISignalTriggering
triggers a signal in a PDU
physical_channel
instance-attribute
¶
physical_channel: PhysicalChannel
get the physical channel that contains this signal triggering
connect_to_ecu ¶
connect_to_ecu(
ecu: EcuInstance, direction: CommunicationDirection
) -> ISignalPort
connect this signal triggering to an ECU
signal_ports ¶
signal_ports() -> Iterator[ISignalPort]
create an iterator over all signal ports that are connected to this signal triggering
InitialSdDelayConfig ¶
InitialSdDelayConfig(
*,
initial_delay_max_value: float,
initial_delay_min_value: float,
initial_repetitions_base_delay: Optional[float] = None,
initial_repetitions_max: Optional[int] = None,
)
A InitialSdDelayConfig
contains the configuration for the initial delay of an SD client or server
initial_delay_max_value
instance-attribute
¶
initial_delay_max_value: float
maximum value of the randomized delay in seconds
initial_delay_min_value
instance-attribute
¶
initial_delay_min_value: float
minimum value of the randomized delay in seconds
initial_repetitions_base_delay
instance-attribute
¶
initial_repetitions_base_delay: Optional[float]
base delay for repetitions in seconds
initial_repetitions_max
instance-attribute
¶
initial_repetitions_max: Optional[int]
maximum number of repetitions
IpduTiming ¶
IpduTiming(
*,
minimum_delay: Optional[float] = None,
transmission_mode_true_timing: Optional[
TransmissionModeTiming
] = None,
transmission_mode_false_timing: Optional[
TransmissionModeTiming
] = None,
)
Timing specification for an IPDU
minimum_delay
instance-attribute
¶
minimum_delay: Optional[float]
minimum delay in seconds between two transmissions of the PDU
transmission_mode_false_timing
instance-attribute
¶
transmission_mode_false_timing: Optional[
TransmissionModeTiming
]
timing specification if the COM transmission mode is false
transmission_mode_true_timing
instance-attribute
¶
transmission_mode_true_timing: Optional[
TransmissionModeTiming
]
timing specification if the COM transmission mode is true
LocalUnicastAddress ¶
LocalUnicastAddress_Tcp ¶
LocalUnicastAddress_Tcp(address: SocketAddress)
Bases: LocalUnicastAddress
LocalUnicastAddress_Udp ¶
LocalUnicastAddress_Udp(address: SocketAddress)
Bases: LocalUnicastAddress
MaximumMessageLengthType ¶
MultiplexedIPdu ¶
MultiplexedIPdu(element: Element)
The multiplexed pdu contains one of serveral signal pdus
contained_ipdu_props
instance-attribute
¶
contained_ipdu_props: Optional[ContainedIPduProps]
set the ContainedIPduProps for this IPdu
This is only needed when the IPdu
is contained in a ContainerIPdu
pdu_triggerings ¶
pdu_triggerings() -> List[PduTriggering]
list all PduTriggerings
that trigger this PDU
NPdu ¶
NPdu(element: Element)
This is a Pdu of the transport layer. The main purpose of the TP layer is to segment and reassemble IPdus
.
contained_ipdu_props
instance-attribute
¶
contained_ipdu_props: Optional[ContainedIPduProps]
set the ContainedIPduProps for this IPdu
This is only needed when the IPdu
is contained in a ContainerIPdu
pdu_triggerings ¶
pdu_triggerings() -> List[PduTriggering]
list all PduTriggerings
that trigger this PDU
NetworkEndpoint ¶
NetworkEndpoint(element: Element)
A network endpoint contains address information for a connection
add_network_endpoint_address ¶
add_network_endpoint_address(
address: NetworkEndpointAddress,
) -> None
add a network endpoint address to this NetworkEndpoint
A NetworkEndpoint
may have multiple sets of address information. The following restrictions apply:
- all addresses must have the same type, i.e. all IPv4 or all IPv6
- only one of them may be a
Fixed
address, all others must be dynamic (DHCP, automatic link local, etc.)
addresses ¶
addresses() -> Iterator[NetworkEndpointAddress]
iterator over all addresses in the NetworkEndpoint
NetworkEndpointAddress ¶
NetworkEndpointAddress_IPv4 ¶
NetworkEndpointAddress_IPv4(
*,
address: Optional[str] = None,
address_source: Optional[IPv4AddressSource] = None,
default_gateway: Optional[str] = None,
network_mask: Optional[str] = None,
)
Bases: NetworkEndpointAddress
NetworkEndpointAddress_IPv6 ¶
NetworkEndpointAddress_IPv6(
*,
address: Optional[str] = None,
address_source: Optional[IPv6AddressSource] = None,
default_router: Optional[str] = None,
)
Bases: NetworkEndpointAddress
NmConfig ¶
NmConfig(element: Element)
The NmConfig
is the root element for the network management configuration.
Only one config may exist per System
, and this configuration may contain multiple NmClusters
for different bus types.
Use System::create_nm_config
to create a new NmConfig
in a System
.
create_can_nm_cluster ¶
create_can_nm_cluster(
name: str,
settings: CanNmClusterSettings,
can_cluster: CanCluster,
) -> CanNmCluster
create a new CanNmCluster
create_can_nm_cluster_coupling ¶
create_can_nm_cluster_coupling(
nm_busload_reduction_enabled: bool,
nm_immediate_restart_enabled: bool,
) -> CanNmClusterCoupling
create a new CanNmClusterCoupling
create_flexray_nm_cluster ¶
create_flexray_nm_cluster(
name: str,
settings: FlexrayNmClusterSettings,
flexray_cluster: FlexrayCluster,
) -> FlexrayNmCluster
create a new FlexrayNmCluster
create_flexray_nm_cluster_coupling ¶
create_flexray_nm_cluster_coupling(
nm_schedule_variant: FlexrayNmScheduleVariant,
) -> FlexrayNmClusterCoupling
create a new FlexrayNmClusterCoupling
create_udp_nm_cluster ¶
create_udp_nm_cluster(
name: str,
settings: UdpNmClusterSettings,
ethernet_cluster: EthernetCluster,
) -> UdpNmCluster
create a new UdpNmCluster
create_udp_nm_cluster_coupling ¶
create_udp_nm_cluster_coupling() -> UdpNmClusterCoupling
create a new UdpNmClusterCoupling
nm_cluster_couplings ¶
nm_cluster_couplings() -> Iterator[
Union[
CanNmClusterCoupling,
FlexrayNmClusterCoupling,
UdpNmClusterCoupling,
]
]
iterate over all NmClusterCouplings
nm_clusters ¶
nm_clusters() -> Iterator[
Union[CanNmCluster, FlexrayNmCluster, UdpNmCluster]
]
get all NmClusters
NmEcu ¶
NmEcu(element: Element)
The NmEcu
represents an EcuInstance
wich participates in network management.
cycle_time_main_function
instance-attribute
¶
cycle_time_main_function: Optional[float]
get or set or remove the nmCycletimeMainFunction value
ecu_instance
instance-attribute
¶
ecu_instance: Optional[EcuInstance]
get or set the referenced EcuInstance
nm_bus_synchronization_enabled
instance-attribute
¶
nm_bus_synchronization_enabled: Optional[bool]
get or set the nmBusSynchronizationEnabled flag
nm_com_control_enabled
instance-attribute
¶
nm_com_control_enabled: Optional[bool]
get or set the nmComControlEnabled flag
NmPdu ¶
NmPdu(element: Element)
PduActivationRoutingGroup ¶
PduActivationRoutingGroup(element: Element)
A group of Pdus that can be activated or deactivated for transmission over a socket connection.
It is used by EventHandler
s in ProvidedServiceInstance
s and ConsumedServiceInstance
s.
event_group_control_type
instance-attribute
¶
event_group_control_type: Optional[EventGroupControlType]
get or set the event group control type of this PduActivationRoutingGroup
add_ipdu_identifier_tcp ¶
add_ipdu_identifier_tcp(
ipdu_identifier: SoConIPduIdentifier,
) -> None
add a reference to a SoConIPduIdentifier
for TCP communication to this PduActivationRoutingGroup
add_ipdu_identifier_udp ¶
add_ipdu_identifier_udp(
ipdu_identifier: SoConIPduIdentifier,
) -> None
add a reference to a SoConIPduIdentifier
for UDP communication to this PduActivationRoutingGroup
ipdu_identifiers_tcp ¶
ipdu_identifiers_tcp() -> Iterator[SoConIPduIdentifier]
get all SoConIPduIdentifier
s for TCP communication in this PduActivationRoutingGroup
ipdu_identifiers_udp ¶
ipdu_identifiers_udp() -> Iterator[SoConIPduIdentifier]
get all SoConIPduIdentifier
s for UDP communication in this PduActivationRoutingGroup
PduCollectionTrigger ¶
PduToFrameMapping ¶
PduToFrameMapping(element: Element)
PduToFrameMapping
connects a PDU to a frame
byte_order
instance-attribute
¶
byte_order: Optional[ByteOrder]
get or set the byte order of the data in the PDU.
All PduToFrameMappings
within a frame must have the same byte order.
PDUs may not use the byte order value Opaque
.
Note: If the byte order is swapped, then the start position must be adjusted accordingly.
pdu
instance-attribute
¶
pdu: Optional[Pdu]
Reference to the PDU that is mapped into the frame. The PDU reference is mandatory.
start_position
instance-attribute
¶
start_position: Optional[int]
set the start position of the PDU data within the frame (bit position).
PDUs are byte aligned. For little-endian data the values 0, 8, 16, ... are allowed; for big-endian data the values 7, 15, 23, ... are allowed.
Note: if you intend to change both the byte order and the start position, then you should change the byte order first. New values set here must match the configured byte order.
update_bit
instance-attribute
¶
update_bit: Optional[int]
set or clear the bit position of the update bit for the mapped PDU.
PduTriggering ¶
PduTriggering(element: Element)
a PduTriggering
triggers a PDU in a frame or ethernet connection
physical_channel
instance-attribute
¶
physical_channel: PhysicalChannel
get the physical channel that contains this pdu triggering
create_pdu_port ¶
create_pdu_port(
ecu: EcuInstance, direction: CommunicationDirection
) -> IPduPort
create an IPduPort
to connect a PduTriggering
to an EcuInstance
pdu_ports ¶
pdu_ports() -> Iterator[IPduPort]
create an iterator over the IPduPorts
that are connected to this PduTriggering
signal_triggerings ¶
signal_triggerings() -> Iterator[ISignalTriggering]
create an iterator over the ISignalTriggerings
that are triggered by this PduTriggering
ProvidedServiceInstance ¶
ProvidedServiceInstance(element: Element)
A ProvidedServiceInstance
is a service that is provided by an ECU
instance_identifier
instance-attribute
¶
instance_identifier: Optional[int]
get or set the instance identifier of this ProvidedServiceInstance
major_version
instance-attribute
¶
major_version: Optional[int]
get or set the major version of this ProvidedServiceInstance
minor_version
instance-attribute
¶
minor_version: Optional[int]
get or set the minor version of this ProvidedServiceInstance
sd_server_instance_config
instance-attribute
¶
sd_server_instance_config: Optional[
SomeipSdServerServiceInstanceConfig
]
get or set the SD server instance configuration for this ProvidedServiceInstance
service_identifier
instance-attribute
¶
service_identifier: Optional[int]
get or set the service identifier of this ProvidedServiceInstance
create_event_handler ¶
create_event_handler(
name: str, event_group_identifier: int
) -> EventHandler
create a new EventHandler
in this ProvidedServiceInstance
event_handlers ¶
event_handlers() -> Iterator[EventHandler]
get the EventHandler
s in this ProvidedServiceInstance
local_unicast_addresses ¶
local_unicast_addresses() -> Iterator[LocalUnicastAddress]
iterate over the local unicast addresses
set_local_unicast_address ¶
set_local_unicast_address(address: SocketAddress) -> None
set a local unicast address for this ProvidedServiceInstance
The PSI may use two local unicast addresses, one each for UDP and TCP. The unicast address is used to assign the service to a specific ECU, and may not be empty.
ProvidedServiceInstanceV1 ¶
ProvidedServiceInstanceV1(element: Element)
A ProvidedServiceInstanceV1
is a SD service instance that is provided by this ECU.
This is the old V1 version of the service definition.
instance_identifier
instance-attribute
¶
instance_identifier: Optional[int]
get or set the instance identifier of this ProvidedServiceInstance
service_identifier
instance-attribute
¶
service_identifier: Optional[int]
get or set the service identifier of this ProvidedServiceInstance
create_event_handler ¶
create_event_handler(name: str) -> EventHandlerV1
create a new EventHandlerV1
in this ProvidedServiceInstance
event_handlers ¶
event_handlers() -> Iterator[EventHandlerV1]
get the EventHandlerV1
s in this ProvidedServiceInstance
sd_server_config ¶
sd_server_config() -> Optional[SdConfig]
get or set the SD server configuration for this ProvidedServiceInstance
set_sd_server_config ¶
set_sd_server_config(sd_server_config: SdConfig) -> None
get or set the SD server configuration for this ProvidedServiceInstance
RequestResponseDelay ¶
RequestResponseDelay(*, min_value: float, max_value: float)
RxAcceptContainedIPdu ¶
SdConfig ¶
SdConfig(
*,
service_major_version: int,
service_minor_version: int,
initial_delay_max_value: float,
initial_delay_min_value: float,
initial_repetitions_base_delay: Optional[float] = None,
initial_repetitions_max: int,
offer_cyclic_delay: Optional[float] = None,
request_response_delay_max_value: float,
request_response_delay_min_value: float,
ttl: int,
)
SD configuration for a service instance
This struct is used to configure the SD server and client behavior for a service instance. it is used for the old V1 service definitions.
initial_delay_max_value
instance-attribute
¶
initial_delay_max_value: float
The maximum delay for the initial offer
initial_delay_min_value
instance-attribute
¶
initial_delay_min_value: float
The minimum delay for the initial offer
initial_repetitions_base_delay
instance-attribute
¶
initial_repetitions_base_delay: Optional[float]
The base delay for offer repetitions (if aggregated by SdServerConfig
) or find repetitions (if aggregated by SdClientConfig
)
initial_repetitions_max
instance-attribute
¶
initial_repetitions_max: int
The maximum number of repetitions for the initial offer or find
offer_cyclic_delay
instance-attribute
¶
offer_cyclic_delay: Optional[float]
The delay between two offers (if aggregated by SdServerConfig
) or finds (if aggregated by SdClientConfig
)
request_response_delay_max_value
instance-attribute
¶
request_response_delay_max_value: float
The maximum delay for a request-response cycle
request_response_delay_min_value
instance-attribute
¶
request_response_delay_min_value: float
The minimum delay for a request-response cycle
service_major_version
instance-attribute
¶
service_major_version: int
The major version of the service
service_minor_version
instance-attribute
¶
service_minor_version: int
The minor version of the service
SdEventConfig ¶
SdEventConfig(
*,
request_response_delay_max_value: float,
request_response_delay_min_value: float,
ttl: int,
)
Configuration for an SD event handler
SecureCommunicationProps ¶
SecureCommunicationProps(
*,
auth_data_freshness_length: Optional[int] = None,
auth_data_freshness_start_position: Optional[
int
] = None,
authentication_build_attempts: Optional[int] = None,
authentication_retries: Optional[int] = None,
data_id: Optional[int] = None,
freshness_value_id: Optional[int] = None,
message_link_length: Optional[int] = None,
message_link_position: Optional[int] = None,
secondary_freshness_value_id: Optional[int] = None,
secured_area_length: Optional[int] = None,
secured_area_offset: Optional[int] = None,
)
The properties of a SecuredIPdu
auth_data_freshness_length
instance-attribute
¶
auth_data_freshness_length: Optional[int]
length in bits of the authentic PDU data
auth_data_freshness_start_position
instance-attribute
¶
auth_data_freshness_start_position: Optional[int]
start position in bits of the authentic PDU data
authentication_build_attempts
instance-attribute
¶
authentication_build_attempts: Optional[int]
number of authentication build attempts
authentication_retries
instance-attribute
¶
authentication_retries: Optional[int]
number of additional authentication attempts. If this value is zero, the authentication is not repeated
message_link_length
instance-attribute
¶
message_link_length: Optional[int]
message link length in bits
message_link_position
instance-attribute
¶
message_link_position: Optional[int]
message link start position in bits
secondary_freshness_value_id
instance-attribute
¶
secondary_freshness_value_id: Optional[int]
seconday freshness value id
secured_area_length
instance-attribute
¶
secured_area_length: Optional[int]
length in bytes of the secure area inside the payload pdu
secured_area_offset
instance-attribute
¶
secured_area_offset: Optional[int]
start position in bytes of the secure area inside the payload pdu
SecuredIPdu ¶
SecuredIPdu(element: Element)
Wraps an IPdu
to protect it from unauthorized manipulation
contained_ipdu_props
instance-attribute
¶
contained_ipdu_props: Optional[ContainedIPduProps]
set the ContainedIPduProps for this IPdu
This is only needed when the IPdu
is contained in a ContainerIPdu
payload_pdu_triggering
instance-attribute
¶
payload_pdu_triggering: Optional[PduTriggering]
get or set the PduTriggering
that triggers the payload PDU
When use_as_cryptographic_ipdu is true, this attribute can be used to directly set PduTriggering of the payload PDU.
When use_as_cryptographic_ipdu is false, the function set_payload_ipdu
should be used to create a new PduTriggering and set it.
secure_communication_props
instance-attribute
¶
secure_communication_props: Optional[
SecureCommunicationProps
]
pdu_triggerings ¶
pdu_triggerings() -> List[PduTriggering]
list all PduTriggerings
that trigger this PDU
set_payload_ipdu ¶
set_payload_ipdu(
pdu: IPdu, physical_channel: PhysicalChannel
) -> PduTriggering
set the payload PduTriggering based on an IPdu
This function should be used when useAsCryptographicIPdu is false or not set. A PduTriggering is created for the Pdu
ServiceInstanceCollectionSet ¶
ServiceInstanceCollectionSet(element: Element)
A ServiceInstanceCollectionSet
contains ServiceInstance
s that are provided or consumed by an ECU
create_consumed_service_instance ¶
create_consumed_service_instance(
name: str,
service_identifier: int,
instance_identifier: int,
major_version: int,
minor_version: str,
) -> ConsumedServiceInstance
create a new ConsumedServiceInstance
in this ServiceInstanceCollectionSet
create_provided_service_instance ¶
create_provided_service_instance(
name: str,
service_identifier: int,
instance_identifier: int,
major_version: int,
minor_version: int,
) -> ProvidedServiceInstance
create a new ProvidedServiceInstance
in this ServiceInstanceCollectionSet
service_instances ¶
service_instances() -> Iterator[
Union[ConsumedServiceInstance, ProvidedServiceInstance]
]
create an iterator over all ServiceInstances
in this set
SoAdRoutingGroup ¶
SoAdRoutingGroup(element: Element)
A SoAdRoutingGroup
is used to link SomeIp
settings in Consumed/ProvidedServiceInstances
to the SocketConnectionBundles
used for transmission.
SoAdRoutingGroups
are part of the old way of configuring Ethernet communication in AUTOSAR.
SoConIPduIdentifier ¶
SoConIPduIdentifier(element: Element)
A SoConIPduIdentifier
describes a PDU that is transported over a static socket connection.
collection_trigger
instance-attribute
¶
collection_trigger: Optional[PduCollectionTrigger]
get or set the collection trigger for this SoConIPduIdentifier
header_id
instance-attribute
¶
header_id: Optional[int]
get or set the header id for this SoConIPduIdentifier
pdu_triggering
instance-attribute
¶
pdu_triggering: Optional[PduTriggering]
get the PduTriggering
referenced by this SoConIPduIdentifier
set_pdu ¶
set_pdu(pdu: Pdu, channel: EthernetPhysicalChannel) -> None
create a new PduTriggering
for the pdu and reference it in this SoConIPduIdentifier
SocketAddress ¶
SocketAddress(element: Element)
A socket address establishes the link between one or more ECUs and a NetworkEndpoint
.
It contains all settings that are relevant for this combination.
network_endpoint
instance-attribute
¶
network_endpoint: Optional[NetworkEndpoint]
get the network endpoint of this SocketAddress
physical_channel
instance-attribute
¶
physical_channel: EthernetPhysicalChannel
get the EthernetPhysicalChannel
containing this SocketAddress
socket_address_type
instance-attribute
¶
socket_address_type: Optional[SocketAddressType]
get the socket address type: unicast / multicast, as well as the connected ecus
tp_config
instance-attribute
¶
tp_config: Optional[TpConfig]
get the transport protocol settings for this SocketAddress
add_multicast_ecu ¶
add_multicast_ecu(ecu: EcuInstance) -> None
add an EcuInstance
to this multicast SocketAddress
consumed_service_instances ¶
consumed_service_instances() -> Iterator[
ConsumedServiceInstanceV1
]
get the ConsumedServiceInstance
s in this SocketAddress
create_consumed_service_instance ¶
create_consumed_service_instance(
name: str,
provided_service_instance: ProvidedServiceInstanceV1,
) -> ConsumedServiceInstanceV1
create a ConsumedServiceInstanceV1
in this SocketAddress
Creating a ConsumedServiceInstanceV1
in a SocketAddress
is part of the old way of defining services (<= Autosar 4.5.0).
It is obsolete in newer versions of the standard.
When using the new way of defining services, a ConsumedServiceInstance
should be created in a ServiceInstanceCollectionSet
instead.
create_provided_service_instance ¶
create_provided_service_instance(
name: str,
service_identifier: int,
instance_identifier: int,
) -> ProvidedServiceInstanceV1
create a ProvidedServiceInstanceV1
in this SocketAddress
Creating a ProvidedServiceInstanceV1
in a SocketAddress
is part of the old way of defining services (<= Autosar 4.5.0).
It is obsolete in newer versions of the standard.
When using the new way of defining services, a ProvidedServiceInstance
should be created in a ServiceInstanceCollectionSet
instead.
create_static_socket_connection ¶
create_static_socket_connection(
name: str,
remote_address: SocketAddress,
/,
*,
tcp_role: Optional[TcpRole] = None,
tcp_connect_timeout: Optional[float] = None,
) -> StaticSocketConnection
create a new StaticSocketConnection
from this SocketAddress
to a remote SocketAddress
provided_service_instances ¶
provided_service_instances() -> Iterator[
ProvidedServiceInstanceV1
]
get the ProvidedServiceInstanceV1
s in this SocketAddress
set_unicast_ecu ¶
set_unicast_ecu(ecu: EcuInstance) -> None
set the EcuInstance
for this unicast SocketAddress
static_socket_connections ¶
static_socket_connections() -> Iterator[
StaticSocketConnection
]
iterate over all StaticSocketConnection
s in this SocketAddress
SocketAddressType ¶
SocketAddressType_Multicast ¶
SocketAddressType_Multicast(ecus: List[EcuInstance] = [])
Bases: SocketAddressType
SocketAddressType_Unicast ¶
SocketAddressType_Unicast(
ecu: Optional[EcuInstance] = None,
)
Bases: SocketAddressType
SocketConnection ¶
SocketConnection(element: Element)
A socketConnection inside a SocketConnectionBundle
describes a single connection to a specific client port.
client_ip_addr_from_connection_request
instance-attribute
¶
client_ip_addr_from_connection_request: Optional[bool]
get or set the client_ip_addr_from_connection_request
attribute for this socket connection
if the value is Some(true), the attribute is set to "true" if the value is Some(false), the attribute is set to "false" if the value is None, the attribute is removed
client_port
instance-attribute
¶
client_port: Optional[SocketAddress]
get or set the client port of this socket connection
client_port_from_connection_request
instance-attribute
¶
client_port_from_connection_request: Optional[bool]
get or set the client_port_from_connection_request
attribute for this socket connection
if the value is Some(true), the attribute is set to "true" if the value is Some(false), the attribute is set to "false" if the value is None, the attribute is removed
runtime_ip_address_configuration
instance-attribute
¶
runtime_ip_address_configuration: bool
get or set the value of the RuntimeIpAddressConfiguration attribute for this socket connection
runtime_port_configuration
instance-attribute
¶
runtime_port_configuration: bool
get or set the value of the RuntimePortConfiguration attribute for this socket connection
socket_connection_bundle
instance-attribute
¶
socket_connection_bundle: SocketConnectionBundle
get the socket connection bundle containing this socket connection
create_socket_connection_ipdu_identifier ¶
create_socket_connection_ipdu_identifier(
pdu: Pdu,
header_id: int,
/,
*,
timeout: Optional[float] = None,
collection_trigger: Optional[
PduCollectionTrigger
] = None,
) -> Tuple[SocketConnectionIpduIdentifier, PduTriggering]
add a PDU to the socket connection, returning a PduTriggering
pdu_triggerings ¶
pdu_triggerings() -> Iterator[PduTriggering]
create an iterator over all PDU triggerings in this socket connection
socket_connection_ipdu_identifiers ¶
socket_connection_ipdu_identifiers() -> Iterator[
SocketConnectionIpduIdentifier
]
create an iterator over all SocketConnectionIpduIdentifiers
in this socket connection
SocketConnectionBundle ¶
SocketConnectionBundle(element: Element)
A SocketConnectionBundle
describes a connection between a server port and multiple client ports.
It contains multiple bundled connections, each transporting one or more PDUs.
physical_channel
instance-attribute
¶
physical_channel: EthernetPhysicalChannel
get the physical channel containing this socket connection bundle
server_port
instance-attribute
¶
server_port: Optional[SocketAddress]
get or set the server port of this socket connection bundle
bundled_connections ¶
bundled_connections() -> Iterator[SocketConnection]
create an iterator over all bundled connections in this socket connection bundle
create_bundled_connection ¶
create_bundled_connection(
client_port: SocketAddress,
) -> SocketConnection
create a bundled SocketConnection
between the server port and a client port
SocketConnectionIpduIdentifier ¶
SocketConnectionIpduIdentifier(element: Element)
A SocketConnectionIpduIdentifier
is used to trigger a PDU in a SocketConnection
.
In addition to the Pdu Triggering, it also contains associated settings like the header id, timeout and collection trigger.
collection_trigger
instance-attribute
¶
collection_trigger: Optional[PduCollectionTrigger]
set the collection trigger for this SocketConnectionIpduIdentifier
header_id
instance-attribute
¶
header_id: Optional[int]
set the header id for this SocketConnectionIpduIdentifier
pdu_triggering
instance-attribute
¶
pdu_triggering: Optional[PduTriggering]
get the PduTriggering
associated with this SocketConnectionIpduIdentifier
socket_connection
instance-attribute
¶
socket_connection: SocketConnection
get the SocketConnection containing this SocketConnectionIpduIdentifier
timeout
instance-attribute
¶
timeout: Optional[float]
set the timeout for this SocketConnectionIpduIdentifier
add_routing_group ¶
add_routing_group(routing_group: SoAdRoutingGroup) -> None
add a reference to a SoAdRoutingGroup
to this SocketConnectionIpduIdentifier
routing_groups ¶
routing_groups() -> Iterator[SoAdRoutingGroup]
create an iterator over all SoAdRoutingGroups
referenced by this SocketConnectionIpduIdentifier
trigger_pdu ¶
trigger_pdu(pdu: Pdu) -> PduTriggering
trigger a PDU in this SocketConnectionIpduIdentifier
, creating a PduTriggering
SocketConnectionIpduIdentifierSet ¶
SocketConnectionIpduIdentifierSet(element: Element)
A SocketConnectionIpduIdentifierSet
contains a set of SoConIPduIdentifiers
, which are used in static socket connections and in SomeIp
events.
create_socon_ipdu_identifier ¶
create_socon_ipdu_identifier(
name: str,
pdu: Pdu,
channel: EthernetPhysicalChannel,
/,
*,
header_id: Optional[int] = None,
timeout: Optional[float] = None,
collection_trigger: Optional[
PduCollectionTrigger
] = None,
) -> SoConIPduIdentifier
create a new SoConIPduIdentifier
in this set
socon_ipdu_identifiers ¶
socon_ipdu_identifiers() -> Iterator[SoConIPduIdentifier]
create an iterator over all SoConIPduIdentifiers
in this set
SomeIpMessageType ¶
message types that can be used in a SOME/IP message header, depending on the type of communication
SomeIpTransformationISignalProps ¶
SomeIpTransformationISignalProps(element: Element)
Properties for the SOMEIP transformation of an ISignal(Group)
dynamic_length
instance-attribute
¶
dynamic_length: Optional[bool]
get or set the dynamic length property
interface_version
instance-attribute
¶
interface_version: Optional[int]
get or set the interface version property
legacy_strings
instance-attribute
¶
legacy_strings: Optional[bool]
get or set the legacy strings property
message_type
instance-attribute
¶
message_type: Optional[SomeIpMessageType]
get or set the message type property
size_of_array_length
instance-attribute
¶
size_of_array_length: Optional[int]
get or set the size of array length property
size_of_string_length
instance-attribute
¶
size_of_string_length: Optional[int]
get or set the size of string length property
size_of_struct_length
instance-attribute
¶
size_of_struct_length: Optional[int]
get or set the size of struct length property
size_of_union_length
instance-attribute
¶
size_of_union_length: Optional[int]
get or set the size of union length property
transformer
instance-attribute
¶
transformer: Optional[TransformationTechnology]
get or set the transformer reference of the E2E transformation properties
SomeIpTransformationTechnologyConfig ¶
SomeIpTransformationTechnologyConfig(
*,
alignment: int,
byte_order: ByteOrder,
interface_version: int,
)
Configuration for a SOMEIP transformation
SomeipSdClientEventGroupTimingConfig ¶
SomeipSdClientEventGroupTimingConfig(element: Element)
A SomeipSdClientEventGroupTimingConfig
contains the configuration for the timing of a ConsumedEventGroup
This configuration is a named element that is created separately and can be used by multiple ConsumedEventGroup
s.
Use [ArPackage::create_someip_sd_client_event_group_timing_config
] to create a new SomeipSdClientEventGroupTimingConfig
.
subscribe_eventgroup_retry_delay
instance-attribute
¶
subscribe_eventgroup_retry_delay: Optional[float]
get or set the subscribe eventgroup retry delay of this SomeipSdClientEventGroupTimingConfig
subscribe_eventgroup_retry_max
instance-attribute
¶
subscribe_eventgroup_retry_max: Optional[int]
get or set subscribe eventgroup retry max of this SomeipSdClientEventGroupTimingConfig
time_to_live
instance-attribute
¶
time_to_live: Optional[int]
get or set the time to live of this SomeipSdClientEventGroupTimingConfig
request_response_delay ¶
request_response_delay() -> Optional[RequestResponseDelay]
get the request response delay of this SomeipSdClientEventGroupTimingConfig
set_request_response_delay ¶
set_request_response_delay(
request_response_delay: RequestResponseDelay,
) -> None
set the request response delay of this SomeipSdClientEventGroupTimingConfig
SomeipSdClientServiceInstanceConfig ¶
SomeipSdClientServiceInstanceConfig(element: Element)
A SomeipSdClientServiceInstanceConfig
is a configuration for a ConsumedServiceInstance
This configuration is a named element that is created separately and can be used by multiple ConsumedServiceInstance
s.
Use [ArPackage::create_someip_sd_client_service_instance_config
] to create a new SomeipSdClientServiceInstanceConfig
.
priority
instance-attribute
¶
priority: Optional[int]
get or set the priority of this SomeipSdClientServiceInstanceConfig
Available since R21-11 (AUTOSAR_00050
)
initial_find_behavior ¶
initial_find_behavior() -> Optional[InitialSdDelayConfig]
get the initial find behavior of this SomeipSdClientServiceInstanceConfig
set_initial_find_behavior ¶
set_initial_find_behavior(
initial_find_behavior: InitialSdDelayConfig,
) -> None
set the initial find behavior of this SomeipSdClientServiceInstanceConfig
SomeipSdServerEventGroupTimingConfig ¶
SomeipSdServerEventGroupTimingConfig(element: Element)
A SomeipSdServerEventGroupTimingConfig
contains the configuration for the timing of an EventHandler
This configuration is a named element that is created separately and can be used by multiple EventHandler
s.
Use [ArPackage::create_someip_sd_server_event_group_timing_config
] to create a new SomeipSdServerEventGroupTimingConfig
.
request_response_delay ¶
request_response_delay() -> Optional[RequestResponseDelay]
get the request response delay of this SomeipSdServerEventGroupTimingConfig
set_request_response_delay ¶
set_request_response_delay(
request_response_Delay: RequestResponseDelay,
) -> None
set the request response delay of this SomeipSdServerEventGroupTimingConfig
SomeipSdServerServiceInstanceConfig ¶
SomeipSdServerServiceInstanceConfig(element: Element)
A SomeipSdServerServiceInstanceConfig
is a configuration for a ProvidedServiceInstance
This configuration is a named element that is created separately and can be used by multiple ProvidedServiceInstance
s.
Use [ArPackage::create_someip_sd_server_service_instance_config
] to create a new SomeipSdServerServiceInstanceConfig
.
offer_cyclic_delay
instance-attribute
¶
offer_cyclic_delay: Optional[float]
get or set the offer cyclic delay of this SomeipSdServerServiceInstanceConfig
priority
instance-attribute
¶
priority: Optional[int]
get or set the priority of this SomeipSdServerServiceInstanceConfig
Available since R21-11 (AUTOSAR_00050
)
service_offer_time_to_live
instance-attribute
¶
service_offer_time_to_live: Optional[int]
get or set the service offer time to live of this SomeipSdServerServiceInstanceConfig
initial_offer_behavior ¶
initial_offer_behavior() -> Optional[InitialSdDelayConfig]
get the initial offer behavior of this SomeipSdServerServiceInstanceConfig
request_response_delay ¶
request_response_delay() -> Optional[RequestResponseDelay]
get the request response delay of this SomeipSdServerServiceInstanceConfig
set_initial_offer_behavior ¶
set_initial_offer_behavior(
initial_offer_behavior: InitialSdDelayConfig,
) -> None
set the initial offer behavior of this SomeipSdServerServiceInstanceConfig
set_request_response_delay ¶
set_request_response_delay(
request_response_delay: RequestResponseDelay,
) -> None
set the request response delay of this SomeipSdServerServiceInstanceConfig
SomeipTpChannel ¶
SomeipTpChannel(element: Element)
SomeipTpConfig ¶
SomeipTpConfig(element: Element)
A SomipTpConfig
contains the configuration of individual SomeIp
TP connections
cluster
instance-attribute
¶
cluster: Optional[
Union[CanCluster, FlexrayCluster, EthernetCluster]
]
get the communication cluster of this SomeipTpConfig
create_someip_tp_channel ¶
create_someip_tp_channel(name: str) -> SomeipTpChannel
create a new SomeipTpChannel
in this SomeipTpConfig
version >= AUTOSAR_00046
create_someip_tp_connection ¶
create_someip_tp_connection(
tp_sdu: ISignalIPdu,
transport_pdu_triggering: PduTriggering,
/,
*,
tp_channel: Optional[SomeipTpChannel] = None,
) -> SomeipTpConnection
create a new SomeIp TP connection in this SomeipTpConfig
someip_tp_channels ¶
someip_tp_channels() -> Iterator[SomeipTpChannel]
iterate over all SomeipTpChannel
s in this SomeipTpConfig
someip_tp_connections ¶
someip_tp_connections() -> Iterator[SomeipTpConnection]
get all SomeipTpConnection
s in this SomeipTpConfig
SomeipTpConnection ¶
SomeipTpConnection(element: Element)
A SomeipTpConnection
contains the configuration of a single SomeIp
TP connection
someip_tp_config
instance-attribute
¶
someip_tp_config: SomeipTpConfig
get the SomeipTpConfig
that contains this SomeipTpConnection
tp_channel
instance-attribute
¶
tp_channel: Optional[SomeipTpChannel]
set the TpChannel
of this SomeipTpConnection
transport_pdu_triggering
instance-attribute
¶
transport_pdu_triggering: Optional[PduTriggering]
get or set the PduTriggering
for the transport PDU of this SomeipTpConnection
StaticSocketConnection ¶
StaticSocketConnection(element: Element)
A static socket connection is a connection between two sockets.
This is the new way to establish a connection. It was introduced in Autosar 4.5.0 (AUTOSAR_00048
).
remote_socket
instance-attribute
¶
remote_socket: Optional[SocketAddress]
get or set the remote socket of this connection
socket_address
instance-attribute
¶
socket_address: SocketAddress
get the socket address containing this static socket connection
tcp_connect_timeout
instance-attribute
¶
tcp_connect_timeout: Optional[float]
get or set the TCP connect timeout of this static socket connection
tcp_role
instance-attribute
¶
tcp_role: Optional[TcpRole]
get or set the TCP role of this static socket connection
add_ipdu_identifier ¶
add_ipdu_identifier(
identifier: SoConIPduIdentifier,
) -> None
add a SoConIPduIdentifier
to this static socket connection
ipdu_identifiers ¶
ipdu_identifiers() -> Iterator[SoConIPduIdentifier]
create an iterator over all SoConIPduIdentifiers
in this static socket connection
SystemSignal ¶
SystemSignal(element: Element)
The system signal represents the communication system's view of data exchanged between SW components which reside on different ECUs
Use [ArPackage::create_system_signal
] to create a new system signal
compu_method
instance-attribute
¶
compu_method: Optional[CompuMethod]
get or set the compu method for this signal
data_constr
instance-attribute
¶
data_constr: Optional[DataConstr]
get or set the data constraint for this signal
signal_group
instance-attribute
¶
signal_group: Optional[SystemSignalGroup]
get the signal group that contains this signal
SystemSignalGroup ¶
SystemSignalGroup(element: Element)
A signal group refers to a set of signals that shall always be kept together. A signal group is used to guarantee the atomic transfer of AUTOSAR composite data types.
Use [ArPackage::create_system_signal_group
] to create a new system signal group
TcpRole ¶
TpAddress ¶
TpAddress(element: Element)
Represents an ECUs transport layer address on the referenced channel
The TpAddress
element is used by FlexrayArTpConfig
and FlexrayTpConfig
TpConfig ¶
transport protocol settings of a [SocketAddress
]
TpConfig_TcpTp ¶
TpConfig_UdpTp ¶
TransferProperty ¶
The TransferProperty
defines if or how the signal influences the transfer of the PDU
TriggeredOnChangeWithoutRepetition
instance-attribute
¶
TriggeredOnChangeWithoutRepetition: TransferProperty
TransformationTechnology ¶
TransformationTechnology(element: Element)
A TransformationTechnology
describes how to transform signal or PDU data
data_transformation_set
instance-attribute
¶
data_transformation_set: Optional[DataTransformationSet]
get the DataTransformationSet
that contains this TransformationTechnology
protocol
instance-attribute
¶
protocol: Optional[str]
Get the protocol of the TransformationTechnology
. It can be set by replacing the whole config
transformer_class
instance-attribute
¶
transformer_class: Optional[str]
Get the transformer class of the TransformationTechnology
config ¶
config() -> Optional[TransformationTechnologyConfig]
get the configuration of the TransformationTechnology
set_config ¶
set_config(config: TransformationTechnologyConfig) -> None
set the configuration of the TransformationTechnology
TransmissionModeTiming ¶
TransmissionModeTiming(
*,
cyclic_timing: Optional[CyclicTiming] = None,
event_controlled_timing: Optional[
EventControlledTiming
] = None,
)
UdpNmCluster ¶
UdpNmCluster(element: Element)
Udp / Ethernet specific NmCluster
channel_sleep_master
instance-attribute
¶
channel_sleep_master: Optional[bool]
get or set the nmChannelSleepMaster flag
communication_cluster
instance-attribute
¶
communication_cluster: Optional[EthernetCluster]
set the referenced EthernetCluster
nm_cbv_position
instance-attribute
¶
nm_cbv_position: Optional[int]
get or set the value nmCbvPosition
nm_immediate_nm_transmissions
instance-attribute
¶
nm_immediate_nm_transmissions: Optional[int]
get or set the value nmImmediateNmTransmissions
nm_message_timeout_time
instance-attribute
¶
nm_message_timeout_time: Optional[float]
get or set the nmMessageTimeoutTime
nm_msg_cycle_time
instance-attribute
¶
nm_msg_cycle_time: Optional[float]
get or set the nmMsgCycleTime
nm_network_timeout
instance-attribute
¶
nm_network_timeout: Optional[float]
get or set the NmNetworkTimeout
nm_nid_position
instance-attribute
¶
nm_nid_position: Optional[int]
get or set the value nmNidPosition
nm_remote_sleep_indication_time
instance-attribute
¶
nm_remote_sleep_indication_time: Optional[float]
get or set the NmRemoteSleepIndicationTime
nm_repeat_message_time
instance-attribute
¶
nm_repeat_message_time: Optional[float]
get or set the NmRepeatMessageTime
nm_wait_bus_sleep_time
instance-attribute
¶
nm_wait_bus_sleep_time: Optional[float]
get or set the NmWaitBusSleepTime
node_detection_enabled
instance-attribute
¶
node_detection_enabled: Optional[bool]
get or set the nmNodeDetectionEnabled flag
node_id_enabled
instance-attribute
¶
node_id_enabled: Optional[bool]
get or set the nmNodeIdEnabled flag
pnc_cluster_vector_length
instance-attribute
¶
pnc_cluster_vector_length: Optional[int]
get or set the pncClusterVectorLength
pnc_participation
instance-attribute
¶
pnc_participation: Optional[bool]
get or set the nmPncParticipation flag
repeat_msg_ind_enabled
instance-attribute
¶
repeat_msg_ind_enabled: Optional[bool]
get or set the nmRepeatMsgIndEnabled flag
synchronizing_network
instance-attribute
¶
synchronizing_network: Optional[bool]
get or set the nmSynchronizingNetwork flag
vlan
instance-attribute
¶
vlan: Optional[EthernetPhysicalChannel]
get or set the Vlan associated with the cluster through an EthernetPhysicalChannel
reference.
create_udp_nm_node ¶
create_udp_nm_node(
name: str,
controller: EthernetCommunicationController,
nm_ecu: NmEcu,
nm_msg_cycle_offset: float,
) -> UdpNmNode
add a UdpNmNode
to the cluster
UdpNmClusterCoupling ¶
UdpNmClusterCoupling(element: Element)
Udp / Ethernet specific NmClusterCoupling
It couples multiple UdpNmCluster
s and provides UdpNm-specific settings
UdpNmClusterSettings ¶
UdpNmClusterSettings(
*,
nm_msg_cycle_time: float,
nm_msg_timeout_time: float,
nm_network_timeout: float,
nm_remote_sleep_indication_time: float,
nm_repeat_message_time: float,
nm_wait_bus_sleep_time: float,
)
UdpNmClusterSettings
encapsulates the mandatory settings for a UdpNmCluster
nm_network_timeout
instance-attribute
¶
nm_network_timeout: float
Network Timeout for NmPdus
in seconds
nm_remote_sleep_indication_time
instance-attribute
¶
nm_remote_sleep_indication_time: float
Timeout for Remote Sleep Indication in seconds
nm_repeat_message_time
instance-attribute
¶
nm_repeat_message_time: float
Timeout for Repeat Message State in seconds
nm_wait_bus_sleep_time
instance-attribute
¶
nm_wait_bus_sleep_time: float
Timeout for bus calm down phase in seconds
UdpNmNode ¶
UdpNmNode(element: Element)
Udp / Ethernet specific NmNode
all_nm_messages_keep_awake
instance-attribute
¶
all_nm_messages_keep_awake: Optional[bool]
set ot remove the allNmMessagesKeepAwake flag
If enabled
is Some
, the flag is set to the value of enabled
. If enabled
is None
, the flag is removed.
communication_controller
instance-attribute
¶
communication_controller: Optional[
EthernetCommunicationController
]
get or set the referenced EthernetCommunicationController
nm_msg_cycle_offset
instance-attribute
¶
nm_msg_cycle_offset: Optional[float]
get or set the NmMsgCycleOffset
passive_mode
instance-attribute
¶
passive_mode: Optional[bool]
set ot remove the nmPassiveModeEnabled flag
add_rx_nm_pdu ¶
add_rx_nm_pdu(nm_pdu: NmPdu) -> None
add an Rx NmPdu
Every NmNode
must have at least one Rx NmPdu
add_tx_nm_pdu ¶
add_tx_nm_pdu(nm_pdu: NmPdu) -> None
add a Tx NmPdu
Active NmNodes
must have at least one Tx NmPdu
, while passive NmNodes
may have none.