Mtf Pybinder Module

MTF.Core Python wrappers around the C++ implementation of MTF.Core Framework

class mtf.libs.mtf_pybinder.ASAMDataType

Enum class for singal base data types

Members:

Int_8

UInt_8

Int_16

UInt_16

Int_32

UInt_32

Int_64

UInt_64

Float_32

Float_64

AsciiString

ByteField

BitField

Unknown

AsciiString
BitField
ByteField
Float_32
Float_64
Int_16
Int_32
Int_64
Int_8
UInt_16
UInt_32
UInt_64
UInt_8
Unknown
__init__(self: mtf.libs.mtf_pybinder.ASAMDataType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.BitCountingPolicy

enum of the the bit counting policies for SecOC (Monotone or Sawtooth)

Members:

Monotone

Sawtooth

Unknown

Monotone
Sawtooth
Unknown
__init__(self: mtf.libs.mtf_pybinder.BitCountingPolicy, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.BitOrder

Enum class for bit order types

Members:

Decreasing

Increasing

Decreasing
Increasing
__init__(self: mtf.libs.mtf_pybinder.BitOrder, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.Brs

Members:

ON

OFF

OFF
ON
__init__(self: mtf.libs.mtf_pybinder.Brs, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.BrsFlag

Members:

ON

OFF

OFF
ON
__init__(self: mtf.libs.mtf_pybinder.BrsFlag, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.ByteOrder

Enum class for byte order types

Members:

BigEndian

LittleEndian

BigEndian
LittleEndian
__init__(self: mtf.libs.mtf_pybinder.ByteOrder, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.CanChannel
__init__(*args, **kwargs)
__new__(**kwargs)
check_if_traffic_received(self: mtf.libs.mtf_pybinder.LegacyChannel, timeout: int, event_type: int) bool

Check if there was traffic on the bus before a specific timeout. PS: The bus observer needs to be started. Arg:

timeout (int): The duration for which to monitor event traffic, expressed in milliseconds event_type (int): Specifies the type of event for which traffic should be monitored

Return: bool type

clear_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) None

clear legacy bus listener history

static get_can_channel(channel_name: str) mtf.libs.mtf_pybinder.CanChannel

Get a CAN channel instance. Arg:

channel_name (string)

Return: CANBus

static get_ethernet_channel(channel_name: str) mtf.libs.mtf_pybinder.EthernetChannel

Get a Ethernet channel instance. Arg:

channel_name (string)

Return: EthernetBus

static get_flexray_channel(channel_name: str) mtf.libs.mtf_pybinder.FlexRayChannel

Get a FlexRay channel instance. Arg:

channel_name (string)

Return: FlexrayBus

get_frame_by_id(self: mtf.libs.mtf_pybinder.LegacyChannel, frame_id: int | str | mtf.libs.mtf_pybinder.FrFrameIdParts) mtf.libs.mtf_pybinder.LegacyFrame

Get frame instance by id Arg:

frame_id (FrameIDVariant): A frame identifier (frame ID) encapsulated in a variant (FrameIDVariant)

Return: LegacyFrameSptr type

get_frames_by_name(self: mtf.libs.mtf_pybinder.LegacyChannel, frame_name: str) list[mtf.libs.mtf_pybinder.LegacyFrame]

Get frame instance by name Arg:

frame_name (string): The name of the frame for which instances need to be retrieved

Return: vector of LegacyFrameSptr type

get_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]
Get legacy bus listener history

Return: vector of DataFramePtr

static get_instance(channel_name: str) mtf.libs.mtf_pybinder.CanChannel
get instance of CAN channel

Arg:(channel_name: string type)

static get_io_channel(channel_name: str) mtf.libs.mtf_pybinder.IoChannel

Get a IO channel instance. Arg:

channel_name (string)

Return: IoChannel

static get_lin_channel(channel_name: str) mtf.libs.mtf_pybinder.LinChannel

Get a LIN channel instance. Arg:

channel_name (string)

Return: LinBus

static get_serial_channel(channel_name: str) mtf.libs.mtf_pybinder.SerialChannel

Get a Serial channel instance. Arg:

channel_name (string)

Return: SerialChannel

monitor_traffic(self: mtf.libs.mtf_pybinder.LegacyChannel, timeout: int, event_type: int) bool

Monitor traffic in the legacy bus during a timeout Arg:

timeout (int): The duration for which to monitor event traffic, expressed in milliseconds event_type (int): Specifies the type of event for which traffic should be monitored

Return: bool type

property name

Get channel name

send_frame(self: mtf.libs.mtf_pybinder.CanChannel, frame_event: mtf.libs.mtf_pybinder.CanDataFrame, error_flags: int = 0) bool

send CAN frame in given channel Arg:

frame_event (CanDataFramePtr): A shared pointer to a CanDataFramePtr object representing the CAN data frame to be transmitted

Return : bool type

send_frames(self: mtf.libs.mtf_pybinder.CanChannel, frame_event_list: list[mtf.libs.mtf_pybinder.CanDataFrame], error_flags: int = 0) bool

send CAN frames in given channel Arg:

frame_event_list (list of CanDataFramePtr): A list of shared pointers to CanDataFramePtr objects representing the CAN data frames to be transmitted

Return : bool type

set_interception_function(self: mtf.libs.mtf_pybinder.Channel, interception_function: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]) bool

Set a function to be called before sending any frame for the specified channel. The function is responsible for processing the data frame request and may modify the payload using “set_payload” method. If you want to drop the frame, you just need to set it to “None”. It is not thread-safe and should be used with caution. So, it is advised to set it once prior to any transmission on the corresponding channel. Arg:

interception_function: It is used to store a callback function or a callable object that will be executed with an argument

of type mtf::core::DataFrameRequestPtr

Return: bool type

start_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None] | None = None, listening_flags: int | None = None) bool

Start the data acquisition Args:

callback: optional callable listening_flags: optional int bitmask

Return: bool

start_observer(self: mtf.libs.mtf_pybinder.LegacyChannel, event_type: int) bool

Start legacy bus observer Arg:

event_type: (int): Specifies the type of event for which observation should be started

Return: bool type

start_sending_cyclic_frame(self: mtf.libs.mtf_pybinder.CanChannel, frame_event: mtf.libs.mtf_pybinder.CanDataFrame, cycle: int) bool

send CAN frame in given channel with given cycle in microseconds Arg:

frame_event (CanDataFramePtr): A shared pointer to a CanDataFramePtr object representing the CAN data frame to be transmitted cycle (int): Expressed in microseconds

Return : bool type

stop_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener) bool
Stop the data acquisition

Return: bool type

stop_observer(self: mtf.libs.mtf_pybinder.LegacyChannel, event_type: int) bool

Start legacy bus observer Arg:

event_type (int): Specifies the type of event for which observation should be stopped

Return: bool type

stop_sending_cyclic_frame(self: mtf.libs.mtf_pybinder.CanChannel, frame_id: int) bool

stop send CAN frame in given channel with given cycle Arg:

frame_id (int): Representing the unique identifier of the CAN frame

Return : bool type

property type

Get channel type

unset_interception_function(self: mtf.libs.mtf_pybinder.Channel) None

Unset the previously set interception function for the specified channel.

class mtf.libs.mtf_pybinder.CanDataFrame
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.CanDataFrame, frame_id: int, payload: list[int], is_fd: bool = False, flag: int = 0) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.CanDataFrame, frame_id: int, payload: list[int], is_fd: bool = False, brs_on: mtf.libs.mtf_pybinder.Brs = <Brs.ON: 4>) -> None

__new__(**kwargs)
class mtf.libs.mtf_pybinder.CanErrorFlags

CanFrame ErrorFlag enum

Members:

FormError

StuffError

CrcError

AckError

AckDelError

EndOfFrameError

AckDelError
AckError
CrcError
EndOfFrameError
FormError
StuffError
__init__(self: mtf.libs.mtf_pybinder.CanErrorFlags, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.Channel
__init__(*args, **kwargs)
__new__(**kwargs)
static get_can_channel(channel_name: str) mtf.libs.mtf_pybinder.CanChannel

Get a CAN channel instance. Arg:

channel_name (string)

Return: CANBus

static get_ethernet_channel(channel_name: str) mtf.libs.mtf_pybinder.EthernetChannel

Get a Ethernet channel instance. Arg:

channel_name (string)

Return: EthernetBus

static get_flexray_channel(channel_name: str) mtf.libs.mtf_pybinder.FlexRayChannel

Get a FlexRay channel instance. Arg:

channel_name (string)

Return: FlexrayBus

static get_instance(channel_name: str) mtf.libs.mtf_pybinder.Channel

Get a channel instance. Arg:

channel_name (string)

Return: Channel

static get_io_channel(channel_name: str) mtf.libs.mtf_pybinder.IoChannel

Get a IO channel instance. Arg:

channel_name (string)

Return: IoChannel

static get_lin_channel(channel_name: str) mtf.libs.mtf_pybinder.LinChannel

Get a LIN channel instance. Arg:

channel_name (string)

Return: LinBus

static get_serial_channel(channel_name: str) mtf.libs.mtf_pybinder.SerialChannel

Get a Serial channel instance. Arg:

channel_name (string)

Return: SerialChannel

property name

Get channel name

set_interception_function(self: mtf.libs.mtf_pybinder.Channel, interception_function: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]) bool

Set a function to be called before sending any frame for the specified channel. The function is responsible for processing the data frame request and may modify the payload using “set_payload” method. If you want to drop the frame, you just need to set it to “None”. It is not thread-safe and should be used with caution. So, it is advised to set it once prior to any transmission on the corresponding channel. Arg:

interception_function: It is used to store a callback function or a callable object that will be executed with an argument

of type mtf::core::DataFrameRequestPtr

Return: bool type

property type

Get channel type

unset_interception_function(self: mtf.libs.mtf_pybinder.Channel) None

Unset the previously set interception function for the specified channel.

class mtf.libs.mtf_pybinder.ChannelType

enum of the channel types

Members:

LIN

CAN

Ethernet

FR

IO

Serial

Ps

Bridge

