py_canoe.CANoe

Source code in src\py_canoe\canoe.py
22
23
24
25
26
27
28
29
30
31
32
33
34
35
def __init__(self, py_canoe_log_dir: str | Path = "", user_capl_functions: Sequence[str] = tuple(), clean_gen_py_cache: bool = False) -> None:
    self.application: Application = None
    try:
        pythoncom.CoInitialize()
        if py_canoe_log_dir:
            update_logger_file_path(logger, py_canoe_log_dir)
        if clean_gen_py_cache:
            self._clean_gen_py_cache()
    except pythoncom.com_error:
        logger.warning("COM already initialized in this thread.")
    except Exception as e:
        logger.error(f"COM init error: {e}")
    finally:
        self.user_capl_functions = user_capl_functions

__enter__()

Enter context manager.

Source code in src\py_canoe\canoe.py
37
38
39
40
41
def __enter__(self):
    """
    Enter context manager.
    """
    return self

__exit__(exc_type, exc_val, exc_tb)

Exit context manager and cleanup resources. Explicitly release resources and uninitialize COM.

Source code in src\py_canoe\canoe.py
43
44
45
46
47
48
49
50
51
52
53
def __exit__(self, exc_type, exc_val, exc_tb):
    """
    Exit context manager and cleanup resources. Explicitly release resources and uninitialize COM.
    """
    try:
        if self.application is not None:
            pythoncom.CoUninitialize()
    except Exception as e:
        logger.error(f"Error during COM uninitialization: {e}.")
    finally:
        self.application = None

add_database(database_file, database_channel, database_network=None)

adds database file to a network channel

Parameters:
  • database_file (str) –

    database file to attach. give full file path.

  • database_network (str, default: None ) –

    network name on which you want to add this database.

  • database_channel (int) –

    channel name on which you want to add this database.

Source code in src\py_canoe\canoe.py
608
609
610
611
612
613
614
615
616
def add_database(self, database_file: str, database_channel: int, database_network: Union[str, None]=None) -> bool:
    """adds database file to a network channel

    Args:
        database_file (str): database file to attach. give full file path.
        database_network (str): network name on which you want to add this database.
        database_channel (int): channel name on which you want to add this database.
    """
    return self.application.configuration.add_database(database_file, database_channel, database_network)

add_filters_to_exporter(logger_index, full_names)

Add messages and symbols to exporter filter by their full names.

Parameters:
  • logger_index (int) –

    indicates logger

  • full_names (Iterable) –

    full names of messages and symbols

Source code in src\py_canoe\canoe.py
666
667
668
669
670
671
672
673
def add_filters_to_exporter(self, logger_index: int, full_names: 'Iterable'):
    """Add messages and symbols to exporter filter by their full names.

    Args:
        logger_index (int): indicates logger
        full_names (Iterable): full names of messages and symbols
    """
    return self.application.configuration.add_filters_to_exporter(logger_index, full_names)

add_logging_block(full_name)

adds a new logging block to configuration measurement setup.

Parameters:
  • full_name (str) –

    full path to log file as "C:/file.(asc|blf|mf4|...)", may have field functions like {IncMeasurement} in the file name.

Returns:
  • Logging( Logging ) –

    returns Logging object of added logging block.

Source code in src\py_canoe\canoe.py
631
632
633
634
635
636
637
638
639
640
def add_logging_block(self, full_name: str) -> 'Logging':
    """adds a new logging block to configuration measurement setup.

    Args:
        full_name (str): full path to log file as "C:/file.(asc|blf|mf4|...)", may have field functions like {IncMeasurement} in the file name.

    Returns:
        Logging: returns Logging object of added logging block.
    """
    return self.application.configuration.add_logging_block(full_name)

add_offline_source_log_file(absolute_log_file_path)

Adds an offline source log file to the configuration.

Parameters:
  • absolute_log_file_path (str) –

    The absolute path to the log file.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
436
437
438
439
440
441
442
443
444
445
446
def add_offline_source_log_file(self, absolute_log_file_path: str) -> bool:
    """
    Adds an offline source log file to the configuration.

    Args:
        absolute_log_file_path (str): The absolute path to the log file.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.add_offline_source_log_file(absolute_log_file_path)

attach_to_active_application()

Attach to a active instance of the CANoe application.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
131
132
133
134
135
136
137
138
139
140
141
def attach_to_active_application(self) -> bool:
    """
    Attach to a active instance of the CANoe application.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    self._reset_application()
    self.application = Application()
    self.application.user_capl_functions = self.user_capl_functions
    return self.application.attach_to_active_application()

break_measurement_in_offline_mode()

Breaks the measurement in offline mode.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
808
809
810
811
812
813
814
815
def break_measurement_in_offline_mode(self) -> bool:
    """
    Breaks the measurement in offline mode.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.measurement.break_measurement_in_offline_mode()

call_capl_function(name, *arguments)

Calls a CAPL function.

Parameters:
  • name (str) –

    The name of the CAPL function.

  • *arguments

    The arguments to pass to the CAPL function.

Returns:
  • bool( bool ) –

    True if the function call was successful, False otherwise.

Source code in src\py_canoe\canoe.py
398
399
400
401
402
403
404
405
406
407
408
409
def call_capl_function(self, name: str, *arguments) -> bool:
    """
    Calls a CAPL function.

    Args:
        name (str): The name of the CAPL function.
        *arguments: The arguments to pass to the CAPL function.

    Returns:
        bool: True if the function call was successful, False otherwise.
    """
    return self.application.capl.call_capl_function(name, *arguments)

check_j1939_signal_online(bus, channel, message, signal, source_addr, dest_addr)

Checks if a J1939 signal is online.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

  • source_addr (int) –

    The source address.

  • dest_addr (int) –

    The destination address.

Returns:
  • bool( bool ) –

    True if the signal is online, False otherwise.

Source code in src\py_canoe\canoe.py
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
def check_j1939_signal_online(self, bus: str, channel: int, message: str, signal: str, source_addr: int, dest_addr: int) -> bool:
    """
    Checks if a J1939 signal is online.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.
        source_addr (int): The source address.
        dest_addr (int): The destination address.

    Returns:
        bool: True if the signal is online, False otherwise.
    """
    return self.application.bus.check_j1939_signal_online(bus, channel, message, signal, source_addr, dest_addr)

check_j1939_signal_state(bus, channel, message, signal, source_addr, dest_addr)

Checks the state of a J1939 signal.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

  • source_addr (int) –

    The source address.

  • dest_addr (int) –

    The destination address.

Returns:
  • int( int ) –

    The state of the signal.

Source code in src\py_canoe\canoe.py
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
def check_j1939_signal_state(self, bus: str, channel: int, message: str, signal: str, source_addr: int, dest_addr: int) -> int:
    """
    Checks the state of a J1939 signal.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.
        source_addr (int): The source address.
        dest_addr (int): The destination address.

    Returns:
        int: The state of the signal.
    """
    return self.application.bus.check_j1939_signal_state(bus, channel, message, signal, source_addr, dest_addr)

check_signal_online(bus, channel, message, signal)

Checks if a signal is online.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

Returns:
  • bool( bool ) –

    True if the signal is online, False otherwise.

Source code in src\py_canoe\canoe.py
264
265
266
267
268
269
270
271
272
273
274
275
276
277
def check_signal_online(self, bus: str, channel: int, message: str, signal: str) -> bool:
    """
    Checks if a signal is online.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.

    Returns:
        bool: True if the signal is online, False otherwise.
    """
    return self.application.bus.check_signal_online(bus, channel, message, signal)

check_signal_state(bus, channel, message, signal)

Checks the state of a signal.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

Returns:
  • int( int ) –

    The state of the signal.

Source code in src\py_canoe\canoe.py
279
280
281
282
283
284
285
286
287
288
289
290
291
292
def check_signal_state(self, bus: str, channel: int, message: str, signal: str) -> int:
    """
    Checks the state of a signal.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.

    Returns:
        int: The state of the signal.
    """
    return self.application.bus.check_signal_state(bus, channel, message, signal)

clear_write_window_content()

Clears the content of the write window.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
1001
1002
1003
1004
1005
1006
1007
1008
def clear_write_window_content(self) -> bool:
    """
    Clears the content of the write window.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.ui.write.clear()

