mirror of
https://github.com/espressif/esp-protocols.git
synced 2025-07-15 19:42:09 +02:00
Add error path to all CMUX protocol potential issues, checks for consistency and add recovery.
49 lines
2.5 KiB
Plaintext
49 lines
2.5 KiB
Plaintext
menu "esp-modem"
|
|
|
|
config ESP_MODEM_CMUX_DEFRAGMENT_PAYLOAD
|
|
bool "Defragment CMUX messages internally"
|
|
default y
|
|
help
|
|
If enabled (default), the esp-modem automatically defragments CMUX messages
|
|
to only pass the completed CMUX message to higher layers.
|
|
This is useful for messages in command mode (if they're received fragmented).
|
|
It's not a problem for messages in data mode as the upper layer (PPP protocol)
|
|
defines message boundaries.
|
|
Keep the default to true for most cases (as most devices use simply 1 byte CMUX
|
|
length, as the internal Rx buffer of size >= 256 bytes won't overflow)
|
|
Set to false if your devices uses 2 byte CMUX payload (e.g. A7672S).
|
|
The operation would work without an issue in data mode, but some replies
|
|
in command mode might come fragmented in rare cases so might need to retry
|
|
AT commands.
|
|
|
|
config ESP_MODEM_USE_INFLATABLE_BUFFER_IF_NEEDED
|
|
bool "Use inflatable buffer in DCE"
|
|
default n
|
|
help
|
|
If enabled we will process the ongoing AT command by growing the current
|
|
buffer (if we've run out the preconfigured buffer).
|
|
If disabled, we simply report a failure.
|
|
Use this if additional allocation is not a problem and you need to reliably process
|
|
all commands, usually with sporadically longer responses than the configured buffer.
|
|
Could be also used to defragment AT replies in CMUX mode if CMUX_DEFRAGMENT_PAYLOAD=n
|
|
|
|
config ESP_MODEM_CMUX_DELAY_AFTER_DLCI_SETUP
|
|
int "Delay in ms to wait before creating another virtual terminal"
|
|
default 0
|
|
help
|
|
Some devices might need a pause before sending SABM command that creates
|
|
virtual terminal. This delay applies only to establishing a CMUX mode.
|
|
The typical reason for failing SABM request without a delay is that
|
|
some devices (SIM800) send MSC requests just after opening a new DLCI.
|
|
|
|
config ESP_MODEM_CMUX_USE_SHORT_PAYLOADS_ONLY
|
|
bool "CMUX to support only short payloads (<128 bytes)"
|
|
default n
|
|
help
|
|
If enabled, the CMUX protocol would only use 1 byte size field.
|
|
You can use this option for devices that support only short CMUX payloads
|
|
to make the protocol more robust on noisy environments or when underlying
|
|
transport gets corrupted often (for example by Rx buffer overflows)
|
|
|
|
endmenu
|