Bridge
CAN
Ethernet
FR
IO
LIN
Ps
Serial
__init__(self: mtf.libs.mtf_pybinder.ChannelType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.Cluster

COM Cluster

__init__(*args, **kwargs)
__new__(**kwargs)
get_cluster_type(self: mtf.libs.mtf_pybinder.Cluster) mtf.libs.mtf_pybinder.mtf_cluster_type

get protocol type of the cluster

get_mac_multicast_addresses(self: mtf.libs.mtf_pybinder.Cluster) list[str]

get the list of mac multicast groups addresses for the cluster

property name

Get cluster name

try_get_channel_by_name(self: mtf.libs.mtf_pybinder.Cluster, channel_name: str) mtf.libs.mtf_pybinder.ComChannel

Get instance of a ComChannel within this cluster with reference to channel_name. Return None if no channel has the name channel_name

class mtf.libs.mtf_pybinder.ComChannel

Com channel class

__init__(*args, **kwargs)
__new__(**kwargs)
get_all_frames(self: mtf.libs.mtf_pybinder.ComChannel) list[mtf.libs.mtf_pybinder.ComFrame]

Retrieve all frame instances.

get_frame_by_id(self: mtf.libs.mtf_pybinder.ComChannel, id: int) mtf.libs.mtf_pybinder.ComFrame

Retrieve a frame instance by identifier.

get_frames_by_frame_name(self: mtf.libs.mtf_pybinder.ComChannel, frame_name: str) list[mtf.libs.mtf_pybinder.ComFrame]

Retrieve a list of frame instances by name.

property short_name

Retrieve the channel short name.

start_frames(self: mtf.libs.mtf_pybinder.ComChannel, frame_ids: set[int]) bool

Start transmission for all frames with the specified IDs. Returns True if transmission started successfully for all frames, False otherwise.

stop_frames(self: mtf.libs.mtf_pybinder.ComChannel, frame_ids: set[int]) bool

Stop transmission for all frames with the specified IDs. Returns True if transmission stopped successfully for all frames, False otherwise.

class mtf.libs.mtf_pybinder.ComFrame

Com frame class

__init__(*args, **kwargs)
__new__(**kwargs)
apply_faulty(self: mtf.libs.mtf_pybinder.ComFrame, faulty_type: mtf.libs.mtf_pybinder.FrameFaultyType, on_off: bool) mtf.libs.mtf_pybinder.Result

Injects faulty changes on the frame. The faulty type determines the type of fault to be applied, and the on_off argument controls whether the fault is activated or deactivated. Set on_off to true to activate the fault, and false to deactivate it.

cancel_undefined_cycle(self: mtf.libs.mtf_pybinder.ComFrame) bool

Cancel the undefined cycle by stopping new unconfigured cyclic transmissions and restoring the old configured cycle if the entity is cyclic.

decode(*args, **kwargs)

Overloaded function.

  1. decode(self: mtf.libs.mtf_pybinder.ComFrame, payload: list[int], decoding_attribute: mtf::com::network::signal_based::SignalsEncodingDecodingAttribute) -> dict[str, Union[int, int, float, list[int], str]]

Decode payload into (signal name:signal value) pairs

  1. decode(self: mtf.libs.mtf_pybinder.ComFrame, payload: list[int]) -> dict[str, mtf::core::VectorValue<unsigned char>]

Decode payload into (PDU name:PDU payload) pairs

encode(self: mtf.libs.mtf_pybinder.ComFrame, signals_values: dict[str, Union[int, int, float, list[int], str]], encoding_attribute: mtf::com::network::signal_based::SignalsEncodingDecodingAttribute) list[int]

Encode signals values into Frame payload

get_all_pdus(self: mtf.libs.mtf_pybinder.ComFrame) list[mtf.libs.mtf_pybinder.ComPdu]

Retrieve all PDU contained PDUs in this frame

get_last_received_value(self: mtf.libs.mtf_pybinder.ComFrame) mtf.libs.mtf_pybinder.MtfDataFrameEvent

Retrieve the last received value of this frame.

get_pdu_by_name(self: mtf.libs.mtf_pybinder.ComFrame, pdu_name: str) mtf.libs.mtf_pybinder.ComPdu

Retrieve a PDU contained in this frame by name.

get_receivers_names(self: mtf.libs.mtf_pybinder.ComFrame) set[str]

Retrieve the list of the frame receivers Ecus.

get_senders_names(self: mtf.libs.mtf_pybinder.ComFrame) set[str]

Retrieve the list of the frame senders Ecus.

get_signal_by_name(self: mtf.libs.mtf_pybinder.ComFrame, signal_name: str) mtf.libs.mtf_pybinder.ComSignal

Retrieve a signal contained in this frame by name.

property id

Retrieve the frame identifier.

property is_started

Check if the transmission of the frame is started.

property receivers

Get Frame receivers

property short_name

Retrieve the frame short name.

start_transmission(self: mtf.libs.mtf_pybinder.ComFrame) bool

Start transmission of this frame.

stop_transmission(self: mtf.libs.mtf_pybinder.ComFrame) bool

Stop transmission of this frame.

transmit(self: mtf.libs.mtf_pybinder.ComFrame, payload: list[int], do_force: bool) mtf.libs.mtf_pybinder.Result

Transmit Frame. “do_force” select if the contained frame transmission request will be forced or will be based on the configured triggering conditions.

try_switch_to_undefined_cycle(self: mtf.libs.mtf_pybinder.ComFrame, new_cycle: int, repetition: int = 2147483647) bool

Attempt to switch the existing cycle to a new one (in milliseconds) for a specified number of times. If the default value of “repetition” is used, it will be changed until calling “cancel_undefined_cycle”. If the frame is not cyclic, it will start its transmission cyclically with the specified cycle. Please use it carefully!, if it is called for many frames in the same channel, it may lead to micro bursts as it is out of the transmisson requests scheduling!! Returns False if the frame is not started or does not support this feature, otherwise True.

property type

Retrieve the frame type.

class mtf.libs.mtf_pybinder.ComFrameType

Enum class for Com frame types

Members:

Application

LinSporadic

LinUnconditional

NM

Other

Service

TPL

Application
LinSporadic
LinUnconditional
NM
Other
Service
TPL
__init__(self: mtf.libs.mtf_pybinder.ComFrameType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.ComLoadConfig

Com load config

__init__(self: mtf.libs.mtf_pybinder.ComLoadConfig, duration_ms: int, frames_by_second: int, stop_on_error: bool = False, eth_app_layer_size: int | None = None) None
__new__(**kwargs)
property batch_size
property duration_ms

Load duration in milliseconds

property eth_app_layer_size

Optional app layer size, relevant only for NPdu burst

property eth_injection_method

Optional ethernet injection method

property frames_by_second

Number of frames by second

property stop_on_error

Stop the bursts if any error occurs during transmission

class mtf.libs.mtf_pybinder.ComLoadInputs

Com load inputs (only one option can be chosen)

__init__(self: mtf.libs.mtf_pybinder.ComLoadInputs) None
__new__(**kwargs)
property ecus_by_channel

Load ECU set by com channel

property pdus_by_channel

Load PDU set (identified by Frames/NPdus Ids or names) by com channel

class mtf.libs.mtf_pybinder.ComNpdElement
__init__(self: mtf.libs.mtf_pybinder.ComNpdElement, ecu_name: str, npdu_element: mtf.libs.mtf_pybinder.mtf_npdu_element, timestamp: int) None
__new__(**kwargs)
property ecu_name
property npdu_element
property timestamp
class mtf.libs.mtf_pybinder.ComPdu

Com pdu class

__init__(*args, **kwargs)
__new__(**kwargs)
apply_fault_data_id(self: mtf.libs.mtf_pybinder.ComPdu, on_off: bool) None

corrupt data id i.e set a wrong value (original id xor 0xffffffff)

apply_fault_data_length(self: mtf.libs.mtf_pybinder.ComPdu, on_off: bool) None

corrupt data length i.e set a wrong value

corrupt_alive_counter_sequence(self: mtf.libs.mtf_pybinder.ComPdu, on_off: bool, step: int = -1, enable_counter_setting: bool = False, initial_value: int = 0, reset_memory: bool = False) None

Enable/Disable a wrong sequence for the alive counter incrementation with an optional initial counter value to set

corrupt_crc(self: mtf.libs.mtf_pybinder.ComPdu, on_off: bool, reset_memory: bool = False) None

corrupt CRC i.e set a wrong value.

corrupt_data_id_nibble(self: mtf.libs.mtf_pybinder.ComPdu, on_off: bool) None

Set data id nibble with a wrong value.

decode(self: mtf.libs.mtf_pybinder.ComPdu, payload: list[int], decoding_attribute: mtf::com::network::signal_based::SignalsEncodingDecodingAttribute) dict[str, int | int | float | list[int] | str]

Decode payload into (signal name:signal value) pairs

disable_cyclic_sending(self: mtf.libs.mtf_pybinder.ComPdu) None

Disable cyclic sending of this PDU.

disable_event_controlled_sending(self: mtf.libs.mtf_pybinder.ComPdu, on_off: bool) None

Disable event-controlled sending for this PDU.

encode(self: mtf.libs.mtf_pybinder.ComPdu, signals_values: dict[str, Union[int, int, float, list[int], str]], encoding_attribute: mtf::com::network::signal_based::SignalsEncodingDecodingAttribute) list[int]

Encode signals values into PDU payload

get_all_signals(self: mtf.libs.mtf_pybinder.ComPdu) list[mtf.libs.mtf_pybinder.ComSignal]

Retrieve all signals contained in this PDU.

get_cycling_timings(self: mtf.libs.mtf_pybinder.ComPdu) list[mtf.libs.mtf_pybinder.CyclicTiming]

“Get all cyclic timings from the pdu.”

get_last_received_value(self: mtf.libs.mtf_pybinder.ComPdu) list[int]

Retrieve the last received value of this PDU.

get_signal_by_name(self: mtf.libs.mtf_pybinder.ComPdu, signal_name: str) mtf.libs.mtf_pybinder.ComSignal

Retrieve the signal contained in this PDU by name.

halt_alive_counter(self: mtf.libs.mtf_pybinder.ComPdu, on_off: bool) None

Prevent counter incrementation.

property length_in_bytes

Retrieve length in bytes of this PDU.

property listener

Retrieve listener of this PDU.

secoc_use_wrong_freshness(self: mtf.libs.mtf_pybinder.ComPdu, on_off: bool) bool

Use wrong freshness for SecOC.

set_pdu_bits(self: mtf.libs.mtf_pybinder.ComPdu, unused_area: mtf.libs.mtf_pybinder.PduUnusedArea, signal_value: int | list[int]) bool

Encode signals values into PDU payload

property short_name

Retrieve the PDU short name.

transmit(self: mtf.libs.mtf_pybinder.ComPdu, payload: list[int], do_force: bool) mtf.libs.mtf_pybinder.Result

Transmit the Pdu with the given payload (Paylod length should respect the database) set do_force to True in order to force the transmission i.e ignore triggering conditions

update_active_cycle_timing(self: mtf.libs.mtf_pybinder.ComPdu, new_cycle: int) bool

Update the active cycle timing of the PDU. Returns True if the new cycle value exists in the data base and the update was done successfully, otherwise False.

class mtf.libs.mtf_pybinder.ComPduEvent

PDU event class

__init__(self: mtf.libs.mtf_pybinder.ComPduEvent) None
__new__(**kwargs)
property path_name
property payload
property timestamp
class mtf.libs.mtf_pybinder.ComPduListener

Listener on specific PDU.

__init__(*args, **kwargs)
__new__(**kwargs)
get_history(self: mtf.libs.mtf_pybinder.ComPduListener) list[mtf.libs.mtf_pybinder.ComPduEvent]

Get and clear all captured events since start listening.

Return:

List[BAPEvent]: List of captured BAP events.

start_listening(self: mtf.libs.mtf_pybinder.ComPduListener, callback: Callable[[mtf.libs.mtf_pybinder.ComPduEvent], None] | None = None, on_change: bool = False) bool

Start the data acquisition.

Args:

callback (function, optional): A callback function to handle incoming events. on_change (bool, optional): Callback wil be called: only when the value changes (True), always (False).

Return:

bool: True if the listener has started successfully, otherwise False.

stop_listening(self: mtf.libs.mtf_pybinder.ComPduListener) bool

Stop the data acquisition.

Return:

bool: True if the listener has stopped successfully, otherwise False.

class mtf.libs.mtf_pybinder.ComSignal

Com signal class

__init__(*args, **kwargs)
__new__(**kwargs)
property base_data_type

Retrieve the signal base data type.

property bit_order

Retrieve the signal bit order.

get_last_received_value(self: mtf.libs.mtf_pybinder.ComSignal) list[int]

Retrieve the last received value of this signal.

get_signification_string(self: mtf.libs.mtf_pybinder.ComSignal, value: int | int | float | list[int] | str) str

Get signal signification string for the value.

property layout_info

Retrieve the signal layout info.

property listener

Retrieve listener of this Signal.

set_physical_value(self: mtf.libs.mtf_pybinder.ComSignal, value: float | int | int, update_and_send: bool = True) mtf.libs.mtf_pybinder.Result

Set the physical value of the signal.

set_raw_value(self: mtf.libs.mtf_pybinder.ComSignal, value: int | int | float | list[int] | str, update_and_send: bool = True) mtf.libs.mtf_pybinder.Result

Set the raw value of the signal.

property short_name

Retrieve the signal short name.

start_listening(self: mtf.libs.mtf_pybinder.ComSignal, callback: Callable[[str, mtf.libs.mtf_pybinder.mtf_timestamp, list[int]], None], on_change: bool = False) mtf.libs.mtf_pybinder.Result

Start listening to signal value received events. If “on_change” is set to True, the callback will be called only if the value of this signal has changed.

stop_listening(self: mtf.libs.mtf_pybinder.ComSignal) mtf.libs.mtf_pybinder.Result

Stop listening to signal value received events.

to_physical(self: mtf.libs.mtf_pybinder.ComSignal, arg0: list[int]) int | int | float | list[int] | str

Convert signal value to physical value.

to_raw(self: mtf.libs.mtf_pybinder.ComSignal, arg0: list[int]) int | int | float | list[int] | str

Convert signal value to raw value.

class mtf.libs.mtf_pybinder.ComSignalEvent

Com Signal event class

__init__(self: mtf.libs.mtf_pybinder.ComSignalEvent) None
__new__(**kwargs)
property path_name
property payload
property timestamp
class mtf.libs.mtf_pybinder.ComSignalListener

Listener on specific Signal.

__init__(*args, **kwargs)
__new__(**kwargs)
get_history(self: mtf.libs.mtf_pybinder.ComSignalListener) list[mtf.libs.mtf_pybinder.ComSignalEvent]

Get and clear all captured events since start listening.

Return:

List[BAPEvent]: List of captured BAP events.

start_listening(self: mtf.libs.mtf_pybinder.ComSignalListener, callback: Callable[[mtf.libs.mtf_pybinder.ComSignalEvent], None] | None = None, on_change: bool = False) bool

Start the data acquisition.

Args:

callback (function, optional): A callback function to handle incoming events. on_change (bool, optional): Callback wil be called: only when the value changes (True), always (False).

Return:

bool: True if the listener has started successfully, otherwise False.

stop_listening(self: mtf.libs.mtf_pybinder.ComSignalListener) bool

Stop the data acquisition.

Return:

bool: True if the listener has stopped successfully, otherwise False.

class mtf.libs.mtf_pybinder.CompareOperation

Enum class for compare operation

Members:

LE

NE

EQ

GE

GT

LT

EQ
GE
GT
LE
LT
NE
__init__(self: mtf.libs.mtf_pybinder.CompareOperation, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.CyclicTiming

cycle timing class

__init__(self: mtf.libs.mtf_pybinder.CyclicTiming, cycle_time: mtf.libs.mtf_pybinder.TimeRangeType, is_conditional: bool = False, start_time: mtf.libs.mtf_pybinder.TimeRangeType = <mtf.libs.mtf_pybinder.TimeRangeType object at 0x0000020873BA3AB0>) None
__new__(**kwargs)
property cycle_time

The cyclic time property

property is_conditional

is conditional property

property is_synchronal

is synchronal property

property start_time

The start time property

class mtf.libs.mtf_pybinder.DataFrame
__init__(*args, **kwargs)
__new__(**kwargs)
class mtf.libs.mtf_pybinder.Direction
Rx
Tx
TxRq
Tx_Rx_None
Unknown
__init__(*args, **kwargs)
__new__(**kwargs)
class mtf.libs.mtf_pybinder.DltArgument
__init__(self: mtf.libs.mtf_pybinder.DltArgument) None
__new__(**kwargs)
property arg_name
property arg_str_coding
property arg_unit
property arg_value
property has_var_info
property is_fixed_point
class mtf.libs.mtf_pybinder.DltCoding

enum of the coding

Members:

CodingUnknown

Ascii

Utf8

Reserved

Ascii
CodingUnknown
Reserved
Utf8
__init__(self: mtf.libs.mtf_pybinder.DltCoding, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.DltFilter
__init__(self: mtf.libs.mtf_pybinder.DltFilter) None
__new__(**kwargs)
property app_id
property ctx_id
property ecu_id
property is_verbose_msg
property log_level
property message_id
property payload_contains
property pdu_id
property sig_id
property sig_instance_id
class mtf.libs.mtf_pybinder.DltFrame
__init__(self: mtf.libs.mtf_pybinder.DltFrame) None
__new__(**kwargs)
property app_id
property args_nbr
property arguments
property ctx_id
property ecu_id
property is_msb_format
property is_verbose
property message_id
property msg_bus_info
property msg_control_info
property msg_counter
property msg_length
property msg_log_info
property msg_trace_info
property msg_type
property serialised_payload
property session_id
property signals
property time_stamp
property unserialised_payload
property version_nbr
property with_ecu_id
property with_extended_header
property with_session_id
property with_time_stamp
class mtf.libs.mtf_pybinder.DltListener

monitor dlt messages

__init__(self: mtf.libs.mtf_pybinder.DltListener, arg0: str, arg1: str) None
__new__(**kwargs)
add_dlt_filter(self: mtf.libs.mtf_pybinder.DltListener, filter: mtf.libs.mtf_pybinder.DltFilter) int

“add dlt filter”

check_dlt_recepiton_with_timeout(self: mtf.libs.mtf_pybinder.DltListener, timeout: int) bool

“check dlt recepiton with timeout”

get_dlt_collected_frames(self: mtf.libs.mtf_pybinder.DltListener) list[mtf.libs.mtf_pybinder.DltFrame]

“get collected frames”

reset_dlt_callback(self: mtf.libs.mtf_pybinder.DltListener) None

“reset dlt callback”

reset_dlt_filters(self: mtf.libs.mtf_pybinder.DltListener) int

“reset dlt filters”

reset_dlt_queue(self: mtf.libs.mtf_pybinder.DltListener) None

“reset dlt queue”

set_dlt_callback(self: mtf.libs.mtf_pybinder.DltListener, callback: Callable) None

“set dlt callback”

start_dlt_monitor(self: mtf.libs.mtf_pybinder.DltListener) bool

“start dlt monitor”

stop_dlt_monitor(self: mtf.libs.mtf_pybinder.DltListener, enable_buffer_clear: bool = False) bool

“stop dlt monitor”

class mtf.libs.mtf_pybinder.DltMessageBusInfo

enum of the message bus info

Members:

BusInfoUnknown

DltNwTraceIpc

DltNwTraceCan

DltNwTraceFlexray

DltNwTraceMost

Reserved

UserDefined

BusInfoUnknown
DltNwTraceCan
DltNwTraceFlexray
DltNwTraceIpc
DltNwTraceMost
Reserved
UserDefined
__init__(self: mtf.libs.mtf_pybinder.DltMessageBusInfo, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.DltMessageControleInfo

enum of the message control info

Members:

ControleInfoUnknown

DltControlRequest

DltControlResponse

DltControlTime

ControleInfoUnknown
DltControlRequest
DltControlResponse
DltControlTime
__init__(self: mtf.libs.mtf_pybinder.DltMessageControleInfo, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.DltMessageLogInfo

enum of the message log info

Members:

LogInfoUnknown

DltLogFatal

DltLogError

DltLogWarn

DltLogInfo

DltLogDebug

DltLogVerbose

DltLogDebug
DltLogError
DltLogFatal
DltLogInfo
DltLogVerbose
DltLogWarn
LogInfoUnknown
__init__(self: mtf.libs.mtf_pybinder.DltMessageLogInfo, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.DltMessageTraceInfo

enum of the message trace info

Members:

TraceInfoUnknown

DltTraceVariable

DltTraceFunctionIn

DltTraceFunctionOut

DltTraceState

DltTraceVfb

DltTraceFunctionIn
DltTraceFunctionOut
DltTraceState
DltTraceVariable
DltTraceVfb
TraceInfoUnknown
__init__(self: mtf.libs.mtf_pybinder.DltMessageTraceInfo, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.DltMessageType

enum of the message type

Members:

DltTypeLog

DltTypeAppTrace

DltTypeNwTrace

DltTypeControl

MessageTypeUnknown

DltTypeAppTrace
DltTypeControl
DltTypeLog
DltTypeNwTrace
MessageTypeUnknown
__init__(self: mtf.libs.mtf_pybinder.DltMessageType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.DltType

enum of the arguments type

Members:

TypeUnknown

Bool

Sint

Uint

Float

Array

String

Raw

Struct

Array
Bool
Float
Raw
Sint
String
Struct
TypeUnknown
Uint
__init__(self: mtf.libs.mtf_pybinder.DltType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.DstUnicastIpVlans

Struct to describe a unicast dst IP address and its Vlan QinQTag.

__init__(self: mtf.libs.mtf_pybinder.DstUnicastIpVlans, dst_ip_addr: str, qinq_vlan_tag: mtf.libs.mtf_pybinder.QinQTag) None
__new__(**kwargs)
property dst_ip_addr

presents a unicast dst ip address.

property qinq_vlan_tag

presents a Vlan QinQTag related to the unicast dst ip address.

class mtf.libs.mtf_pybinder.E2ECheckStatus

Members:

Initial

InputErrWrong

Ok

OkSomeLost

Error

Repeated

Sync

WrongCrc

WrongSequence

Error
Initial
InputErrWrong
Ok
OkSomeLost
Repeated
Sync
WrongCrc
WrongSequence
__init__(self: mtf.libs.mtf_pybinder.E2ECheckStatus, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.E2EConfig
__init__(*args, **kwargs)
__new__(**kwargs)
is_valid(self: mtf.libs.mtf_pybinder.E2EConfig) bool
class mtf.libs.mtf_pybinder.E2EConfig01
__init__(self: mtf.libs.mtf_pybinder.E2EConfig01) None
__new__(**kwargs)
property counter_offset

In bits

property crc_offset

In bits

property data_id
property data_id_mode
property data_id_nibble_offset

In bits

property data_length

Data length in bits

property end_position_bits
is_valid(self: mtf.libs.mtf_pybinder.E2EConfig) bool
property max_delta_counter_init
property max_no_new_or_repeated_data
property sync_counter_init
class mtf.libs.mtf_pybinder.E2EConfig02
__init__(self: mtf.libs.mtf_pybinder.E2EConfig02) None
__new__(**kwargs)
property data_id_list
property data_length

Data length in bits

is_valid(self: mtf.libs.mtf_pybinder.E2EConfig) bool
property max_delta_counter_init
property max_no_new_or_repeated_data
property offset

In bits

property sync_counter_init
class mtf.libs.mtf_pybinder.E2EConfig04
__init__(self: mtf.libs.mtf_pybinder.E2EConfig04) None
__new__(**kwargs)
property data_id
is_valid(self: mtf.libs.mtf_pybinder.E2EConfig) bool
property max_data_length

Max data length in bits

property max_delta_counter
property min_data_length

Min data length in bits

property offset

In bits

class mtf.libs.mtf_pybinder.E2EConfig05
__init__(self: mtf.libs.mtf_pybinder.E2EConfig05) None
__new__(**kwargs)
property data_id
property data_length

Data length in bits

is_valid(self: mtf.libs.mtf_pybinder.E2EConfig) bool
property max_delta_counter
property offset

In bits

class mtf.libs.mtf_pybinder.E2EConfig07
__init__(self: mtf.libs.mtf_pybinder.E2EConfig07) None
__new__(**kwargs)
property data_id
is_valid(self: mtf.libs.mtf_pybinder.E2EConfig) bool
property max_data_length

Max data length in bits

property max_delta_counter
property min_data_length

Min data length in bits

property offset

In bits

class mtf.libs.mtf_pybinder.E2EDataIdMode

Members:

Both

Alt

Low

Nibble

Alt
Both
Low
Nibble
__init__(self: mtf.libs.mtf_pybinder.E2EDataIdMode, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.E2EProtector
__init__(*args, **kwargs)
__new__(**kwargs)
check(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list[int], receiver_state: mtf.libs.mtf_pybinder.E2EReceiverState) bool
protect(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list, sender_state: mtf.libs.mtf_pybinder.E2ESenderState) bool
set_option(self: mtf.libs.mtf_pybinder.E2EProtector, option: mtf.libs.mtf_pybinder.E2EProtectorOptions, set: bool = True) None
class mtf.libs.mtf_pybinder.E2EProtector01
__init__(self: mtf.libs.mtf_pybinder.E2EProtector01, arg0: mtf.libs.mtf_pybinder.E2EConfig01) None
__new__(**kwargs)
check(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list[int], receiver_state: mtf.libs.mtf_pybinder.E2EReceiverState) bool
static increment_counter(arg0: int, arg1: int) int
protect(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list, sender_state: mtf.libs.mtf_pybinder.E2ESenderState) bool
set_option(self: mtf.libs.mtf_pybinder.E2EProtector, option: mtf.libs.mtf_pybinder.E2EProtectorOptions, set: bool = True) None
class mtf.libs.mtf_pybinder.E2EProtector02
__init__(self: mtf.libs.mtf_pybinder.E2EProtector02, arg0: mtf.libs.mtf_pybinder.E2EConfig02) None
__new__(**kwargs)
check(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list[int], receiver_state: mtf.libs.mtf_pybinder.E2EReceiverState) bool
static increment_counter(arg0: int, arg1: int) int
protect(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list, sender_state: mtf.libs.mtf_pybinder.E2ESenderState) bool
set_option(self: mtf.libs.mtf_pybinder.E2EProtector, option: mtf.libs.mtf_pybinder.E2EProtectorOptions, set: bool = True) None
class mtf.libs.mtf_pybinder.E2EProtector04
__init__(self: mtf.libs.mtf_pybinder.E2EProtector04, arg0: mtf.libs.mtf_pybinder.E2EConfig04) None
__new__(**kwargs)
check(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list[int], receiver_state: mtf.libs.mtf_pybinder.E2EReceiverState) bool
static increment_counter(arg0: int, arg1: int) int
protect(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list, sender_state: mtf.libs.mtf_pybinder.E2ESenderState) bool
set_option(self: mtf.libs.mtf_pybinder.E2EProtector, option: mtf.libs.mtf_pybinder.E2EProtectorOptions, set: bool = True) None
class mtf.libs.mtf_pybinder.E2EProtector05
__init__(self: mtf.libs.mtf_pybinder.E2EProtector05, arg0: mtf.libs.mtf_pybinder.E2EConfig05) None
__new__(**kwargs)
check(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list[int], receiver_state: mtf.libs.mtf_pybinder.E2EReceiverState) bool
static increment_counter(arg0: int, arg1: int) int
protect(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list, sender_state: mtf.libs.mtf_pybinder.E2ESenderState) bool
set_option(self: mtf.libs.mtf_pybinder.E2EProtector, option: mtf.libs.mtf_pybinder.E2EProtectorOptions, set: bool = True) None
class mtf.libs.mtf_pybinder.E2EProtector07
__init__(self: mtf.libs.mtf_pybinder.E2EProtector07, arg0: mtf.libs.mtf_pybinder.E2EConfig07) None
__new__(**kwargs)
check(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list[int], receiver_state: mtf.libs.mtf_pybinder.E2EReceiverState) bool
static increment_counter(arg0: int, arg1: int) int
protect(self: mtf.libs.mtf_pybinder.E2EProtector, payload: list, sender_state: mtf.libs.mtf_pybinder.E2ESenderState) bool
set_option(self: mtf.libs.mtf_pybinder.E2EProtector, option: mtf.libs.mtf_pybinder.E2EProtectorOptions, set: bool = True) None
class mtf.libs.mtf_pybinder.E2EProtectorOptions

Members:

CorruptCrc

CorruptDataIdNibble

ExternalSet

NoOptions

PreventCounterIncrementation

CorruptCrc
CorruptDataIdNibble
ExternalSet
NoOptions
PreventCounterIncrementation
__init__(self: mtf.libs.mtf_pybinder.E2EProtectorOptions, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.E2EReceiverState
__init__(*args, **kwargs)
__new__(**kwargs)
property actual_crc
property expected_crc
property status
class mtf.libs.mtf_pybinder.E2EReceiverState01
__init__(self: mtf.libs.mtf_pybinder.E2EReceiverState01) None
__new__(**kwargs)
property actual_crc
property expected_crc
property last_valid_counter
property lost_data
property max_delta_counter
property no_new_or_repeated_data
property status
property sync_counter
property wait_for_first_data
class mtf.libs.mtf_pybinder.E2EReceiverState02
__init__(self: mtf.libs.mtf_pybinder.E2EReceiverState02) None
__new__(**kwargs)
property actual_crc
property expected_crc
property last_valid_counter
property lost_data
property max_delta_counter
property no_new_or_repeated_data_counter
property status
property sync_counter
property wait_for_first_data
class mtf.libs.mtf_pybinder.E2EReceiverState04
__init__(self: mtf.libs.mtf_pybinder.E2EReceiverState04) None
__new__(**kwargs)
property actual_crc
property counter
property expected_crc
property status
class mtf.libs.mtf_pybinder.E2EReceiverState05
__init__(self: mtf.libs.mtf_pybinder.E2EReceiverState05) None
__new__(**kwargs)
property actual_crc
property counter
property expected_crc
property status
class mtf.libs.mtf_pybinder.E2EReceiverState07
__init__(self: mtf.libs.mtf_pybinder.E2EReceiverState07) None
__new__(**kwargs)
property actual_crc
property counter
property expected_crc
property status
class mtf.libs.mtf_pybinder.E2ESenderState
__init__(*args, **kwargs)
__new__(**kwargs)
set_counter_value(self: mtf.libs.mtf_pybinder.E2ESenderState, counter: int) None
class mtf.libs.mtf_pybinder.E2ESenderState01
__init__(self: mtf.libs.mtf_pybinder.E2ESenderState01) None
__new__(**kwargs)
property counter
set_counter_value(self: mtf.libs.mtf_pybinder.E2ESenderState, counter: int) None
class mtf.libs.mtf_pybinder.E2ESenderState02
__init__(self: mtf.libs.mtf_pybinder.E2ESenderState02) None
__new__(**kwargs)
property counter
set_counter_value(self: mtf.libs.mtf_pybinder.E2ESenderState, counter: int) None
class mtf.libs.mtf_pybinder.E2ESenderState04
__init__(self: mtf.libs.mtf_pybinder.E2ESenderState04) None
__new__(**kwargs)
property counter
set_counter_value(self: mtf.libs.mtf_pybinder.E2ESenderState, counter: int) None
class mtf.libs.mtf_pybinder.E2ESenderState05
__init__(self: mtf.libs.mtf_pybinder.E2ESenderState05) None
__new__(**kwargs)
property counter
set_counter_value(self: mtf.libs.mtf_pybinder.E2ESenderState, counter: int) None
class mtf.libs.mtf_pybinder.E2ESenderState07
__init__(self: mtf.libs.mtf_pybinder.E2ESenderState07) None
__new__(**kwargs)
property counter
set_counter_value(self: mtf.libs.mtf_pybinder.E2ESenderState, counter: int) None
class mtf.libs.mtf_pybinder.E2EVerificationListenerMtf

Start and Stop listening to E2E verification

__init__(self: mtf.libs.mtf_pybinder.E2EVerificationListenerMtf, path: str) None
__new__(**kwargs)
start_e2e_listening(self: mtf.libs.mtf_pybinder.E2EVerificationListenerMtf, callback: Callable[[str, mtf.libs.mtf_pybinder.mtf_timestamp, mtf.libs.mtf_pybinder.E2EReceiverState], None]) bool

Start listening for signal-based E2E verification.

start_someip_e2e_listening(self: mtf.libs.mtf_pybinder.E2EVerificationListenerMtf, callback: Callable[[str, int, mtf.libs.mtf_pybinder.E2ECheckStatus], None]) bool

Start listening for service-based E2E verification.

stop_e2e_listening(self: mtf.libs.mtf_pybinder.E2EVerificationListenerMtf) None

Stop Listening

class mtf.libs.mtf_pybinder.Ecu

SomeIp ECU class

__init__(*args, **kwargs)
__new__(**kwargs)
activate(self: mtf.libs.mtf_pybinder.Ecu, start_communication: bool = True) mtf.libs.mtf_pybinder.Result

Activate SomeIp in Ecu and start SomeIp/SomeIpSd communication if “start_communication” argument is set to True.

static create(ecu_datamodel: mtf.libs.mtf_pybinder.mtf_datamodel_system_topology.EcuDataModel) mtf.libs.mtf_pybinder.Ecu

create a COM ECU from ECU datamodel

deactivate(self: mtf.libs.mtf_pybinder.Ecu) mtf.libs.mtf_pybinder.Result

Deactivate SomeIp in Ecu and stop SomeIp/SomeIpSd communication if it is already started.

get_all_consumed_service_ids(self: mtf.libs.mtf_pybinder.Ecu) list[int]

Get list of all consumed service ids

get_all_consumed_services(self: mtf.libs.mtf_pybinder.Ecu) list[mtf.libs.mtf_pybinder.SomeIpConsumedService]

Get list of all consumed services

static get_all_ecus() list[mtf.libs.mtf_pybinder.Ecu]

Get list of all ECU instances with respect to provided DB

get_all_output_frames(self: mtf.libs.mtf_pybinder.Ecu) list[mtf.libs.mtf_pybinder.ComFrame]

Retrieves frame instances of all frames of as specific channel connected to this ECU

get_all_output_frames_by_channel(self: mtf.libs.mtf_pybinder.Ecu, channel_name: str) list[mtf.libs.mtf_pybinder.ComFrame]

Retrieves frame instances of all frames of as specific channel connected to this ECU

get_all_provided_service_ids(self: mtf.libs.mtf_pybinder.Ecu) list[int]

Get list of all provided service ids

get_all_provided_services(self: mtf.libs.mtf_pybinder.Ecu) list[mtf.libs.mtf_pybinder.SomeIpProvidedService]

Get list of all provided services

get_connected_channels(self: mtf.libs.mtf_pybinder.Ecu) list[mtf.libs.mtf_pybinder.ComChannel]

Retrieves the names of all sender channels connected to this ECU

get_ip_addresses(self: mtf.libs.mtf_pybinder.Ecu) list[str]

Retrieves the local/remote IP addresses of the ecu’s network endpoints

get_npdu_infos(self: mtf.libs.mtf_pybinder.Ecu, npdu_identifier: str | int, tx_direction: bool, channel: str | None = None) mtf.libs.mtf_pybinder.NpduInfo | None

Retrieves Npdu information, including destination IP, destination port, source IP, source port, protocol, and channel for a given Npdu name or Npdu ID. You can specify whether the Npdu is IN or OUT, as well as the associated channel.

Args:

npdu_identifier (int | str): The Npdu identifier, which can be either an integer or a string. tx_direction (bool): Specifies the transmission direction. Set to True for OUT (transmitted)

and False for IN (received).

channel (str, optional): If provided, ensures that the Npdu belongs to this channel.Defaults to nullopt.

Returns:

NpduInfo: An object containing all relevant Npdu details.

get_out_npdus(self: mtf.libs.mtf_pybinder.Ecu, channel_name: str = '') list[mtf.libs.mtf_pybinder.NPdu]

Retrieve all output NPdus for a given channel name. If no channel name is specified, it will return all NPdus regardless of the channel.

get_out_npdus_by_id(self: mtf.libs.mtf_pybinder.Ecu, npdu_id: int, channel_name: str = '') list[mtf.libs.mtf_pybinder.NPdu]

Retrieve all output NPdus having the given ID and channel If no channel name is specified, it will return all NPdus regardless of the channel.

get_out_npdus_by_name(self: mtf.libs.mtf_pybinder.Ecu, npdu_name: str, channel_name: str = '') list[mtf.libs.mtf_pybinder.NPdu]

Retrieve all output NPdus having the given name and channel If no channel name is specified, it will return all NPdus regardless of the channel.

property name

Get ecu name

start_all_npdus(self: mtf.libs.mtf_pybinder.Ecu, channel_name: str = '') None

Start transmission of all NPdus of the specified optional channel name. If no channel name is specified, it will start transmission of all NPdus regardless of the channel.

start_npdus(self: mtf.libs.mtf_pybinder.Ecu, npdu_ids: set[int], channel_name: str = '') bool

Start transmission for all output NPdus with the specified IDs and optional channel name. If no channel name is specified, transmission of all NPdus with the specified IDs will start on all channels. Returns True if transmission started successfully for all NPdus, False otherwise.

start_someip_communication(self: mtf.libs.mtf_pybinder.Ecu) mtf.libs.mtf_pybinder.Result

start SomeIp/SomeIpSd communication.

stop_all_npdus(self: mtf.libs.mtf_pybinder.Ecu, channel_name: str = '') None

Stop transmission of all NPdus of the specified optional channel name. If no channel name is specified, it will stop transmission of all NPdus regardless of the channel.

stop_npdus(self: mtf.libs.mtf_pybinder.Ecu, npdu_ids: set[int], channel_name: str = '') bool

Stop transmission for all output NPdus with the specified IDs and optional channel name. If no channel name is specified, transmission of all NPdus with the specified IDs will stop on all channels. Returns True if transmission started successfully for all NPdus, False otherwise.

stop_someip_communication(self: mtf.libs.mtf_pybinder.Ecu) mtf.libs.mtf_pybinder.Result

stop SomeIp/SomeIpSd communication.

try_get_all_provided_services_consumed_by_any(self: mtf.libs.mtf_pybinder.Ecu, consumers: set[str]) list[mtf.libs.mtf_pybinder.SomeIpProvidedService]
Returns a list of provided services that are consumed by any of the given consumers.
Parameters:

consumers (Set[str]): A set of consumer ecu names.

Returns:

List[ProvidedService]: A list of ProvidedService consumed by any of the specified consumers.

try_get_consumed_service_by_name_or_id(self: mtf.libs.mtf_pybinder.Ecu, service_name_or_id: int | str, instance_id: int = 65535) mtf.libs.mtf_pybinder.SomeIpConsumedService

Get specific consumed service by name or id. Return any service instance if the “instance_id” argument is set to the default value. Return None if no service found based on the given args values.

static try_get_ecu_by_name(ecu_name: str) mtf.libs.mtf_pybinder.Ecu

Get instance of Ecu with reference to ecu_name. Return None if no ecu has the name ecu_name

static try_get_ecus_by_ip_address(ip_address: str) list[tuple[mtf.libs.mtf_pybinder.Ecu, str]]

Attempt to get ECUs and their corresponding channel names based on a specific IP address.

return: A list of tuples, each containing an ECU object and its corresponding channel name

try_get_out_npdu_by_id(self: mtf.libs.mtf_pybinder.Ecu, npdu_id: int, channel_name: str = '', target_ecu: str = '') mtf.libs.mtf_pybinder.NPdu

Retrieve one NPdu having the given ID, channel and target ecu If no channel or target ecu is specified, returns any NPdu with the given ID. Returns None if no NPdu is found.

try_get_out_npdu_by_name(self: mtf.libs.mtf_pybinder.Ecu, npdu_name: str, channel_name: str = '', target_ecu: str = '') mtf.libs.mtf_pybinder.NPdu

Retrieve one NPdu having the given name, channel and target ecu If no channel or target ecu is specified, returns any NPdu with the given name. Returns None if no NPdu is found.

try_get_provided_service_by_name_or_id(self: mtf.libs.mtf_pybinder.Ecu, service_name_or_id: int | str, instance_id: int = 65535) mtf.libs.mtf_pybinder.SomeIpProvidedService

Get specific provided service by name or id. Return any service instance if the “instance_id” argument is set to the default value. Return None if no service found based on the given args values.

class mtf.libs.mtf_pybinder.EthAppLayerListener

Class to start a listener for Ethernet application layer messages.

__init__(self: mtf.libs.mtf_pybinder.EthAppLayerListener, channel_name: str, filter: mtf.libs.mtf_pybinder.mtf_eth_app_layer_filter = <mtf.libs.mtf_pybinder.mtf_eth_app_layer_filter object at 0x0000020873BD1D70>, tcp_reassembly_active: bool = False) None
Initializes the Ethernet application layer listener.

channel_name (str): Channel used for the communication with the ECU. filter (mtf_eth_app_layer_filter, optional): An application layer filter to be used for filtering Ethernet packets (default captures all). tcp_reassembly_active (bool, optional): A flag indicating whether TCP reassembly should be activated (default is false).

Note:
  • TCP reassembly is primarily supported for DoIP and SomeIP.

  • If TCP reassembly is required for SomeIP communication, consider using the SomeipListener class, which is specifically designed for this purpose and provides enhanced functionality for handling SomeIP traffic.

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_bus_listener) None

clear bus listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_bus_listener) list[MtfBusEvent]

Get bus listener history

set_channel_name(self: mtf.libs.mtf_pybinder.mtf_bus_listener, channel_name: str) bool

Set the channel name

set_filter(self: mtf.libs.mtf_pybinder.mtf_bus_listener, Filter: list[dict[str, dict[str, int]]]) None

Set Filter for Ethernet frame

start(self: mtf.libs.mtf_pybinder.mtf_bus_listener, CallBack: Callable | None = None) bool

Start the data acquisition

callback: The function to call when a Ethernet frame (matching the defined filter) is received or transmitted on the channel

stop(self: mtf.libs.mtf_pybinder.mtf_bus_listener) bool

Stop the data acquisition

transfer_history(self: mtf.libs.mtf_pybinder.mtf_bus_listener) list[MtfBusEvent]

Transfer/move bus listener history

class mtf.libs.mtf_pybinder.EthernetChannel
__init__(*args, **kwargs)
__new__(**kwargs)
activate_packet_manipulation(self: mtf.libs.mtf_pybinder.EthernetChannel) bool

Reactivate packet manipulation for channels that support this feature e.g WinpkFilter channels Return: EthernetChannel

deactivate_packet_manipulation(self: mtf.libs.mtf_pybinder.EthernetChannel) bool

Deactivate packet manipulation for channels that support this feature e.g WinpkFilter channels Return: EthernetChannel

static get_can_channel(channel_name: str) mtf.libs.mtf_pybinder.CanChannel

Get a CAN channel instance. Arg:

channel_name (string)

Return: CANBus

static get_ethernet_channel(channel_name: str) mtf.libs.mtf_pybinder.EthernetChannel

Get a Ethernet channel instance. Arg:

channel_name (string)

Return: EthernetBus

static get_flexray_channel(channel_name: str) mtf.libs.mtf_pybinder.FlexRayChannel

Get a FlexRay channel instance. Arg:

channel_name (string)

Return: FlexrayBus

static get_instance(channel_name: str) mtf.libs.mtf_pybinder.EthernetChannel

get instance of ethernet channel Arg:

channel_name: (string)

static get_io_channel(channel_name: str) mtf.libs.mtf_pybinder.IoChannel

Get a IO channel instance. Arg:

channel_name (string)

Return: IoChannel

static get_lin_channel(channel_name: str) mtf.libs.mtf_pybinder.LinChannel

Get a LIN channel instance. Arg:

channel_name (string)

Return: LinBus

get_listener(self: mtf.libs.mtf_pybinder.EthernetChannel, filter: mtf.libs.mtf_pybinder.mtf_eth_filter) mtf.libs.mtf_pybinder.mtf_bus_listener

get a listener using specific filter over the channel Arg:

filter: It is a smart pointer that manages the lifetime of an mtf::ethernet::Filter object through automatic memory management

Return: BusListener

static get_serial_channel(channel_name: str) mtf.libs.mtf_pybinder.SerialChannel

Get a Serial channel instance. Arg:

channel_name (string)

Return: SerialChannel

property name

Get channel name

send_frame(self: mtf.libs.mtf_pybinder.EthernetChannel, frame_event: mtf.libs.mtf_pybinder.EthernetDataFrame) bool

send ethernet frame over the channel Arg:

frame_event: (EthernetDataFramePtr): Ethernet frame

Return: EthernetChannel

send_frames(self: mtf.libs.mtf_pybinder.EthernetChannel, frame_events_list: list[mtf.libs.mtf_pybinder.EthernetDataFrame]) bool

send multiple ethernet frames over the channel Arg:

frame_events_list (EthernetDataFramePtr): list of Ethernet frame events

Return: EthernetChannel

set_interception_function(self: mtf.libs.mtf_pybinder.Channel, interception_function: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]) bool

Set a function to be called before sending any frame for the specified channel. The function is responsible for processing the data frame request and may modify the payload using “set_payload” method. If you want to drop the frame, you just need to set it to “None”. It is not thread-safe and should be used with caution. So, it is advised to set it once prior to any transmission on the corresponding channel. Arg:

interception_function: It is used to store a callback function or a callable object that will be executed with an argument

of type mtf::core::DataFrameRequestPtr

Return: bool type

start_sending_cyclic_frame(self: mtf.libs.mtf_pybinder.EthernetChannel, frame_event: mtf.libs.mtf_pybinder.EthernetDataFrame, cycle: int) int

Start cyclic sending a raw Ethernet frame with given cycle in microseconds. Arg:

frame_event (EthernetDataFramePtr): Ethernet frame cycle (uint64_t): the cycle in microseconds

Returns:

int: A hash value associated with the started cyclic send. Use this hash to stop the cyclic send.

stop_sending_cyclic_frame(self: mtf.libs.mtf_pybinder.EthernetChannel, frame_hash: int) bool

Stop cyclic sending a raw Ethernet frame Arg:

frame_hash (int)

Returns:

bool: indicating whether the operation was successful.

tc10_sleep(self: mtf.libs.mtf_pybinder.EthernetChannel) bool

sleep according to TC10 ethernet standard. this feature is supported by a set of devices: e.g Media Converter

tc10_wakeup(self: mtf.libs.mtf_pybinder.EthernetChannel) bool

wakeup according to TC10 ethernet standard. this feature is supported by a set of devices: e.g Media Converter

property type

Get channel type

unset_interception_function(self: mtf.libs.mtf_pybinder.Channel) None

Unset the previously set interception function for the specified channel.

class mtf.libs.mtf_pybinder.EthernetDataFrame
__init__(self: mtf.libs.mtf_pybinder.EthernetDataFrame, payload: list[int], timestamp: int = 0) None
__new__(**kwargs)
class mtf.libs.mtf_pybinder.EthernetInjectionMethod

Members:

DEFAULT : Transmission using the default configured method in the channel

AF_XDP_SOCKET : Transmission using AF_XDP socket (only supported in LINUX)

To use this method an XDP program should be loaded in the interface beforehand

AF_XDP_SOCKET
DEFAULT
__init__(self: mtf.libs.mtf_pybinder.EthernetInjectionMethod, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.EventType

Members:

IOBase

IOAnalogue

IODigital

IOState

IOPwm

IOPattern

IOAnalogue
IOBase
IODigital
IOPattern
IOPwm
IOState
__init__(self: mtf.libs.mtf_pybinder.EventType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.ExtraBurstParameters
__init__(self: mtf.libs.mtf_pybinder.ExtraBurstParameters) None
__new__(**kwargs)
property batch_size

number of frames to be transmitted in a single send operation

class mtf.libs.mtf_pybinder.FRCommunicationChannel

Members:

A

B

BOTH

A
B
BOTH
__init__(self: mtf.libs.mtf_pybinder.FRCommunicationChannel, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.FlexRayChannel
__init__(*args, **kwargs)
__new__(**kwargs)
activate_wake_up(self: mtf.libs.mtf_pybinder.FlexRayChannel, do_wake_up: bool) bool

Activate wakeup FlexRay bus Arg:

do_wake_up (bool): A boolean indicating whether the wake-up function should be enabled (true) or disabled (false)

Return : bool type

check_if_traffic_received(self: mtf.libs.mtf_pybinder.LegacyChannel, timeout: int, event_type: int) bool

Check if there was traffic on the bus before a specific timeout. PS: The bus observer needs to be started. Arg:

timeout (int): The duration for which to monitor event traffic, expressed in milliseconds event_type (int): Specifies the type of event for which traffic should be monitored

Return: bool type

clear_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) None

clear legacy bus listener history

static get_can_channel(channel_name: str) mtf.libs.mtf_pybinder.CanChannel

Get a CAN channel instance. Arg:

channel_name (string)

Return: CANBus

static get_ethernet_channel(channel_name: str) mtf.libs.mtf_pybinder.EthernetChannel

Get a Ethernet channel instance. Arg:

channel_name (string)

Return: EthernetBus

static get_flexray_channel(channel_name: str) mtf.libs.mtf_pybinder.FlexRayChannel

Get a FlexRay channel instance. Arg:

channel_name (string)

Return: FlexrayBus

get_frame_by_id(self: mtf.libs.mtf_pybinder.LegacyChannel, frame_id: int | str | mtf.libs.mtf_pybinder.FrFrameIdParts) mtf.libs.mtf_pybinder.LegacyFrame

Get frame instance by id Arg:

frame_id (FrameIDVariant): A frame identifier (frame ID) encapsulated in a variant (FrameIDVariant)

Return: LegacyFrameSptr type

get_frames_by_name(self: mtf.libs.mtf_pybinder.LegacyChannel, frame_name: str) list[mtf.libs.mtf_pybinder.LegacyFrame]

Get frame instance by name Arg:

frame_name (string): The name of the frame for which instances need to be retrieved

Return: vector of LegacyFrameSptr type

get_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]
Get legacy bus listener history

Return: vector of DataFramePtr

static get_instance(channel_name: str) mtf.libs.mtf_pybinder.FlexRayChannel

get instance of FlexRay channel Arg:

channel_name (string)

static get_io_channel(channel_name: str) mtf.libs.mtf_pybinder.IoChannel

Get a IO channel instance. Arg:

channel_name (string)

Return: IoChannel

static get_lin_channel(channel_name: str) mtf.libs.mtf_pybinder.LinChannel

Get a LIN channel instance. Arg:

channel_name (string)

Return: LinBus

static get_serial_channel(channel_name: str) mtf.libs.mtf_pybinder.SerialChannel

Get a Serial channel instance. Arg:

channel_name (string)

Return: SerialChannel

monitor_traffic(self: mtf.libs.mtf_pybinder.LegacyChannel, timeout: int, event_type: int) bool

Monitor traffic in the legacy bus during a timeout Arg:

timeout (int): The duration for which to monitor event traffic, expressed in milliseconds event_type (int): Specifies the type of event for which traffic should be monitored

Return: bool type

property name

Get channel name

send_frame(self: mtf.libs.mtf_pybinder.FlexRayChannel, frame_event: mtf.libs.mtf_pybinder.FlexRayDataFrame) bool

Send FlexRay frame in given channel Arg:

frame_event (FlexRayDataFramePtr): A shared pointer to a FlexRayDataFramePtr object representing the FlexRay data frame to be transmitted

Return : bool type

send_frames(self: mtf.libs.mtf_pybinder.FlexRayChannel, frame_event_list: list[mtf.libs.mtf_pybinder.FlexRayDataFrame]) bool

Send FlexRay frames in given channel Arg:

frame_event_list (list of FlexRayDataFramePtr): A list of shared pointers to FlexRayDataFramePtr objects representing the FlexRay data frames to be transmitted

Return : bool type

set_interception_function(self: mtf.libs.mtf_pybinder.Channel, interception_function: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]) bool

Set a function to be called before sending any frame for the specified channel. The function is responsible for processing the data frame request and may modify the payload using “set_payload” method. If you want to drop the frame, you just need to set it to “None”. It is not thread-safe and should be used with caution. So, it is advised to set it once prior to any transmission on the corresponding channel. Arg:

interception_function: It is used to store a callback function or a callable object that will be executed with an argument

of type mtf::core::DataFrameRequestPtr

Return: bool type

start_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None] | None = None, listening_flags: int | None = None) bool

Start the data acquisition Args:

callback: optional callable listening_flags: optional int bitmask

Return: bool

start_observer(self: mtf.libs.mtf_pybinder.LegacyChannel, event_type: int) bool

Start legacy bus observer Arg:

event_type: (int): Specifies the type of event for which observation should be started

Return: bool type

stop_continuous_frame(self: mtf.libs.mtf_pybinder.FlexRayChannel, frame_id: str, channel: mtf.libs.mtf_pybinder.FRCommunicationChannel) bool

Stop transmission of continuous frame Arg:

frame_id (string): Representing the unique identifier of the FlexRay frame channel (FRCommunicationChannel)

Return : bool type

stop_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener) bool
Stop the data acquisition

Return: bool type

stop_observer(self: mtf.libs.mtf_pybinder.LegacyChannel, event_type: int) bool

Start legacy bus observer Arg:

event_type (int): Specifies the type of event for which observation should be stopped

Return: bool type

property type

Get channel type

unset_interception_function(self: mtf.libs.mtf_pybinder.Channel) None

Unset the previously set interception function for the specified channel.

class mtf.libs.mtf_pybinder.FlexRayDataFrame
__init__(self: mtf.libs.mtf_pybinder.FlexRayDataFrame, frame_id: str, payload: list[int], com_channel: int, transmission_mode: int, error_flags: int) None
__new__(**kwargs)
class mtf.libs.mtf_pybinder.FlexRaySymbolEvent
__init__(*args, **kwargs)
__new__(**kwargs)
property channel
property timestamp
property type
class mtf.libs.mtf_pybinder.FlexRaySymbolType

Members:

CAS : Collision avoidance symbol

WUS : Wakeup symbol (not available in VXL)

MTS : Media Access Test Symbol (not available in CM)

CAS
MTS
WUS
__init__(self: mtf.libs.mtf_pybinder.FlexRaySymbolType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.FlexRaySymbolsListener
__init__(self: mtf.libs.mtf_pybinder.FlexRaySymbolsListener, channel_name: str) None

Set up captures of FlexRay symbol events on a given channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.FlexRaySymbolsListener) None

Clear the collected FlexRay symbol events on the given channel

get_history(self: mtf.libs.mtf_pybinder.FlexRaySymbolsListener) list[mtf.libs.mtf_pybinder.FlexRaySymbolEvent]

Get all the collected FlexRay symbol events on the given channel

start_listening(self: mtf.libs.mtf_pybinder.FlexRaySymbolsListener, callback: Callable[[mtf.libs.mtf_pybinder.FlexRaySymbolEvent], None] = None) bool

Start capturing of FlexRay symbol events on the given channel

stop_listening(self: mtf.libs.mtf_pybinder.FlexRaySymbolsListener) bool

Stop capturing of FlexRay symbol events on the given channel

class mtf.libs.mtf_pybinder.FmuMaster
__init__(self: mtf.libs.mtf_pybinder.FmuMaster) None
__new__(**kwargs)
do_step(self: mtf.libs.mtf_pybinder.FmuMaster, fmu: str, current_time: float, force: bool = False) bool
get_fmu_value(self: mtf.libs.mtf_pybinder.FmuMaster, key: str) tuple[bool, str, str]
initialize(self: mtf.libs.mtf_pybinder.FmuMaster, fmu_root_path: str, fmus: set[str], router_yaml_path: str) bool
run_loop(self: mtf.libs.mtf_pybinder.FmuMaster) None
run_one_tick(self: mtf.libs.mtf_pybinder.FmuMaster, t: float) None
set_fmu_value(self: mtf.libs.mtf_pybinder.FmuMaster, key: str, value_text: str) tuple[bool, str]
stop_fmus(self: mtf.libs.mtf_pybinder.FmuMaster) None
class mtf.libs.mtf_pybinder.FrFrameIdParts
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.FrFrameIdParts, slot_id: int, offset: int, repetition: int) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.FrFrameIdParts) -> None

__new__(**kwargs)
property cycle_count
property offset
property repetition
property slot_id
class mtf.libs.mtf_pybinder.FrameFaultyType

Enum class for frame faulty types

Members:

ChecksumError

Value_None_

WrongLength

ChecksumError
Value_None_
WrongLength
__init__(self: mtf.libs.mtf_pybinder.FrameFaultyType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.FrameID
__init__(*args, **kwargs)
__new__(**kwargs)
static from_int(arg0: int) mtf.libs.mtf_pybinder.FrameID
static from_parts(arg0: mtf.libs.mtf_pybinder.FrFrameIdParts) mtf.libs.mtf_pybinder.FrameID
static from_string(arg0: str) mtf.libs.mtf_pybinder.FrameID
to_int(self: mtf.libs.mtf_pybinder.FrameID) int
to_parts(self: mtf.libs.mtf_pybinder.FrameID) mtf.libs.mtf_pybinder.FrFrameIdParts
to_string(self: mtf.libs.mtf_pybinder.FrameID) str
class mtf.libs.mtf_pybinder.IoChannel
__init__(*args, **kwargs)
__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.IoChannel) None

clear io channel listener history

static get_can_channel(channel_name: str) mtf.libs.mtf_pybinder.CanChannel

Get a CAN channel instance. Arg:

channel_name (string)

Return: CANBus

static get_ethernet_channel(channel_name: str) mtf.libs.mtf_pybinder.EthernetChannel

Get a Ethernet channel instance. Arg:

channel_name (string)

Return: EthernetBus

static get_flexray_channel(channel_name: str) mtf.libs.mtf_pybinder.FlexRayChannel

Get a FlexRay channel instance. Arg:

channel_name (string)

Return: FlexrayBus

get_history(self: mtf.libs.mtf_pybinder.IoChannel) list[mtf.libs.mtf_pybinder.MtfIOEvent]

Get io channel listener history

static get_instance(channel_name: str) mtf.libs.mtf_pybinder.IoChannel

get instance of io channel Arg:

channel_name (string)

static get_io_channel(channel_name: str) mtf.libs.mtf_pybinder.IoChannel

Get a IO channel instance. Arg:

channel_name (string)

Return: IoChannel

static get_lin_channel(channel_name: str) mtf.libs.mtf_pybinder.LinChannel

Get a LIN channel instance. Arg:

channel_name (string)

Return: LinBus

static get_serial_channel(channel_name: str) mtf.libs.mtf_pybinder.SerialChannel

Get a Serial channel instance. Arg:

channel_name (string)

Return: SerialChannel

io_apply_faulty(self: mtf.libs.mtf_pybinder.IoChannel, type: int) bool

Start apply faulty, Apply physical Short to VBat or Short to GND on the channel Arg:

type (unsigned char): This value is converted to an enumerated type core::FaultyType for use by the API

Return: bool type

io_channel_is_available(self: mtf.libs.mtf_pybinder.IoChannel) bool
check if io channels physically connected

Return: bool type

io_generate_pattern(self: mtf.libs.mtf_pybinder.IoChannel, data: list[int]) bool

generate io pattern Arg:

data (vector of int): A data vector of type int

Return: bool type

io_get_last_value(self: mtf.libs.mtf_pybinder.IoChannel, property_name: str) float

get last value of given signal property for io channel Arg:

property_name (string): The name of the property for which the latest value is requested

Return: double type

io_set_current(self: mtf.libs.mtf_pybinder.IoChannel, value: float) bool

Set io current value Arg:

value (float)

Return: bool type

io_set_raw_value(self: mtf.libs.mtf_pybinder.IoChannel, value: int) bool

Set io raw value Arg:

value (unsigned int): This value is typically an unsigned integer that will be associated with the input/output channel

Return: bool type

io_set_resistance(self: mtf.libs.mtf_pybinder.IoChannel, value: int) bool

Set io resistance Arg:

value (unsigned int): The resistance value to be set for the input/output channel

Return: bool type

io_set_value(self: mtf.libs.mtf_pybinder.IoChannel, value: float) bool

Set io value Arg:

value (double): A floating-point number that will be associated with the IoChannel object

Return: bool type

io_set_voltage(self: mtf.libs.mtf_pybinder.IoChannel, value: float) bool

Set io voltage Arg:

value (float): The voltage value to be set for the input/output channel

Return: bool type

io_stop_faulty(self: mtf.libs.mtf_pybinder.IoChannel, type: int) bool

Stop apply faulty, Remove physical Short to VBat or Short to GND on the channel Arg:

type (unsigned char): This value is converted to an enumerated type core::FaultyType for use by the API

Return: bool type

property name

Get channel name

set_interception_function(self: mtf.libs.mtf_pybinder.Channel, interception_function: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]) bool

Set a function to be called before sending any frame for the specified channel. The function is responsible for processing the data frame request and may modify the payload using “set_payload” method. If you want to drop the frame, you just need to set it to “None”. It is not thread-safe and should be used with caution. So, it is advised to set it once prior to any transmission on the corresponding channel. Arg:

interception_function: It is used to store a callback function or a callable object that will be executed with an argument

of type mtf::core::DataFrameRequestPtr

Return: bool type

start_listening(self: mtf.libs.mtf_pybinder.IoChannel, callback: Callable[[mtf.libs.mtf_pybinder.MtfIOEvent], None], silent_mode: bool = False) bool

Start the data acquisition Arg:

callback silent_mode (bool)

Return: bool type

stop_listening(self: mtf.libs.mtf_pybinder.IoChannel) bool
Stop the data acquisition

Return: bool type

property type

Get channel type

unset_interception_function(self: mtf.libs.mtf_pybinder.Channel) None

Unset the previously set interception function for the specified channel.

class mtf.libs.mtf_pybinder.IpRuleInfo

Struct to describe manipulation rules by ip address.

__init__(self: mtf.libs.mtf_pybinder.IpRuleInfo, arg0: str, arg1: str, arg2: str, arg3: mtf.libs.mtf_pybinder.QinQTag, arg4: mtf.libs.mtf_pybinder.VlanForwarding, arg5: str, arg6: list[str]) None
__new__(**kwargs)
property default_vlans

presents default Vlan QinQTag.

property ecu_name

presents name of the sender ecu.

property src_ip_addr

presents source IP address.

property src_mac_addr

presents source MAC address.

property tags

presents tags (aliases) given to this metadata.

property tap_adapter_name

presents tap adapter name.

property vlan_forwarding

presents VlanForwarding rules.

class mtf.libs.mtf_pybinder.LINBusStateEvent
__init__(*args, **kwargs)
__new__(**kwargs)
property state
property timestamp
class mtf.libs.mtf_pybinder.LINBusStateListener
__init__(self: mtf.libs.mtf_pybinder.LINBusStateListener, channel_name: str) None

Set up captures of LIN Bus State events on a specific channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.LINBusStateListener) None

Clear collected LIN Bus State events on a specific channel

get_history(self: mtf.libs.mtf_pybinder.LINBusStateListener) list[mtf.libs.mtf_pybinder.LINBusStateEvent]

Get collected LIN Bus State events on a specific channel

start_listening(self: mtf.libs.mtf_pybinder.LINBusStateListener, callback: Callable[[mtf.libs.mtf_pybinder.LINBusStateEvent], None] = None) bool

Start capturing LIN Bus State events on a specific channel

stop_listening(self: mtf.libs.mtf_pybinder.LINBusStateListener) bool

Stop capturing LIN Bus State events on a specific channel

class mtf.libs.mtf_pybinder.LINWupSignalEvent
__init__(*args, **kwargs)
__new__(**kwargs)
property timestamp
class mtf.libs.mtf_pybinder.LINWupSignalListener
__init__(self: mtf.libs.mtf_pybinder.LINWupSignalListener, channel_name: str) None

Set up captures of LIN Wup Signal events on a specific channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.LINWupSignalListener) None

Clear collected LIN Wakeup Signal events on a specific channel

get_history(self: mtf.libs.mtf_pybinder.LINWupSignalListener) list[mtf.libs.mtf_pybinder.LINWupSignalEvent]

Get collected LIN Wakeup Signal events on a specific channel

start_listening(self: mtf.libs.mtf_pybinder.LINWupSignalListener, callback: Callable[[mtf.libs.mtf_pybinder.LINWupSignalEvent], None] = None) bool

Start capturing LIN Wakeup Signal events on a specific channel

stop_listening(self: mtf.libs.mtf_pybinder.LINWupSignalListener) bool

Stop capturing LIN Wakeup Signal events on a specific channel

class mtf.libs.mtf_pybinder.LegacyBusListener
__init__(*args, **kwargs)
__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) None

clear legacy bus listener history

get_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]
Get legacy bus listener history