compile_all_capl_nodes(wait_time=5)

Compiles all CAPL nodes in the application.

Parameters:
  • wait_time (Union[int, float], default: 5 ) –

    The time to wait for the compilation to complete.

Returns:
  • Union[CompileResult, None]

    The compilation result or None if an error occurred.

Source code in src\py_canoe\canoe.py
386
387
388
389
390
391
392
393
394
395
396
def compile_all_capl_nodes(self, wait_time: Union[int, float] = 5) -> Union[CompileResult, None]:
    """
    Compiles all CAPL nodes in the application.

    Args:
        wait_time (Union[int, float]): The time to wait for the compilation to complete.

    Returns:
        The compilation result or None if an error occurred.
    """
    return self.application.capl.compile(wait_time)

control_replay_block(block_name, start_stop)

Controls the replay block.

Parameters:
  • block_name (str) –

    The name of the replay block.

  • start_stop (bool) –

    True to start the replay block, False to stop it.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
473
474
475
476
477
478
479
480
481
482
483
484
def control_replay_block(self, block_name: str, start_stop: bool) -> bool:
    """
    Controls the replay block.

    Args:
        block_name (str): The name of the replay block.
        start_stop (bool): True to start the replay block, False to stop it.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.control_replay_block(block_name, start_stop)

control_tester_present(diag_ecu_qualifier_name, value)

Controls the tester present signal.

Parameters:
  • diag_ecu_qualifier_name (str) –

    The diagnostic ECU qualifier name.

  • value (bool) –

    The value to set for the tester present signal.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
879
880
881
882
883
884
885
886
887
888
889
890
def control_tester_present(self, diag_ecu_qualifier_name: str, value: bool) -> bool:
    """
    Controls the tester present signal.

    Args:
        diag_ecu_qualifier_name (str): The diagnostic ECU qualifier name.
        value (bool): The value to set for the tester present signal.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.networks.control_tester_present(diag_ecu_qualifier_name, value)

copy_write_window_content()

Copies the content of the write window.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
1010
1011
1012
1013
1014
1015
1016
1017
def copy_write_window_content(self) -> bool:
    """
    Copies the content of the write window.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.ui.write.copy()

define_system_variable(sys_var_name, value, read_only=False)

Defines a system variable.

Parameters:
  • sys_var_name (str) –

    The name of the system variable.

  • value (Union[int, float, str]) –

    The value of the system variable.

  • read_only (bool, default: False ) –

    Whether the system variable is read-only.

Returns:
  • object( object ) –

    The created system variable object.

Source code in src\py_canoe\canoe.py
892
893
894
895
896
897
898
899
900
901
902
903
904
def define_system_variable(self, sys_var_name: str, value: Union[int, float, str], read_only: bool = False) -> object:
    """
    Defines a system variable.

    Args:
        sys_var_name (str): The name of the system variable.
        value (Union[int, float, str]): The value of the system variable.
        read_only (bool): Whether the system variable is read-only.

    Returns:
        object: The created system variable object.
    """
    return self.application.system.add_variable(sys_var_name, value, read_only)

disable_write_window_output_file(tab_index=None)

Disables the write window output file.

Parameters:
  • tab_index (Optional[int], default: None ) –

    The tab index to disable the output file for.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
def disable_write_window_output_file(self, tab_index=None) -> bool:
    """
    Disables the write window output file.

    Args:
        tab_index (Optional[int]): The tab index to disable the output file for.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.ui.write.disable_output_file(tab_index)

enable_disable_replay_block(block_name, enable_disable)

Enables or disables a replay block.

Parameters:
  • block_name (str) –

    The name of the replay block.

  • enable_disable (bool) –

    True to enable the replay block, False to disable it.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
486
487
488
489
490
491
492
493
494
495
496
497
def enable_disable_replay_block(self, block_name: str, enable_disable: bool) -> bool:
    """
    Enables or disables a replay block.

    Args:
        block_name (str): The name of the replay block.
        enable_disable (bool): True to enable the replay block, False to disable it.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.enable_disable_replay_block(block_name, enable_disable)

enable_write_window_output_file(output_file, tab_index=None)

Enables the write window output file.

Parameters:
  • output_file (str) –

    The output file path.

  • tab_index (Optional[int], default: None ) –

    The tab index to enable the output file for.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
def enable_write_window_output_file(self, output_file: str, tab_index=None) -> bool:
    """
    Enables the write window output file.

    Args:
        output_file (str): The output file path.
        tab_index (Optional[int]): The tab index to enable the output file for.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.ui.write.enable_output_file(output_file, tab_index)

execute_all_test_configurations(wait_for_completion=True)

executes all test configurations available in test setup.

Parameters:
  • wait_for_completion (bool, default: True ) –

    whether to wait for test configuration execution to complete before returning. defaults to True.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
