Someip Controller Module
SomeipListener Module.
- class mtf.network_port.someip_controller.SomeipListener
- __init__(channel_name: str = 'ETH-SOMEIP', protocol: ~mtf.proto_common.EthProtocolType | ~mtf.libs.mtf_pybinder.mtf_eth_filter | ~mtf.libs.mtf_pybinder.mtf_someip_filter = <mtf_eth_protocol_type.SOME_IP: 2251799813685248>) None
- configure(someip_filter: ~mtf.libs.mtf_pybinder.mtf_someip_filter | None = None, listener_type: ~mtf.libs.mtf_pybinder.SomeIpListenerType = <SomeIpListenerType.GetSeparateFrames: 2>) None
- start_listening(channel=None, keep_cache=False, callback_fnc=None, someip_filter: dict | None = None, lazy_mode=None, silent_mode: bool = False) bool
Starts listening on a bus and can be configured to operate in silent mode or to reset cached data before beginning to listen
- Args:
keep_cache (bool) silent_mode (bool): Specify whether the listening should be done in silent mode or not
- Return:
bool
- start(channel=None, keep_cache=False, callback_fnc=None, someip_filter: dict | None = None, lazy_mode=None, silent_mode: bool = False) bool
Start a listener on a specific channel Args:
channel (str) keep_cache (bool) silent_mode (bool): Specify whether the listening should be done in silent mode or not
- Return:
bool
- stop_listening() bool
Stop listening for events on a communication bus Return:
bool
- reset() None
Reset the state of the bus listener by clearing its history and emptying the event queue
- get_someip_timestamp_queue() list[int]
- build_messages_queue() list[dict[str, Any]]
- static __new__(cls, *args, **kwargs)
Initialize a new instance of the ControllerBase.
The instance will be automatically added to the list of controllers.
- callback_(data_frame: BusEvent)
used as a callback function when an event or frame is received on the communication bus Args:
data_frame (BusEvent): The data frame
- clean_up()
Clean up all controller instances.
- Return:
bool
- classmethod controllers_cleanup()
Clean up all controller instances.
Calls the clean_up() method for each instance.
- get_message_queue() list[dict[str, Any]]
Get messages queue :return: :rtype:
- get_queue() list[dict[str, Any]]
Reset the internal state of an instance of the EthBusListener class
- get_timestamp_queue() list[int]
Retrieve the private attribute _timestamp_queue Return:
list[int]
- register_callback(callback_fnc: Callable[[IEthernetProtocol], None])
- Parameters:
callback_fnc – callback function with parameter of type
MessageEthernet
Setting a callback# ... from andisdk import MessageEthernet # ... def eth_listener_callback(msg: MessageEthernet): # do things # ... creating listener # register our callback listener.register_callback(eth_listener_callback)
Warning
The callback function should be lightweight without logs. Otherwise, it will reduce the performance dramatically. The object that is passed to callback functions is mutable. So the user must be careful. In case of silent mode, the callback functions will be invoked only when getting the queue.
- stop()
Stop a listener on a specific channel
- Return:
bool
- unregister_callback(callback_fnc: Callable[[IEthernetProtocol], None])
- Parameters:
callback_fnc – callback function with parameter of type
MessageEthernet
Remove a callback# ... from andisdk import MessageEthernet # ... def eth_listener_callback(msg: MessageEthernet): # do things # ... creating listener # ... do work # unregister our callback listener.unregister_callback(eth_listener_callback)
- mtf.network_port.someip_controller.create_someip_filter_from_andi_dict(someip_filter: dict) mtf_someip_filter