Return: vector of DataFramePtr

start_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None] | None = None, listening_flags: int | None = None) bool

Start the data acquisition Args:

callback: optional callable listening_flags: optional int bitmask

Return: bool

stop_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener) bool
Stop the data acquisition

Return: bool type

class mtf.libs.mtf_pybinder.LegacyChannel
__init__(*args, **kwargs)
__new__(**kwargs)
check_if_traffic_received(self: mtf.libs.mtf_pybinder.LegacyChannel, timeout: int, event_type: int) bool

Check if there was traffic on the bus before a specific timeout. PS: The bus observer needs to be started. Arg:

timeout (int): The duration for which to monitor event traffic, expressed in milliseconds event_type (int): Specifies the type of event for which traffic should be monitored

Return: bool type

clear_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) None

clear legacy bus listener history

static get_can_channel(channel_name: str) mtf.libs.mtf_pybinder.CanChannel

Get a CAN channel instance. Arg:

channel_name (string)

Return: CANBus

static get_ethernet_channel(channel_name: str) mtf.libs.mtf_pybinder.EthernetChannel

Get a Ethernet channel instance. Arg:

channel_name (string)

Return: EthernetBus

static get_flexray_channel(channel_name: str) mtf.libs.mtf_pybinder.FlexRayChannel

Get a FlexRay channel instance. Arg:

channel_name (string)

Return: FlexrayBus

get_frame_by_id(self: mtf.libs.mtf_pybinder.LegacyChannel, frame_id: int | str | mtf.libs.mtf_pybinder.FrFrameIdParts) mtf.libs.mtf_pybinder.LegacyFrame

Get frame instance by id Arg:

frame_id (FrameIDVariant): A frame identifier (frame ID) encapsulated in a variant (FrameIDVariant)

Return: LegacyFrameSptr type

get_frames_by_name(self: mtf.libs.mtf_pybinder.LegacyChannel, frame_name: str) list[mtf.libs.mtf_pybinder.LegacyFrame]

Get frame instance by name Arg:

frame_name (string): The name of the frame for which instances need to be retrieved

Return: vector of LegacyFrameSptr type

get_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]
Get legacy bus listener history

Return: vector of DataFramePtr

static get_instance(channel_name: str) mtf.libs.mtf_pybinder.Channel

Get a channel instance. Arg:

channel_name (string)

Return: Channel

static get_io_channel(channel_name: str) mtf.libs.mtf_pybinder.IoChannel

Get a IO channel instance. Arg:

channel_name (string)

Return: IoChannel

static get_lin_channel(channel_name: str) mtf.libs.mtf_pybinder.LinChannel

Get a LIN channel instance. Arg:

channel_name (string)

Return: LinBus

static get_serial_channel(channel_name: str) mtf.libs.mtf_pybinder.SerialChannel

Get a Serial channel instance. Arg:

channel_name (string)

Return: SerialChannel

monitor_traffic(self: mtf.libs.mtf_pybinder.LegacyChannel, timeout: int, event_type: int) bool

Monitor traffic in the legacy bus during a timeout Arg:

timeout (int): The duration for which to monitor event traffic, expressed in milliseconds event_type (int): Specifies the type of event for which traffic should be monitored

Return: bool type

property name

Get channel name

set_interception_function(self: mtf.libs.mtf_pybinder.Channel, interception_function: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]) bool

Set a function to be called before sending any frame for the specified channel. The function is responsible for processing the data frame request and may modify the payload using “set_payload” method. If you want to drop the frame, you just need to set it to “None”. It is not thread-safe and should be used with caution. So, it is advised to set it once prior to any transmission on the corresponding channel. Arg:

interception_function: It is used to store a callback function or a callable object that will be executed with an argument

of type mtf::core::DataFrameRequestPtr

Return: bool type

start_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None] | None = None, listening_flags: int | None = None) bool

Start the data acquisition Args:

callback: optional callable listening_flags: optional int bitmask

Return: bool

start_observer(self: mtf.libs.mtf_pybinder.LegacyChannel, event_type: int) bool

Start legacy bus observer Arg:

event_type: (int): Specifies the type of event for which observation should be started

Return: bool type

stop_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener) bool
Stop the data acquisition

Return: bool type

stop_observer(self: mtf.libs.mtf_pybinder.LegacyChannel, event_type: int) bool

Start legacy bus observer Arg:

event_type (int): Specifies the type of event for which observation should be stopped

Return: bool type

property type

Get channel type

unset_interception_function(self: mtf.libs.mtf_pybinder.Channel) None

Unset the previously set interception function for the specified channel.

class mtf.libs.mtf_pybinder.LegacyFrame
__init__(*args, **kwargs)
__new__(**kwargs)
check_cyclic_repetition(self: mtf.libs.mtf_pybinder.LegacyFrame, cycle: int, cycle_deviation: int, nb_repetition: int, check_latest_values: bool) bool

Check message cycle with repetition

check_cyclic_timeout(self: mtf.libs.mtf_pybinder.LegacyFrame, cycle: int, cycle_deviation: int, timeout: int) bool

Check message cycle with timeout

check_reception(self: mtf.libs.mtf_pybinder.LegacyFrame, is_received: bool) bool

Check message reception

clear_buffer(self: mtf.libs.mtf_pybinder.LegacyFrame) None

Clear message buffer

clear_history(self: mtf.libs.mtf_pybinder.LegacyFrame) None

Clear listener history

static configure_buffer_size(max_size: int) None

Configure max size of frame buffer

count_payload_byte_matches(self: mtf.libs.mtf_pybinder.LegacyFrame, bytes_indexes: list[int], bytes_values: list[int], bytes_masks: list[int]) int

count payload matched in message payload

get_channel(self: mtf.libs.mtf_pybinder.LegacyFrame) mtf::pybinder::LegacyChannel

Get channel instance

get_history(self: mtf.libs.mtf_pybinder.LegacyFrame) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]

Get listener history

static get_instance(channel_name: str, frame_id: int | str | mtf.libs.mtf_pybinder.FrFrameIdParts) mtf.libs.mtf_pybinder.LegacyFrame

Get a frame instance

static get_instances(channel_name: str, frame_name: str) list[mtf.libs.mtf_pybinder.LegacyFrame]

Get a list frame instances

get_last_value(self: mtf.libs.mtf_pybinder.LegacyFrame) list[int]

Get last received value

get_payload_byte(self: mtf.libs.mtf_pybinder.LegacyFrame, bytes_indexes: list[int], bytes_values: list[int], bytes_masks: list[int], operation: int) bool

Check bytes in message payload

get_pdu_by_name(self: mtf.libs.mtf_pybinder.LegacyFrame, pdu_name: str) mtf.libs.mtf_pybinder.LegacyPdu

Get PDU instance by name

get_pdus(self: mtf.libs.mtf_pybinder.LegacyFrame) list[mtf.libs.mtf_pybinder.LegacyPdu]

Get all PDU instances contained in the frame

get_signal_by_name(self: mtf.libs.mtf_pybinder.LegacyFrame, signal_name: str) mtf.libs.mtf_pybinder.LegacySignal

Get Signal instance by name

property id

Get frame id

property name

Get frame name

start_listening(self: mtf.libs.mtf_pybinder.LegacyFrame, callback: Optional[Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]] = None, direction: mtf.libs.mtf_pybinder.ListenerDirection = <ListenerDirection.Any: 2>, on_change: bool = False) bool

Start the data acquisition (by default the listener will start listening for all frames (Rx and Tx))

start_observer(self: mtf.libs.mtf_pybinder.LegacyFrame, on_change: bool = True) bool

Start message observer

start_transmission(self: mtf.libs.mtf_pybinder.LegacyFrame) bool

Start the frame transmission

stop_listening(self: mtf.libs.mtf_pybinder.LegacyFrame) bool

Stop the data acquisition

stop_observer(self: mtf.libs.mtf_pybinder.LegacyFrame, get_values: bool) list[tuple[int, list[int]]]

Stop message observer

stop_transmission(self: mtf.libs.mtf_pybinder.LegacyFrame) bool

Stop the frame transmission

class mtf.libs.mtf_pybinder.LegacyPdu
__init__(*args, **kwargs)
__new__(**kwargs)
apply_faulty_corrupt_crc(self: mtf.libs.mtf_pybinder.LegacyPdu, on_off: bool) bool

Apply Fault Corrupt Crc for specific pdu

apply_faulty_corrupt_data_id_nibble(self: mtf.libs.mtf_pybinder.LegacyPdu, on_off: bool) bool

Apply Fault Corrupt Data Id Nibble

apply_faulty_halt_alive_counter(self: mtf.libs.mtf_pybinder.LegacyPdu, on_off: bool) bool

Apply Fault Halt Alive Counter

disable_event_controlled_sending(self: mtf.libs.mtf_pybinder.LegacyPdu, on_off: bool) None

Disable event-controlled sending for this PDU.

property full_path

Get pdu path

get_all_cyclic_timings(self: mtf.libs.mtf_pybinder.LegacyPdu) list[mtf::com::network::signal_based::CyclicTiming]

Get all cyclic timings

get_frame(self: mtf.libs.mtf_pybinder.LegacyPdu) mtf::pybinder::LegacyFrame

Get frame instance

static get_instance(channel_name: str, frame_id: int | str | mtf.libs.mtf_pybinder.FrFrameIdParts, pdu_name: str) mtf.libs.mtf_pybinder.LegacyPdu

Get a pdu instance

get_last_value(self: mtf.libs.mtf_pybinder.LegacyPdu) list[int]

Get last received value

get_signal_by_name(self: mtf.libs.mtf_pybinder.LegacyPdu, signal_name: str) mtf.libs.mtf_pybinder.LegacySignal

Get Signal instance by name

get_signals(self: mtf.libs.mtf_pybinder.LegacyPdu) list[mtf.libs.mtf_pybinder.LegacySignal]

Get all Signal instances contained in the PDU

property name

Get pdu name

set_pdu_bits_value(self: mtf.libs.mtf_pybinder.LegacyPdu, signal_value: int | list[int], start_bit: int, nb_bits: int, bit_order: int, update_and_send: bool = True) bool

Set pdu bits raw value

transmit(self: mtf.libs.mtf_pybinder.LegacyPdu, payload: list[int], force: bool) bool
“Transmit the Pdu with the given payload.

set force to True in order to force the transmission i.e ignore triggering conditions

class mtf.libs.mtf_pybinder.LegacySignal
__init__(*args, **kwargs)
__new__(**kwargs)
check_value(self: mtf.libs.mtf_pybinder.LegacySignal, signal_value: int | int | float | list[int] | str, comparision: int = 0, logical_operation: int = 0, mask: int | int | float | list[int] | str = 18446744073709551615) bool

Check value

clear_buffer(self: mtf.libs.mtf_pybinder.LegacySignal) bool

Clear observer buffer

clear_history(self: mtf.libs.mtf_pybinder.LegacySignal) None

Clear listener history

static configure_buffer_maxsize(max_size: int) bool

Configure max size of signal buffer

property full_path

Get signal full path

get_buffer(self: mtf.libs.mtf_pybinder.LegacySignal) list[tuple[int, int | int | float | list[int] | str]]

Get observer buffer

get_history(self: mtf.libs.mtf_pybinder.LegacySignal) list[tuple[int, list[int]]]

Get listener history

static get_instance(channel_name: str, frame_id: int | str | mtf.libs.mtf_pybinder.FrFrameIdParts, signal_name: str, pdu_name: str = '') mtf.libs.mtf_pybinder.LegacySignal

Get a pdu instance

get_last_value(self: mtf.libs.mtf_pybinder.LegacySignal) int | int | float | list[int] | str

Get last received value

get_latest_received_values(self: mtf.libs.mtf_pybinder.LegacySignal, last_received_buffer_size: int) list[tuple[int, int | int | float | list[int] | str]]

Get latest received values

get_pdu(self: mtf.libs.mtf_pybinder.LegacySignal) mtf::pybinder::LegacyPdu

Get PDU instance

get_received_values_timeout(self: mtf.libs.mtf_pybinder.LegacySignal, timeout: int) list[tuple[int, int | int | float | list[int] | str]]

Get received values timeout

monitor_always(self: mtf.libs.mtf_pybinder.LegacySignal, signal_value: int | int | float | list[int] | str, timeout: int, comparision: int = 0, mask: int | int | float | list[int] | str | None = 18446744073709551615) bool

Monitor always

static monitor_always_multiple(signals: list[mtf.libs.mtf_pybinder.LegacySignal], signals_values: list[int | int | float | list[int] | str], comparision: list[mtf.libs.mtf_pybinder.CompareOperation], timeout: int, mask: list[int | int | float | list[int] | str] = []) bool

Monitor always multiple signals

monitor_happened(self: mtf.libs.mtf_pybinder.LegacySignal, signal_value: int | int | float | list[int] | str, timeout: int, comparision: int = 0, mask: int | int | float | list[int] | str | None = 18446744073709551615) bool

Monitor happened

static monitor_happened_multiple(signals: list[mtf.libs.mtf_pybinder.LegacySignal], signals_values: list[int | int | float | list[int] | str], comparision: list[mtf.libs.mtf_pybinder.CompareOperation], timeout: int, mask: list[int | int | float | list[int] | str] = []) bool

Monitor happened multiple signals

property name

Get pdu name

property path

Get signal path

set_physical_value(self: mtf.libs.mtf_pybinder.LegacySignal, signal_value: float | int | int, update_and_send: bool = True) bool

Set signal physical value

set_raw_value(self: mtf.libs.mtf_pybinder.LegacySignal, signal_value: int | int | float | list[int] | str, update_and_send: bool = True) bool

Set signal raw value

start_listening(self: mtf.libs.mtf_pybinder.LegacySignal, callback: Callable | None = None, on_change: bool = False) bool
Start the data acquisition,

The pycallback should have as arg (callback: The function to call when a new payload is received ,on_change: bool) return: bool type

start_observer(self: mtf.libs.mtf_pybinder.LegacySignal, on_change: bool = True, is_physical: bool = True) bool

Start signal observer

stop_listening(self: mtf.libs.mtf_pybinder.LegacySignal) bool

Stop the data acquisition

stop_observer(self: mtf.libs.mtf_pybinder.LegacySignal, get_values: bool) list[tuple[int, int | int | float | list[int] | str]]

Stop signal observer

static stop_observer_multiple(signals: list[mtf.libs.mtf_pybinder.LegacySignal]) None

Stop multiple signal observers

class mtf.libs.mtf_pybinder.LifeCycleState

Members:

APPLICATION_DEINIT

OFF

TEST_AWAIT

TEST_DEINIT

TEST_INIT

TEST_RUN

TEST_SERIE_AWAIT

TEST_SERIE_DEINIT

TEST_SERIE_INIT

APPLICATION_DEINIT
OFF
TEST_AWAIT
TEST_DEINIT
TEST_INIT
TEST_RUN
TEST_SERIE_AWAIT
TEST_SERIE_DEINIT
TEST_SERIE_INIT
__init__(self: mtf.libs.mtf_pybinder.LifeCycleState, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.LinBusState

Enum class of different LIN Bus States

Members:

LinInit

LinOperational

LinSleep

LinInit
LinOperational
LinSleep
__init__(self: mtf.libs.mtf_pybinder.LinBusState, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.LinChannel
__init__(*args, **kwargs)
__new__(**kwargs)
check_if_traffic_received(self: mtf.libs.mtf_pybinder.LegacyChannel, timeout: int, event_type: int) bool

Check if there was traffic on the bus before a specific timeout. PS: The bus observer needs to be started. Arg:

timeout (int): The duration for which to monitor event traffic, expressed in milliseconds event_type (int): Specifies the type of event for which traffic should be monitored

Return: bool type

clear_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) None

clear legacy bus listener history

static get_can_channel(channel_name: str) mtf.libs.mtf_pybinder.CanChannel

Get a CAN channel instance. Arg:

channel_name (string)

Return: CANBus

static get_ethernet_channel(channel_name: str) mtf.libs.mtf_pybinder.EthernetChannel

Get a Ethernet channel instance. Arg:

channel_name (string)

Return: EthernetBus

static get_flexray_channel(channel_name: str) mtf.libs.mtf_pybinder.FlexRayChannel

Get a FlexRay channel instance. Arg:

channel_name (string)

Return: FlexrayBus

get_frame_by_id(self: mtf.libs.mtf_pybinder.LegacyChannel, frame_id: int | str | mtf.libs.mtf_pybinder.FrFrameIdParts) mtf.libs.mtf_pybinder.LegacyFrame

Get frame instance by id Arg:

frame_id (FrameIDVariant): A frame identifier (frame ID) encapsulated in a variant (FrameIDVariant)

Return: LegacyFrameSptr type

get_frames_by_name(self: mtf.libs.mtf_pybinder.LegacyChannel, frame_name: str) list[mtf.libs.mtf_pybinder.LegacyFrame]

Get frame instance by name Arg:

frame_name (string): The name of the frame for which instances need to be retrieved

Return: vector of LegacyFrameSptr type

get_history(self: mtf.libs.mtf_pybinder.LegacyBusListener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]
Get legacy bus listener history

Return: vector of DataFramePtr

static get_instance(channel_name: str) mtf.libs.mtf_pybinder.LinChannel

get instance of LIN channel Arg:

channel_name (string)

static get_io_channel(channel_name: str) mtf.libs.mtf_pybinder.IoChannel

Get a IO channel instance. Arg:

channel_name (string)

Return: IoChannel

static get_lin_channel(channel_name: str) mtf.libs.mtf_pybinder.LinChannel

Get a LIN channel instance. Arg:

channel_name (string)

Return: LinBus

static get_serial_channel(channel_name: str) mtf.libs.mtf_pybinder.SerialChannel

Get a Serial channel instance. Arg:

channel_name (string)

Return: SerialChannel

get_state(self: mtf.libs.mtf_pybinder.LinChannel) mtf.libs.mtf_pybinder.LinBusState

get the LIN bus state

monitor_traffic(self: mtf.libs.mtf_pybinder.LegacyChannel, timeout: int, event_type: int) bool

Monitor traffic in the legacy bus during a timeout Arg:

timeout (int): The duration for which to monitor event traffic, expressed in milliseconds event_type (int): Specifies the type of event for which traffic should be monitored

Return: bool type

property name

Get channel name

send_frame(self: mtf.libs.mtf_pybinder.LinChannel, frame_event: mtf.libs.mtf_pybinder.LinDataFrame) bool

send LIN frame in given channel Arg:

frame_event (LinDataFramePtr): A shared pointer to a LinDataFramePtr object representing the LIN data frame to be transmitted

Return : bool type

set_interception_function(self: mtf.libs.mtf_pybinder.Channel, interception_function: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]) bool

Set a function to be called before sending any frame for the specified channel. The function is responsible for processing the data frame request and may modify the payload using “set_payload” method. If you want to drop the frame, you just need to set it to “None”. It is not thread-safe and should be used with caution. So, it is advised to set it once prior to any transmission on the corresponding channel. Arg:

interception_function: It is used to store a callback function or a callable object that will be executed with an argument

of type mtf::core::DataFrameRequestPtr

Return: bool type

start_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None] | None = None, listening_flags: int | None = None) bool

Start the data acquisition Args:

callback: optional callable listening_flags: optional int bitmask

Return: bool

start_observer(self: mtf.libs.mtf_pybinder.LegacyChannel, event_type: int) bool

Start legacy bus observer Arg:

event_type: (int): Specifies the type of event for which observation should be started

Return: bool type

stop_listening(self: mtf.libs.mtf_pybinder.LegacyBusListener) bool
Stop the data acquisition

Return: bool type

stop_observer(self: mtf.libs.mtf_pybinder.LegacyChannel, event_type: int) bool

Start legacy bus observer Arg:

event_type (int): Specifies the type of event for which observation should be stopped

Return: bool type

property type

Get channel type

unset_interception_function(self: mtf.libs.mtf_pybinder.Channel) None

Unset the previously set interception function for the specified channel.

validate_lin_schedule_table(self: mtf.libs.mtf_pybinder.LinChannel, scheduler_table_name: str, duration_in_ms: int, tolerance_in_us: int) bool
Validate Lin Schedule Table

Return : bool type

wake_up(self: mtf.libs.mtf_pybinder.LinChannel) bool
Wakeup LIN bus

Return : bool type

class mtf.libs.mtf_pybinder.LinDataFrame
__init__(self: mtf.libs.mtf_pybinder.LinDataFrame, frame_id: int, payload: list[int]) None
__new__(**kwargs)
class mtf.libs.mtf_pybinder.ListenerDirection

Enum class for listening direction

Members:

Rx

Tx

Any