511
512
513
514
515
516
517
518
519
520
def execute_all_test_configurations(self, wait_for_completion: bool = True) -> bool:
    """executes all test configurations available in test setup.

    Args:
        wait_for_completion (bool): whether to wait for test configuration execution to complete before returning. defaults to True.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.execute_all_test_configurations(wait_for_completion)

execute_all_test_environments()

executes all test environments available in test setup.

Source code in src\py_canoe\canoe.py
600
601
602
def execute_all_test_environments(self):
    """executes all test environments available in test setup."""
    return self.application.configuration.execute_all_test_environments()

execute_all_test_modules_in_test_env(env_name)

executes all test modules available in test environment.

Parameters:
  • env_name (str) –

    test environment name. avoid duplicate test environment names in CANoe configuration.

Source code in src\py_canoe\canoe.py
584
585
586
587
588
589
590
def execute_all_test_modules_in_test_env(self, env_name: str):
    """executes all test modules available in test environment.

    Args:
        env_name (str): test environment name. avoid duplicate test environment names in CANoe configuration.
    """
    return self.application.configuration.execute_all_test_modules_in_test_env(env_name)

execute_test_configuration(test_configuration_name, wait_for_completion=True)

executes a specific test configuration.

Parameters:
  • test_configuration_name (str) –

    The name of the test configuration to execute.

  • wait_for_completion (bool, default: True ) –

    Whether to wait for the test configuration execution to complete before returning. Defaults to True.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
530
531
532
533
534
535
536
537
538
539
540
def execute_test_configuration(self, test_configuration_name: str, wait_for_completion: bool = True) -> bool:
    """executes a specific test configuration.

    Args:
        test_configuration_name (str): The name of the test configuration to execute.
        wait_for_completion (bool): Whether to wait for the test configuration execution to complete before returning. Defaults to True.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.execute_test_configuration(test_configuration_name, wait_for_completion)

execute_test_module(test_module_name)

use this method to execute test module.

Parameters:
  • test_module_name (str) –

    test module name. avoid duplicate test module names in CANoe configuration.

Returns:
  • int( int ) –

    test module execution verdict. 0 ='VerdictNotAvailable', 1 = 'VerdictPassed', 2 = 'VerdictFailed',

Source code in src\py_canoe\canoe.py
565
566
567
568
569
570
571
572
573
574
def execute_test_module(self, test_module_name: str) -> int:
    """use this method to execute test module.

    Args:
        test_module_name (str): test module name. avoid duplicate test module names in CANoe configuration.

    Returns:
        int: test module execution verdict. 0 ='VerdictNotAvailable', 1 = 'VerdictPassed', 2 = 'VerdictFailed',
    """
    return self.application.configuration.execute_test_module(test_module_name)

get_all_namespace_names()

Returns all namespace names from the current application.

Source code in src\py_canoe\canoe.py
924
925
926
def get_all_namespace_names(self) -> list[str]:
    """Returns all namespace names from the current application."""
    return self.application.system.get_all_namespace_names()

get_all_network_names()

Returns all network names in the current application.

Source code in src\py_canoe\canoe.py
169
170
171
def get_all_network_names(self) -> list[str]:
    """Returns all network names in the current application."""
    return self.application.networks.get_all_network_names()

get_all_variables_in_namespace(namespace_name)

Returns all variables in the specified namespace.

Source code in src\py_canoe\canoe.py
928
929
930
def get_all_variables_in_namespace(self, namespace_name: str) -> list[dict]:
    """Returns all variables in the specified namespace."""
    return self.application.system.get_all_variables_in_namespace(namespace_name)

get_bus_databases_info(bus='CAN', log_info=False)

Gets the bus databases information.

Parameters:
  • bus (str, default: 'CAN' ) –

    The bus name. Defaults to 'CAN'.

  • log_info (bool, default: False ) –

    Whether to log the databases information. Defaults to False.

Returns:
  • dict( dict ) –

    The bus databases information.

Source code in src\py_canoe\canoe.py
143
144
145
146
147
148
149
150
151
152
153
154
def get_bus_databases_info(self, bus: str = 'CAN', log_info: bool = False) -> dict:
    """
    Gets the bus databases information.

    Args:
        bus (str): The bus name. Defaults to 'CAN'.
        log_info (bool): Whether to log the databases information. Defaults to False.

    Returns:
        dict: The bus databases information.
    """
    return self.application.bus.get_bus_databases_info(bus, log_info)

get_bus_nodes_info(bus='CAN', log_info=False)

Gets the bus nodes information.

Parameters:
  • bus (str, default: 'CAN' ) –

    The bus name. Defaults to 'CAN'.

  • log_info (bool, default: False ) –

    Whether to log the nodes information. Defaults to False.

Returns:
  • dict( dict ) –

    The bus nodes information.

Source code in src\py_canoe\canoe.py
156
157
158
159
160
161
162
163
164
165
166
167
def get_bus_nodes_info(self, bus: str = 'CAN', log_info: bool = False) -> dict:
    """
    Gets the bus nodes information.

    Args:
        bus (str): The bus name. Defaults to 'CAN'.
        log_info (bool): Whether to log the nodes information. Defaults to False.

    Returns:
        dict: The bus nodes information.
    """
    return self.application.bus.get_bus_nodes_info(bus, log_info)

get_can_bus_statistics(channel)

Gets the CAN bus statistics.

Parameters:
  • channel (int) –

    The channel number.

Returns:
  • dict( dict ) –

    The CAN bus statistics.

Source code in src\py_canoe\canoe.py
448
449
450
451
452
453
454
455
456
457
458
def get_can_bus_statistics(self, channel: int) -> dict:
    """
    Gets the CAN bus statistics.

    Args:
        channel (int): The channel number.

    Returns:
        dict: The CAN bus statistics.
    """
    return self.application.configuration.get_can_bus_statistics(channel)

get_canoe_version_info()

Gets the version information of the CANoe application.

Returns:
  • dict( dict[str, str | int] ) –

    The version information.

Source code in src\py_canoe\canoe.py
1044
1045
1046
1047
1048
1049
1050
1051
def get_canoe_version_info(self) -> dict[str, str | int]:
    """
    Gets the version information of the CANoe application.

    Returns:
        dict: The version information.
    """
    return self.application.version.get_canoe_version_info()

get_capl_compilation_result()

Returns the current configuration compilation result.

Source code in src\py_canoe\canoe.py
503
504
505
def get_capl_compilation_result(self) -> dict[str, object]:
    """Returns the current configuration compilation result."""
    return self.application.configuration.get_compilation_result()

get_environment_variable_value(env_var_name, return_timestamp=False)

returns a environment variable value.

Parameters:
  • env_var_name (str) –

    The name of the environment variable. Ex- "float_var"

  • return_timestamp (bool, default: False ) –

    Whether to return the timestamp in timezone utc along with the variable value. Defaults to False.

Returns:
  • Union[int, float, str, tuple, None]

    Union[int, float, str, tuple, None]: The environment variable value or None if not found. If return_timestamp is True, returns a tuple of (variable_value, timestamp).

