# Copyright (c) 2025, Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 config UART_NATIVE_PTY bool "PTY based UART driver for native_sim" default y depends on DT_HAS_ZEPHYR_NATIVE_PTY_UART_ENABLED select SERIAL_HAS_DRIVER select SERIAL_SUPPORT_ASYNC select SERIAL_SUPPORT_INTERRUPT help This enables a PTY based UART driver for the POSIX ARCH with up to 2 UARTs. For the first UART port, the driver can be configured to either connect to the terminal from which the executable was run, or into one dedicated pseudoterminal for that UART. if UART_NATIVE_PTY choice UART_NATIVE_PTY_0 prompt "Native PTY Port 0 connection" default UART_NATIVE_PTY_0_ON_OWN_PTY config UART_NATIVE_PTY_0_ON_OWN_PTY bool "Connect the first PTY UART to its own pseudo terminal" help Connect this UART to its own pseudoterminal. This is the preferred option for users who want to use Zephyr's shell. Moreover this option does not conflict with any other native backend which may use the invoking shell standard input/output. Note it can be overridden from command line config UART_NATIVE_PTY_0_ON_STDINOUT bool "Connect the first PTY UART to the invoking shell stdin/stdout" help Connect this UART to the stdin & stdout of the calling shell/terminal which invoked the native executable. This is good enough for automated testing, or when feeding from a file/pipe. Note that other, non UART messages, will also be printed to the terminal. It is strongly discouraged to try to use this option with the new shell interactively, as the default terminal configuration is NOT appropriate for interactive use. endchoice config UART_NATIVE_PTY_AUTOATTACH_DEFAULT_CMD string "Default command to attach a PTY UART to a new terminal" default "xterm -e screen %s &" help If the native executable is called with the --attach_uart command line option, this will be the default command which will be run to attach a new terminal to the 1st UART. Note that this command must have one, and only one, '%s' as placeholder for the pseudoterminal device name (e.g. /dev/pts/35) This is only applicable if the UART_0 is configured to use its own PTY with UART_NATIVE_PTY_0_ON_OWN_PTY. The 2nd UART will not be affected by this option. If you are using GNOME, then you can use this command string 'gnome-terminal -- screen %s' endif # UART_NATIVE_PTY