Any
Rx
Tx
__init__(self: mtf.libs.mtf_pybinder.ListenerDirection, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.ListeningFlags

Members:

INCLUDE_FR_NULL_FRAMES

INCLUDE_FRAMES_WITH_ERROR

INCLUDE_FRAMES_WITH_ERROR
INCLUDE_FR_NULL_FRAMES
__init__(self: mtf.libs.mtf_pybinder.ListeningFlags, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.MTFSerialListener

Set up captures of Serial messages on a specific channel

__init__(self: mtf.libs.mtf_pybinder.MTFSerialListener, arg0: str) None

Set up captures of Serial messages on a specific channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.MTFSerialListener) None

Clear Cached history

get_history(self: mtf.libs.mtf_pybinder.MTFSerialListener) list[MtfSerialEvent]

Get cached history

start_listening(*args, **kwargs)

Overloaded function.

  1. start_listening(self: mtf.libs.mtf_pybinder.MTFSerialListener, callback: Callable[[str, int, Union[str, list[int]], int], None], get_messages_as_string: bool = True) -> bool

Start the data acquisition, callback will be triggered with every received new event providing the serial message as string or as bytes based on get_messages_as_string value

  1. start_listening(self: mtf.libs.mtf_pybinder.MTFSerialListener, get_messages_as_string: bool = True) -> bool

Start the data acquisition

stop_listening(self: mtf.libs.mtf_pybinder.MTFSerialListener) bool

Stop the data acquisition

transfer_history(self: mtf.libs.mtf_pybinder.MTFSerialListener) list[MtfSerialEvent]

Get and then clear cached history

class mtf.libs.mtf_pybinder.MembersValuesTree

Struct to store SomeIp field or parameter members values tree

__init__(self: mtf.libs.mtf_pybinder.MembersValuesTree) None
__new__(**kwargs)
property children

Complex Member children

extract_simple_members_values(self: mtf.libs.mtf_pybinder.MembersValuesTree) dict[str, str | float | int | int]

Extract simple members values

static get_simple_members_values(trees: list[mtf.libs.mtf_pybinder.MembersValuesTree]) dict[str, str | float | int | int]

Get simple members values

is_not_available(self: mtf.libs.mtf_pybinder.MembersValuesTree) bool

Check optional member availability

property meta_data

Member decoding meta deta

property name

Member name

property path

Member path

property value

Simple Member value

class mtf.libs.mtf_pybinder.MtfApiSetup
__init__(self: mtf.libs.mtf_pybinder.MtfApiSetup) None
__new__(**kwargs)
property config_file
property console_log_level
property context_type
property db_file
property default_log_level
property log_path
property plugins_path
property tracing_active
class mtf.libs.mtf_pybinder.MtfBusEvent
__init__(self: mtf.libs.mtf_pybinder.MtfBusEvent, channel_name: str, frame_id: int, timestamp: int, payload: list[int], payload_length: int, direction: int, error_flag: int) None
__new__(**kwargs)
property channel_name
property direction
property error_flag
property frame_id
property payload
property payload_length
property timestamp
class mtf.libs.mtf_pybinder.MtfDataFrameEvent

data structure for mtf frames

__init__(*args, **kwargs)
__new__(**kwargs)
property channel_name

channel name

property direction

frame direction

property error_flag

error flags

property frame_id

frame id

property is_can_brs_on

BitRateSwitch status

property is_fr_null_frame

check if this is a Flexray Null Frame

property payload

frame payload

property payload_length

payload length

set_payload(self: mtf.libs.mtf_pybinder.MtfDataFrameEvent, payload: list[int]) None

Set payload (for InterceptListener)

property timestamp

frame timestamp

property timestamp_struct

frame timestamp struct to access further features

class mtf.libs.mtf_pybinder.MtfFrTpAddressLength

Members:

ONE_BYTE

TWO_BYTES

ONE_BYTE
TWO_BYTES
__init__(self: mtf.libs.mtf_pybinder.MtfFrTpAddressLength, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.MtfFrTpConfig
__init__(self: mtf.libs.mtf_pybinder.MtfFrTpConfig) None
__new__(**kwargs)
property addressing_type
property flow_timeout_ms
property pdu_length
property tp_type
class mtf.libs.mtf_pybinder.MtfFrTpType

Members:

ISO : Using FlexRay ISO 10681-2

AR_TP_ISO : Using Autosar TP protocol: Up to 0xFFF Byte message length (No FF-Ex or SF-E or AF shall be used and recognized)

AR_TP_L4G : Using Autosar TP protocol: SF-E allowed (SF of arbitrary length depending on PDU length), up to 0xFFFFFFFF byte message length (all FF-x allowed)

AR_TP_ISO
AR_TP_L4G
ISO
__init__(self: mtf.libs.mtf_pybinder.MtfFrTpType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.MtfIOEvent

event received from HW devices

__init__(*args, **kwargs)
__new__(**kwargs)
property channel_name

channel name

property direction

event direction

property event_type

event type

property timestamp

ctime stamp

property timestamp_struct

frame timestamp struct to access further features

property value

raw paylaod value

class mtf.libs.mtf_pybinder.MtfIOStateEvent

event received for measurement changes from HW devices

__init__(*args, **kwargs)
__new__(**kwargs)
property channel_name

channel name

property direction

event direction

property event_type

event type

get_current(self: mtf.libs.mtf_pybinder.MtfIOStateEvent) float | None

get current if available

get_resistance(self: mtf.libs.mtf_pybinder.MtfIOStateEvent) int | None

get resistance if available

get_voltage(self: mtf.libs.mtf_pybinder.MtfIOStateEvent) float | None

get voltage if available

property timestamp

ctime stamp

property timestamp_struct

frame timestamp struct to access further features

property value

raw paylaod value

class mtf.libs.mtf_pybinder.MtfIoEvent
__init__(self: mtf.libs.mtf_pybinder.MtfIoEvent, channel_name: str, timestamp: int, payload: list[int], direction: int) None
__new__(**kwargs)
property channel_name
property direction
property timestamp
property value
class mtf.libs.mtf_pybinder.MtfLegacyBusesListener

Start listening to all given channels

__init__(self: mtf.libs.mtf_pybinder.MtfLegacyBusesListener, channels_list: set[str]) None

Start listening to all given channels

__new__(**kwargs)
get_history(self: mtf.libs.mtf_pybinder.MtfLegacyBusesListener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]

Get buses listener history

start_listening(self: mtf.libs.mtf_pybinder.MtfLegacyBusesListener, callback: Optional[Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]] = None, direction: mtf.libs.mtf_pybinder.ListenerDirection = <ListenerDirection.Rx: 0>, flags: int = 0) bool

Start the data acquisition, combine ListeningFlags to choose optional additional frames to listen to

stop_listening(self: mtf.libs.mtf_pybinder.MtfLegacyBusesListener) bool

Stop the data acquisition

class mtf.libs.mtf_pybinder.MtfNpduCanTpCnx

Represents Npdu CAN Tp connexion”

__init__(self: mtf.libs.mtf_pybinder.MtfNpduCanTpCnx, arg0: mtf.libs.mtf_pybinder.MtfNpduCanTpId, arg1: mtf.libs.mtf_pybinder.MtfNpduCanTpId) None
__new__(**kwargs)
configure(self: mtf.libs.mtf_pybinder.MtfNpduCanTpCnx, tx_pdu_length: int, flow_timeout_in_ms: int, padding_value: int | None) bool

Configure Can TP connexion

register(self: mtf.libs.mtf_pybinder.MtfNpduCanTpCnx, callback: Callable) bool

Register Rx Pdu listening callback

transmit(self: mtf.libs.mtf_pybinder.MtfNpduCanTpCnx, payload: list[int]) bool

Transmit Tx Pdu TP message

unconfigure(self: mtf.libs.mtf_pybinder.MtfNpduCanTpCnx) bool

UnConfigure Can TP connexion

unregister(self: mtf.libs.mtf_pybinder.MtfNpduCanTpCnx) bool

Unregister Rx pdu listening callback

class mtf.libs.mtf_pybinder.MtfNpduCanTpId

Represents Npdu CAN Tp identifier

__init__(self: mtf.libs.mtf_pybinder.MtfNpduCanTpId) None
__new__(**kwargs)
property npdu_id

Npdu Id

property ta_address

optional Target address

property tunnel_name

Npdu tunnel name

class mtf.libs.mtf_pybinder.MtfNpduListenerElement
__init__(self: mtf.libs.mtf_pybinder.MtfNpduListenerElement, tunnel: str, timestamp: int, npdu_element: mtf.libs.mtf_pybinder.mtf_npdu_element) None
__new__(**kwargs)
property npdu_element
property timestamp
property tunnel
class mtf.libs.mtf_pybinder.MtfPsEvent

event received for measurement changes from PS devices

__init__(*args, **kwargs)
__new__(**kwargs)
property channel_name

channel name

property direction

event direction

property event_type

event type

get_current(self: mtf.libs.mtf_pybinder.MtfPsEvent) float

get current if available

get_power(self: mtf.libs.mtf_pybinder.MtfPsEvent) float

get power if available

get_voltage(self: mtf.libs.mtf_pybinder.MtfPsEvent) float

get voltage if available

property timestamp

ctime stamp

property timestamp_struct

frame timestamp struct to access further features

property value

raw paylaod value

class mtf.libs.mtf_pybinder.MtfPwmIoEvent

event received for measurement changes from HW devices

__init__(*args, **kwargs)
__new__(**kwargs)
property channel_name

channel name

property direction

event direction

property event_type

event type

get_duty_cycle(self: mtf.libs.mtf_pybinder.MtfPwmIoEvent) float

get Duty Cycle if available

property timestamp

ctime stamp

property timestamp_struct

frame timestamp struct to access further features

property value

raw paylaod value

class mtf.libs.mtf_pybinder.MtfRuningContext

Members:

TESTING_ACTIVITY

TESTING_ACTIVITIY_ROTATING_LOG

FRAMEWORK

FRAMEWORK
TESTING_ACTIVITIY_ROTATING_LOG
TESTING_ACTIVITY
__init__(self: mtf.libs.mtf_pybinder.MtfRuningContext, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.MtfSerialEvent
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.MtfSerialEvent, arg0: str, arg1: int, arg2: list[int], arg3: int) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.MtfSerialEvent, arg0: str, arg1: int, arg2: str, arg3: int) -> None

__new__(**kwargs)
property channel_name
property direction
property message
property timestamp
class mtf.libs.mtf_pybinder.MtfSomeIPMessageType

Enum class for SomeIp message type

Members:

ClientGetter

ClientMethod

ClientSetter

ConsumedEvent

ConsumedFieldNotifier

ProvidedEvent

ProvidedFieldNotifier

ServerGetter

ServerMethod

ServerSetter

ClientGetter
ClientMethod
ClientSetter
ConsumedEvent
ConsumedFieldNotifier
ProvidedEvent
ProvidedFieldNotifier
ServerGetter
ServerMethod
ServerSetter
__init__(self: mtf.libs.mtf_pybinder.MtfSomeIPMessageType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.NPdu

data structure for a NPdu

ClearHistory(self: mtf.libs.mtf_pybinder.NPdu) None

Clear history of the listener queue.

GetHistory(self: mtf.libs.mtf_pybinder.NPdu) list[mtf.libs.mtf_pybinder.ComNpdElement]

Get history of the listener queue.

StartListening(self: mtf.libs.mtf_pybinder.NPdu, callback: Callable | None = None, tecmp_filter: mtf.libs.mtf_pybinder.mtf_tecmp_filter | None = None) bool

Start the NPDU listener, The pycallback should have as arg (ecu_name: str,npdu_element:mtf_npdu_element,timestamp: int)

StopListening(self: mtf.libs.mtf_pybinder.NPdu) bool

Stop the NPDU listener.

__init__(*args, **kwargs)
__new__(**kwargs)
cancel_undefined_cycle(self: mtf.libs.mtf_pybinder.NPdu) bool

Cancel the undefined cycle by stopping new unconfigured cyclic transmissions and restoring the old configured cycle if the entity is cyclic.

property dst_endpoint
get_all_pdus(self: mtf.libs.mtf_pybinder.NPdu) list[mtf.libs.mtf_pybinder.ComPdu]

Retrieve all contained PDUs in this NPdu

get_pdu_by_name(self: mtf.libs.mtf_pybinder.NPdu, arg0: str) mtf.libs.mtf_pybinder.ComPdu

Retrieve a contained PDU in this NPdu by name.

property id

NPdu id

property is_multiplexed

Provide PDU Multiplexing status over this NPdu

property is_started

Check if the transmission of the npdu is started.

property name

NPdu name

property pdu

Provides the NPdu’s pdu instance. Returns a valid instance only if PDU Multiplexing does not exists over this NPdu.

property receivers

Get NPdu receivers

property receivers_ecus

Get NPdu receivers Ecus

property src_endpoint
start_transmission(self: mtf.libs.mtf_pybinder.NPdu) bool

Start transmission of this npdu.

stop_transmission(self: mtf.libs.mtf_pybinder.NPdu) bool

Stop transmission of this npdu.

transmit(self: mtf.libs.mtf_pybinder.NPdu, payload: list, force: bool) mtf.libs.mtf_pybinder.Result

Transmit the NPdu with the given payload (Paylod length should respect the database) set force to True in order to force the transmission i.e ignore triggering conditions

try_switch_to_undefined_cycle(self: mtf.libs.mtf_pybinder.NPdu, new_cycle: int, repetition: int = 2147483647) bool

Attempt to switch the existing cycle to a new one (in milliseconds) for a specified number of times. If the default value of “repetition” is used, it will be changed until calling “cancel_undefined_cycle”. If the NPdu is no cyclic, it will start its transmission cyclically with the specified cycle. Returns False if the NPdu is not started, otherwise True.

class mtf.libs.mtf_pybinder.NPduAddress
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.NPduAddress) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.NPduAddress, sender_ecu_name: str, pdu_name_or_id: Union[int, str], channel_name: str = ‘’) -> None

__new__(**kwargs)
property channel_name
property pdu_name_or_id
property sender_ecu_name
class mtf.libs.mtf_pybinder.Network

Com network class

__init__(*args, **kwargs)
__new__(**kwargs)
clear_bursts(self: mtf.libs.mtf_pybinder.Network) None

Clear all previously configured bursts.

configure_burst(self: mtf.libs.mtf_pybinder.Network, load_inputs: mtf.libs.mtf_pybinder.ComLoadInputs, load_config: mtf.libs.mtf_pybinder.ComLoadConfig) bool
Configure a burst in a set of com channels (CAN or Ethernet) using the provides data inputs.

If a channel was previously configured, the old configuration will be overrided!!

get_all_clusters(self: mtf.libs.mtf_pybinder.Network, cluster_type: mtf.libs.mtf_pybinder.mtf_cluster_type = <mtf_cluster_type.All: 7>) list[mtf.libs.mtf_pybinder.Cluster]

Get all available clusters based on the cluster type.

get_all_db_consumed_services(self: mtf.libs.mtf_pybinder.Network) list[mtf.libs.mtf_pybinder.mtf_datamodel_services.ConsumedServiceAttribute]

Get all consumed services from the db.

get_all_db_provided_services(self: mtf.libs.mtf_pybinder.Network) list[mtf.libs.mtf_pybinder.mtf_datamodel_services.ProvidedServiceAttribute]

Get all provided services from the db.

get_all_ecus(self: mtf.libs.mtf_pybinder.Network) list[mtf.libs.mtf_pybinder.Ecu]

Get list of all ECU instances with respect to provided DB

get_all_network_endpoints(self: mtf.libs.mtf_pybinder.Network) list[mtf.libs.mtf_pybinder.mtf_datamodel_system_topology.NetworkEndpoint]

Get all NetworkEndpoints from the db.

get_all_out_npdus(self: mtf.libs.mtf_pybinder.Network, channel_name: str = '') list[mtf.libs.mtf_pybinder.NPdu]

Get all output npdus from all ecus.

get_all_out_npdus_by_name(self: mtf.libs.mtf_pybinder.Network, pdu_name: str, channel_name: str = '') list[mtf.libs.mtf_pybinder.NPdu]

Get all output npdus from all ecus by pdu name.

get_all_virtual_lans(self: mtf.libs.mtf_pybinder.Network) list[mtf.libs.mtf_pybinder.mtf_datamodel_system_topology.VirtualLan]

Get all VirtualLans from the db.

start_bursts(self: mtf.libs.mtf_pybinder.Network) bool

Start all previously configured bursts synchronously.

start_communication(self: mtf.libs.mtf_pybinder.Network, ecu_interface: mtf.libs.mtf_pybinder.mtf_ecu_interface, excluded_ecus: set[str] | None = None) None

start, depending on the chosen interface + excluded ECUs list, cyclic frames, NPDUs and SomeIP provided notifications transmission and subscribe to SomeIP consumed notifications taking into consideration the configured connected ECUs

stop_communication(self: mtf.libs.mtf_pybinder.Network, ecu_interface: mtf.libs.mtf_pybinder.mtf_ecu_interface, excluded_ecus: set[str] | None = None) None

stop, depending on the chosen interface + excluded ECUs list cyclic frames, NPDUs and SomeIP provided notifications transmission and subscribe to SomeIP consumed notifications taking into consideration the configured connected ECUs

try_get_channel_by_name(self: mtf.libs.mtf_pybinder.Network, channel_name: str) mtf.libs.mtf_pybinder.ComChannel

Get instance of ComChannel with reference to channel_name. Return None if no channel has the name channel_name

try_get_cluster_by_name(self: mtf.libs.mtf_pybinder.Network, cluster_name: str) mtf.libs.mtf_pybinder.Cluster

Get instance of Cluster with reference to cluster_name. Return None if no cluster has the name cluster_name

try_get_decoder(self: mtf.libs.mtf_pybinder.Network, service_name_or_id: int | str, message_name_or_id: int | str, is_input: bool = True) mtf.libs.mtf_pybinder.SomeIpMessageDecoder | None

Try getting a message decoder for specific SomeIp message. It returns None if this message does not exist. set is_input to false to get decoder for SomeIp method output parameters

try_get_ecu_by_name(self: mtf.libs.mtf_pybinder.Network, ecu_name: str) mtf.libs.mtf_pybinder.Ecu

Get instance of Ecu with reference to ecu_name. Return None if no ecu has the name ecu_name

try_get_ecu_channel_pairs_by_ip(self: mtf.libs.mtf_pybinder.Network, ip_address: str) list[tuple[mtf.libs.mtf_pybinder.Ecu, str]]

Attempt to get ECUs and their corresponding channel names based on a specific IP address. return: A list of tuples, each containing an ECU object and its corresponding channel name

try_get_encoder(self: mtf.libs.mtf_pybinder.Network, service_name_or_id: int | str, message_name_or_id: int | str, is_input: bool = True) mtf.libs.mtf_pybinder.SomeIpMessageEncoder | None

Try getting a message encoder for specific SomeIp message. It returns None if this message does not exist. set is_input to false to get encoder for SomeIp method output parameters

static try_get_instance() mtf.libs.mtf_pybinder.Network

Try get instance of com network. It returns None if the com layer is not configured

class mtf.libs.mtf_pybinder.NpduInfo

Struct to store NPDU metadata, including IPs, ports, and transport protocol.

__init__(self: mtf.libs.mtf_pybinder.NpduInfo) None
__new__(**kwargs)
property channel
property dst_ip
property dst_port
property protocol
property src_ip
property src_port
class mtf.libs.mtf_pybinder.PduAddress
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.PduAddress) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.PduAddress, channel_name: str, frame_name_or_id: Union[int, str], pdu_name: str) -> None

__new__(**kwargs)
property channel_name
property frame_name_or_id
property pdu_name
class mtf.libs.mtf_pybinder.PduTiming

Pdu timing class

__init__(*args, **kwargs)
__new__(**kwargs)
class mtf.libs.mtf_pybinder.PduTimingType

Type

Members:

Cyclic

EventControlled

RequestControlled