Source code in src\py_canoe\canoe.py
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
def get_environment_variable_value(self, env_var_name: str, return_timestamp: bool = False) -> Union[int, float, str, tuple, None]:
    """
    returns a environment variable value.

    Args:
        env_var_name (str): The name of the environment variable. Ex- "float_var"
        return_timestamp (bool): Whether to return the timestamp in timezone utc along with the variable value. Defaults to False.

    Returns:
        Union[int, float, str, tuple, None]: The environment variable value or None if not found. If return_timestamp is True, returns a tuple of (variable_value, timestamp).
    """
    variable_value = self.application.environment.get_environment_variable_value(env_var_name)
    if return_timestamp:
        return variable_value, datetime.now(timezone.utc).timestamp()
    return variable_value

get_j1939_signal_full_name(bus, channel, message, signal, source_addr, dest_addr)

Gets the full name of a J1939 signal.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

  • source_addr (int) –

    The source address.

  • dest_addr (int) –

    The destination address.

Returns:
  • Union[str, None]

    Union[str, None]: The full name of the signal or None if not found.

Source code in src\py_canoe\canoe.py
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
def get_j1939_signal_full_name(self, bus: str, channel: int, message: str, signal: str, source_addr: int, dest_addr: int) -> Union[str, None]:
    """
    Gets the full name of a J1939 signal.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.
        source_addr (int): The source address.
        dest_addr (int): The destination address.

    Returns:
        Union[str, None]: The full name of the signal or None if not found.
    """
    return self.application.bus.get_j1939_signal_full_name(bus, channel, message, signal, source_addr, dest_addr)

get_j1939_signal_value(bus, channel, message, signal, source_addr, dest_addr, raw_value=False, return_timestamp=False)

Gets the value of a J1939 signal.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

  • source_addr (int) –

    The source address.

  • dest_addr (int) –

    The destination address.

  • raw_value (bool, default: False ) –

    Whether to get the raw value. Defaults to False.

  • return_timestamp (bool, default: False ) –

    Whether to return the timestamp in timezone utc along with the signal value. Defaults to False.

Returns:
  • Union[float, int, None, tuple]

    Union[float, int, None, tuple]: The signal value or None if not found. If return_timestamp is True, returns a tuple of (signal_value, timestamp).

Source code in src\py_canoe\canoe.py
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
def get_j1939_signal_value(self, bus: str, channel: int, message: str, signal: str, source_addr: int, dest_addr: int, raw_value=False, return_timestamp=False) -> Union[float, int, None, tuple]:
    """
    Gets the value of a J1939 signal.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.
        source_addr (int): The source address.
        dest_addr (int): The destination address.
        raw_value (bool): Whether to get the raw value. Defaults to False.
        return_timestamp (bool): Whether to return the timestamp in timezone utc along with the signal value. Defaults to False.

    Returns:
        Union[float, int, None, tuple]: The signal value or None if not found. If return_timestamp is True, returns a tuple of (signal_value, timestamp).
    """
    signal_value = self.application.bus.get_j1939_signal_value(bus, channel, message, signal, source_addr, dest_addr, raw_value)
    if return_timestamp:
        return signal_value, datetime.now(timezone.utc).timestamp()
    return signal_value

get_logging_blocks()

Return all available logging blocks.

Source code in src\py_canoe\canoe.py
627
628
629
def get_logging_blocks(self) -> list['Logging']:
    """Return all available logging blocks."""
    return self.application.configuration.get_logging_blocks()

get_measurement_index()

Gets the measurement index.

Returns:
  • int( int ) –

    The measurement index.

Source code in src\py_canoe\canoe.py
835
836
837
838
839
840
841
842
def get_measurement_index(self) -> int:
    """
    Gets the measurement index.

    Returns:
        int: The measurement index.
    """
    return self.application.measurement.measurement_index

get_measurement_running_status()

Gets the running status of the measurement.

Returns:
  • bool( bool ) –

    True if the measurement is running, False otherwise.

Source code in src\py_canoe\canoe.py
786
787
788
789
790
791
792
793
def get_measurement_running_status(self) -> bool:
    """
    Gets the running status of the measurement.

    Returns:
        bool: True if the measurement is running, False otherwise.
    """
    return self.application.measurement.running

get_messages(logger_index)

Return all messages from given logger.

Source code in src\py_canoe\canoe.py
662
663
664
def get_messages(self, logger_index: int) -> list['Message']:
    """Return all messages from given logger."""
    return self.application.configuration.get_messages(logger_index)

get_signal_full_name(bus, channel, message, signal)

Gets the full name of a signal.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

Returns:
  • Union[str, None]

    Union[str, None]: The full name of the signal or None if not found.

Source code in src\py_canoe\canoe.py
249
250
251
252
253
254
255
256
257
258
259
260
261
262
def get_signal_full_name(self, bus: str, channel: int, message: str, signal: str) -> Union[str, None]:
    """
    Gets the full name of a signal.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.

    Returns:
        Union[str, None]: The full name of the signal or None if not found.
    """
    return self.application.bus.get_signal_full_name(bus, channel, message, signal)

get_signal_value(bus, channel, message, signal, raw_value=False, return_timestamp=False)

Gets the value of a signal.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

  • raw_value (bool, default: False ) –

    Whether to get the raw value. Defaults to False.

  • return_timestamp (bool, default: False ) –

    Whether to return the timestamp in timezone utc along with the signal value. Defaults to False.

Returns:
  • Union[int, float, None, tuple]

    Union[int, float, None, tuple]: The signal value or None if not found. If return_timestamp is True, returns a tuple of (signal_value, timestamp).

Source code in src\py_canoe\canoe.py
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
def get_signal_value(self, bus: str, channel: int, message: str, signal: str, raw_value: bool = False, return_timestamp: bool = False) -> Union[int, float, None, tuple]:
    """
    Gets the value of a signal.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.
        raw_value (bool): Whether to get the raw value. Defaults to False.
        return_timestamp (bool): Whether to return the timestamp in timezone utc along with the signal value. Defaults to False.

    Returns:
        Union[int, float, None, tuple]: The signal value or None if not found. If return_timestamp is True, returns a tuple of (signal_value, timestamp).
    """
    signal_value = self.application.bus.get_signal_value(bus, channel, message, signal, raw_value)
    if return_timestamp:
        return signal_value, datetime.now(timezone.utc).timestamp()
    return signal_value

get_simulation_bus_names()

Returns all simulation bus names from the current application.

Source code in src\py_canoe\canoe.py
173
174
175
def get_simulation_bus_names(self) -> list[str]:
    """Returns all simulation bus names from the current application."""
    return self.application.bus.get_simulation_bus_names()

get_simulation_database_paths()

Returns all simulation database paths from the current application.

Source code in src\py_canoe\canoe.py
177
178
179
def get_simulation_database_paths(self) -> list[str]:
    """Returns all simulation database paths from the current application."""
    return self.application.bus.get_simulation_database_paths()

get_symbols(logger_index)

Return all exporter symbols from given logger.

