Xcp Module
- class mtf.measurement.xcp.XCP
- values
- save_values
- init(ecu_name: str, channel_name: str, a2l_file_path: str) bool
Initializes the XCP conection by parsing the a2l file.
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU. channel_name (str, Mandatory): Name of the channel. a2l_file_path (PathStr, Mandatory): Path to the A2L file.
- === Returns ===
bool: True if initialization is successful, False otherwise.
- get_values()
- deinit(ecu_name: str, channel_name: str) bool
Deinit the XCP connection.
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU. channel_name (str, Mandatory): Name of the channel.
- === Returns ===
bool: True if deinit is successful, False otherwise.
- connect(ecu_name: str, channel_name: str, protocol: int = 0, dst_host: str = '', dst_port: int = 0, src_host: str = '', src_port: int = 0, callback: Callable[[str, bool], None] | None = None) bool
Connects to the ECU via the given parameters.
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU. channel_name (str, Mandatory): Name of the channel. protocol (int, Optional): XCP protocol version. Defaults to 0. dst_host (str, Optional): Destination host address. Defaults to “”. dst_port (int, Optional): Destination port number. Defaults to 0. src_host (str, Optional): Source host address. Defaults to “”. src_port (int, Optional): Source port number. Defaults to 0. callback (XcpConnectionStateCallback, Optional): Callback function for connection state changes.
- === Returns ===
bool: True if connection is successful, False otherwise.
- disconnect(ecu_name: str, channel_name: str) bool
Disconnects from the ECU .
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU. channel_name (str, Mandatory): Name of the channel.
- === Returns ===
bool: True if disconnection is successful, False otherwise.
- is_connected_by_ecu_name(ecu_name: str) bool
Checks if the ECU is connected via XCP.
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU.
- === Returns ===
bool: True if the ECU is connected, False otherwise.
- detect_ecus() List[Dict[str, Any]]
Detects available ECUs.
- === Returns ===
list: List of dictionaries containing information about detected ECUs.
- get_all_characteristics(ecu_name: str, channel_name: str) list[str]
Retrieves all characteristics.
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU. channel_name (str, Mandatory): Name of the channel.
- === Returns ===
list: List of characteristics.
- get_all_measurements(ecu_name: str, channel_name: str) list[dict]
Retrieves all measurements.
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU. channel_name (str, Mandatory): Name of the channel.
- === Returns ===
list: List of dictionaries containing information about measurements.
- get_all_ecu_names() list[str]
Retrieves names of all connected ECUs.
- === Returns ===
list: List of ECU names.
- get_object_data_type(ecu_name: str, channel_name: str, a2l_object: str) XcpDataType
Get the data type of an object in the XCP instance.
- Args:
ecu_name (str): The name of the ECU. channel_name (str): The name of the channel. a2l_object (str): The name of the A2L object.
- Returns:
ObjectDataType: The data type of the object.
- read_complex_type(ecu_name: str, channel_name: str, a2l_object: str, is_raw_value: bool = False) list[Any]
Reads a complex type from the ECU.
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU. channel_name (str, Mandatory): Name of the channel. a2l_object (str, Mandatory): Name of the A2L object. is_raw_value (bool, Optional): Indicates if the value is raw. Defaults to False.
- === Returns ===
list: List containing the read values.
- read(ecu_name: str, channel_name: str, a2l_object: str, is_raw_value: bool = False) Tuple[bool, Any]
Reads a value from the ECU.
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU. channel_name (str, Mandatory): Name of the channel. a2l_object (str, Mandatory): Name of the A2L object. is_raw_value (bool, Optional): Indicates if the value is raw. Defaults to False.
- === Returns ===
tuple: A tuple containing a boolean status and the read value.
- write_complex_type(ecu_name: str, channel_name: str, a2l_object: str, value: Any, is_raw_value: bool = True) Tuple[bool, str]
Writes a complex type value to the specified ECU, channel, and A2L object.
=== Arguments Description ===
ecu_name * (str): The name of the ECU.
channel_name * (str): The name of the channel.
a2l_object * (str): The name of the A2L object.
value * (Any): The value to write.
is_raw_value * (bool): Indicates whether the value is a raw value. Defaults to True.
=== Returns ===
bool: True if the value was successfully written, False otherwise.
- write(ecu_name: str, channel_name: str, a2l_object: str, value: Any, is_raw_value: bool = True) bool
Writes a value to the specified A2L object in a given ECU and channel for simple types.
- Args:
ecu_name (str): The name of the ECU. channel_name (str): The name of the channel. a2l_object (str): The name of the A2L object. value (Any): The value to be written to the A2L object. is_raw_value (bool, optional): Indicates whether the value is a raw value or not. Defaults to True.
- Returns:
bool: True if the write operation was successful, False otherwise.
- configure(ecu_name: str, channel_name: str, option: XcpConfigOption, value: int) bool
Configures options for the ECU via XCP.
- === Arguments Description ===
ecu_name (str, Mandatory): Name of the ECU. channel_name (str, Mandatory): Name of the channel. option (XcpConfigOption, Mandatory): Configuration option. value (int, Mandatory): Value to set for the configuration option.
- === Returns ===
bool: True if configuration is successful, False otherwise.
- static __new__(cls, *args, **kwargs)
Initialize a new instance of the ControllerBase.
The instance will be automatically added to the list of controllers.
- classmethod controllers_cleanup()
Clean up all controller instances.
Calls the clean_up() method for each instance.
- clean_up()
Cleans up the XCP connections and resources.
- === Returns ===
bool: True if cleanup is successful, False otherwise.