Cyclic
EventControlled
RequestControlled
__init__(self: mtf.libs.mtf_pybinder.PduTimingType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.PduUnusedArea

PDU unused area.

__init__(self: mtf.libs.mtf_pybinder.PduUnusedArea) None
__new__(**kwargs)
property byte_order
property number_of_bits
property start_bit
class mtf.libs.mtf_pybinder.PortRangeToPortConfig

A struct to describe a VLAN priority (PCP) value based on a specific set of src port range & dst port configuration.

__init__(self: mtf.libs.mtf_pybinder.PortRangeToPortConfig, priority: int, src_port_range: tuple[int, int] | None = None, dst_port: int | None = None) None
__new__(**kwargs)
property dst_port

Represents a the dst port number.

property priority

Priority Code Point (PCP). This is a 3-bit field. Higher values indicate higher priority. Valid range: 0 to 7.

property src_port_range

Represents a contiguous range of port numbers for the src port.

class mtf.libs.mtf_pybinder.PortRangeToPortRangeConfig

A struct to describe a VLAN priority (PCP) value based on a specific set of src port range & dst port range configuration.

__init__(self: mtf.libs.mtf_pybinder.PortRangeToPortRangeConfig, priority: int, src_port_range: tuple[int, int] | None = None, dst_port_range: tuple[int, int] | None = None) None
__new__(**kwargs)
property dst_port_range

Represents a contiguous range of port numbers for the dst port.

property priority

Priority Code Point (PCP). This is a 3-bit field. Higher values indicate higher priority. Valid range: 0 to 7.

property src_port_range

Represents a contiguous range of port numbers for the src port.

class mtf.libs.mtf_pybinder.PortToPortConfig

a struct to describe a VLAN priority (PCP) value based on a specific set of src port & dst port configuration.

__init__(self: mtf.libs.mtf_pybinder.PortToPortConfig, priority: int, src_port: int | None = None, dst_port: int | None = None) None
__new__(**kwargs)
property dst_port

Represents a the dst port number.

property priority

Priority Code Point (PCP). This is a 3-bit field. Higher values indicate higher priority. Valid range: 0 to 7.

property src_port

Represents a the src port number.

class mtf.libs.mtf_pybinder.PortToPortRangeConfig

A struct to describe a VLAN priority (PCP) value based on a specific set of src port & dst port range configuration.

__init__(self: mtf.libs.mtf_pybinder.PortToPortRangeConfig, priority: int, src_port: int | None = None, dst_port_range: tuple[int, int] | None = None) None
__new__(**kwargs)
property dst_port_range

Represents a contiguous range of port numbers for the dst port.

property priority

Priority Code Point (PCP). This is a 3-bit field. Higher values indicate higher priority. Valid range: 0 to 7.

property src_port

Represents a the src port number.

class mtf.libs.mtf_pybinder.QinQTag

Struct to describe QinQTag.

__init__(self: mtf.libs.mtf_pybinder.QinQTag, has_inner: bool, inner_vlan_tag: mtf.libs.mtf_pybinder.VlanTag, has_outer: bool, outer_vlan_tag: mtf.libs.mtf_pybinder.VlanTag) None
__new__(**kwargs)
property has_inner

indicate either the QinQ Tag has an inner vlan tag or not.

property has_outer

indicate either the QinQ Tag has an outer vlan tag or not.

property inner_vlan_tag

inner vlan tag.

property outer_vlan_tag

outer vlan tag.

class mtf.libs.mtf_pybinder.Reliability

Enum class for Reliability values

Members:

Reliable

Unreliable

Any

Any
Reliable
Unreliable
__init__(self: mtf.libs.mtf_pybinder.Reliability, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.Result

Enum class for return value of mtf core functions

Members:

NotImplemented

NotOk

NotSupported

Ok

OkInProgress

Timeout

NotImplemented
NotOk
NotSupported
Ok
OkInProgress
Timeout
__init__(self: mtf.libs.mtf_pybinder.Result, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.SerialChannel
__init__(*args, **kwargs)
__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.MTFSerialListener) None

Clear Cached history

static get_can_channel(channel_name: str) mtf.libs.mtf_pybinder.CanChannel

Get a CAN channel instance. Arg:

channel_name (string)

Return: CANBus

static get_ethernet_channel(channel_name: str) mtf.libs.mtf_pybinder.EthernetChannel

Get a Ethernet channel instance. Arg:

channel_name (string)

Return: EthernetBus

static get_flexray_channel(channel_name: str) mtf.libs.mtf_pybinder.FlexRayChannel

Get a FlexRay channel instance. Arg:

channel_name (string)

Return: FlexrayBus

get_history(self: mtf.libs.mtf_pybinder.MTFSerialListener) list[MtfSerialEvent]

Get cached history

static get_instance(channel_name: str) mtf.libs.mtf_pybinder.SerialChannel

get instance of serial channel Arg:

channel_name (string)

static get_io_channel(channel_name: str) mtf.libs.mtf_pybinder.IoChannel

Get a IO channel instance. Arg:

channel_name (string)

Return: IoChannel

static get_lin_channel(channel_name: str) mtf.libs.mtf_pybinder.LinChannel

Get a LIN channel instance. Arg:

channel_name (string)

Return: LinBus

static get_serial_channel(channel_name: str) mtf.libs.mtf_pybinder.SerialChannel

Get a Serial channel instance. Arg:

channel_name (string)

Return: SerialChannel

property name

Get channel name

send_message(self: mtf.libs.mtf_pybinder.SerialChannel, message: str) bool

send serial message in given channel Arg:

message (string): The string representing the text message to be sent over the serial channel

Return : bool type

set_interception_function(self: mtf.libs.mtf_pybinder.Channel, interception_function: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None]) bool

Set a function to be called before sending any frame for the specified channel. The function is responsible for processing the data frame request and may modify the payload using “set_payload” method. If you want to drop the frame, you just need to set it to “None”. It is not thread-safe and should be used with caution. So, it is advised to set it once prior to any transmission on the corresponding channel. Arg:

interception_function: It is used to store a callback function or a callable object that will be executed with an argument

of type mtf::core::DataFrameRequestPtr

Return: bool type

start_listening(*args, **kwargs)

Overloaded function.

  1. start_listening(self: mtf.libs.mtf_pybinder.MTFSerialListener, callback: Callable[[str, int, Union[str, list[int]], int], None], get_messages_as_string: bool = True) -> bool

Start the data acquisition, callback will be triggered with every received new event providing the serial message as string or as bytes based on get_messages_as_string value

  1. start_listening(self: mtf.libs.mtf_pybinder.MTFSerialListener, get_messages_as_string: bool = True) -> bool

Start the data acquisition

stop_listening(self: mtf.libs.mtf_pybinder.MTFSerialListener) bool

Stop the data acquisition

transfer_history(self: mtf.libs.mtf_pybinder.MTFSerialListener) list[MtfSerialEvent]

Get and then clear cached history

property type

Get channel type

unset_interception_function(self: mtf.libs.mtf_pybinder.Channel) None

Unset the previously set interception function for the specified channel.

class mtf.libs.mtf_pybinder.ServicePack

Members:

BMWSP18

BMWSP21

BMWSP25

CARIAD

HONDA

GM

FORD_FNV3

DEFAULT

BMWSP18
BMWSP21
BMWSP25
CARIAD
DEFAULT
FORD_FNV3
GM
HONDA
__init__(self: mtf.libs.mtf_pybinder.ServicePack, value: int) None
__new__(**kwargs)
property name
property value
mtf.libs.mtf_pybinder.SetSignalPlaybackOutputCreatorFunction(arg0: Callable[[mtf::api::xil::VariableRef], Callable[[float, float], None]]) None
class mtf.libs.mtf_pybinder.SignalLayoutInfo

Signal layout info.

__init__(self: mtf.libs.mtf_pybinder.SignalLayoutInfo) None
__new__(**kwargs)
property bit_length
property byte_order
property start_bit
class mtf.libs.mtf_pybinder.SignalsDecoderEncoder

Signals encoder/decoder class

static Create(*args, **kwargs)

Overloaded function.

  1. Create(channel_name: str, frame_name_or_id: Union[int, str]) -> Optional[mtf.libs.mtf_pybinder.SignalsDecoderEncoder]

Create a legacy frame encoder/decoder. Returns None if the frame does not exist.

  1. Create(pdu_address: mtf.libs.mtf_pybinder.PduAddress) -> Optional[mtf.libs.mtf_pybinder.SignalsDecoderEncoder]

Create a legacy PDU encoder/decoder. Returns None if the PDU does not exist.

  1. Create(npdu_address: mtf.libs.mtf_pybinder.NPduAddress) -> Optional[mtf.libs.mtf_pybinder.SignalsDecoderEncoder]

Create an NPdu encoder/decoder. Returns None if the NPdu does not exist.

__init__(*args, **kwargs)
__new__(**kwargs)
decode(self: mtf.libs.mtf_pybinder.SignalsDecoderEncoder, payload: list[int], decoding_attribute: mtf.libs.mtf_pybinder.SignalsEncodingDecodingAttribute) dict[str, int | int | float | list[int] | str]

Decode payload into a (signal name:signal value) pairs

encode(self: mtf.libs.mtf_pybinder.SignalsDecoderEncoder, signals_values: dict[str, int | int | float | list[int] | str], encoding_attribute: mtf.libs.mtf_pybinder.SignalsEncodingDecodingAttribute) list[int]

Encode signals values into a PDU/Frame payload

class mtf.libs.mtf_pybinder.SignalsEncodingDecodingAttribute

Members:

BYTES

RAW_VALUES

PHYSICAL_VALUES

BYTES
PHYSICAL_VALUES
RAW_VALUES
__init__(self: mtf.libs.mtf_pybinder.SignalsEncodingDecodingAttribute, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.SimpleMemberType

Enum class for Simple member type

Members:

string

double

int64

uint64

__init__(self: mtf.libs.mtf_pybinder.SimpleMemberType, value: int) None
__new__(**kwargs)
double
int64
property name
string
uint64
property value
class mtf.libs.mtf_pybinder.SocketState

enum of the socket state

Members:

Uninitialized

Connecting

Connected

Disconnecting

Disconnected

Connected
Connecting
Disconnected
Disconnecting
Uninitialized
__init__(self: mtf.libs.mtf_pybinder.SocketState, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.SomeIPMessageType

Enum class for SomeIp message type

Members:

Error

ErrorAck

Notification

NotificationAck

Request

RequestAck

RequestNoReturn

RequestNoReturnAck

Response

ResponseAck

Error
ErrorAck
Notification
NotificationAck
Request
RequestAck
RequestNoReturn
RequestNoReturnAck
Response
ResponseAck
__init__(self: mtf.libs.mtf_pybinder.SomeIPMessageType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.SomeIpConsumedService

SomeIp consumed service class

__init__(*args, **kwargs)
__new__(**kwargs)
property address

Get SomeIp service address elements

property cyclic_announce_delay

SdParameter CyclicAnnounceDelay

get_all_events(self: mtf.libs.mtf_pybinder.SomeIpService) list[mtf.libs.mtf_pybinder.SomeIpMessage]

Get all service events. This function could be used for both provided and consumed services

get_all_fields(self: mtf.libs.mtf_pybinder.SomeIpService) list[mtf.libs.mtf_pybinder.SomeIpField]

Get all service fields. This function could be used for both provided and consumed services

get_all_methods(self: mtf.libs.mtf_pybinder.SomeIpService) list[mtf.libs.mtf_pybinder.SomeIpMessage]

Get all service methods. This function could be used for both provided and consumed services

property initial_delay_max

SdParameter InitialDelayMax

property ip_address

NetworkLayerParameter EndPointIpAddress

property minor_version

SdParameter MinorVersion

property port_number

TransportLayerParameter TransportPort

property query_response_delay

SdParameter QueryResponseDelay

property repetition_base

SdParameter RepetitionBase

property repetition_max

SdParameter RepetitionMax

request(self: mtf.libs.mtf_pybinder.SomeIpConsumedService) mtf.libs.mtf_pybinder.Result

Register the ecu as a client for this service

property service_name

SdParameter ServiceName

stop_request(self: mtf.libs.mtf_pybinder.SomeIpConsumedService) mtf.libs.mtf_pybinder.Result

Unregister the ecu as a client for this service

subscribe_for_all(self: mtf.libs.mtf_pybinder.SomeIpConsumedService) mtf.libs.mtf_pybinder.Result

Subscribe for all events and field notifiers of this service

try_get_event_by_name(self: mtf.libs.mtf_pybinder.SomeIpService, event_name: str) mtf.libs.mtf_pybinder.SomeIpMessage

Get service event by name. This function could be used for both provided and consumed services. Return None if the event is not found.

try_get_field_by_name(self: mtf.libs.mtf_pybinder.SomeIpService, field_name: str) mtf.libs.mtf_pybinder.SomeIpField

Get service field by name. This function could be used for both provided and consumed services. Return None if the field is not found.

try_get_message_by_id(self: mtf.libs.mtf_pybinder.SomeIpService, message_id: int) mtf.libs.mtf_pybinder.SomeIpMessage

Get service event/field accessors/method by id. This function could be used for both provided and consumed services. Return None if the message is not found.

try_get_method_by_name(self: mtf.libs.mtf_pybinder.SomeIpService, method_name: str) mtf.libs.mtf_pybinder.SomeIpMessage

Get service method by name. This function could be used for both provided and consumed services. Return None if the method is not found.

property ttl

SdParameter Ttl

unsubscribe_from_all(self: mtf.libs.mtf_pybinder.SomeIpConsumedService) mtf.libs.mtf_pybinder.Result

Unsubscribe from all events and field notifiers of this service

class mtf.libs.mtf_pybinder.SomeIpField

SomeIp field class

__init__(*args, **kwargs)
__new__(**kwargs)
property name

Get field name

try_get_getter(self: mtf.libs.mtf_pybinder.SomeIpField) mtf.libs.mtf_pybinder.SomeIpMessage

Return field getter if available

try_get_notifier(self: mtf.libs.mtf_pybinder.SomeIpField) mtf.libs.mtf_pybinder.SomeIpMessage

Return field notifier if available

try_get_setter(self: mtf.libs.mtf_pybinder.SomeIpField) mtf.libs.mtf_pybinder.SomeIpMessage

Return field setter if available

class mtf.libs.mtf_pybinder.SomeIpListenerType

Members:

GetSomeipMessages

GetRawPacket

GetSeparateFrames

GetRawPacket
GetSeparateFrames
GetSomeipMessages
__init__(self: mtf.libs.mtf_pybinder.SomeIpListenerType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.SomeIpMemberMetadata

Struct to store SomeIp member decoding meta deta

__init__(self: mtf.libs.mtf_pybinder.SomeIpMemberMetadata) None
__new__(**kwargs)
property tlv_data

TLV meta deta

class mtf.libs.mtf_pybinder.SomeIpMemberTlvMetadata

Struct to store SomeIp member decoding TLV meta deta

__init__(self: mtf.libs.mtf_pybinder.SomeIpMemberTlvMetadata) None
__new__(**kwargs)
property data_id

Data id value

property data_length

data length when available

property wire_type

Wire type value

class mtf.libs.mtf_pybinder.SomeIpMessage

SomeIp message class

__init__(*args, **kwargs)
__new__(**kwargs)
property address

Get SomeIp message address

get_data_type_or_parameters(self: mtf.libs.mtf_pybinder.SomeIpMessage, input: bool = True) mtf.libs.mtf_pybinder.mtf_someip_datatypes.BaseDataType | dict[int, mtf.libs.mtf_pybinder.mtf_someip_datatypes.ServiceParameter]

get data type(basic member) or input/output parameters.

property name

Get SomeIp message name

set_tlv_encoding_attributes(self: mtf.libs.mtf_pybinder.SomeIpMessage, attributes: mtf.libs.mtf_pybinder.TlvEncodingAttributes, path: str = '') mtf.libs.mtf_pybinder.Result

Set Tlv encoding attributes, will return NotOk if the message if the path does not exist or is not tlv related path: path to the tlv member/argument or its parent, use the default value to set the attributes (i.e its arguments order) of the SomeIpMessage itself

start_listening(self: mtf.libs.mtf_pybinder.SomeIpMessage, callback: Callable[[mtf.libs.mtf_pybinder.SomeIpMessageAddress, list[int], mtf.libs.mtf_pybinder.mtf_timestamp, mtf.libs.mtf_pybinder.SomeIPMessageType], None]) mtf.libs.mtf_pybinder.Result

Start listening to SomeIp message received events using the specified callback function.

stop_listening(self: mtf.libs.mtf_pybinder.SomeIpMessage) mtf.libs.mtf_pybinder.Result

Stop listening to SomeIp message received events.

try_get_simple_member_by_path(self: mtf.libs.mtf_pybinder.SomeIpMessage, element_path: str) mtf.libs.mtf_pybinder.SomeIpSimpleMember

Get a simple member by path. This path can be classified by the type of MemberName 1 - MemberName whose type is primitive (simple) for example Int8, Int16, Int32, float, double, Enum,…

==> Get directly the member of the messageID Example : INPUT::inputName (method request)

: RETURN::outputName (method response) : inputName (event) : fieldNotifierName (notifier)

2 - MemberName whose type is complex (struct or struct in a struct ,…)
==> Follow the level of complexity until reaching a primitive type and then check it, to pass from one level to

another lever use

Example Complex (struct)argument should be primitive :

INPUT::inputName::Argument RETURN::outputName::Argument inputName::Argument fieldNotifierName::Argument

Example doubly Complex (struct in struct) :

INPUT::inputName::memberName::Argument RETURN::outputName::memberName::Argument inputName::memberName::Argument fieldNotifierName::memberName::Argument

Example triply Complex (struct in the struct in struct)

INPUT::inputName::memberName::subMember::Argument RETURN::outputName::memberName::subMember::Argument inputName::memberName::subMember::Argument fieldNotifierName::memberName::subMember::Argument

3 - MemberName whose type is dynamic array (array or matrix)

Only members until min size of a dynamic length array are created by default. To Set/check additional members, all array-size members in the member path need to be set (value should be between min and max size) ARRAY_SIZE member path = ARRAY_PATH::array_dimension_value::ARRAY_SIZE Example : array_name::1::ARRAY_SIZE ::1:: array dimension == 1 (it is an array not a matrix (dimension == 2)) array_name is a dynamic array, the user expects to have 15 elements in the array, and 15 should be between min and max

After resizing the dynamic array, the user can check any member at any index in the array like that :

array_name::array_dimension::index_to_be_check_in_the_array * array_dimension == 1 in the case of the simple dynamic array * array_dimension == 2 in case of the double dynamic array (matrix) * index_to_be_check_in_the_array : from index 1 to the chosen index (15 in the last example)

Example : INPUT::inputName::1::2 ==> Get the element in the index 2to be equal to 12 in the simple array Example : INPUT::inputName::1::15 ==> Get the element in the index 15 to equal 10 in the simple array Note: we can have a dynamic array of structs, in this case, apply rules 2 and 3

try_serialize_and_transmit(self: mtf.libs.mtf_pybinder.SomeIpMessage) mtf.libs.mtf_pybinder.Result

Serialize simple members values Update field value if msg is of type ServerNotifier or ServerGetter Transmit the message if it is not a response msg Return NotOk if the message can not be simulated (e.g ConsumedEvent), updated(ServerSetter) or serialized(ClientGetter)

try_transmit(self: mtf.libs.mtf_pybinder.SomeIpMessage, payload: list[int]) mtf.libs.mtf_pybinder.Result

Update field value if msg is of type ServerNotifier or ServerGetter Transmit the message if it is not of type response Return always NotOk if the message can not be simulated (e.g ConsumedEvent) or updated (ServerSetter) or if it has ServerMethod type

property type

Get SomeIp message type

class mtf.libs.mtf_pybinder.SomeIpMessageAddress

Struct to store SomeIp message address elements

__init__(self: mtf.libs.mtf_pybinder.SomeIpMessageAddress) None
__new__(**kwargs)
property instance_id
property major_version
property message_id
property reliability
property service_id
class mtf.libs.mtf_pybinder.SomeIpMessageDecoder

SomeIp message decoder class

__init__(*args, **kwargs)
__new__(**kwargs)
static create_decoder(*args, **kwargs)

Overloaded function.

  1. create_decoder(data_type: mtf.libs.mtf_pybinder.mtf_someip_datatypes.BaseDataType) -> mtf.libs.mtf_pybinder.SomeIpMessageDecoder

Create a decoder for a SomeIp DataType

  1. create_decoder(parameters: dict[int, mtf.libs.mtf_pybinder.mtf_someip_datatypes.ServiceParameter]) -> mtf.libs.mtf_pybinder.SomeIpMessageDecoder

Create a decoder for a SomeIp parameters

decode(self: mtf.libs.mtf_pybinder.SomeIpMessageDecoder, payload: list[int]) dict[str, str | float | int | int]

Decode a payload into a dict of simple members values

decode_as_tree(self: mtf.libs.mtf_pybinder.SomeIpMessageDecoder, payload: list[int]) list[mtf.libs.mtf_pybinder.MembersValuesTree]

Decode a payload into a tree of values for each parameter, return empty list if there was an issue decoding the payload

get_datatype_or_params(self: mtf.libs.mtf_pybinder.SomeIpMessageDecoder) mtf.libs.mtf_pybinder.mtf_someip_datatypes.BaseDataType | dict[int, mtf.libs.mtf_pybinder.mtf_someip_datatypes.ServiceParameter]
static try_get_decoder(service_name_or_id: int | str, message_name_or_id: int | str, input_parameters: bool = True) mtf.libs.mtf_pybinder.SomeIpMessageDecoder | None

Try getting a message decoder for specific SomeIp message. It returns None if this message does not exist.

class mtf.libs.mtf_pybinder.SomeIpMessageEncoder

SomeIp message encoder class

__init__(*args, **kwargs)
__new__(**kwargs)
static create_encoder(*args, **kwargs)

Overloaded function.

  1. create_encoder(data_type: mtf.libs.mtf_pybinder.mtf_someip_datatypes.BaseDataType) -> mtf.libs.mtf_pybinder.SomeIpMessageEncoder

Create an encoder for a SomeIp DataType

  1. create_encoder(parameters: dict[int, mtf.libs.mtf_pybinder.mtf_someip_datatypes.ServiceParameter]) -> mtf.libs.mtf_pybinder.SomeIpMessageEncoder

Create an encoder for a SomeIp parameters

encode(self: mtf.libs.mtf_pybinder.SomeIpMessageEncoder, values: dict[str, str | float | int | int] = {}, encoding_attributes: dict[str, mtf.libs.mtf_pybinder.TlvEncodingAttributes] = {}) list[int]

Encode values into a payload taking into considering the encoding attributes, a default value will be used for available simple members if no value is given, the given values will be casted to the member type if possible e.g if the given value is of type string while the member type of an integral type an empty payload will be returned, E2E protection will not be considered!

get_datatype_or_params(self: mtf.libs.mtf_pybinder.SomeIpMessageEncoder) mtf.libs.mtf_pybinder.mtf_someip_datatypes.BaseDataType | dict[int, mtf.libs.mtf_pybinder.mtf_someip_datatypes.ServiceParameter]
static try_get_encoder(service_name_or_id: int | str, message_name_or_id: int | str, input_parameters: bool = True) mtf.libs.mtf_pybinder.SomeIpMessageEncoder | None

Try getting a message decoder for specific SomeIp message. It returns None if this message does not exist.

class mtf.libs.mtf_pybinder.SomeIpProvidedService

SomeIp provided service class

__init__(*args, **kwargs)
__new__(**kwargs)
property address

Get SomeIp service address elements

property cyclic_announce_delay

SdParameter CyclicAnnounceDelay

get_all_events(self: mtf.libs.mtf_pybinder.SomeIpService) list[mtf.libs.mtf_pybinder.SomeIpMessage]

Get all service events. This function could be used for both provided and consumed services

get_all_fields(self: mtf.libs.mtf_pybinder.SomeIpService) list[mtf.libs.mtf_pybinder.SomeIpField]

Get all service fields. This function could be used for both provided and consumed services

get_all_methods(self: mtf.libs.mtf_pybinder.SomeIpService) list[mtf.libs.mtf_pybinder.SomeIpMessage]

Get all service methods. This function could be used for both provided and consumed services

property initial_delay_max

SdParameter InitialDelayMax

property ip_address

NetworkLayerParameter EndPointIpAddress

property minor_version

SdParameter MinorVersion

offer_all_events(self: mtf.libs.mtf_pybinder.SomeIpProvidedService) mtf.libs.mtf_pybinder.Result

Offer all event and all field notifiers and start their cyclic transmission when applicable

property port_number

TransportLayerParameter TransportPort

property query_response_delay

SdParameter QueryResponseDelay

property repetition_base

SdParameter RepetitionBase

property repetition_max

SdParameter RepetitionMax

property service_name

SdParameter ServiceName

start_cyclic_transmission(self: mtf.libs.mtf_pybinder.SomeIpProvidedService, message_id: int) mtf.libs.mtf_pybinder.Result

Start cyclic transmission of the given event or field notifier. Return NotOk if the event or field notifier is not found

start_offer(self: mtf.libs.mtf_pybinder.SomeIpProvidedService) mtf.libs.mtf_pybinder.Result

Start offering service

stop_cyclic_transmission(self: mtf.libs.mtf_pybinder.SomeIpProvidedService, message_id: int) mtf.libs.mtf_pybinder.Result

Stop cyclic transmission for a specific event or field notifier. Return NotOk if the event or field notifier is not found

stop_offer(self: mtf.libs.mtf_pybinder.SomeIpProvidedService) mtf.libs.mtf_pybinder.Result

Stop offering service

stop_offer_all_events(self: mtf.libs.mtf_pybinder.SomeIpProvidedService) mtf.libs.mtf_pybinder.Result

Stop offering all event and all field notifiers

try_get_event_by_name(self: mtf.libs.mtf_pybinder.SomeIpService, event_name: str) mtf.libs.mtf_pybinder.SomeIpMessage

Get service event by name. This function could be used for both provided and consumed services. Return None if the event is not found.

try_get_field_by_name(self: mtf.libs.mtf_pybinder.SomeIpService, field_name: str) mtf.libs.mtf_pybinder.SomeIpField

Get service field by name. This function could be used for both provided and consumed services. Return None if the field is not found.

try_get_message_by_id(self: mtf.libs.mtf_pybinder.SomeIpService, message_id: int) mtf.libs.mtf_pybinder.SomeIpMessage

Get service event/field accessors/method by id. This function could be used for both provided and consumed services. Return None if the message is not found.

try_get_method_by_name(self: mtf.libs.mtf_pybinder.SomeIpService, method_name: str) mtf.libs.mtf_pybinder.SomeIpMessage

Get service method by name. This function could be used for both provided and consumed services. Return None if the method is not found.

property ttl

SdParameter Ttl

class mtf.libs.mtf_pybinder.SomeIpService

SomeIp service class

__init__(*args, **kwargs)
__new__(**kwargs)
property address

Get SomeIp service address elements

get_all_events(self: mtf.libs.mtf_pybinder.SomeIpService) list[mtf.libs.mtf_pybinder.SomeIpMessage]

Get all service events. This function could be used for both provided and consumed services

get_all_fields(self: mtf.libs.mtf_pybinder.SomeIpService) list[mtf.libs.mtf_pybinder.SomeIpField]

Get all service fields. This function could be used for both provided and consumed services

get_all_methods(self: mtf.libs.mtf_pybinder.SomeIpService) list[mtf.libs.mtf_pybinder.SomeIpMessage]

Get all service methods. This function could be used for both provided and consumed services

try_get_event_by_name(self: mtf.libs.mtf_pybinder.SomeIpService, event_name: str) mtf.libs.mtf_pybinder.SomeIpMessage

Get service event by name. This function could be used for both provided and consumed services. Return None if the event is not found.

try_get_field_by_name(self: mtf.libs.mtf_pybinder.SomeIpService, field_name: str) mtf.libs.mtf_pybinder.SomeIpField

Get service field by name. This function could be used for both provided and consumed services. Return None if the field is not found.

try_get_message_by_id(self: mtf.libs.mtf_pybinder.SomeIpService, message_id: int) mtf.libs.mtf_pybinder.SomeIpMessage

Get service event/field accessors/method by id. This function could be used for both provided and consumed services. Return None if the message is not found.

try_get_method_by_name(self: mtf.libs.mtf_pybinder.SomeIpService, method_name: str) mtf.libs.mtf_pybinder.SomeIpMessage

Get service method by name. This function could be used for both provided and consumed services. Return None if the method is not found.

class mtf.libs.mtf_pybinder.SomeIpServiceAddress

Struct to store SomeIp service address elements

__init__(self: mtf.libs.mtf_pybinder.SomeIpServiceAddress) None
__new__(**kwargs)
property instance_id
property major_version
property reliability
property service_id
class mtf.libs.mtf_pybinder.SomeIpSimpleMember

SomeIp simple member class

__init__(*args, **kwargs)
__new__(**kwargs)
get_last_read_value(self: mtf.libs.mtf_pybinder.SomeIpSimpleMember) str | float | int | int

Get last read value of this simple member

set_value(self: mtf.libs.mtf_pybinder.SomeIpSimpleMember, value: str | float | int | int) bool

set the value of the simple member return False if the value type does not match the member type string -> str int8, int16, int32, int64, uint8, uint16, uint32, uint64 -> int float32, float64 -> float

start_listening(self: mtf.libs.mtf_pybinder.SomeIpSimpleMember, callback: Callable[[mtf.libs.mtf_pybinder.SomeIpMessageAddress, mtf.libs.mtf_pybinder.SomeIpSimpleMember, mtf.libs.mtf_pybinder.mtf_timestamp, str], None], on_change: bool = False) mtf.libs.mtf_pybinder.Result

Start listening to simple member value received events. If “on_change” is set to True, the callback will be called only if the value of this simple member has changed.

stop_listening(self: mtf.libs.mtf_pybinder.SomeIpSimpleMember) mtf.libs.mtf_pybinder.Result

Stop listening to SomeIp simple member value received events.

property type

Get simple member type

class mtf.libs.mtf_pybinder.Source

enum of the source of the Timestamp (HW or SW)

Members:

Default

PreferHw

Default
PreferHw
__init__(self: mtf.libs.mtf_pybinder.Source, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.TimeRangeType

time range type class

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.TimeRangeType) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.TimeRangeType, arg0: float, arg1: float, arg2: float) -> None

  3. __init__(self: mtf.libs.mtf_pybinder.TimeRangeType, arg0: float) -> None

__new__(**kwargs)
get_max_tolerance(self: mtf.libs.mtf_pybinder.TimeRangeType) float
get_min_tolerance(self: mtf.libs.mtf_pybinder.TimeRangeType) float
get_tolerance_max_us(self: mtf.libs.mtf_pybinder.TimeRangeType) int

Get the maximum tolerance in microseconds

get_tolerance_min_us(self: mtf.libs.mtf_pybinder.TimeRangeType) int

Get the minimum tolerance in microseconds

get_value(self: mtf.libs.mtf_pybinder.TimeRangeType) float

Get the base timing value

get_value_ms(self: mtf.libs.mtf_pybinder.TimeRangeType) int

Get value in milliseconds

get_value_us(self: mtf.libs.mtf_pybinder.TimeRangeType) int

Get value in microseconds

class mtf.libs.mtf_pybinder.TlvAvailibility

Enum class for Tlv member/argument availibilty values

Members:

DEFAULT : optional member/argument will be not be encoded, mandatory member/argument will be encoded

AVAILABLE : Member/argument will be encoded

NOT_AVAILABLE : Member/argument will not be encoded

AVAILABLE
DEFAULT
NOT_AVAILABLE
__init__(self: mtf.libs.mtf_pybinder.TlvAvailibility, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.TlvEncodingAttributes

Struct to store tlv member/argument encoding attributes

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.TlvEncodingAttributes) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.TlvEncodingAttributes, arg0: list[str]) -> None

  3. __init__(self: mtf.libs.mtf_pybinder.TlvEncodingAttributes, availability: mtf.libs.mtf_pybinder.TlvAvailibility, use_static_size_wire_type: bool = True, members_order: list[str] = []) -> None

__new__(**kwargs)
property availability

To be used to set the availiblity of a tlv member/argument

property members_order

To be used to set the order tlv struct members or method arguments

property use_static_size_wire_type

To be used to indicate the wire type(static or dynamic) of a complex tlv member/argument

class mtf.libs.mtf_pybinder.TlvWireType

Enum class for Tlv WireType values

Members:

K8BIT

K16BIT

K32BIT

K64BIT

ONE_BYTE_SIZE_LENGTH

TWO_BYTE_SIZE_LENGTH

FOUR_BYTE_SIZE_LENGTH

STATIC_SIZE_LENGTH

FOUR_BYTE_SIZE_LENGTH
K16BIT
K32BIT
K64BIT
K8BIT
ONE_BYTE_SIZE_LENGTH
STATIC_SIZE_LENGTH
TWO_BYTE_SIZE_LENGTH
__init__(self: mtf.libs.mtf_pybinder.TlvWireType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.VlanForwarding

Struct to describe Vlan forwarding rules.

__init__(self: mtf.libs.mtf_pybinder.VlanForwarding, dst_multicast_ip_addr_vlans: list[mtf.libs.mtf_pybinder.QinQTag], dst_unicast_ip_addr_vlans: list[mtf.libs.mtf_pybinder.DstUnicastIpVlans]) None
__new__(**kwargs)
property dst_multicast_ip_addr_vlans

presents list of Vlan QinQTag related to dst multicast ip addresses.

property dst_unicast_ip_addr_vlans

presents list of DstUnicastIpVlans.

class mtf.libs.mtf_pybinder.VlanTag

a struct to describe VLAN Tag.

__init__(self: mtf.libs.mtf_pybinder.VlanTag, vid: int, pcp: int, tpid: int, dei: bool) None
__new__(**kwargs)
property dei

Drop Eligible Indicator (DEI), indicate frames eligible to be dropped in the presence of congestion.

property pcp

Priority Code Point (PCP). This is a 3-bit field. Higher values indicate higher priority. Valid range: 0 to 7.

property tpid

Tag Protocol Identifier (TPID), indicates the type of VLAN tag (e.g., 0x8100, 0x88A8, 0x9100).

property vid

VLAN Identifier (VID). This is a 12-bit field that identifies the VLAN to which the frame belongs.

class mtf.libs.mtf_pybinder.WinpkFilterChannel
__init__(*args, **kwargs)
__new__(**kwargs)
activate_packet_manipulation(self: mtf.libs.mtf_pybinder.WinpkFilterChannel) bool

Enable packet manipulation feature for the WinpkFilter’s ethernet channel. Args: None Returns:

True if packet manipulation can be activated otherwise False.

deactivate_packet_manipulation(self: mtf.libs.mtf_pybinder.WinpkFilterChannel) bool

Disable packet manipulation feature for the WinpkFilter’s ethernet channel. Args: None Returns:

True if packet manipulation can be deactivated otherwise False.

static get_instance(channel_name: str) mtf.libs.mtf_pybinder.WinpkFilterChannel

Obtain an instance of a WinpkFilter channel.

Args:

channel_name (string): name of the WinpkFilter’s ethernet channel.

Returns:

WinpkFilterChannel: a WinpkFilter channel instance

set_msg_reception_callback(self: mtf.libs.mtf_pybinder.WinpkFilterChannel, on_msg_reception: Callable[[mtf::pybinder::WinpkFilterEthFrame], None]) bool

Register/Deregister a callback to process incoming packets. Args:

on_msg_reception (Callable[[WinpkFilterEthFrame], None]): function to be called inorder to alter the frame data.

Returns:

True if callback function can be set otherwise False.

set_msg_transmission_callback(self: mtf.libs.mtf_pybinder.WinpkFilterChannel, on_msg_transmission: Callable[[mtf::pybinder::WinpkFilterEthFrame], None]) bool

Register/Deregister a callback to process outgoing packets. Args:

on_msg_transmission (Callable[[WinpkFilterEthFrame], None]): function to be called inorder to alter the frame data.

Returns:

True if callback function can be set otherwise False.

class mtf.libs.mtf_pybinder.WinpkFilterEthFrame
__init__(*args, **kwargs)
__new__(**kwargs)
property drop

drop: bool Indicates whether frame to be dropped or not. Defaults to False. When set to True, frame will be dropped. When False, frame are passed normally.

Returns:

bool: The current drop status.

get_bytes(self: mtf.libs.mtf_pybinder.WinpkFilterEthFrame) bytearray

Returns the current frame content as a bytearray. The returned bytearray reflects the portion of the internal buffer defined by the current frame length. Modifying the returned bytearray will not affect the internal buffer.

Args: None Returns:

bytearray: A copy of the valid frame data.

get_memoryview(self: mtf.libs.mtf_pybinder.WinpkFilterEthFrame) memoryview

Obtain a memoryview over the frame’s internal buffer. This memoryview allows direct access to the underlying data without copying. Modifications to the view are reflected in the internal buffer.

Args: None Returns:

memoryview: A memoryview of the frame’s internal buffer.

property length

length: int The number of valid bytes currently stored in the frame. This value determines how much of the internal buffer is considered meaningful. It must not exceed the total capacity of the underlying memoryview.

Returns:

int: The number of valid bytes stored in the frame.

set_bytes(self: mtf.libs.mtf_pybinder.WinpkFilterEthFrame, bytes: bytearray) None

Replaces the content of the frame with the given bytearray. The data is copied into the internal buffer.

Args:

data (bytearray): A sequence of bytes to store in the frame.

Returns: None

class mtf.libs.mtf_pybinder.XcpCommand

Members:

START_STOP_SYNCH

GET_DAQ_PROCESSOR_INFO

GET_DAQ_RESOLUTION_INFO

GET_DAQ_LIST_INFO

GET_DAQ_EVENT_INFO

GET_DAQ_EVENT_INFO
GET_DAQ_LIST_INFO
GET_DAQ_PROCESSOR_INFO
GET_DAQ_RESOLUTION_INFO
START_STOP_SYNCH
__init__(self: mtf.libs.mtf_pybinder.XcpCommand, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.XcpConfigOption

Members:

send_receive_retries

message_timeout

force_short_upload

status_polling_interval

max_cto_override

force_short_download

phys_value_in_daq_callback

skip_command

unskip_command

__init__(self: mtf.libs.mtf_pybinder.XcpConfigOption, value: int) None
__new__(**kwargs)
force_short_download
force_short_upload
max_cto_override
message_timeout
property name
phys_value_in_daq_callback
send_receive_retries
skip_command
status_polling_interval
unskip_command
property value
class mtf.libs.mtf_pybinder.XcpConnectionType

Members:

CAN

ETH

FLEXRAY

NPDU

CAN
ETH
FLEXRAY
NPDU
__init__(self: mtf.libs.mtf_pybinder.XcpConnectionType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.XcpDataType

Members:

ASCII

BOOL

UBYTE

SBYTE

UWORD

SWORD

ULONG

SLONG

UIINT64

INT64

FLOAT16

FLOAT32

FLOAT64

UNKNOWN

ASCII
BOOL
FLOAT16
FLOAT32
FLOAT64
INT64
SBYTE
SLONG
SWORD
UBYTE
UIINT64
ULONG
UNKNOWN
UWORD
__init__(self: mtf.libs.mtf_pybinder.XcpDataType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.XcpEthProtocol

Members:

TCP

UDP

TCP
UDP
__init__(self: mtf.libs.mtf_pybinder.XcpEthProtocol, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.burst_can_frame
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.burst_can_frame) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.burst_can_frame, frame_id: int, payload: list[int], fd: bool, data_flags: int = 0) -> None

__new__(**kwargs)
class mtf.libs.mtf_pybinder.burst_ethernet_frame
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.burst_ethernet_frame) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.burst_ethernet_frame, frame_id: int, payload: list[int]) -> None

__new__(**kwargs)
class mtf.libs.mtf_pybinder.burst_flexray_frame
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.burst_flexray_frame) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.burst_flexray_frame, frame_id: int, payload: list[int], comm_channel: mtf.libs.mtf_pybinder.FRCommunicationChannel, error_flags: int = 0) -> None

__new__(**kwargs)
class mtf.libs.mtf_pybinder.can_frame
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.can_frame, frame_id: int, payload: list[int], is_fd: bool = False, flag: int = 0) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.can_frame, frame_id: int, payload: list[int], is_fd: bool = False, brs_on: mtf.libs.mtf_pybinder.BrsFlag = <BrsFlag.ON: 4>) -> None

__new__(**kwargs)
mtf.libs.mtf_pybinder.current_time() int

Get the current real or virtual time (in milliseconds)

class mtf.libs.mtf_pybinder.ethernet_protocol

Members:

TCP

UDP

ICMPv6

Unknown

ICMPv6
TCP
UDP
Unknown
__init__(self: mtf.libs.mtf_pybinder.ethernet_protocol, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.flexray_frame
__init__(self: mtf.libs.mtf_pybinder.flexray_frame, arg0: str, arg1: list[int], arg2: int, arg3: int) None
__new__(**kwargs)
class mtf.libs.mtf_pybinder.lin_frame
__init__(self: mtf.libs.mtf_pybinder.lin_frame, arg0: int, arg1: list[int]) None
__new__(**kwargs)
class mtf.libs.mtf_pybinder.mtfPsSequncerType

Members:

WAVE

LIST

LIST
WAVE
__init__(self: mtf.libs.mtf_pybinder.mtfPsSequncerType, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtfPsSignalForm

data structure to define properties for ps voltage variation, this is the input for store_ps_signal_form

__init__(self: mtf.libs.mtf_pybinder.mtfPsSignalForm) None
__new__(**kwargs)
property curve_type
property memory_slot
property repetition
property time_slots
property voltages
class mtf.libs.mtf_pybinder.mtf_api
__init__(*args, **kwargs)
__new__(**kwargs)
class mtf.libs.mtf_pybinder.mtf_arp_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_arp_layer_filter) None
__new__(**kwargs)
property hw_size

ARP Hardware size

property hw_types

ARP Hardware types

property opcodes

ARP opcodes

property protocols_types

ARP protocols types

property sender_ip_address

Sender ip address

property sender_mac_address

Sender mac address

property target_ip_address

Target ip address

property target_mac_address

Target mac address

class mtf.libs.mtf_pybinder.mtf_binder
__init__(self: mtf.libs.mtf_pybinder.mtf_binder) None
__new__(**kwargs)
check_license_for_method(self: mtf.libs.mtf_pybinder.mtf_binder, method_name: str) bool

Check the license status for a method

cleanup_connection_pool(self: mtf.libs.mtf_pybinder.mtf_binder) None

Clean up connection pool by closing and deleting all sockets instances

exit_framework(self: mtf.libs.mtf_pybinder.mtf_binder) int

try to shutdown mtf core and all started modules , return 0 in case of success or an error code in case of failure

get_configured_service_pack(self: mtf.libs.mtf_pybinder.mtf_binder) mtf.libs.mtf_pybinder.ServicePack

Get the configured service pack

get_lifecycle_state(self: mtf.libs.mtf_pybinder.mtf_binder) mtf.libs.mtf_pybinder.LifeCycleState

Get LifeCycle State

get_mtf_api(self: mtf.libs.mtf_pybinder.mtf_binder) int

Get the mtf api

start_application(self: mtf.libs.mtf_pybinder.mtf_binder, log_path: str, console_log_level: int, config_path: str, db_path: str = '', plugin_path: str = '', log_level: int = 1, is_rotate_lifecycle: int = 0) bool

Init the MTF Core Load config files, Init HW, etc.

start_framework(self: mtf.libs.mtf_pybinder.mtf_binder, api_config: mtf.libs.mtf_pybinder.MtfApiSetup) bool

Init the MTF Core and all modules with respect to the apiconfig Load config files, Init HW, etc.

start_signal_playback(self: mtf.libs.mtf_pybinder.mtf_binder) None

Start signal playback from configured STI file

start_test_case(*args, **kwargs)

Overloaded function.

  1. start_test_case(self: mtf.libs.mtf_pybinder.mtf_binder, test_config: mtf.libs.mtf_pybinder.mtf_test_config) -> bool

Start a Test Serie execution with config struct

  1. start_test_case(self: mtf.libs.mtf_pybinder.mtf_binder, test_case_name: str, log_directory: str, tracing_active: bool = True, signal_playback_active: bool = True) -> bool

Start a Test Serie execution

start_test_serie(*args, **kwargs)

Overloaded function.

  1. start_test_serie(self: mtf.libs.mtf_pybinder.mtf_binder, cycle_time_factor: int = 1, min_debounce_time: int = 0) -> bool

Start a Test Serie execution

  1. start_test_serie(self: mtf.libs.mtf_pybinder.mtf_binder, serie_config: mtf.libs.mtf_pybinder.mtf_test_serie_config) -> bool

Start a Test Serie execution with config struct

stop_application(self: mtf.libs.mtf_pybinder.mtf_binder) bool

De-Init the MTF Core

stop_signal_playback(self: mtf.libs.mtf_pybinder.mtf_binder) None

Stop signal playback if active

stop_test_case(self: mtf.libs.mtf_pybinder.mtf_binder) bool

Stop a Test case execution

stop_test_serie(self: mtf.libs.mtf_pybinder.mtf_binder) bool

Stop a Test Serie execution

class mtf.libs.mtf_pybinder.mtf_burst

Interface to configure and transmit frame bursts

__init__(self: mtf.libs.mtf_pybinder.mtf_burst) None
__new__(**kwargs)
cancel_async(self: mtf.libs.mtf_pybinder.mtf_burst) None

Cancel all asynchronous bursts

clear(self: mtf.libs.mtf_pybinder.mtf_burst) None

Remove all burst configurations

configure_can_frame_callback(self: mtf.libs.mtf_pybinder.mtf_burst, duration_ms: int, frequency: int, channel_list: list[str], stop_on_error: bool, callback: Callable[[], Optional[mtf::core::load_module::CanFrame]], extra_parameters: mtf.libs.mtf_pybinder.ExtraBurstParameters = <mtf.libs.mtf_pybinder.ExtraBurstParameters object at 0x0000020870750D30>) int

Configure burst based on a callback to provide frames

configure_eth_frame_callback(self: mtf.libs.mtf_pybinder.mtf_burst, duration_ms: int, frequency: int, channel_list: list[str], stop_on_error: bool, callback: Callable[[], Optional[mtf::core::load_module::EthernetFrame]], extra_parameters: mtf.libs.mtf_pybinder.ExtraBurstParameters = <mtf.libs.mtf_pybinder.ExtraBurstParameters object at 0x0000020873BBAE70>) int

Configure burst based on a callback to provide frames

configure_flx_frame_callback(self: mtf.libs.mtf_pybinder.mtf_burst, duration_ms: int, frequency: int, channel_list: list[str], stop_on_error: bool, callback: Callable[[], Optional[mtf::core::load_module::FlexrayFrame]], extra_parameters: mtf.libs.mtf_pybinder.ExtraBurstParameters = <mtf.libs.mtf_pybinder.ExtraBurstParameters object at 0x0000020873B36C30>) int

Configure burst based on a callback to provide frames

configure_frame_list(self: mtf.libs.mtf_pybinder.mtf_burst, duration_ms: int, frequency: int, channel_list: list[str], stop_on_error: bool, frames: Union[list[mtf::core::load_module::CanFrame], list[mtf::core::load_module::FlexrayFrame], list[mtf::core::load_module::EthernetFrame]], iterations: int = -1, extra_parameters: mtf.libs.mtf_pybinder.ExtraBurstParameters = <mtf.libs.mtf_pybinder.ExtraBurstParameters object at 0x0000020873BBACB0>) int

Configure burst based on a list of frames

frame_prefetching(self: mtf.libs.mtf_pybinder.mtf_burst, on_off: bool) None

Enable/disable frame prefetching

remove(self: mtf.libs.mtf_pybinder.mtf_burst, handle: int) None

Remove the given burst configuration

transmit(self: mtf.libs.mtf_pybinder.mtf_burst) None

Start sending all configured bursts

transmit_async(self: mtf.libs.mtf_pybinder.mtf_burst) None

Start sending all configured bursts asynchronously

update_eth_injection_method(self: mtf.libs.mtf_pybinder.mtf_burst, channel_name: str, injection_method: mtf::core::EthernetInjectionMethod) bool
wait_until_finished(self: mtf.libs.mtf_pybinder.mtf_burst) None

Wait and block until all asynchronous bursts have finished

class mtf.libs.mtf_pybinder.mtf_bus_listener

Set up captures of Ethernet frames on a specific interface (channel)

__init__(self: mtf.libs.mtf_pybinder.mtf_bus_listener, channel_name: str, filter: mtf.libs.mtf_pybinder.mtf_eth_filter = <mtf.libs.mtf_pybinder.mtf_eth_basic_filter object at 0x0000020870795CB0>) None

Set up captures of Ethernet frames on a specific interface (channel)

channel_name: Channel where we will start the data acquisition filter: ethernet filter

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_bus_listener) None