Source code in src\py_canoe\canoe.py
658
659
660
def get_symbols(self, logger_index: int) -> list['ExporterSymbol']:
    """Return all exporter symbols from given logger."""
    return self.application.configuration.get_symbols(logger_index)

get_system_variable_value(sys_var_name, return_symbolic_name=False, return_timestamp=False, enable_events=True)

Gets the value of a system variable.

Parameters:
  • sys_var_name (str) –

    The name of the system variable.

  • return_symbolic_name (bool, default: False ) –

    Whether to return the symbolic name.

  • return_timestamp (bool, default: False ) –

    Whether to return the timestamp in timezone utc along with the signal value. Defaults to False.

  • enable_events (bool, default: True ) –

    Whether to enable COM events on the Variable object. Defaults to True.

Returns:
  • Union[int, float, str, None, tuple]

    Union[int, float, str, None, tuple]: The value of the system variable or None if not found. If return_timestamp is True, returns a tuple of (value, timestamp).

Source code in src\py_canoe\canoe.py
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
def get_system_variable_value(self, sys_var_name: str, return_symbolic_name: bool = False, return_timestamp: bool = False, enable_events: bool = True) -> Union[int, float, str, None, tuple]:
    """
    Gets the value of a system variable.

    Args:
        sys_var_name (str): The name of the system variable.
        return_symbolic_name (bool): Whether to return the symbolic name.
        return_timestamp (bool): Whether to return the timestamp in timezone utc along with the signal value. Defaults to False.
        enable_events (bool): Whether to enable COM events on the Variable object. Defaults to True.

    Returns:
        Union[int, float, str, None, tuple]: The value of the system variable or None if not found. If return_timestamp is True, returns a tuple of (value, timestamp).
    """
    variable_value = self.application.system.get_variable_value(sys_var_name, return_symbolic_name, enable_events)
    if return_timestamp:
        return variable_value, datetime.now(timezone.utc).timestamp()
    return variable_value

get_test_configurations()

returns dictionary of test configuration names and its class object.

Source code in src\py_canoe\canoe.py
499
500
501
def get_test_configurations(self) -> dict[str, 'TestConfiguration']:
    """returns dictionary of test configuration names and its class object."""
    return self.application.configuration.get_test_configurations()

get_test_environments()

returns dictionary of test environment names and class.

Source code in src\py_canoe\canoe.py
553
554
555
def get_test_environments(self) -> dict:
    """returns dictionary of test environment names and class."""
    return self.application.configuration.get_test_environments()

get_test_modules(env_name)

returns dictionary of test environment test module names and its class object.

Parameters:
  • env_name (str) –

    test environment name. avoid duplicate test environment names in CANoe configuration.

Source code in src\py_canoe\canoe.py
557
558
559
560
561
562
563
def get_test_modules(self, env_name: str) -> dict:
    """returns dictionary of test environment test module names and its class object.

    Args:
        env_name (str): test environment name. avoid duplicate test environment names in CANoe configuration.
    """
    return self.application.configuration.get_test_modules(env_name)

load_logs_for_exporter(logger_index)

Load all source files of exporter and determine symbols/messages.

Parameters:
  • logger_index (int) –

    indicates logger and its log files

Source code in src\py_canoe\canoe.py
650
651
652
653
654
655
656
def load_logs_for_exporter(self, logger_index: int) -> None:
    """Load all source files of exporter and determine symbols/messages.

    Args:
        logger_index (int): indicates logger and its log files
    """
    return self.application.configuration.load_logs_for_exporter(logger_index)

new(auto_save=False, prompt_user=False, timeout=5)

Creates a new configuration.

Parameters:
  • auto_save (bool, default: False ) –

    Whether to automatically save the configuration. Defaults to False.

  • prompt_user (bool, default: False ) –

    Whether to prompt the user for confirmation. Defaults to False.

  • timeout (int, default: 5 ) –

    The timeout in seconds for the operation. Defaults to 5.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
def new(self, auto_save=False, prompt_user=False, timeout=5) -> bool:
    """
    Creates a new configuration.

    Args:
        auto_save (bool): Whether to automatically save the configuration. Defaults to False.
        prompt_user (bool): Whether to prompt the user for confirmation. Defaults to False.
        timeout (int): The timeout in seconds for the operation. Defaults to 5.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    self._reset_application()
    self.application = Application()
    return self.application.new(auto_save, prompt_user, timeout)

open(canoe_cfg, visible=True, auto_save=True, prompt_user=False, auto_stop=True, timeout=30)

Loads a configuration.

Parameters:
  • canoe_cfg (str) –

    The path to the CANoe configuration file.

  • visible (bool, default: True ) –

    Whether to make the CANoe application visible. Defaults to True.

  • auto_save (bool, default: True ) –

    Whether to automatically save the configuration. Defaults to True.

  • prompt_user (bool, default: False ) –

    Whether to prompt the user for confirmation. Defaults to False.

  • auto_stop (bool, default: True ) –

    This argument is deprecated and will be removed in a future version.

  • timeout (int, default: 30 ) –

    The timeout in seconds for the operation. Defaults to 30.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
def open(self, canoe_cfg: str | Path, visible: bool = True, auto_save: bool = True, prompt_user: bool = False, auto_stop: bool = True, timeout: int = 30) -> bool:
    """
    Loads a configuration.

    Args:
        canoe_cfg (str): The path to the CANoe configuration file.
        visible (bool): Whether to make the CANoe application visible. Defaults to True.
        auto_save (bool): Whether to automatically save the configuration. Defaults to True.
        prompt_user (bool): Whether to prompt the user for confirmation. Defaults to False.
        auto_stop (bool): This argument is deprecated and will be removed in a future version.
        timeout (int): The timeout in seconds for the operation. Defaults to 30.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    self._reset_application()
    self.application = Application()
    self.application.user_capl_functions = self.user_capl_functions
    return self.application.open(canoe_cfg, visible, auto_save, prompt_user, timeout)

profile_signal_value(bus, channel, message, signal, duration=1.0, interval=0.0, raw_value=False, max_samples=None, include_samples=False, include_timestamps=False)

Profiles a signal by sampling it repeatedly and returning basic stats.

This is useful for quickly observing signal stability, typical value range, and timing characteristics without storing all the samples in memory.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

  • duration (float, default: 1.0 ) –

    How long to sample the signal (seconds). Defaults to 1.0.

  • interval (float, default: 0.0 ) –

    Minimum time to wait between samples (seconds). Defaults to 0.0.

  • raw_value (bool, default: False ) –

    Whether to query the raw value. Defaults to False.

  • max_samples (Optional[int], default: None ) –

    Stop after collecting this many samples. Defaults to None.

  • include_samples (bool, default: False ) –

    If True, return the list of sampled values.

  • include_timestamps (bool, default: False ) –

    If True, return the list of timestamps for each sample.

