Add support for transmitting using the asynchronous API. The asynchronous portion is simulated through the system workqueue. Signed-off-by: Jordan Yates <jordan@embeint.com>
107 lines
3.9 KiB
Plaintext
107 lines
3.9 KiB
Plaintext
# 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
|