clear bus listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_bus_listener) list[MtfBusEvent]

Get bus listener history

set_channel_name(self: mtf.libs.mtf_pybinder.mtf_bus_listener, channel_name: str) bool

Set the channel name

set_filter(self: mtf.libs.mtf_pybinder.mtf_bus_listener, Filter: list[dict[str, dict[str, int]]]) None

Set Filter for Ethernet frame

start(self: mtf.libs.mtf_pybinder.mtf_bus_listener, CallBack: Callable | None = None) bool

Start the data acquisition

callback: The function to call when a Ethernet frame (matching the defined filter) is received or transmitted on the channel

stop(self: mtf.libs.mtf_pybinder.mtf_bus_listener) bool

Stop the data acquisition

transfer_history(self: mtf.libs.mtf_pybinder.mtf_bus_listener) list[MtfBusEvent]

Transfer/move bus listener history

class mtf.libs.mtf_pybinder.mtf_bus_observer
__init__(self: mtf.libs.mtf_pybinder.mtf_bus_observer) None
__new__(**kwargs)
check_bus_traffic(self: mtf.libs.mtf_pybinder.mtf_bus_observer, arg0: str, arg1: int, arg2: int) bool

check traffic in bus

monitor_bus_traffic(self: mtf.libs.mtf_pybinder.mtf_bus_observer, arg0: str, arg1: int, arg2: int) bool

monitor traffic in bus

start_bus_observer(self: mtf.libs.mtf_pybinder.mtf_bus_observer, arg0: str, arg1: int) bool

start bus observer

stop_bus_observer(self: mtf.libs.mtf_pybinder.mtf_bus_observer, arg0: str, arg1: int) bool

stop bus observer

class mtf.libs.mtf_pybinder.mtf_can_bus_listener

Set up captures of CAN frames on a specific channel

__init__(self: mtf.libs.mtf_pybinder.mtf_can_bus_listener, arg0: str) None

Set up captures of CAN frames on a specific channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_can_bus_listener) None

clear can bus listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_can_bus_listener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]

Get can bus listener history

start_bus_listening(self: mtf.libs.mtf_pybinder.mtf_can_bus_listener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None], silent_mode: bool, flags: int = 0) bool

Start the data acquisition, set flags to INCLUDE_FRAMES_WITH_ERROR to listen to frames with error

stop_bus_listening(self: mtf.libs.mtf_pybinder.mtf_can_bus_listener) bool

Stop the data acquisition

class mtf.libs.mtf_pybinder.mtf_can_frame_listener

Set up a CAN frame capture on a specific channel

__init__(self: mtf.libs.mtf_pybinder.mtf_can_frame_listener, arg0: str, arg1: int) None

Set up a CAN frame capture on a specific channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_can_frame_listener) None

clear can bus listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_can_frame_listener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]

Get can bus listener history

start_listening(self: mtf.libs.mtf_pybinder.mtf_can_frame_listener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None], direction: int, on_change_only: int, silent_mode: bool) bool

Start the data acquisition

stop_listening(self: mtf.libs.mtf_pybinder.mtf_can_frame_listener) bool

Stop the data acquisition

class mtf.libs.mtf_pybinder.mtf_can_tp_controller

Control the CAN TP messages sending and listeners registration

ConfigureFlowControl(self: mtf.libs.mtf_pybinder.mtf_can_tp_controller, block_size, : int, separation_time: int) bool

configure flow control

__init__(self: mtf.libs.mtf_pybinder.mtf_can_tp_controller, channel_name: str, rx_frame_id: int, tx_frame_id: int, source_address: int = 0, target_address: int = 0) None
__new__(**kwargs)
cleanUp(self: mtf.libs.mtf_pybinder.mtf_can_tp_controller) bool

unregister listener

clear_config(self: mtf.libs.mtf_pybinder.mtf_can_tp_controller) bool

remove CAN TP config

configure(self: mtf.libs.mtf_pybinder.mtf_can_tp_controller, callback: Callable, protocol: int, pdu_length: int, padding_value: int, flow_timeout: int) bool

configure CANTP message

setup(self: mtf.libs.mtf_pybinder.mtf_can_tp_controller, callback: Callable) bool

setup CAN TP coupling and register listener

transmit(self: mtf.libs.mtf_pybinder.mtf_can_tp_controller, payload: list[int]) bool

send CAN TP message

update_transmission_timeout(self: mtf.libs.mtf_pybinder.mtf_can_tp_controller, tx_timeout_ms: int) bool

Update transmission confirmation timeout (by default is set to 100 milliseconds)

class mtf.libs.mtf_pybinder.mtf_can_transmitter

Sending cyclic and noncyclic frames over Can

__init__(self: mtf.libs.mtf_pybinder.mtf_can_transmitter) None
__new__(**kwargs)
send_frame(self: mtf.libs.mtf_pybinder.mtf_can_transmitter, channel_name: str, frame: CanFrame, error_flags: int = 0) bool

send can frame in given channel

send_frames(self: mtf.libs.mtf_pybinder.mtf_can_transmitter, channel_name: str, frames: list[CanFrame], error_flags: int = 0) bool

send can frames in given channel

start_sending_cyclic_frame(self: mtf.libs.mtf_pybinder.mtf_can_transmitter, channel_name: str, frame: CanFrame, cycle: int) bool

send can frame in given channel with given cycle

stop_sending_cyclic_frame(self: mtf.libs.mtf_pybinder.mtf_can_transmitter, channel_name: str, frame_id: int) bool

stop send can frame in given channel with given cycle

class mtf.libs.mtf_pybinder.mtf_cluster_type

Members:

Can

CanFD

Lin

Most

FlexRay

Ethernet

All

All
Can
CanFD
Ethernet
FlexRay
Lin
Most
__init__(self: mtf.libs.mtf_pybinder.mtf_cluster_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_cmp_ctr_msg_type

Members:

INVALID

DSR_CTRL_MSG : Data sink ready msg

USER_EVENT_CTRL_MSG

VENDOR_CTRL_MSG

DSR_CTRL_MSG
INVALID
USER_EVENT_CTRL_MSG
VENDOR_CTRL_MSG
__init__(self: mtf.libs.mtf_pybinder.mtf_cmp_ctr_msg_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_cmp_data_msg_type

Members:

INVALID

CAN

CANFD

LIN

FLEXRAY

DIGITAL

UART_RS232

ANALOG

ETHERNET

ANALOG
CAN
CANFD
DIGITAL
ETHERNET
FLEXRAY
INVALID
LIN
UART_RS232
__init__(self: mtf.libs.mtf_pybinder.mtf_cmp_data_msg_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_cmp_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_cmp_filter) None
__new__(**kwargs)
property devices_ids

optional CMP devices ids

property interface_ids

optional CMP interfaces ids

property msg_payload_types

optional CMP msg payload types

property msg_types

optional CMP messages types

property stream_ids

optional CMP stream ids

class mtf.libs.mtf_pybinder.mtf_cmp_msg_type

Members:

CAP_DATA_MSG

CTRL_MSG

STATUS_MSG

VENDOR_MSG

CAP_DATA_MSG
CTRL_MSG
STATUS_MSG
VENDOR_MSG
__init__(self: mtf.libs.mtf_pybinder.mtf_cmp_msg_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_cmp_status_msg_type

Members:

INVALID

CM_STAT_MSG : CM status msg

IF_STAT_MSG : Interface status msg

CONF_STAT_MSG : Configuration status msg

DLE_STAT_MSG : Data lost event status msg

TSLE_STAT_MSG : Sync lost event status msg

VENDOR_STAT_MSG

CM_STAT_MSG
CONF_STAT_MSG
DLE_STAT_MSG
IF_STAT_MSG
INVALID
TSLE_STAT_MSG
VENDOR_STAT_MSG
__init__(self: mtf.libs.mtf_pybinder.mtf_cmp_status_msg_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_com_network

COM Network

__init__(self: mtf.libs.mtf_pybinder.mtf_com_network) None
__new__(**kwargs)
start_communication(self: mtf.libs.mtf_pybinder.mtf_com_network, ecu_interface: int, excluded_ecus: set[str] | None = None) bool

start, depending on the chosen interface + excluded ECUs list, cyclic frames, NPDUs and SomeIP provided notifications transmission and subscribe to SomeIP consumed notifications taking into consideration the configured connected ECUs

stop_communication(self: mtf.libs.mtf_pybinder.mtf_com_network, ecu_interface: int, excluded_ecus: set[str] | None = None) bool

stop, depending on the chosen interface + excluded ECUs list cyclic frames, NPDUs and SomeIP provided notifications transmission and subscribe to SomeIP consumed notifications taking into consideration the configured connected ECUs

class mtf.libs.mtf_pybinder.mtf_dhcp_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_dhcp_layer_filter) None
__new__(**kwargs)
property boot_file_name

BootP boot file name

property client_hardware_address

Client hardware address

property client_ip_address

Client IPv4 address

property flags

BootP flags

property gateway_ip_address

Gateway IPv4 address

property hardware_address_length

DHCP Hardware address length

property hardware_type

DHCP Hardware type

property hops

DHCP Hop count

property magic_number

DHCP magic number

property opcodes

DHCP BootP opcode

property prev_layer_filter

an optional previous layer filter

property seconds_elapsed

The elapsed time

property server_ip_address

Server IPv4 address

property server_name

BootP server name

property transaction_ids

DHCP/BootP transaction ID

property your_ip_address

Your IPv4 address

class mtf.libs.mtf_pybinder.mtf_diag_connection
__init__(self: mtf.libs.mtf_pybinder.mtf_diag_connection, arg0: int, arg1: int, arg2: str) None
__new__(**kwargs)
close(self: mtf.libs.mtf_pybinder.mtf_diag_connection) bool

close connection with the target

open(self: mtf.libs.mtf_pybinder.mtf_diag_connection) bool

open hsfz connection with the from source address to target address

register_callback(self: mtf.libs.mtf_pybinder.mtf_diag_connection, arg0: Callable) bool

start listen to diag response from target

send(self: mtf.libs.mtf_pybinder.mtf_diag_connection, arg0: list[int]) bool

send diag payload

class mtf.libs.mtf_pybinder.mtf_ecu_interface

Members:

Can

Lin

Flexray

SomeIp

Npdu

All

All
Can
Flexray
Lin
Npdu
SomeIp
__init__(self: mtf.libs.mtf_pybinder.mtf_ecu_interface, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_eth_app_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_eth_app_layer_filter) None
__new__(**kwargs)
property app_layer_protocol_type

Application layer protocol type

property prev_layer_filter

an optional previous layer filter

class mtf.libs.mtf_pybinder.mtf_eth_basic_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_eth_basic_filter) None
__new__(**kwargs)
property protocols

Protocols

class mtf.libs.mtf_pybinder.mtf_eth_filter
__init__(*args, **kwargs)
__new__(**kwargs)
class mtf.libs.mtf_pybinder.mtf_eth_filter_vlan_type

Members:

Vlan802Dot1Q

Other

Other
Vlan802Dot1Q
__init__(self: mtf.libs.mtf_pybinder.mtf_eth_filter_vlan_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_eth_l2tp_filter

Filter will pass if any of the members filters passes

__init__(self: mtf.libs.mtf_pybinder.mtf_eth_l2tp_filter) None
__new__(**kwargs)
property length

optional l2tp length

property nr_field

optional l2tp nr field

property ns_field

optional l2tp ns field

property prev_layer_filter

an optional previous layer filter

property session_id

optional l2tp session_id

property type

optional l2tp type

property version

optional l2tp version

class mtf.libs.mtf_pybinder.mtf_eth_multi_filter

Filter will pass if any of the members filters passes

__init__(self: mtf.libs.mtf_pybinder.mtf_eth_multi_filter, filter_type: mtf.libs.mtf_pybinder.mtf_eth_multi_filter_type = <mtf_eth_multi_filter_type.OR: 1>) None
__new__(**kwargs)
property filters

list of filters to be checked

class mtf.libs.mtf_pybinder.mtf_eth_multi_filter_type

Members:

OR

AND

AND
OR
__init__(self: mtf.libs.mtf_pybinder.mtf_eth_multi_filter_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_eth_npdu_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_eth_npdu_filter) None
__new__(**kwargs)
property npdus_ids

optional NPDU ids

property npdus_lengths

optional NPDU lengths

property prev_layer_filter

an optional previous layer filter

class mtf.libs.mtf_pybinder.mtf_eth_protocol_type

Members:

ANY

EthernetII

Vlan8021Q

Vlan8021Q_DUAL

PTP

TECMP

CMP

ARP

DHCP

IPv4

IPv6

UDP

TCP

ICMP

ICMP_IPV6

IGMP

NM

HSFZ

VIS

DOIP

DLT

XCP

SOME_IP

SOME_IP_SD

NPDU

L2TP

MACSEC8021AE

ANY
ARP
CMP
DHCP
DLT
DOIP
EthernetII
HSFZ
ICMP
ICMP_IPV6
IGMP
IPv4
IPv6
L2TP
MACSEC8021AE
NM
NPDU
PTP
SOME_IP
SOME_IP_SD
TCP
TECMP
UDP
VIS
Vlan8021Q
Vlan8021Q_DUAL
XCP
__init__(self: mtf.libs.mtf_pybinder.mtf_eth_protocol_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_eth_tp_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_eth_tp_layer_filter) None
__new__(**kwargs)
property prev_layer_filter

an optional previous layer filter

property tp_layer_protocol_type

Transport layer protocol type

class mtf.libs.mtf_pybinder.mtf_ethernet_observer
__init__(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer) None
__new__(**kwargs)
check_eth_cyclic_repetition(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, path: str, cycle: int, cycle_deviation: int, nb_repetition: int, check_latest_values: bool, interface_id: int | None = None) bool

check ethernet cyclic repetition ( someip and npdu )

check_eth_network(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: str, arg1: str) bool

check ethernet network

check_eth_network_with_mask(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: str, arg1: str, arg2: int, arg3: int) bool

check ethernet network

check_eth_reception(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, path: str, is_received: bool, is_multi_clients: bool = False, interface_id: int | None = None) bool

check ethernet reception (someip and npdu)

check_list_eth_network(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: list[str], arg1: list[str], arg2: int) bool

check list ethernet network

clear_eth_buffer(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, path: str, interface_id: int | None = None) bool

clear ethernet buffer ( someip and npdu )

control_method_response(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: str, arg1: bool, arg2: str, arg3: str) bool

control method response

ethernet_apply_faulty_corrupt_alive_counter(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: str, arg1: bool) bool

ethernet apply faulty corrupt alive counter

ethernet_apply_faulty_corrupt_crc(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: str, arg1: bool) bool

ethernet apply faulty corrupt crc

get_non_received_method_responses(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, path: str) list[tuple[int, int, int]]

get non received method responses from someip server

get_someip_last_value(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: str) int | float | int | str | list[int]

get someip last recieved value

monitor_always_eth_network(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: str, arg1: str, arg2: int, arg3: int, arg4: int) bool

monitor always ethernet network

monitor_ethernet_message_reception(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: str, arg1: bool, arg2: int) bool

monitor someip message reception

monitor_happened_eth_network(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, arg0: str, arg1: str, arg2: int, arg3: int, arg4: int) bool

monitor happened ethernet network

start_eth_observer(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, path: str, interface_id: int | None = None) bool

start ethernet observer ( someip and npdu )

stop_eth_observer(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, path: str, interface_id: int | None = None) bool

stop ethernet observer ( someip and npdu )

stop_ethernet_observer_and_get_received_values(self: mtf.libs.mtf_pybinder.mtf_ethernet_observer, path: str, interface_id: int | None = None) list[tuple[int, list[int]]]

top ethernet observer and received ( someip and npdu )

class mtf.libs.mtf_pybinder.mtf_ethernet_simulation
__init__(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation) None
__new__(**kwargs)
get_someip_member_types_as_string(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, arg0: str) str | None

get someip member types as string supported for only field (Setter/Getter), TLV not supported

get_someip_message_length_range(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, arg0: str) tuple[int, int] | None

get someip message length range supported for only field (Setter/Getter), TLV not supported

send_npdu_message(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, ecu_name: str, pdu_id: int, payload: list[int], force_send: bool = False) bool

send raw npdu payload

send_someip_raw_payload(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, arg0: str, arg1: list[int]) bool

set someip raw payload

set_eth_network(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, arg0: str, arg1: str) bool

set ethernet network

set_eth_networks(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, arg0: list[str], arg1: list[str]) bool

set ethernet networks

set_response_timeout(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, arg0: str, arg1: int) bool

set response timeout

start_ethernet_simulation_by_ecu(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, ecu_name: str) bool

start ethernet simulation by ecu name

start_stop_cycle_eth_message(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, arg0: str, arg1: bool) bool

start stop Cycle ETH Message

stop_ethernet_simulation_by_ecu(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, ecu_name: str) bool

stop ethernet simulation by ecu name

update_cycle_eth_message(self: mtf.libs.mtf_pybinder.mtf_ethernet_simulation, path: str, new_cycle_in_ms: int | None = None) bool
Update cycle the ethernet someip message
Args:

path (str): The path of the specific Some/IP entity whose cycle the user wants to update new_cycle_in_ms (int): cycle value in ms. This parameter can take 3 values:

0 : SOME/IP entity will be stopped new cycle : SOME/IP entity’s cycle will be updated EMPTY: the original SOME/IP entity cycle configured in the databex will be restored

Returns:

bool: True if the message cycle is successfully updated; otherwise, False.

class mtf.libs.mtf_pybinder.mtf_ethernet_transmitter
__init__(self: mtf.libs.mtf_pybinder.mtf_ethernet_transmitter) None
__new__(**kwargs)
configure_frame_queue_transmission(self: mtf.libs.mtf_pybinder.mtf_ethernet_transmitter, arg0: str, arg1: list[tuple[int, list[int]]]) bool

configure an ethernet frame queue transmission in a given channel with a list of packets and timestamp diff

send_frame(self: mtf.libs.mtf_pybinder.mtf_ethernet_transmitter, channel_name: str, frame_id: int, payload: list[int]) bool

send ethernet frame in given channel

send_frame_queue(self: mtf.libs.mtf_pybinder.mtf_ethernet_transmitter, arg0: str, arg1: list[tuple[int, list[int]]]) bool

send ethernet frame queue in given channel with respect to relative timestamo

start_frame_queue_transmission(self: mtf.libs.mtf_pybinder.mtf_ethernet_transmitter, arg0: str) bool

start ethernet frame queue transmission over a configured channel

transmit_ethernet_packet(self: mtf.libs.mtf_pybinder.mtf_ethernet_transmitter, channel_name: str, packet: pcpp::Packet) bool

transmit packet crafted by mtf_pcpp submodule

class mtf.libs.mtf_pybinder.mtf_flexray_bus_listener

Set up captures of FlexRay frames on a specific channel

__init__(self: mtf.libs.mtf_pybinder.mtf_flexray_bus_listener, channel_name: str) None

Set up captures of FlexRay frames on a specific channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_flexray_bus_listener) None

clear lin bus listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_flexray_bus_listener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]

Get lin bus listener history

start_bus_listening(self: mtf.libs.mtf_pybinder.mtf_flexray_bus_listener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None], silent_mode: bool, flags: int = 0) bool

Start bus listener for flexray callback: The function to call when a FlexRay frame is received or transmitted on the channel flags: combine ListeningFlags to choose optional additional frames to listen to

stop_bus_listening(self: mtf.libs.mtf_pybinder.mtf_flexray_bus_listener) bool

Stop bus listener

class mtf.libs.mtf_pybinder.mtf_flexray_frame_listener

Set up a FlexRay frame capture on a specific channel

__init__(self: mtf.libs.mtf_pybinder.mtf_flexray_frame_listener, channel_name: str, frame_id: str) None

Set up a FlexRay frame capture on a specific channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_flexray_frame_listener) None

clear can bus listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_flexray_frame_listener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]

Get can bus listener history

start_listening(self: mtf.libs.mtf_pybinder.mtf_flexray_frame_listener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None], direction: int, on_change_only: bool, silent_mode: bool, include_null_frames: bool = False) bool

Start the data acquisition

callback: The function to call when a new payload is received direction: Rx (0), Tx(1) or Any(3) on_change_only: the callback function will be called only if the frame payload was changed include_null_frames: if set to True, null frames will be included

stop_listening(self: mtf.libs.mtf_pybinder.mtf_flexray_frame_listener) bool

Stop the data acquisition

class mtf.libs.mtf_pybinder.mtf_flexray_tp_controller

Control the FlexRay tp messages sending and listeners registration

__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.mtf_flexray_tp_controller, channel: str, tx_frame_id: mtf.libs.mtf_pybinder.FrFrameIdParts, source_address: int, rx_frame_id: mtf.libs.mtf_pybinder.FrFrameIdParts, target_address: int, config: mtf.libs.mtf_pybinder.MtfFrTpConfig, fr_channel: mtf.libs.mtf_pybinder.FRCommunicationChannel = <FRCommunicationChannel.A: 0>) -> None

Init controller (fr_channel: only values A and B are valid)

  1. __init__(self: mtf.libs.mtf_pybinder.mtf_flexray_tp_controller, arg0: str, arg1: int, arg2: int, arg3: int, arg4: int, arg5: int, arg6: int, arg7: int, arg8: int, arg9: int, arg10: int) -> None

__new__(**kwargs)
cleanUp(self: mtf.libs.mtf_pybinder.mtf_flexray_tp_controller) bool

unregister listener

configure(self: mtf.libs.mtf_pybinder.mtf_flexray_tp_controller, callback: Callable) bool

setup FlexRay TP couple and register listener

transmit(self: mtf.libs.mtf_pybinder.mtf_flexray_tp_controller, payload: list[int]) bool

send FlexRay tp message. If multiple frame are needed to be transmitted, the transmission will be done asynchronously. If one single frame is needed, the function will block until the transmission confirmation is received

class mtf.libs.mtf_pybinder.mtf_flexray_transmitter

Transmit Flexray frames

__init__(self: mtf.libs.mtf_pybinder.mtf_flexray_transmitter) None
__new__(**kwargs)
activate_wake_up(self: mtf.libs.mtf_pybinder.mtf_flexray_transmitter, channel_name: str, do_wake_up: bool) bool

Activate wakeup flexray bus

send_frame(self: mtf.libs.mtf_pybinder.mtf_flexray_transmitter, channel_name: str, frame: mtf.libs.mtf_pybinder.flexray_frame) bool

send flexray frame in given channel

send_frames(self: mtf.libs.mtf_pybinder.mtf_flexray_transmitter, channel_name: str, frames: list[mtf.libs.mtf_pybinder.flexray_frame]) bool

send flexray frames in given channel

start_fr_communication(self: mtf.libs.mtf_pybinder.mtf_flexray_transmitter, channel_name: str, do_wake_up: bool) bool

Start flexray communication

stop_continious_frame(self: mtf.libs.mtf_pybinder.mtf_flexray_transmitter, channel_name: str, frame_id: int, channel: int) bool

stop transmission of continious frame

stop_fr_communication(self: mtf.libs.mtf_pybinder.mtf_flexray_transmitter, channel_name: str) bool

Stop flexray communication

class mtf.libs.mtf_pybinder.mtf_frame_controller
__init__(self: mtf.libs.mtf_pybinder.mtf_frame_controller) None
__new__(**kwargs)
get_frame_name(self: mtf.libs.mtf_pybinder.mtf_frame_controller, channel_name: str, frame_id: int) str

Get frame name from channel_name and frame_id

get_last_frame(self: mtf.libs.mtf_pybinder.mtf_frame_controller, arg0: str, arg1: int) list[int]

Get last recieved frame

get_last_pdu(self: mtf.libs.mtf_pybinder.mtf_frame_controller, arg0: str, arg1: str, arg2: int) list[int]

Get last recieved pdu

pdu_apply_faulty_corrupt_crc(self: mtf.libs.mtf_pybinder.mtf_frame_controller, arg0: str, arg1: int, arg2: str, arg3: bool) bool

Apply Fault Corrupt Crc for specific pdu

pdu_apply_faulty_corrupt_data_id_nibble(self: mtf.libs.mtf_pybinder.mtf_frame_controller, arg0: str, arg1: int, arg2: str, arg3: bool) bool

Apply Fault Corrupt Data Id Nibble

pdu_apply_faulty_halt_alive_counter(self: mtf.libs.mtf_pybinder.mtf_frame_controller, arg0: str, arg1: int, arg2: str, arg3: bool) bool

Apply Fault Halt Alive Counter

transmit_pdu(self: mtf.libs.mtf_pybinder.mtf_frame_controller, arg0: str, arg1: str, arg2: int, arg3: list[int], arg4: bool) bool

Transmit the Pdu with the given payload. Set force to True in order to force the transmission i.e ignore triggering conditions

class mtf.libs.mtf_pybinder.mtf_igmp_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_igmp_layer_filter) None
__new__(**kwargs)
property checksum

IGMP checksum value

property group_ip_address

Multicast group address

property max_response_time

Maximum response time (units of 1/10 second)

property msg_type

IGMP message type

property num_of_group_records

IGMPv3 number of group records in report

property num_of_sources

IGMPv3 number of sources in query

property prev_layer_filter

an optional previous layer filter

property qqic

IGMPv3 QQIC field (Querier’s Query Interval Code)

property reserved1

Reserved byte

property reserved2

Reserved 2 bytes

property s_qrv

IGMPv3 S_QRV field (Suppress flag + Querier’s Robustness Variable)

class mtf.libs.mtf_pybinder.mtf_io_controller

control IO channels

__init__(self: mtf.libs.mtf_pybinder.mtf_io_controller) None
__new__(**kwargs)
io_apply_faulty(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str, type: int) bool

Start apply faulty, Apply physical Short to VBat or Short to GND on the channel named :channel_name

io_channel_is_available(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str) bool

check if io channels physically connected

io_generate_pattern(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str, data: list[int]) bool

generate io pattern

io_get_last_value(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str, property_name: str) float

get last value of given signal property for io channel

io_read_current(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str) float

read IO current of for io channel. Ps not all IO supports this property

io_read_voltage(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str) float

read IO voltage of for io channel. Ps not all IO supports this property

io_set_current(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str, value: float) bool

Set io current value

io_set_raw_value(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str, value: int) bool

Set io raw value

io_set_resistance(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str, value: int) bool

Set io resistance

io_set_value(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str, value: float) bool

Set io value

io_set_voltage(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str, value: float) bool

Set io voltage

io_stop_faulty(self: mtf.libs.mtf_pybinder.mtf_io_controller, channel_name: str, type: int) bool

Stop apply faulty, Remove physical Short to VBat or Short to GND on the channel named :channel_name

class mtf.libs.mtf_pybinder.mtf_io_listener

Listener over IO channels

__init__(self: mtf.libs.mtf_pybinder.mtf_io_listener, arg0: str) None
__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_io_listener) None

clear io listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_io_listener) list[mtf::core::IOEvent]

Get io listener history

start_bus_listening(self: mtf.libs.mtf_pybinder.mtf_io_listener, callback: Callable[[mtf::core::IOEvent], None], silent_mode: bool) bool

Start the IoListener

stop_bus_listening(self: mtf.libs.mtf_pybinder.mtf_io_listener) bool

Stop the IoListener

class mtf.libs.mtf_pybinder.mtf_io_observer
__init__(self: mtf.libs.mtf_pybinder.mtf_io_observer) None
__new__(**kwargs)
check_io_channel(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str, arg2: float, arg3: int, arg4: int, arg5: int) bool

check IO channel value

clear_io_channel_buffer(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str) bool

clear IO channel buffer

configure_io_channel_buffer_max_size(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: int) bool

change max size of IO channel buffer

get_io_channel_buffer(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str) list[tuple[int, float]]

get IO channel buffer

get_latest_received_io_channel_values(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str, arg2: int) list[tuple[int, float]]

get list of recieved IO Channel values

get_latest_received_io_sequence_threshold(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str, arg2: float, arg3: float) list[tuple[int, float]]

get list of recieved IO Channel values respecting the threshold

get_received_io_channel_values_timeout(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str, arg2: int) list[tuple[int, float]]