Returns:
  • dict( dict ) –

    A dictionary with keys: - count: number of samples collected - duration: actual sampling duration (seconds) - min: minimum value (or None if no samples) - max: maximum value (or None if no samples) - mean: mean value (or None if no samples) - std: standard deviation (or None if fewer than 2 samples) - samples (optional): list of sampled values - timestamps (optional): list of timestamps in UTC seconds

Source code in src\py_canoe\canoe.py
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
def profile_signal_value(self, bus: str, channel: int, message: str, signal: str, duration: float = 1.0, interval: float = 0.0, raw_value: bool = False, max_samples: Optional[int] = None, include_samples: bool = False, include_timestamps: bool = False,) -> dict:
    """Profiles a signal by sampling it repeatedly and returning basic stats.

    This is useful for quickly observing signal stability, typical value range,
    and timing characteristics without storing all the samples in memory.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.
        duration (float): How long to sample the signal (seconds). Defaults to 1.0.
        interval (float): Minimum time to wait between samples (seconds). Defaults to 0.0.
        raw_value (bool): Whether to query the raw value. Defaults to False.
        max_samples (Optional[int]): Stop after collecting this many samples. Defaults to None.
        include_samples (bool): If True, return the list of sampled values.
        include_timestamps (bool): If True, return the list of timestamps for each sample.

    Returns:
        dict: A dictionary with keys:
            - count: number of samples collected
            - duration: actual sampling duration (seconds)
            - min: minimum value (or None if no samples)
            - max: maximum value (or None if no samples)
            - mean: mean value (or None if no samples)
            - std: standard deviation (or None if fewer than 2 samples)
            - samples (optional): list of sampled values
            - timestamps (optional): list of timestamps in UTC seconds
    """
    return self.application.bus.profile_signal_value(bus, channel, message, signal, duration, interval, raw_value, max_samples, include_samples, include_timestamps)

quit(timeout=30)

Quits the application.

Parameters:
  • timeout (int, default: 30 ) –

    The timeout in seconds for the operation. Defaults to 30.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
117
118
119
120
121
122
123
124
125
126
127
128
129
def quit(self, timeout: int = 30) -> bool:
    """
    Quits the application.

    Args:
        timeout (int): The timeout in seconds for the operation. Defaults to 30.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    status = self.application.quit(timeout)
    self._reset_application()
    return status

read_text_from_write_window()

Reads text from the write window.

Returns:
  • Union[str, None]

    Union[str, None]: The text from the write window or None if not found.

Source code in src\py_canoe\canoe.py
992
993
994
995
996
997
998
999
def read_text_from_write_window(self) -> Union[str, None]:
    """
    Reads text from the write window.

    Returns:
        Union[str, None]: The text from the write window or None if not found.
    """
    return self.application.ui.write.text

remove_database(database_file, database_channel)

remove database file from a channel

Parameters:
  • database_file (str) –

    database file to remove. give full file path.

  • database_channel (int) –

    channel name on which you want to remove database.

Source code in src\py_canoe\canoe.py
618
619
620
621
622
623
624
625
def remove_database(self, database_file: str, database_channel: int) -> bool:
    """remove database file from a channel

    Args:
        database_file (str): database file to remove. give full file path.
        database_channel (int): channel name on which you want to remove database.
    """
    return self.application.configuration.remove_database(database_file, database_channel)

remove_logging_block(index)

removes a logging block from configuration measurement setup.

Parameters:
  • index (int) –

    index of logging block to remove. logging blocks indexing starts from 1 and not 0.

Source code in src\py_canoe\canoe.py
642
643
644
645
646
647
648
def remove_logging_block(self, index: int) -> None:
    """removes a logging block from configuration measurement setup.

    Args:
        index (int): index of logging block to remove. logging blocks indexing starts from 1 and not 0.
    """
    return self.application.configuration.remove_logging_block(index)

reset_measurement(timeout=30)

Restarts the measurement if running.

Parameters:
  • timeout (int, default: 30 ) –

    The timeout in seconds for the operation. Defaults to 30.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
def reset_measurement(self, timeout=30) -> bool:
    """
    Restarts the measurement if running.

    Args:
        timeout (int): The timeout in seconds for the operation. Defaults to 30.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    if self.application.measurement.running:
        stop_status = self.stop_measurement(timeout)
        start_status = self.start_measurement(timeout)
        return stop_status and start_status
    else:
        logger.warning("Measurement is not running, cannot reset.")
        return False

reset_measurement_in_offline_mode()

Resets the measurement in offline mode.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
817
818
819
820
821
822
823
824
def reset_measurement_in_offline_mode(self) -> bool:
    """
    Resets the measurement in offline mode.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.measurement.reset_measurement_in_offline_mode()

run_capl_compilation()

Runs compilation for the current configuration.

Source code in src\py_canoe\canoe.py
507
508
509
def run_capl_compilation(self) -> bool:
    """Runs compilation for the current configuration."""
    return self.application.configuration.run_compilation()

save_configuration()

Saves the current configuration.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
411
412
413
414
415
416
417
418
def save_configuration(self) -> bool:
    """
    Saves the current configuration.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.save()

save_configuration_as(path, major, minor, prompt_user=False, create_dir=True)

Saves the current configuration as a new file.

Parameters:
  • path (str) –

    The path to save the configuration file.

  • major (int) –

    The major version number.

  • minor (int) –

    The minor version number.

  • prompt_user (bool, default: False ) –

    Whether to prompt the user for confirmation. Defaults to False.

  • create_dir (bool, default: True ) –

    Whether to create the directory if it doesn't exist. Defaults to True.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
