Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

106 lines
3.9 KiB

# 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 || DT_HAS_ZEPHYR_NATIVE_POSIX_UART_ENABLED)
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_ASYNC
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.
config UART_NATIVE_POSIX
bool "UART driver for native_sim (deprecated)"
select SERIAL_HAS_DRIVER
select DEPRECATED
select UART_NATIVE_PTY
help
Deprecated option, use UART_NATIVE_PTY instead
if (UART_NATIVE_PTY || UART_NATIVE_POSIX)
choice UART_NATIVE_PTY_0
prompt "Native PTY Port 0 connection"
default UART_NATIVE_PTY_0_ON_STDINOUT if NATIVE_UART_0_ON_STDINOUT
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
choice NATIVE_UART_0
prompt "Native UART Port 0 connection (deprecated)"
default NATIVE_UART_0_ON_OWN_PTY
config NATIVE_UART_0_ON_OWN_PTY
bool "Connect the UART to its own pseudo terminal (deprecated)"
help
Deprecated, use UART_NATIVE_PTY_0_ON_OWN_PTY instead.
config NATIVE_UART_0_ON_STDINOUT
bool "Connect the UART to the invoking shell stdin/stdout (deprecated)"
select DEPRECATED
help
Deprecated, use UART_NATIVE_PTY_0_ON_STDINOUT instead.
endchoice
config UART_NATIVE_WAIT_PTS_READY_ENABLE
bool "Support waiting for pseudo terminal client readiness (deprecated)"
select DEPRECATED
help
This option is deprecated and does not do anything anymore. (The command line
option --wait_uart is always available).
config UART_NATIVE_POSIX_PORT_1_ENABLE
bool "Second UART port (deprecated)"
select DEPRECATED
help
This option does not do anything anymore. Use DTS to instantiate as many
"zephyr,native-pty-uart" compatible nodes as you want.
config UART_NATIVE_PTY_AUTOATTACH_DEFAULT_CMD
string "Default command to attach a PTY UART to a new terminal"
default NATIVE_UART_AUTOATTACH_DEFAULT_CMD
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 NATIVE_UART_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'
config NATIVE_UART_AUTOATTACH_DEFAULT_CMD
string "Default command to attach the UART to a new terminal (deprecated)"
default "xterm -e screen %s &"
help
Deprecated. Use UART_NATIVE_PTY_AUTOATTACH_DEFAULT_CMD instead
endif # UART_NATIVE_PTY || UART_NATIVE_POSIX