get list of recieved IO channel values with timeout

monitor_always_io_channel(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str, arg2: float, arg3: int, arg4: int, arg5: int) bool

cehck IO channel value with monitor always

monitor_always_io_channels(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: list[str], arg1: list[str], arg2: list[float], arg3: int, arg4: list[int]) bool

check IO channel value with monitor always

monitor_happened_io_channel(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str, arg2: float, arg3: int, arg4: int, arg5: int) bool

check IO channel value with monitor happened

monitor_happened_io_channels(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: list[str], arg1: list[str], arg2: list[float], arg3: int, arg4: list[int]) bool

check IO channel value with monitor happened

start_io_channel_observer(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str) bool

start IO channel observer

stop_io_channel_observer(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: str, arg1: str, arg2: bool) list[tuple[int, float]]

stop IO channel observer

stop_io_channel_observers(self: mtf.libs.mtf_pybinder.mtf_io_observer, arg0: list[str], arg1: list[str]) None

stop IO channel observer

class mtf.libs.mtf_pybinder.mtf_ipv4_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_ipv4_layer_filter) None
__new__(**kwargs)
property ip_dsts

optional IPV4 destinations

property ip_srcs

optional IPV4 sources

property prev_layer_filter

an optional previous layer filter

class mtf.libs.mtf_pybinder.mtf_ipv6_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_ipv6_layer_filter) None
__new__(**kwargs)
property ip_dsts

optional IPV6 destinations

property ip_srcs

optional IPV6 sources

property prev_layer_filter

an optional previous layer filter

class mtf.libs.mtf_pybinder.mtf_lin_bus_listener

Set up captures of LIN frames on a specific channel

__init__(self: mtf.libs.mtf_pybinder.mtf_lin_bus_listener, channel_name: str) None

Set up captures of LIN frames on a specific channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_lin_bus_listener) None

clear lin bus listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_lin_bus_listener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]

Get lin bus listener history

start_bus_listening(self: mtf.libs.mtf_pybinder.mtf_lin_bus_listener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None], silent_mode: bool, flags: int = 0) bool

Start the data acquisition callback: The function to call when a LIN frame is received or transmitted on the channel set flags to INCLUDE_FRAMES_WITH_ERROR to listen to frames with error

stop_bus_listening(self: mtf.libs.mtf_pybinder.mtf_lin_bus_listener) bool

Stop the data acquisition

class mtf.libs.mtf_pybinder.mtf_lin_flashing
__init__(self: mtf.libs.mtf_pybinder.mtf_lin_flashing) None
__new__(**kwargs)
check_event(self: mtf.libs.mtf_pybinder.mtf_lin_flashing, arg0: str) int

check_specific_event

configure_flashing_simulation(self: mtf.libs.mtf_pybinder.mtf_lin_flashing, arg0: str) None

configure lin flashing

enable_flashing(self: mtf.libs.mtf_pybinder.mtf_lin_flashing, arg0: str, arg1: str) bool

enable flashing for specific ecu

set_behavior(self: mtf.libs.mtf_pybinder.mtf_lin_flashing, arg0: str, arg1: str, arg2: str) bool

set_specific_behavior

set_value(self: mtf.libs.mtf_pybinder.mtf_lin_flashing, arg0: str, arg1: str, arg2: str) bool

set specific value

stop_tracking(self: mtf.libs.mtf_pybinder.mtf_lin_flashing, arg0: str) bool

stop_tracking

track_event(self: mtf.libs.mtf_pybinder.mtf_lin_flashing, arg0: str, arg1: str, arg2: str) bool

track_specific_event

class mtf.libs.mtf_pybinder.mtf_lin_frame_listener

Set up a LIN frame capture on a specific channel

__init__(self: mtf.libs.mtf_pybinder.mtf_lin_frame_listener, arg0: str, arg1: int) None

Set up a LIN frame capture on a specific channel

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_lin_frame_listener) None

clear lin frame listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_lin_frame_listener) list[mtf.libs.mtf_pybinder.MtfDataFrameEvent]

Get lin frame listener history

start_listening(self: mtf.libs.mtf_pybinder.mtf_lin_frame_listener, callback: Callable[[mtf.libs.mtf_pybinder.MtfDataFrameEvent], None], direction: int, on_change_only: int, silent_mode: bool) bool

Start the data acquisition

callback: The function to call when a new payload is received direction: Rx (0), Tx(1) or Any(3) on_change_only: the callback function will be called only if the frame payload was changed

stop_listening(self: mtf.libs.mtf_pybinder.mtf_lin_frame_listener) bool

Stop the data acquisition

class mtf.libs.mtf_pybinder.mtf_lin_tp_controller

Interface for listening and sending LIN message on channel and NAD specified

__init__(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller, channel_name: str, nad: int = 0) None
__new__(**kwargs)
cleanup(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller) bool

“Stop and the clean up the listener”

disable_faulty_length(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller) bool

“disablefaulty length”

disable_faulty_lin_tp(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller) bool

“Disable Faulty LinTp”

disable_skip_last_consecutive_frame(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller) bool

“disable skip last consecutive frame”

enable_faulty_length(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller, length_value: int) bool

“enable faulty length”

enable_faulty_lin_tp(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller) bool

“Enable faulty LinTp”

enable_skip_last_consecutive_frame(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller) bool

“skip last consecutive frame”

setup(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller, callback: Callable[[str, int, list[int], int], None]) bool
“setup lin tp register listener for given nad”

callback : Function to be called every time we received new lin tp message on channel and nad specified

transmit(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller, payload: list[int], nad: int | None = None) bool
“send lin tp message

payload: Lin Payload that will be sent List[int]”

update_faulty_sequence_number_and_step(self: mtf.libs.mtf_pybinder.mtf_lin_tp_controller, sequence_number: int, step: int) bool

“update faulty sequence number and step”

class mtf.libs.mtf_pybinder.mtf_lin_transmitter
__init__(self: mtf.libs.mtf_pybinder.mtf_lin_transmitter) None
__new__(**kwargs)
getstate(self: mtf.libs.mtf_pybinder.mtf_lin_transmitter, arg0: str) mtf.libs.mtf_pybinder.LinBusState

get the lin bus state

send_frames(self: mtf.libs.mtf_pybinder.mtf_lin_transmitter, arg0: str, arg1: list[LinFrame]) bool

send lin frames in given channel

wakeup(self: mtf.libs.mtf_pybinder.mtf_lin_transmitter, arg0: str) bool

Wakeup lin bus

class mtf.libs.mtf_pybinder.mtf_log_level

Members:

TRACE

DEBUG

INFO

WARN

ERR

CRITICAL

OFF

CRITICAL
DEBUG
ERR
INFO
OFF
TRACE
WARN
__init__(self: mtf.libs.mtf_pybinder.mtf_log_level, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_mac_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_mac_layer_filter) None
__new__(**kwargs)
property mac_dsts

optional MAC destinations

property mac_srcs

optional MAC sources

property prev_layer_filter

optional previous layer filter e.g TECMP or CMP filter

class mtf.libs.mtf_pybinder.mtf_message_observer
__init__(self: mtf.libs.mtf_pybinder.mtf_message_observer) None
__new__(**kwargs)
check_cyclic_messages_with_timeout(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: list[str], arg1: list[int], arg2: list[int], arg3: int) bool

Check cyclic messages with a timeout

check_cyclic_repetition(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: int, arg2: int, arg3: int, arg4: bool) bool

check cyclic message repetition

check_cyclic_timeout(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: int, arg2: int, arg3: int) bool

check message cycle with timeout

check_payload_byte(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: list[int], arg2: list[int], arg3: list[int], arg4: int) bool

check bytes in message pyload

check_reception(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: bool) bool

check message reception

clear_message_buffer(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str) None

clear message buffer

configure_frame_buffe_max_size(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: int) bool

configure max size of frame buffer

count_payload_byte_matches(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: list[int], arg2: list[int], arg3: list[int]) int

count payload matched in message payload

monitor_always_message(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: list[int], arg2: list[int], arg3: list[int], arg4: int, arg5: int) bool

Monitor always for message observer

monitor_happened_message(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: list[int], arg2: list[int], arg3: list[int], arg4: int) bool

Monitor happened for message observer

monitor_message_is_received(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: int) bool

Monitor for received message

monitor_multi_messages_are_received(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: list[str], arg1: int) bool

Monitor for received messages

start_message_observer(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: bool, arg2: bool) bool

start message observer

stop_message_observer(self: mtf.libs.mtf_pybinder.mtf_message_observer, arg0: str, arg1: bool) list[tuple[int, list[int]]]

stop message observer

class mtf.libs.mtf_pybinder.mtf_mixed_observer
__init__(self: mtf.libs.mtf_pybinder.mtf_mixed_observer) None
__new__(**kwargs)
monitor_always_mixed_signals(self: mtf.libs.mtf_pybinder.mtf_mixed_observer, arg0: list[str], arg1: list[int], arg2: list[str], arg3: int, arg4: list[int], arg5: list[str]) bool

monitor Always mixed signals

monitor_always_signals_mixed(self: mtf.libs.mtf_pybinder.mtf_mixed_observer, arg0: list[str], arg1: list[int], arg2: list[str], arg3: int, arg4: list[int], arg5: list[str | int]) bool

monitor always signals mixed

monitor_happened_mixed_signals(self: mtf.libs.mtf_pybinder.mtf_mixed_observer, arg0: list[str], arg1: list[int], arg2: list[str], arg3: int, arg4: list[int], arg5: list[str]) bool

monitor Happened mixed signals

set_trigger_then_wait_reaction(self: mtf.libs.mtf_pybinder.mtf_mixed_observer, arg0: list[str], arg1: list[str], arg2: int, arg3: list[str], arg4: list[str], arg5: int, arg6: list[int], arg7: list[str | int]) bool

set signals and wait for ipb response

class mtf.libs.mtf_pybinder.mtf_net_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_net_layer_filter) None
__new__(**kwargs)
property net_layer_protocol_type

Network layer protocol type

property prev_layer_filter

an optional previous layer filter

class mtf.libs.mtf_pybinder.mtf_npdu_configuration

NPDU Configuration

__init__(self: mtf.libs.mtf_pybinder.mtf_npdu_configuration) None
__new__(**kwargs)
add_outer_vlan_tag_to_tunnel(self: mtf.libs.mtf_pybinder.mtf_npdu_configuration, channel_name: str, tunnel_id: str, vlanID: int, cfi: bool, priority: int, dataLinkEtherType: int) None

add outer Vlan Tag to tunnel

add_vlan_tag_to_tunnel(self: mtf.libs.mtf_pybinder.mtf_npdu_configuration, channel_name: str, tunnel_id: str, vlanID: int, cfi: bool, priority: int) None

add Vlan Tag to tunnel

configure_npu_tunnel(self: mtf.libs.mtf_pybinder.mtf_npdu_configuration, channel_name: str, tunnel_id: str, is_multicast: bool, is_output: bool, is_input: bool, local_ip: str, local_port: int, remote_ips: list[str], remote_port: int, transmissionTimeout: int) None

configure npdu tunnel

get_npdu_listener_channel_name(self: mtf.libs.mtf_pybinder.mtf_npdu_configuration, tunnel_id: str) str

get the Npdu listener channel name

remove_tunnel_configuration(self: mtf.libs.mtf_pybinder.mtf_npdu_configuration, tunnel_id: str) None

remove current tunnel

set_npdu_listener_channel_name(self: mtf.libs.mtf_pybinder.mtf_npdu_configuration, tunnel_id: str, channel_name: str) bool

set the Npdu listener channel name

start_npdu_manager(self: mtf.libs.mtf_pybinder.mtf_npdu_configuration) None

start NPdu manager : start the scheduler for every configured output tunnel

stop_npdu_manager(self: mtf.libs.mtf_pybinder.mtf_npdu_configuration) None

stop NPdu manager : stop the scheduler for every configured output tunnel and clear the tunnel mapping

class mtf.libs.mtf_pybinder.mtf_npdu_element
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.mtf_npdu_element, arg0: int, arg1: list[int]) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.mtf_npdu_element, arg0: int, arg1: int, arg2: list[int]) -> None

__new__(**kwargs)
bus_spec_id(self: mtf.libs.mtf_pybinder.mtf_npdu_element) int

get plp bus spec id : alternative for channel id in TECMP protocol

payload(self: mtf.libs.mtf_pybinder.mtf_npdu_element) list[int]

get npdu element payload

pdu_direction(self: mtf.libs.mtf_pybinder.mtf_npdu_element) str

get npdu element direction

pdu_id(self: mtf.libs.mtf_pybinder.mtf_npdu_element) int

get npdu element PduId

pdu_index(self: mtf.libs.mtf_pybinder.mtf_npdu_element) int

get npdu element PduIndex

pdu_valn_tci(self: mtf.libs.mtf_pybinder.mtf_npdu_element) int

get npdu element’s Tag control information

class mtf.libs.mtf_pybinder.mtf_npdu_listener

Listener over NPDU

__init__(self: mtf.libs.mtf_pybinder.mtf_npdu_listener, tunnel_name: str, filter: mtf.libs.mtf_pybinder.mtf_eth_npdu_filter = <mtf.libs.mtf_pybinder.mtf_eth_npdu_filter object at 0x0000020873B8DA30>) None
__new__(**kwargs)
clear_filter(self: mtf.libs.mtf_pybinder.mtf_npdu_listener) None

Clear npdu Filter

clear_history(self: mtf.libs.mtf_pybinder.mtf_npdu_listener) None

clear npdu listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_npdu_listener) list[MtfNpduListenerElement]

Get npdu listener history

set_filter(self: mtf.libs.mtf_pybinder.mtf_npdu_listener, filter: dict[str, list[int]]) None

Set npdu Filter

start(self: mtf.libs.mtf_pybinder.mtf_npdu_listener, callback: Callable | None = None) bool

Start the Npdu_Listener

stop(self: mtf.libs.mtf_pybinder.mtf_npdu_listener) bool

Stop the Npdu_Listener

class mtf.libs.mtf_pybinder.mtf_npdu_transmitter

Transmit over npdu protocol

__init__(self: mtf.libs.mtf_pybinder.mtf_npdu_transmitter) None
__new__(**kwargs)
send_npdu(self: mtf.libs.mtf_pybinder.mtf_npdu_transmitter, tunnel_name: str, frame: mtf::core::NPduElement, trg_mode: int) bool

transmit single pdu within a npdu packet, needs tunnel confihuration

send_npdus(self: mtf.libs.mtf_pybinder.mtf_npdu_transmitter, tunnel_name: str, frame: list[mtf::core::NPduElement]) bool

transmit multiple pdus within a npdu packet, needs tunnel configuration

start_npdu_transmission(self: mtf.libs.mtf_pybinder.mtf_npdu_transmitter, ecu_name: str, npdu_id: int) bool

transmit multiple pdus within a npdu packet, no need for tunnel configuration

stop_npdu_transmission(self: mtf.libs.mtf_pybinder.mtf_npdu_transmitter, ecu_name: str, npdu_id: int) bool

stop transmission of pdus within a npdu packet

class mtf.libs.mtf_pybinder.mtf_pcapplusplus_listener

Bus Listener that returns a PcapPlusPlus::Packet object

__init__(self: mtf.libs.mtf_pybinder.mtf_pcapplusplus_listener, channel_name: str, protocol_id: mtf.libs.mtf_pybinder.mtf_eth_filter = <mtf.libs.mtf_pybinder.mtf_eth_basic_filter object at 0x00000208707899F0>) None
__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_bus_listener) None

clear bus listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_bus_listener) list[MtfBusEvent]

Get bus listener history

set_channel_name(self: mtf.libs.mtf_pybinder.mtf_bus_listener, channel_name: str) bool

Set the channel name

set_filter(self: mtf.libs.mtf_pybinder.mtf_bus_listener, Filter: list[dict[str, dict[str, int]]]) None

Set Filter for Ethernet frame

start(self: mtf.libs.mtf_pybinder.mtf_bus_listener, CallBack: Callable | None = None) bool

Start the data acquisition

callback: The function to call when a Ethernet frame (matching the defined filter) is received or transmitted on the channel

stop(self: mtf.libs.mtf_pybinder.mtf_bus_listener) bool

Stop the data acquisition

transfer_history(self: mtf.libs.mtf_pybinder.mtf_bus_listener) list[MtfBusEvent]

Transfer/move bus listener history

class mtf.libs.mtf_pybinder.mtf_pdu_listener

Listener over PDU

__init__(self: mtf.libs.mtf_pybinder.mtf_pdu_listener, channel_name: str, frame_id: str, pdu_name: str, on_change: bool) None
__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_pdu_listener) None

Clear the history of PDUs

get_history(self: mtf.libs.mtf_pybinder.mtf_pdu_listener) list[tuple[str, int, list[int]]]

Get the history of PDUs

start_pdu_listener(self: mtf.libs.mtf_pybinder.mtf_pdu_listener, callback: Callable | None = None) bool

Start the PDU listener with an optional callback

stop_pdu_listener(self: mtf.libs.mtf_pybinder.mtf_pdu_listener) bool

Stop the PDU listener

class mtf.libs.mtf_pybinder.mtf_secoc
__init__(self: mtf.libs.mtf_pybinder.mtf_secoc) None
__new__(**kwargs)
add_keys_secoc(self: mtf.libs.mtf_pybinder.mtf_secoc, keys_map: dict[int, list[int]], reset_old_keys: bool = False) bool

add keys for secoc module

add_secoc_freshness_master_config(self: mtf.libs.mtf_pybinder.mtf_secoc, pdu_path: str, step: int) bool
Configure freshness master pdu path an its step.Pdu cyclicity should be defined in Databex or overrided using other Apis

pdu_path : Specify the pdu path step : Incrementation step foreach cycle

assign_constant_freshness_counter(self: mtf.libs.mtf_pybinder.mtf_secoc, pdu_path: str, on_off: bool, freshness_value: int | None = None) bool

assign/clears a fixed value to a specific SecOc PDU’s freshness counter. Args:

pdu_path (str): Specify the Authentic or Secured PDU’s path. on_off (bool): A flag to indicate Set/Clear freshness counter constant value during simulation. freshness_value (int, optional): value needed to be set as constant value for the SecOc PDU’s freshness counter.

Returns:

bool: A flag indicating success/failure of the operation.

disable_faulty_freshness_secoc(self: mtf.libs.mtf_pybinder.mtf_secoc, pdu_path: str) bool

disable faulty freshness secoc

disable_faulty_freshness_secoc_all(self: mtf.libs.mtf_pybinder.mtf_secoc) None

disable faulty freshness secoc all

disable_secoc(self: mtf.libs.mtf_pybinder.mtf_secoc) bool

disable secoc

enable_faulty_freshness_secoc(self: mtf.libs.mtf_pybinder.mtf_secoc, pdu_path: str) bool

enable faulty freshness secoc

enable_faulty_freshness_secoc_all(self: mtf.libs.mtf_pybinder.mtf_secoc) None

enable faulty freshness secoc all

enable_secoc(self: mtf.libs.mtf_pybinder.mtf_secoc) bool

enable secoc

get_all_protected_npdu_by_secoc(self: mtf.libs.mtf_pybinder.mtf_secoc, ecu_name: str) set[str]

get all secoc npdus by ecu name

get_all_secoc_frames_by_bus(self: mtf.libs.mtf_pybinder.mtf_secoc, channel_name: str) dict[str, set[str]]

get all secoc frames and correspandiing sender name by bus

get_secoc_response_validation_status(self: mtf.libs.mtf_pybinder.mtf_secoc) list[tuple[str, bool]]

return the validation status of received responses for a given channel/ecu.

monitor_correctness_secoc(self: mtf.libs.mtf_pybinder.mtf_secoc, channel_name: str, pdu_name: str, frame_id: int, timeout: int) bool

monitor correctness secoc

overwrite_freshness_counter(self: mtf.libs.mtf_pybinder.mtf_secoc, value: int) bool

overwrite freshness counter

set_freshness_counter_by_value_id(self: mtf.libs.mtf_pybinder.mtf_secoc, freshness_value: int, value_id: int = 1) bool

Allows to set the value of a specific freshness counter identified by value_id. The value is applied only when the counter is being incremented, meaning it does not persist as a permanent override of the counter’s value. This API must not be used to set the initial value of a counter before being actively incrementing. Args:

freshness_value (int): The new freshness counter value to set. Must be a non-negative integer. value_id (int): The Value ID used to identify the desired freshness counter to be updated. Defaults to 1.

Returns:

bool: A flag indicating success/failure of the operation.

set_secoc_bit_counting_policy(self: mtf.libs.mtf_pybinder.mtf_secoc, bit_counting_policy: mtf.libs.mtf_pybinder.BitCountingPolicy = <BitCountingPolicy.Sawtooth: 1>) None

set bit secoc counting policy

start_secoc(self: mtf.libs.mtf_pybinder.mtf_secoc) bool

start secoc

start_secoc_by_keys(self: mtf.libs.mtf_pybinder.mtf_secoc, keys_map: dict[int, list[int]]) bool

Start SecOC module by specifying keys map

start_stop_freshness_master_for_one_pdu(self: mtf.libs.mtf_pybinder.mtf_secoc, freshness_path: str, pdu_path: str, state: bool = True) bool
Start or Stop Secoc Freshness Master by specifying for one pdu.

pdu_path : Specify the challenge pdu path state : if true start freshness incrementation and Response for any Freshness Challenge else Stop Freshness and Response transmission and freshness path :Specify the freshness path

start_stop_secoc_challenge_sending(self: mtf.libs.mtf_pybinder.mtf_secoc, channel_or_ecu_name: str, state: bool, max_retry: int = 10) bool
Start or Stop sending Secoc challenges to a specific ecu or channel.

channel_or_ecu_name : Specify the channel/ecu name. state : If true, start sending Secoc challenges, otherwise stop sending challenges. max_retry : retry number

start_stop_secoc_freshness_master(self: mtf.libs.mtf_pybinder.mtf_secoc, pdu_path: str, state: bool, chal_resp: bool = True) bool
Start or Stop Sec_oc Freshness Master by specifying the pdu path.

pdu_path : Specify the pdu path state : if true start freshness incrementation and/or Response for any Freshness Challenge else Stop Freshness and/or Response transmission and chal_resp : if true start Response for any Freshness Challenge else no Response will be sent for evry Freshness Challenge

tfs_monitor_npdu_correctness_secoc(self: mtf.libs.mtf_pybinder.mtf_secoc, npdu_path: str, timeout: int) bool

monitor npdu correctness secoc

class mtf.libs.mtf_pybinder.mtf_serial_observer
__init__(self: mtf.libs.mtf_pybinder.mtf_serial_observer) None
__new__(**kwargs)
monitor_happened_serial_events(self: mtf.libs.mtf_pybinder.mtf_serial_observer, arg0: str, arg1: str | list[int], arg2: int) bool

monitor Happened serial event

start_serial_observer(self: mtf.libs.mtf_pybinder.mtf_serial_observer, arg0: str, arg1: bool) bool

start serial observer for channel name

stop_all_serial_observers(self: mtf.libs.mtf_pybinder.mtf_serial_observer) bool

stop all serial observers

stop_serial_observer(self: mtf.libs.mtf_pybinder.mtf_serial_observer, arg0: str) bool

stop serial observer for channel name

class mtf.libs.mtf_pybinder.mtf_serial_transmitter

Sending messages over Serial Channels

__init__(self: mtf.libs.mtf_pybinder.mtf_serial_transmitter) None
__new__(**kwargs)
send_message(self: mtf.libs.mtf_pybinder.mtf_serial_transmitter, channel_name: str, message: str) bool

send serial message in given channel

class mtf.libs.mtf_pybinder.mtf_signal_controller

This class allow to set or check specific signal value

__init__(self: mtf.libs.mtf_pybinder.mtf_signal_controller) None
__new__(**kwargs)
get_signal_path(self: mtf.libs.mtf_pybinder.mtf_signal_controller, chName: str, frameId: int, signalName: str) str

Get signal Path as string from channel name, frame id and signal Name like: chName::frameId::signalName

get_signal_paths_by_channel_name(self: mtf.libs.mtf_pybinder.mtf_signal_controller, chName: str, signalName: str) list[str]

Get signal Paths as list of strings from channel name and signal Name

get_signal_payload_value(self: mtf.libs.mtf_pybinder.mtf_signal_controller, channel_name: str, frame_id: int, signal_name: str, payload: list[int], is_physical: bool) int | int | float | list[int] | str

Get last recieved signal physical value

get_signal_physical_value(self: mtf.libs.mtf_pybinder.mtf_signal_controller, chName: str, frameId: int, signalName: str) int | int | float | list[int] | str

Get last recieved signal physical value

get_signal_value(self: mtf.libs.mtf_pybinder.mtf_signal_controller, chName: str, frameId: int, signalName: str) int | int | float | list[int] | str

Get last recieved signal value

set_npdu_bits_raw_value(self: mtf.libs.mtf_pybinder.mtf_signal_controller, ecu_name: str, npdu_id: int, signal_value: int | list[int], start_bit: int, number_of_bits: int, bit_order: int, update_and_send: bool) bool

Set npdu bits raw value

set_pdu_bits_raw_value(self: mtf.libs.mtf_pybinder.mtf_signal_controller, chName: str, frameId: int, pdu_name: str, signalValue: int | list[int], start_bit: int, number_of_bits: int, bit_order: int, updateAndSend: bool) bool

Set pdu bits raw value

set_signal_physical_value(self: mtf.libs.mtf_pybinder.mtf_signal_controller, chName: str, frameId: int, signalName: str, signalValue: float | int | int, updateAndSend: bool) bool

Set physical value of signal

set_signal_raw_value(self: mtf.libs.mtf_pybinder.mtf_signal_controller, chName: str, frameId: int, signalName: str, signalValue: int | int | float | list[int] | str, updateAndSend: bool) bool

Set raw value of signal

signal_value_found(self: mtf.libs.mtf_pybinder.mtf_signal_controller, channel_name: str, frame_id: int, signal_name: str) bool

Check if the last value is successfully got. return True in case of there is a value reveived, otherwise false.

start_transmission_frame(self: mtf.libs.mtf_pybinder.mtf_signal_controller, channel_name: str, frame_id: int) bool

Start the frame transmission

stop_transmission_frame(self: mtf.libs.mtf_pybinder.mtf_signal_controller, channel_name: str, frame_id: int) bool

Stop the frame transmission

class mtf.libs.mtf_pybinder.mtf_signal_listener

Start/Stop signal listener

__init__(self: mtf.libs.mtf_pybinder.mtf_signal_listener, arg0: int) None
__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_signal_listener, full_path_name: str) bool

clear signals history

get_history(self: mtf.libs.mtf_pybinder.mtf_signal_listener) dict[str, list[tuple[int, list[int]]]]

Get signals history from the map

start(self: mtf.libs.mtf_pybinder.mtf_signal_listener, channel_name: str, frame_name: str, frame_id: int, pdu_name: str, signal_name: str, callback: Callable, on_change: bool, silent_mode: bool) str

Start the signal Listener over specific bus and frame

start_by_frame_id(self: mtf.libs.mtf_pybinder.mtf_signal_listener, channel_name: str, frame_id: int, pdu_name: str, signal_name: str, callback: Callable, on_change: bool, silent_mode: bool) str

Start Listener by Frame ID

start_by_frame_name(self: mtf.libs.mtf_pybinder.mtf_signal_listener, channel_name: str, frame_name: str, pdu_name: str, signal_name: str, callback: Callable, on_change: bool, silent_mode: bool) list[str]

Start Listener by Frame Name

start_by_full_path(self: mtf.libs.mtf_pybinder.mtf_signal_listener, full_path_name: str, callback: Callable, on_change: bool, silent_mode: bool) bool

Start the signal Listener over full path name

stop(self: mtf.libs.mtf_pybinder.mtf_signal_listener, full_path_name: str, on_change: bool) bool

Stop the signal Listener

class mtf.libs.mtf_pybinder.mtf_signal_observer
__init__(self: mtf.libs.mtf_pybinder.mtf_signal_observer) None
__new__(**kwargs)
checkSignal(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: str, arg1: int | int | float | list[int] | str, arg2: int, arg3: int, arg4: int | int | float | list[int] | str) bool

check signal value

clear_signal_buffer(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: str) bool

clear signal buffer

configure_signal_buffer_max_size(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: int) bool

change max size of signal buffer

get_latest_received_signal_values(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: str, arg1: int) list[tuple[int, int | int | float | list[int] | str]]

get list of received signals

get_received_signal_values_timeout(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: str, arg1: int) list[tuple[int, int | int | float | list[int] | str]]

get list of received signals within timeout

get_signal_buffer(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: str) list[tuple[int, int | int | float | list[int] | str]]

get Signal buffer

monitor_always_signal(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: str, arg1: int | int | float | list[int] | str, arg2: int, arg3: int, arg4: int | int | float | list[int] | str | None) bool

check signal value with monitor always

monitor_always_signals(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: list[str], arg1: list[Union[int, int, float, list[int], str]], arg2: list[mtf::api::CompareOperation], arg3: int, arg4: list[Union[int, int, float, list[int], str]]) bool

check signals values with monitor always

monitor_happened_signal(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: str, arg1: int | int | float | list[int] | str, arg2: int, arg3: int, arg4: int | int | float | list[int] | str | None) bool

check signal value with monitor happened

monitor_happened_signals(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: list[str], arg1: list[Union[int, int, float, list[int], str]], arg2: list[mtf::api::CompareOperation], arg3: int, arg4: list[Union[int, int, float, list[int], str]]) bool

check signals values with monitor happened

monitor_happened_signals_mixed(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: list[str], arg1: list[int], arg2: list[str], arg3: int, arg4: list[int], arg5: list[int | str]) bool

monitor happened signals mixed

start_signal_observer(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: str, arg1: bool, arg2: bool) bool

start signal observer

stop_observers(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: list[str]) None

stop observers

stop_signal_observer(self: mtf.libs.mtf_pybinder.mtf_signal_observer, arg0: str, arg1: bool) list[tuple[int, int | int | float | list[int] | str]]

stop signal observer

class mtf.libs.mtf_pybinder.mtf_someip_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_someip_filter) None
__new__(**kwargs)
property interface_versions

optional SomeIP messages interface versions

property methods_ids

optional SomeIP services methods

property msg_type

optional SomeIP messages types

property prev_layer_filter

an optional previous layer filter

property requests_ids

optional SomeIP messages requests ids

property return_code

optional SomeIP messages return codes

property services_ids

optional SomeIP services

class mtf.libs.mtf_pybinder.mtf_someip_listener

class used to start listener on someip messages

__init__(self: mtf.libs.mtf_pybinder.mtf_someip_listener, channel_name: str, filter: mtf.libs.mtf_pybinder.mtf_someip_filter = <mtf.libs.mtf_pybinder.mtf_someip_filter object at 0x0000020873B50C70>, type: mtf.libs.mtf_pybinder.SomeIpListenerType = <SomeIpListenerType.GetRawPacket: 1>) None
Init the someip listener:

channel_name: Channel used for the communication with the ECU filter: the someip filter to be used to filter someip containing packets/someip msgs type: used to choose receive whole ethernet frame or only the someip msg

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_someip_listener) None

clear someip listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_someip_listener) list[MtfBusEvent]

Get someip listener history

set_channel_name(self: mtf.libs.mtf_pybinder.mtf_someip_listener, channel_name: str) bool

Set the channel name

set_filter(self: mtf.libs.mtf_pybinder.mtf_someip_listener, filter: list[dict[str, dict[str, int]]]) None

Set Filter on someip header : Function used to set filter on someip messages

start(self: mtf.libs.mtf_pybinder.mtf_someip_listener, callback: Callable | None = None) bool

Start the Someip listener

stop(self: mtf.libs.mtf_pybinder.mtf_someip_listener) bool

Stop the SomeipListener

class mtf.libs.mtf_pybinder.mtf_someipsd_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_someipsd_filter) None
__new__(**kwargs)
property entries_types

optional SomeIpSD entries types

property events_group_ids

optional SomSomeIpSD event groups ids