def save_configuration_as(self, path: str, major: int, minor: int, prompt_user: bool = False, create_dir: bool = True) -> bool:
    """
    Saves the current configuration as a new file.

    Args:
        path (str): The path to save the configuration file.
        major (int): The major version number.
        minor (int): The minor version number.
        prompt_user (bool): Whether to prompt the user for confirmation. Defaults to False.
        create_dir (bool): Whether to create the directory if it doesn't exist. Defaults to True.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.save_as(path, major, minor, prompt_user, create_dir)

send_diag_request(diag_ecu_qualifier_name, request, request_in_bytes=True, return_sender_name=False, response_in_bytearray=False, timeout=30, poll_s=0.01, **kwargs)

Sends a diagnostic request.

Parameters:
  • diag_ecu_qualifier_name (str) –

    The diagnostic ECU qualifier name.

  • request (str) –

    The diagnostic request.

  • request_in_bytes (bool, default: True ) –

    Whether the request is in bytes.

  • return_sender_name (bool, default: False ) –

    Whether to return the sender name.

  • response_in_bytearray (bool, default: False ) –

    Whether to return the response in bytearray.

  • timeout (float, default: 30 ) –

    The timeout in seconds for the operation. Defaults to 30.

  • poll_s (float, default: 0.01 ) –

    The polling interval in seconds to check for the response. Defaults to 0.01.

  • **kwargs (str | int, default: {} ) –

    Key-value pairs used for parametrization of a non-bytes request. Accepts symbolic interpretation of parameter value.

Returns: Union[str, dict]: The response from the diagnostic request.

Example

self.send_diag_request("ECU", "WritePropulsionType", False, PropulsionType="BatteryElectric")

Source code in src\py_canoe\canoe.py
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
def send_diag_request(self, diag_ecu_qualifier_name: str, request: str, request_in_bytes=True, return_sender_name=False, response_in_bytearray=False, timeout: float = 30, poll_s: float = 0.01, **kwargs) -> Union[str, dict]:
    """
    Sends a diagnostic request.

    Args:
        diag_ecu_qualifier_name (str): The diagnostic ECU qualifier name.
        request (str): The diagnostic request.
        request_in_bytes (bool): Whether the request is in bytes.
        return_sender_name (bool): Whether to return the sender name.
        response_in_bytearray (bool): Whether to return the response in bytearray.
        timeout (float): The timeout in seconds for the operation. Defaults to 30.
        poll_s (float): The polling interval in seconds to check for the response. Defaults to 0.01.
        **kwargs (str | int): Key-value pairs used for parametrization of a non-bytes
            request. Accepts symbolic interpretation of parameter value.
    Returns:
        Union[str, dict]: The response from the diagnostic request.

    Example:
        >>> self.send_diag_request("ECU", "WritePropulsionType", False, PropulsionType="BatteryElectric")
    """
    return self.application.networks.send_diag_request(diag_ecu_qualifier_name, request, request_in_bytes, return_sender_name, response_in_bytearray, timeout, poll_s, **kwargs)

set_configuration_modified(modified)

Change status of configuration.

Parameters:
  • modified (bool) –

    True if configuration is modified, False otherwise.

Source code in src\py_canoe\canoe.py
695
696
697
698
699
700
701
def set_configuration_modified(self, modified: bool) -> None:
    """Change status of configuration.

    Args:
        modified (bool): True if configuration is modified, False otherwise.
    """
    return self.application.configuration.set_configuration_modified(modified)

set_environment_variable_value(env_var_name, value)

Sets the value of an environment variable.

Parameters:
  • env_var_name (str) –

    The name of the environment variable. Ex- "speed".

  • value (Union[int, float, str, tuple]) –

    variable value. supported CAPL environment variable data types integer, double, string and data.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
719
720
721
722
723
724
725
726
727
728
729
730
def set_environment_variable_value(self, env_var_name: str, value: Union[int, float, str, tuple]) -> bool:
    """
    Sets the value of an environment variable.

    Args:
        env_var_name (str): The name of the environment variable. Ex- "speed".
        value (Union[int, float, str, tuple]): variable value. supported CAPL environment variable data types integer, double, string and data.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.environment.set_environment_variable_value(env_var_name, value)

set_j1939_signal_value(bus, channel, message, signal, source_addr, dest_addr, value, raw_value=False)

Sets the value of a J1939 signal.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

  • source_addr (int) –

    The source address.

  • dest_addr (int) –

    The destination address.

  • value (Union[float, int]) –

    The value to set.

  • raw_value (bool, default: False ) –

    Whether to set the raw value. Defaults to False.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
def set_j1939_signal_value(self, bus: str, channel: int, message: str, signal: str, source_addr: int, dest_addr: int, value: Union[float, int], raw_value: bool = False) -> bool:
    """
    Sets the value of a J1939 signal.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.
        source_addr (int): The source address.
        dest_addr (int): The destination address.
        value (Union[float, int]): The value to set.
        raw_value (bool): Whether to set the raw value. Defaults to False.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.bus.set_j1939_signal_value(bus, channel, message, signal, source_addr, dest_addr, value, raw_value)

set_measurement_index(index)

Sets the measurement index.

Parameters:
  • index (int) –

    The measurement index to set.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
844
845
846
847
848
849
850
851
852
853
854
855
def set_measurement_index(self, index: int) -> bool:
    """
    Sets the measurement index.

    Args:
        index (int): The measurement index to set.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    self.application.measurement.measurement_index = index
    return True

set_replay_block_file(block_name, recording_file_path)

Sets the replay block file.

Parameters:
  • block_name (str) –

    The name of the replay block.

  • recording_file_path (str) –

    The path to the recording file.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
460
461
462
463
464
465
466
467
468
469
470
471
def set_replay_block_file(self, block_name: str, recording_file_path: str) -> bool:
    """
    Sets the replay block file.

    Args:
        block_name (str): The name of the replay block.
        recording_file_path (str): The path to the recording file.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.set_replay_block_file(block_name, recording_file_path)

set_signal_value(bus, channel, message, signal, value, raw_value=False)

Sets the value of a signal.

Parameters:
  • bus (str) –

    The bus name.

  • channel (int) –

    The channel number.

  • message (str) –

    The message name.

  • signal (str) –

    The signal name.

  • value (Union[int, float]) –

    The value to set.

  • raw_value (bool, default: False ) –

    Whether to set the raw value. Defaults to False.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
def set_signal_value(self, bus: str, channel: int, message: str, signal: str, value: Union[int, float], raw_value: bool = False) -> bool:
    """
    Sets the value of a signal.

    Args:
        bus (str): The bus name.
        channel (int): The channel number.
        message (str): The message name.
        signal (str): The signal name.
        value (Union[int, float]): The value to set.
        raw_value (bool): Whether to set the raw value. Defaults to False.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.bus.set_signal_value(bus, channel, message, signal, value, raw_value)

set_system_variable_array_values(sys_var_name, value, index=0)

Sets the values of a system variable array.

Parameters:
  • sys_var_name (str) –

    The name of the system variable.

  • value (tuple) –

    The values to set.

  • index (int, default: 0 ) –

    The index to set the values at.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
945
946
947
948
949
950
951
952
953
954
955
956
957
def set_system_variable_array_values(self, sys_var_name: str, value: tuple, index: int = 0) -> bool:
    """
    Sets the values of a system variable array.

    Args:
        sys_var_name (str): The name of the system variable.
        value (tuple): The values to set.
        index (int): The index to set the values at.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.system.set_variable_array_values(sys_var_name, value, index)

set_system_variable_value(sys_var_name, value)

Sets the value of a system variable.

Parameters:
  • sys_var_name (str) –

    The name of the system variable.

  • value (Union[int, float, str]) –

    The value to set.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
932
933
934
935
936
937
938
939
940
941
942
943
def set_system_variable_value(self, sys_var_name: str, value: Union[int, float, str]) -> bool:
    """
    Sets the value of a system variable.

    Args:
        sys_var_name (str): The name of the system variable.
        value (Union[int, float, str]): The value to set.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.system.set_variable_value(sys_var_name, value)

