blob: b837ef22ed9357b1593ea581644fcdaf264573a1 [file] [log] [blame]
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
menuconfig SYSTEM_ZMODEM
tristate "Zmodem Commands"
default n
---help---
This selection enables the 'sz' and 'rz' NSH commands.
NOTE: Hardware flow control is required on the selected device in
order to throttle the rates of data transfer to fit within the
allocated buffers. This cannot be checked here in the configuration
because the device that you use may be selected at runtime.
if SYSTEM_ZMODEM
config SYSTEM_ZMODEM_PRIORITY
int "rz/sz task priority"
default 100
config SYSTEM_ZMODEM_STACKSIZE
int "rz/ez stack size"
default DEFAULT_TASK_STACKSIZE
config SYSTEM_ZMODEM_DEVNAME
string "Default Zmodem device"
default "/dev/console"
---help---
The default device used by the Zmodem commands if the -d option is
not provided on the sz or rz command line. Default: "/dev/console".
NOTE: This device *MUST* support Hardware flow control in order to
throttle the rates of data transfer to fit within the allocated buffers.
config SYSTEM_ZMODEM_RCVBUFSIZE
int "Receive buffer size"
default 512
---help---
The size of one buffer used to read data from the remote peer. The
total buffering capability is SYSTEM_ZMODEM_RCVBUFSIZE plus the size
of the RX buffer in the device driver. If you are using a serial
driver with, say, USART0. That that buffering capability includes
USART0_RXBUFFERSIZE. This total buffering capability must be
significantly larger than SYSTEM_ZMODEM_PKTBUFSIZE (larger due
streaming race conditions, data expansion due to escaping, and
possible protocol overhead).
config SYSTEM_ZMODEM_PKTBUFSIZE
int "Maximum packet size"
default 512
---help---
Data may be received in gulps of varying size and alignment.
Received packets data is properly unescaped, aligned and packed
into a packet buffer of this size.
config SYSTEM_ZMODEM_SNDBUFSIZE
int "Send buffer size"
default 512
---help---
The size of one transmit buffer used for composing messages sent to
the remote peer.
config SYSTEM_ZMODEM_SNDFILEBUF
bool "Use cache buffer for file send"
default n
---help---
Read multiple bytes of file at once and store into a temporal buffer
which size is the same as SYSTEM_ZMODEM_SNDBUFSIZE. This is option
to improve the performance of file send, especially when the single
read of file is very slow.
config SYSTEM_ZMODEM_MOUNTPOINT
string "Zmodem sandbox"
default "/tmp"
---help---
Absolute paths in received file names are not accepted. This
configuration value must be set to provide the path to the file
storage directory (such as a mountpoint directory).
Names of file send by the sz command, on the other hand, must be
absolute paths beginning with '/'.
config SYSTEM_ZMODEM_FLOWC
bool
default n
config SYSTEM_ZMODEM_IFLOW
bool "Rx flow control"
default n
select SYSTEM_ZMODEM_FLOWC
depends on SERIAL_TERMIOS
---help---
Enable H/W CTS flow control.
config SYSTEM_ZMODEM_OFLOW
bool "Tx flow control"
default n
select SYSTEM_ZMODEM_FLOWC
depends on SERIAL_TERMIOS
---help---
Enable H/W RTS flow control.
config SYSTEM_ZMODEM_RCVSAMPLE
bool "Reverse channel"
default n
---help---
Local sender can sample reverse channel while sending. This means
in particular, that Zmodem can detect if data is received from the
remote receiver while streaming a file to the remote receiver.
Support for such asynchronous incoming data notification is needed to
support interruption of the file transfer by the remote receiver.
This capapability is not yet supported. There are only incomplete
hooks in the code now! Enable only if you want to see the warning.
config SYSTEM_ZMODEM_SENDATTN
bool "Attn interrupt"
default n
---help---
Local sender retains an attention string that will be sent to the remote receiver
This capapability is not yet supported. There are only incomplete
hooks in the code now! Enable only if you want to see the warning.
config SYSTEM_ZMODEM_ALWAYSSINT
bool "Send ZSINIT"
default y
---help---
Always send ZSINIT header
config SYSTEM_ZMODEM_TIMESTAMPS
bool "File timestamps"
default y
depends on RTC
---help---
File timestamps may be supported
config SYSTEM_ZMODEM_SENDATTN
bool "Send Attn string"
default n
---help---
Send attention string not yet supported
config SYSTEM_ZMODEM_SENDBRAK
bool "Can break"
default n
---help---
Can not yet send BREAK
config SYSTEM_ZMODEM_RESPTIME
int "Response time"
default 10
---help---
Response time for remote peer to respond to requests.
config SYSTEM_ZMODEM_CONNTIME
int "Rz startup time"
default 30
---help---
When rz starts, it must wait a for the remote end to start the file
transfer. This may take longer than the normal response time. This
value may be set to tune that longer timeout value.
config SYSTEM_ZMODEM_SERIALNO
int "Serial number"
default 0
---help---
Receiver serial number
config SYSTEM_ZMODEM_MAXERRORS
int "Max error"
default 20
---help---
Max receive errors before canceling the transfer.
config SYSTEM_ZMODEM_WRITESIZE
int "Write size limit"
default 0
---help---
Some MMC/SD drivers may fail if large transfers are attempted.
As a bug workaround, you can set the maximum write size with
this configuration. The default value of 0 means no write limit.
config DEBUG_ZMODEM
bool "Zmodem debug"
default n
---help---
Enable Zmodem debug output. This debug is unrelated to the internal
NuttX debug option; it does not use the SYSLOG channel but, instead,
outputs debug information on stderr. Obviously, enabling this
option will likely cause you all kinds of problems if you intend to
use /dev/console to transfer files!
config SYSTEM_ZMODEM_DUMPBUFFER
bool "Dump buffers"
default n
depends on DEBUG_ZMODEM
---help---
Dump the contents of all incoming and outgoing buffers that are
exchanged with the remote peer.
endif