property instances_ids

optional SomSomeIpSD services instances

property major_versions

optional SomSomeIpSD major version values

property minor_versions

optional SomSomeIpSD minor version values

property prev_layer_filter

an optional previous layer filter

property services_ids

optional SomeIpSD services

property ttls

optional SomeIpSD ttl values

class mtf.libs.mtf_pybinder.mtf_someipsd_listener

Class used to start listener on SOMEIP_SD messages

__init__(self: mtf.libs.mtf_pybinder.mtf_someipsd_listener, channel_name: str, filter: mtf.libs.mtf_pybinder.mtf_someipsd_filter = <mtf.libs.mtf_pybinder.mtf_someipsd_filter object at 0x0000020873C000B0>) None
Init the someipsd_listener class :

channel_name : Channel used for the communication with the ECU filter: the someip filter to be used to filter someipsd containing packets

__new__(**kwargs)
clear_history(self: mtf.libs.mtf_pybinder.mtf_someipsd_listener) None

clear someip_sd listener history

get_history(self: mtf.libs.mtf_pybinder.mtf_someipsd_listener) list[MtfBusEvent]

Get someip_sd listener history

start(self: mtf.libs.mtf_pybinder.mtf_someipsd_listener, CallBack: Callable | None = None) bool

Start the Someip_sd listener

stop(self: mtf.libs.mtf_pybinder.mtf_someipsd_listener) bool

Start the Someip_sd listener

class mtf.libs.mtf_pybinder.mtf_tcp_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_tcp_layer_filter) None
__new__(**kwargs)
property dst_ports

optional TCP destination ports

property prev_layer_filter

an optional previous layer filter

property src_ports

optional TCP source ports

class mtf.libs.mtf_pybinder.mtf_tecmp_data_type

Members:

CAN

CANFD

ETHERNET

FR

GPIO

LIN

ETH_10BASE_T1S

CAN
CANFD
ETHERNET
ETH_10BASE_T1S
FR
GPIO
LIN
__init__(self: mtf.libs.mtf_pybinder.mtf_tecmp_data_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_tecmp_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_tecmp_filter) None
__new__(**kwargs)
property channels_ids

optional TECMP channels ids

property data_types

optional TECMP data types

property devices_ids

optional TECMP devices ids

property msg_types

optional TECMP messages types

class mtf.libs.mtf_pybinder.mtf_tecmp_msg_type

Members:

BUS_STATUS

CM_STATUS

CONFIG_STATUS

CTR_MSG

LOGGING_STREAM

REPLAY_DATA

BUS_STATUS
CM_STATUS
CONFIG_STATUS
CTR_MSG
LOGGING_STREAM
REPLAY_DATA
__init__(self: mtf.libs.mtf_pybinder.mtf_tecmp_msg_type, value: int) None
__new__(**kwargs)
property name
property value
class mtf.libs.mtf_pybinder.mtf_test_config
__init__(self: mtf.libs.mtf_pybinder.mtf_test_config) None
__new__(**kwargs)
property log_level
property log_pattern
property signal_playback_active
property signal_playback_config_path
property test_log_output_folder
property testcase_name
property tracing_active
class mtf.libs.mtf_pybinder.mtf_test_features_controller
__init__(self: mtf.libs.mtf_pybinder.mtf_test_features_controller) None
__new__(**kwargs)
tfs_check_simulations_state(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, simulations_list: list[str], simulations_state: str) bool

check simulations status

tfs_cleanup_testcase(self: mtf.libs.mtf_pybinder.mtf_test_features_controller) None

cleanup all started observers and listeners

tfs_configure_rbs(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, config_files_by_id: dict[str, str]) bool

configure RBS

tfs_configure_simulation_controller(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, config_path: str, config_settings_path: str, start_sim: bool) bool

Configure controllers

tfs_deconfigure_controller(self: mtf.libs.mtf_pybinder.mtf_test_features_controller) None

Deconfigure Testfeature controller

tfs_enable_disabled_simulations(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, ecuList: list[str], enable: bool) bool

enable or disable simulations

tfs_get_all_simulations_name(self: mtf.libs.mtf_pybinder.mtf_test_features_controller) list[str]

get all simulations name

tfs_get_model_element(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, modelPath: str, param: str) int | str | bool | list[int] | None

get model element

tfs_is_simulation_controller_configured(self: mtf.libs.mtf_pybinder.mtf_test_features_controller) bool

Check Testfeature existance

tfs_reset_transmission_frame_sim(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, channel_name: str, frame_id: int) bool

reset frame status using simulations

tfs_resume_simulations(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, ecuList: list[str]) bool

resume simulations

tfs_set_model_element(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, modelPath: str, param: str) bool

set model element

tfs_set_pwf(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, configpath: str) bool

set pwf state

tfs_set_test_feature_send_diag(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, callback_func: Callable[[list[int], str], None]) None

send diag

tfs_set_test_feature_send_diag_interpret_response(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, callback_func: Callable[[list[int], str], list[int]]) None

send diag and interpret response

tfs_start_simulations(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, ecuList: list[str]) bool

start simulations

tfs_start_transmission_frame_sim(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, channel_name: str, frame_id: int) bool

start sending frame using simulations

tfs_stop_simulations(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, ecuList: list[str]) bool

stop simulations

tfs_stop_transmission_frame_sim(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, channel_name: str, frame_id: int) bool

stop sending frame using simulations

tfs_subscribe_frame_to_nm_manager(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, busName: str, msgId: int) bool

subscribe frame to nm manger so the nm is respected when starting this frame

tfs_suspend_simulations(self: mtf.libs.mtf_pybinder.mtf_test_features_controller, ecuList: list[str]) bool

suspend simulations

tfs_unset_test_feature_send_diag(self: mtf.libs.mtf_pybinder.mtf_test_features_controller) None

send diag and interpret response

class mtf.libs.mtf_pybinder.mtf_test_serie
__init__(self: mtf.libs.mtf_pybinder.mtf_test_serie) None
__new__(**kwargs)
property cycle_factor_by_group
Set cycle factor by group:

for CAN msgs COM channel name should be used as key, for SOMEIP events “SOMEIP” should be used as key,

for NPDUs “NPDU” should be used as key, for SOMEIP/SD “SOMEIP_SD” should be used as key

property cycle_time_factor

default cycle factor for CAN frames if no other value was provided in cycle_factor_by_group

property min_debounce_time
class mtf.libs.mtf_pybinder.mtf_test_serie_config
__init__(self: mtf.libs.mtf_pybinder.mtf_test_serie_config) None
__new__(**kwargs)
property com_config
property signal_playback_active

Set the signal playback active for each test in the series. Ignored if path is empty. Overridden by test if test path is not empty.

property signal_playback_config_path

Set a default signal playback configuration path for the series, can be overriden by each test config

property test_log_output_folder

The test log output folder path as string

property testserie_name

The name of the testseries

property tracing_active

Select if the tracing is active or not

class mtf.libs.mtf_pybinder.mtf_timestamp

mtf timestamp object where different where it stores different methods to retreive timestamp

__init__(*args, **kwargs)
__new__(**kwargs)
get_relative_timestamp(self: mtf.libs.mtf_pybinder.mtf_timestamp, arg0: int) int

Get tmestamp relative to the given reference

property hw_prefered

Get HW Timestamp Nano if supported else sw timestamp is returned

property sw

Get SW Timestamp Nano

property utc_hw_prefered

Get HW Timestamp UTC format if supported else sw timestamp is returned

property utc_sw

Get SW Timestamp UTC format

class mtf.libs.mtf_pybinder.mtf_tunnel_controller
__init__(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, arg0: str) None
__new__(**kwargs)
configure_inner_vlan_priority(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, ethernet_protocol: mtf.libs.mtf_pybinder.ethernet_protocol, default_priority: int, ports_configuration: Optional[list[Union[mtf::hal::eth::PortPriorityConfig<unsigned short, unsigned short>, mtf::hal::eth::PortPriorityConfig<std::pair<unsigned short, unsigned short>, std::pair<unsigned short, unsigned short> >, mtf::hal::eth::PortPriorityConfig<unsigned short, std::pair<unsigned short, unsigned short> >, mtf::hal::eth::PortPriorityConfig<std::pair<unsigned short, unsigned short>, unsigned short>]]] = None) bool

Sets the priority of the inner VLAN tag for Ethernet frames based on the Ethernet protocol of each packet on a specific TAP device (requires packet manipulation to be enabled).

configure_multicast_vlans_by_src_ip(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str, inner_vlan: Optional[mtf::ethernet::VlanTag] = None, outer_vlan: Optional[mtf::ethernet::VlanTag] = None) bool
Configures how the Inner and Outer Multicast Vlans of Ethernet frames should be modified for traffic from a specified IP address

on a particular TAP device (requires packet manipulation to be enabled).

configure_src_mac_by_src_ip(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str, src_mac_addr: str) bool
Configures how the source MAC address of Ethernet frames should be modified for traffic from a specified IP address

on a particular TAP device (requires packet manipulation to be enabled).

configure_vlans_by_src_ip(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str, inner_vlan: Optional[mtf::ethernet::VlanTag] = None, outer_vlan: Optional[mtf::ethernet::VlanTag] = None) bool
Configures how the Inner and Outer Vlans of Ethernet frames should be modified for traffic from a specified IP address

on a particular TAP device (requires packet manipulation to be enabled).

configure_vlans_for_ip_pair(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str, dst_ip_addr: str, inner_vlan: Optional[mtf::ethernet::VlanTag] = None, outer_vlan: Optional[mtf::ethernet::VlanTag] = None) bool
Configures how the Inner and Outer VLAN tags of Ethernet frames should be modified for traffic sent from a specific

source IP address to a specific unicast destination IP address on a particular TAP device (requires packet manipulation to be enabled).

static get_ip_rules_metadata() list[mtf::ethernet::IpRuleInfo]

Returns metadata of the ip rules used for packet manipulation. get_ip_rules_metadata() -> List[IpRuleInfo]

set_ip_rule_tag_by_src_ip(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str, tag: str) bool

sets a Tag (Alias) for an IP manipulation rule on a specific TAP device (requires packet manipulation to be enabled).

set_physical_callback(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, callback: Callable[[TunnelFrame], None] = None, filter: mtf.libs.mtf_pybinder.mtf_eth_filter = None) None

set the callback that will be called on a packet when it’s received on the physical adapter before forwarding it to the virtual adapter

set_virtual_callback(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str = '', callback: Callable[[TunnelFrame], None] = None, filter: mtf.libs.mtf_pybinder.mtf_eth_filter = None) None

set the callback that will be called on a packet when it’s received on the virtual adapter before forwarding it to the physical adapter

set_vlan(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str = '', inner_vlan: int = 0, outer_vlan: int = 0, inner_vlan_ethertype: int = 33024, outer_vlan_ethertype: int = 37120, inner_priority_tag: int = 0, outer_priority_tag: int = 0, inner_cfi: bool = False, outer_cfi: bool = False) None

set the vlan that will be injected when forwarding from physical to virtual adapters

start(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller) bool

start the tunnel controller

stop(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller) bool

stop the tunnel controller

timout_exceeded(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller) bool

Check if one of the callback calls to python exceeded the timeout allowed for this call to take

unconfigure_inner_vlan_priority(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, ethernet_protocol: mtf.libs.mtf_pybinder.ethernet_protocol) bool

Unsets the priority of the inner VLAN tag for Ethernet frames based on the Ethernet protocol of each packet on a specific TAP device (requires packet manipulation to be enabled).

unconfigure_multicast_vlans_by_src_ip(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str, inner_vlan: Optional[mtf::ethernet::VlanTag] = None, outer_vlan: Optional[mtf::ethernet::VlanTag] = None) bool
Clears the modification of the Inner and Outer Multicast Vlans of Ethernet frames for traffic from a specified IP address

on a particular TAP device (requires packet manipulation to be enabled).

unconfigure_src_mac_by_src_ip(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str) bool

Clears the modification of the source MAC address of Ethernet frames for traffic from a specified IP address on a particular TAP device (requires packet manipulation to be enabled).

unconfigure_vlans_by_src_ip(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str) bool
Clears the modification of the Inner and Outer Vlans of Ethernet frames for traffic from a specified IP address

on a particular TAP device (requires packet manipulation to be enabled).

unconfigure_vlans_for_ip_pair(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str, dst_ip_addr: str) bool

Clears the modification of the Inner and Outer VLAN tags of Ethernet frames for traffic sent from a specific source IP address to a specific unicast destination IP address on a particular TAP device (requires packet manipulation to be enabled).

unset_ip_rule_tag_by_src_ip(self: mtf.libs.mtf_pybinder.mtf_tunnel_controller, tap_name: str, src_ip_addr: str, tag: str) bool

Unsets a Tag (Alias) for an IP manipulation rule on a specific TAP device (requires packet manipulation to be enabled).

class mtf.libs.mtf_pybinder.mtf_tunnel_frame
__init__(*args, **kwargs)
__new__(**kwargs)
accept(self: mtf.libs.mtf_pybinder.mtf_tunnel_frame) None

Mark the frame to be accepted

property bytes

The raw packet bytes

drop(self: mtf.libs.mtf_pybinder.mtf_tunnel_frame) None

Mark the frame to be dropped

get_original_dst_mac_address(self: mtf.libs.mtf_pybinder.mtf_tunnel_frame) mtf.libs.mtf_pybinder.pcpp.MacAddress

Returns the destination MAC address extracted from the original packet before any manipulation.

get_original_src_mac_address(self: mtf.libs.mtf_pybinder.mtf_tunnel_frame) mtf.libs.mtf_pybinder.pcpp.MacAddress

Returns the source MAC address extracted from the original packet before any manipulation.

get_pcpp_packet(self: mtf.libs.mtf_pybinder.mtf_tunnel_frame) mtf.libs.mtf_pybinder.pcpp.Packet

Get the pcpp Packet representation of the payload

is_dropped(self: mtf.libs.mtf_pybinder.mtf_tunnel_frame) bool

Check if the Frame is marked to be dropped

class mtf.libs.mtf_pybinder.mtf_udp_layer_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_udp_layer_filter) None
__new__(**kwargs)
property dst_ports

optional UDP destination ports

property prev_layer_filter

an optional previous layer filter

property src_ports

optional UDP source ports

class mtf.libs.mtf_pybinder.mtf_vlan_filter
__init__(self: mtf.libs.mtf_pybinder.mtf_vlan_filter, vlan_type: mtf.libs.mtf_pybinder.mtf_eth_filter_vlan_type = <mtf_eth_filter_vlan_type.Vlan802Dot1Q: 0>) None
__new__(**kwargs)
property dei

optional Drop eligible indicator

property prev_layer_filter

an optional previous layer filter

property priorities

optional packet priorities

property vlan_ids

optional inner VLAN ids

class mtf.libs.mtf_pybinder.mtf_xcp

Interface for read and write access to the memory of an ECU using the XCP protocol (Universal Measurement and Calibration Protocol)

__init__(self: mtf.libs.mtf_pybinder.mtf_xcp) None
__new__(**kwargs)
configure(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, option: mtf.libs.mtf_pybinder.XcpConfigOption, value: int) bool

Set a configuration option for the given ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) option: the option to configure value: signed integer option value

connect(*args, **kwargs)

Overloaded function.

  1. connect(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, protocol: int, dst_host: str, dst_port: int, src_host: str, src_port: int, callback: Callable[[str, bool], None]) -> bool

Establish connection to the ECU over Ethernet (XCP on TCP or XCP on UDP)

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) protocol: XCP on TCP (1) or XCP on UDP (2) dst_host: IP Address of the ECU dst_port: Port number dedicated to the XCP communication on the ECU src_host: Local interface address to be used for the connection src_port: Local port number to be used for the connection callback: Function to be called every time the connection state change (true -> connected, false -> disconnected)

  1. connect(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, protocol: int, callback: Callable[[str, bool], None]) -> bool

Establish connection to the ECU over Ethernet (XCP on TCP or XCP on UDP),

ecu_name: ECU name like it’s defined in the A2L file using the Ethernet settings from the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) protocol: XCP on TCP (1) or XCP on UDP (2) callback: Function to be called every time the connection state change (true -> connected, false -> disconnected)

connect_can(*args, **kwargs)

Overloaded function.

  1. connect_can(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, master_id: int, slave_id: int, can_fd: bool, max_dlc_required: bool, callback: Callable[[str, bool], None]) -> bool

Establish connection to the ECU over CAN

ecu_name: ECU name like it’s defined in the A2L file channel_name : Channel used for the communication with the ECU(e.g.CAN_1) master_id: Local CAN ID slave_id : ECU CAN ID can_fd : Use CANFD max_dlc_required: Always pad CAN frame to max DLC callback : Function to be called every time the connection state change(true->connected, false->disconnected)

  1. connect_can(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, callback: Callable[[str, bool], None]) -> bool

Establish connection to the ECU over CAN using the CAN settings from the A2L file

ecu_name: ECU name like it’s defined in the A2L file channel_name : Channel used for the communication with the ECU(e.g.CAN_1) callback : Function to be called every time the connection state change(true->connected, false->disconnected)

connect_npdu(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, tunnel_name: str, master_pdu_id: int, slave_pdu_id: int, payload_length_required: int, callback: Callable[[str, bool], None]) bool

Establish connection to the ECU over Ethernet NPDU

ecu_name: ECU name like it’s defined in the A2L file channel_name : Channel used for the communication with the ECU tunnel_name: nPdu tunnel name like it’s defined in the config master_pdu_id : Master ECU pdu id slave_pdu_id : Slave ECU pdu id payload_length_required: Always pad frame to payload_length_required callback : Function to be called every time the connection state change(true->connected, false->disconnected)

daq_configure(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, configuration: dict[int, tuple[int, list[list[str]]]]) bool

Set DAQ configuration

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) configuration: Configuration to use

daq_decode_payload(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, payload: list[int]) list[mtf.libs.mtf_pybinder.xcp_daq_sample]

Decode a DAQ event payload

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) payload: the data of a DAQ event message

daq_enable(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str) bool

Enable DAQ and read configuration from ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1)

daq_poll(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, data_object: str, interval_ms: int) bool

Add data object to poll for the given ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) data_object: data object name to poll interval_ms: milliseconds between polling the object, 0 to disable polling

daq_set_callback(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, callback: Callable[[int, str, xcp_value], None]) int

Set callback for updated measurements for the given ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) callback: Callback to be executed when measurement gets updated

daq_set_list_options(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, list_index: int, options: mtf.libs.mtf_pybinder.xcp_daq_list_options) bool

Set DAQ list options

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) list_index: Index of the list to set the options for options: Options to be set

daq_start(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str) bool

Start data acquisition for the given ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1)

daq_stop(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str) bool

Stop data acquisition for the given ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1)

daq_validate_configuration(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, try_fix: bool) bool

Validate (and fix) the current DAQ configuration

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) try_fix: If false, the configuration is not modified (not supported yet), if true, tries to fix the configuration

daq_watch(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, measurements: list[str]) bool

Set measurements to watch for the given ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) measurements: Measurement names to watch

deinit(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str) bool

Deinit the XCP module

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1)

detect_ecus(self: mtf.libs.mtf_pybinder.mtf_xcp) list[str]

Get list of available Ecus (List[Dict[str, Any]])

disconnect(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str) bool

Close connection to the ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1)

get_all_characteristics(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str) list[str]

Get list of ECU characteristics defined on the A2L file

get_all_ecu_names(self: mtf.libs.mtf_pybinder.mtf_xcp) list[str]

Get list of ECU defined on the A2L file

get_all_measurements(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str) list[str]

Get list of ECU measurements defined on the A2L file

get_object_data_type(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, a2l_obj_name: str) mtf.libs.mtf_pybinder.XcpDataType

Retrieves the data type associated with a given object name.

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) obj_name: The name of the object for which to retrieve the data type from the A2L file

init(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, a2l_file_path: str) bool

Init the XCP module

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) a2l_file_path: Path to the A2L file

read(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, variable_name: str, raw_value: bool = False) tuple[float, bool]

Read out variable (calibration or measurement) value from the ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) variable_name: characteristic/measurement like defined in the a2l file

read_complex_type(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, variable_name: str, raw_value: bool = False) xcp_value

Read out variable (calibration or measurement) value from the ECU

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) variable_name: characteristic/measurement like defined in the a2l file raw_value: read ECU value without conversion to physical

write(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, variable_name: str, value: float, raw_value: bool = False) bool

Set the ECU internal calibration value

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) variable_name: characteristic like defined in the a2l file value: float value

write_complex_type(self: mtf.libs.mtf_pybinder.mtf_xcp, ecu_name: str, channel_name: str, variable_name: str, value: xcp_value, raw_value: bool = False) bool

Set the ECU internal calibration value

ecu_name: ECU name like it’s defined in the A2L file channel_name: Channel used for the communication with the ECU (e.g. CAN_1) variable_name: characteristic like defined in the a2l file value: numpy array raw_value: treat value as ECU value and write without conversion

class mtf.libs.mtf_pybinder.npdu_setter_checker

NPDU setter checker class

__init__(self: mtf.libs.mtf_pybinder.npdu_setter_checker, ecu_name: str, npdu: int | str) None
__new__(**kwargs)
check_npdu_cyclic_repetition(self: mtf.libs.mtf_pybinder.npdu_setter_checker, cycle: int, cycle_deviation: int, nb_repetition: int, check_latest_values: bool, interface_id: int | None = None) bool

check npdu cyclic repetition

check_npdu_network(self: mtf.libs.mtf_pybinder.npdu_setter_checker, signal_name: str, param: str) bool

check Npdu network

check_npdu_network_with_mask(self: mtf.libs.mtf_pybinder.npdu_setter_checker, signal_name: str, param: str, mask: int, comparison: int) bool

check Npdu network

check_npdu_reception(self: mtf.libs.mtf_pybinder.npdu_setter_checker, is_received: bool, interface_id: int | None = None) bool

check npdu reception

clear_npdu_buffer(self: mtf.libs.mtf_pybinder.npdu_setter_checker, interface_id: int | None = None) bool

clear npdu buffer

get_npdu_last_value(self: mtf.libs.mtf_pybinder.npdu_setter_checker) int | float | int | str | list[int]

get npdu last recieved value

monitor_Npdu_message_reception(self: mtf.libs.mtf_pybinder.npdu_setter_checker, arg0: bool, arg1: int) bool

monitor message reception

monitor_always_npdu_network(self: mtf.libs.mtf_pybinder.npdu_setter_checker, signal_name: str, expectedValue: str, timeout: int, comparison: int, mask: int) bool

monitor always npdu network

monitor_happened_npdu_network(self: mtf.libs.mtf_pybinder.npdu_setter_checker, signal_name: str, expectedValue: str, timeout: int, comparison: int, mask: int) bool

monitor happened npdu network

npdu_apply_faulty_corrupt_alive_counter(self: mtf.libs.mtf_pybinder.npdu_setter_checker, on_off: bool) bool

npdu apply faulty corrupt alive counter

npdu_apply_faulty_corrupt_crc(self: mtf.libs.mtf_pybinder.npdu_setter_checker, on_off: bool) bool

npdu apply faulty corrupt crc

set_npdu_network(self: mtf.libs.mtf_pybinder.npdu_setter_checker, signal_name: str, param: str) bool

set Npdu network

start_npdu_observer(self: mtf.libs.mtf_pybinder.npdu_setter_checker, interface_id: int | None = None) bool

Start Npdu Observer

start_stop_cycle_Npdu_message(self: mtf.libs.mtf_pybinder.npdu_setter_checker, signal_name: str, respect_cycle: bool) bool

start stop Cycle Npdu Message

stop_npdu_observer(self: mtf.libs.mtf_pybinder.npdu_setter_checker, interface_id: int | None = None) bool

Stop Npdu Observer

mtf.libs.mtf_pybinder.set_exception_handler(callback: Callable[[str], None]) None

mtf_exception is a submodule of ‘mtf_pybinder’

mtf.libs.mtf_pybinder.sleep_for(duration_ms: int) None

Sleep for real or virtual time (in milliseconds)

class mtf.libs.mtf_pybinder.xcp_can_connection
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.xcp_can_connection) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.xcp_can_connection, master_frame_id: int, slave_frame_id: int, is_can_fd: bool) -> None

  3. __init__(self: mtf.libs.mtf_pybinder.xcp_can_connection, master_frame_id: int, slave_frame_id: int, is_can_fd: bool, max_dlc: int, max_dlc_required: bool) -> None

__new__(**kwargs)
class mtf.libs.mtf_pybinder.xcp_connection
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.xcp_connection, connection_type: mtf.libs.mtf_pybinder.XcpConnectionType) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.xcp_connection, max_dlc: mtf.libs.mtf_pybinder.XcpConnectionType, max_dlc_required: int, connection_type: bool) -> None

__new__(**kwargs)
class mtf.libs.mtf_pybinder.xcp_controller
__init__(self: mtf.libs.mtf_pybinder.xcp_controller, ecu_name: str, channel_name: str, connection_info: mtf.libs.mtf_pybinder.xcp_connection, a2l_file: str) None
__new__(**kwargs)
configure(self: mtf.libs.mtf_pybinder.xcp_controller, option: mtf.libs.mtf_pybinder.XcpConfigOption, value: int) bool

Set a configuration option for the given ECU/channel

connect(self: mtf.libs.mtf_pybinder.xcp_controller, callback: Callable[[str, bool], None]) bool

Establish connection to the ECU over Ethernet (XCP on TCP or XCP on UDP)

callback: Function to be called every time the connection state change (true -> connected, false -> disconnected)

daq_configure(self: mtf.libs.mtf_pybinder.xcp_controller, configuration: dict[int, tuple[int, list[list[str]]]]) bool

Set DAQ configuration

daq_decode_payload(self: mtf.libs.mtf_pybinder.xcp_controller, payload: list[int]) list[mtf.libs.mtf_pybinder.xcp_daq_sample]

Decode a DAQ event payload

daq_enable(self: mtf.libs.mtf_pybinder.xcp_controller) bool

Enable DAQ and read configuration from ECU

daq_poll(self: mtf.libs.mtf_pybinder.xcp_controller, measurement: str, interval_ms: int) bool

Add data object to poll

daq_remove_callback(self: mtf.libs.mtf_pybinder.xcp_controller, handle: int) bool

Remove a DAQ callback

daq_set_callback(self: mtf.libs.mtf_pybinder.xcp_controller, callback: Callable[[int, str, xcp_value], None]) int

Set callback for updated measurements

daq_set_list_options(self: mtf.libs.mtf_pybinder.xcp_controller, list_index: int, options: mtf.libs.mtf_pybinder.xcp_daq_list_options) bool

Set DAQ list options

daq_start(self: mtf.libs.mtf_pybinder.xcp_controller) bool

Start data acquisition

daq_stop(self: mtf.libs.mtf_pybinder.xcp_controller) bool

Stop data acquisition

daq_validate_configuration(self: mtf.libs.mtf_pybinder.xcp_controller, try_fix: bool) bool

Validate DAQ configuration

daq_watch(self: mtf.libs.mtf_pybinder.xcp_controller, measurements: list[str]) bool

Set measurements to watch

detect_ecus(self: mtf.libs.mtf_pybinder.xcp_controller) list[str]

Get list of available Ecus (List[Dict[str, Any]])

disconnect(self: mtf.libs.mtf_pybinder.xcp_controller) bool

Close connection to the ECU

get_all_characteristics(self: mtf.libs.mtf_pybinder.xcp_controller) list[str]

Get list of ECU characteristics defined on the A2L file

get_all_ecu_names(self: mtf.libs.mtf_pybinder.xcp_controller) list[str]

Get list of ECU defined on the A2L file.

get_all_measurements(self: mtf.libs.mtf_pybinder.xcp_controller) list[str]

Get list of ECU measurements defined on the A2L file

get_daq_event_channels(self: mtf.libs.mtf_pybinder.xcp_controller) list[mtf.libs.mtf_pybinder.xcp_daq_event_channel]

Get DAQ event channels for this ECU/channel

get_object_data_type(self: mtf.libs.mtf_pybinder.xcp_controller, a2l_obj_name: str) mtf.libs.mtf_pybinder.XcpDataType

Get data type for an A2L object of this ECU/channel

read_physical_value(self: mtf.libs.mtf_pybinder.xcp_controller, variable_name: str) xcp_value

Read out variable (characteristic or measurement) complex physical value from the ECU

variable_name: characteristic/measurement like defined in the a2l file

read_raw_value(self: mtf.libs.mtf_pybinder.xcp_controller, variable_name: str) xcp_value

Read out variable (characteristic or measurement) complex raw value from the ECU

variable_name: characteristic/measurement like defined in the a2l file

read_simple_physical_value(self: mtf.libs.mtf_pybinder.xcp_controller, variable_name: str) tuple[float, bool]

Read out variable (characteristic or measurement) physical value from the ECU

variable_name: characteristic/measurement like defined in the a2l file

read_simple_raw_value(self: mtf.libs.mtf_pybinder.xcp_controller, variable_name: str) tuple[float, bool]

Read out variable (characteristic or measurement) raw value from the ECU

variable_name: characteristic/measurement like defined in the a2l file

write_physical_value(self: mtf.libs.mtf_pybinder.xcp_controller, variable_name: str, value: xcp_value) bool

Set the ECU internal (characteristic or measurement) complex physical value

variable_name: characteristic/measurement like defined in the a2l file value: numpy array

write_raw_value(self: mtf.libs.mtf_pybinder.xcp_controller, variable_name: str, value: xcp_value) bool

Set the ECU internal (characteristic or measurement) complex raw value

variable_name: characteristic/measurement like defined in the a2l file value: numpy array

write_simple_physical_value(self: mtf.libs.mtf_pybinder.xcp_controller, variable_name: str, value: float) bool

Set the ECU internal (characteristic or measurement) physical value

variable_name: characteristic/measurement like defined in the a2l file value: float value

write_simple_raw_value(self: mtf.libs.mtf_pybinder.xcp_controller, variable_name: str, value: float) bool

Set the ECU internal (characteristic or measurement) raw value

variable_name: characteristic/measurement like defined in the a2l file value: float value

class mtf.libs.mtf_pybinder.xcp_daq_event_channel
__init__(*args, **kwargs)
__new__(**kwargs)
property name
property period
class mtf.libs.mtf_pybinder.xcp_daq_list_options
__init__(self: mtf.libs.mtf_pybinder.xcp_daq_list_options, dto_ctr: bool = False, timestamp: bool = False, pid_off: bool = False, prescaler: int = 1, priority: int = 0) None
__new__(**kwargs)
property dto_ctr
property pid_off
property prescaler
property priority
property timestamp
class mtf.libs.mtf_pybinder.xcp_daq_sample
__init__(*args, **kwargs)
__new__(**kwargs)
property measurement
property phys_value
property raw_value
property timestamp
class mtf.libs.mtf_pybinder.xcp_eth_connection
__init__(*args, **kwargs)

Overloaded function.

  1. __init__(self: mtf.libs.mtf_pybinder.xcp_eth_connection, dst_host: str, dst_port: int, src_host: str, src_port: int, protocol: mtf.libs.mtf_pybinder.XcpEthProtocol = <XcpEthProtocol.TCP: 1>) -> None

  2. __init__(self: mtf.libs.mtf_pybinder.xcp_eth_connection, dst_host: str, dst_port: int, protocol: mtf.libs.mtf_pybinder.XcpEthProtocol = <XcpEthProtocol.TCP: 1>) -> None

  3. __init__(self: mtf.libs.mtf_pybinder.xcp_eth_connection, dst_host: str, dst_port: int, src_host: str, src_port: int, max_dlc: mtf.libs.mtf_pybinder.XcpEthProtocol, max_dlc_required: int, protocol: bool = <XcpEthProtocol.TCP: 1>) -> None

__new__(**kwargs)
class mtf.libs.mtf_pybinder.xcp_npdu_connection
__init__(self: mtf.libs.mtf_pybinder.xcp_npdu_connection, npdu_tunnel_name: str, master_pdu_id: int, slave_pdu_id: int, required_payload_length: int) None
__new__(**kwargs)