start_export(logger_index)

Starts the export/conversion of exporter.

Parameters:
  • logger_index (int) –

    indicates logger

Source code in src\py_canoe\canoe.py
675
676
677
678
679
680
681
def start_export(self, logger_index: int):
    """Starts the export/conversion of exporter.

    Args:
        logger_index (int): indicates logger
    """
    return self.application.configuration.start_export(logger_index)

start_measurement(timeout=30)

Starts the measurement.

Parameters:
  • timeout (int, default: 30 ) –

    The timeout in seconds for the operation. Defaults to 30.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
732
733
734
735
736
737
738
739
740
741
742
def start_measurement(self, timeout: int = 30) -> bool:
    """
    Starts the measurement.

    Args:
        timeout (int): The timeout in seconds for the operation. Defaults to 30.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.measurement.start(timeout)

start_measurement_in_animation_mode(animation_delay=100, timeout=30)

Starts the measurement in animation mode.

Parameters:
  • animation_delay (int, default: 100 ) –

    The delay in milliseconds for the animation. Defaults to 100.

  • timeout (int, default: 30 ) –

    The timeout in seconds for the operation. Defaults to 30.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
795
796
797
798
799
800
801
802
803
804
805
806
def start_measurement_in_animation_mode(self, animation_delay=100, timeout=30) -> bool:
    """
    Starts the measurement in animation mode.

    Args:
        animation_delay (int): The delay in milliseconds for the animation. Defaults to 100.
        timeout (int): The timeout in seconds for the operation. Defaults to 30.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.measurement.start_measurement_in_animation_mode(animation_delay, timeout)

start_stop_online_logging_block(full_name, start_stop)

start / stop online measurement setup logging block.

Parameters:
  • full_name (str) –

    full path to log file as "C:/file.asc"

  • start_stop (bool) –

    True to start and False to stop.

Returns:
  • bool( bool ) –

    returns true is successfull else false.

Source code in src\py_canoe\canoe.py
683
684
685
686
687
688
689
690
691
692
693
def start_stop_online_logging_block(self, full_name: str, start_stop: bool) -> bool:
    """start / stop online measurement setup logging block.

    Args:
        full_name (str): full path to log file as "C:/file.asc"
        start_stop (bool): True to start and False to stop.

    Returns:
        bool: returns true is successfull else false.
    """
    return self.application.configuration.start_stop_online_logging_block(full_name, start_stop)

step_measurement_event_in_single_step()

Steps the measurement event in single step mode.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
826
827
828
829
830
831
832
833
def step_measurement_event_in_single_step(self) -> bool:
    """
    Steps the measurement event in single step mode.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.measurement.process_measurement_event_in_single_step()

stop_all_test_configurations()

stops execution of all test configurations available in test setup.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
522
523
524
525
526
527
528
def stop_all_test_configurations(self) -> bool:
    """stops execution of all test configurations available in test setup.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.stop_all_test_configurations()

stop_all_test_environments()

stops execution of all test environments available in test setup.

Source code in src\py_canoe\canoe.py
604
605
606
def stop_all_test_environments(self):
    """stops execution of all test environments available in test setup."""
    return self.application.configuration.stop_all_test_environments()

stop_all_test_modules_in_test_env(env_name)

stops execution of all test modules available in test environment.

Parameters:
  • env_name (str) –

    test environment name. avoid duplicate test environment names in CANoe configuration.

Source code in src\py_canoe\canoe.py
592
593
594
595
596
597
598
def stop_all_test_modules_in_test_env(self, env_name: str):
    """stops execution of all test modules available in test environment.

    Args:
        env_name (str): test environment name. avoid duplicate test environment names in CANoe configuration.
    """
    return self.application.configuration.stop_all_test_modules_in_test_env(env_name)

stop_ex_measurement(timeout=30)

Stops the measurement.

Parameters:
  • timeout (int, default: 30 ) –

    The timeout in seconds for the operation. Defaults to 30.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
756
757
758
759
760
761
762
763
764
765
766
def stop_ex_measurement(self, timeout=30) -> bool:
    """
    Stops the measurement.

    Args:
        timeout (int): The timeout in seconds for the operation. Defaults to 30.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.measurement.stop_ex(timeout)

stop_measurement(timeout=30)

Stops the measurement.

Parameters:
  • timeout (int, default: 30 ) –

    The timeout in seconds for the operation. Defaults to 30.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
744
745
746
747
748
749
750
751
752
753
754
def stop_measurement(self, timeout: int = 30) -> bool:
    """
    Stops the measurement.

    Args:
        timeout (int): The timeout in seconds for the operation. Defaults to 30.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.measurement.stop(timeout)

stop_test_configuration(test_configuration_name)

stops execution of a specific test configuration.

Parameters:
  • test_configuration_name (str) –

    The name of the test configuration to stop.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
542
543
544
545
546
547
548
549
550
551
def stop_test_configuration(self, test_configuration_name: str) -> bool:
    """stops execution of a specific test configuration.

    Args:
        test_configuration_name (str): The name of the test configuration to stop.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.configuration.stop_test_configuration(test_configuration_name)

stop_test_module(test_module_name)

stops execution of test module.

Parameters:
  • test_module_name (str) –

    test module name. avoid duplicate test module names in CANoe configuration.

Source code in src\py_canoe\canoe.py
576
577
578
579
580
581
582
def stop_test_module(self, test_module_name: str):
    """stops execution of test module.

    Args:
        test_module_name (str): test module name. avoid duplicate test module names in CANoe configuration.
    """
    return self.application.configuration.stop_test_module(test_module_name)

ui_activate_desktop(name)

Activates a desktop by name.

Parameters:
  • name (str) –

    The name of the desktop to activate.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
959
960
961
962
963
964
965
966
967
968
969
def ui_activate_desktop(self, name: str) -> bool:
    """
    Activates a desktop by name.

    Args:
        name (str): The name of the desktop to activate.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.ui.activate_desktop(name)

ui_open_baudrate_dialog()

Opens the baudrate dialog.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
971
972
973
974
975
976
977
978
def ui_open_baudrate_dialog(self) -> bool:
    """
    Opens the baudrate dialog.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.ui.open_baudrate_dialog()

write_text_in_write_window(text)

Writes text in the write window.

Parameters:
  • text (str) –

    The text to write.

Returns:
  • bool( bool ) –

    True if the operation was successful, False otherwise.

Source code in src\py_canoe\canoe.py
980
981
982
983
984
985
986
987
988
989
990
def write_text_in_write_window(self, text: str) -> bool:
    """
    Writes text in the write window.

    Args:
        text (str): The text to write.

    Returns:
        bool: True if the operation was successful, False otherwise.
    """
    return self.application.ui.write.output(text)