diff --git a/components/esp_modem/examples/modem_console/main/Kconfig.projbuild b/components/esp_modem/examples/modem_console/main/Kconfig.projbuild index ff88b8014..6f5e17a39 100644 --- a/components/esp_modem/examples/modem_console/main/Kconfig.projbuild +++ b/components/esp_modem/examples/modem_console/main/Kconfig.projbuild @@ -101,6 +101,20 @@ menu "Example Configuration" help Pin to unlock the SIM + choice EXAMPLE_FLOW_CONTROL + bool "Set preferred modem control flow" + default EXAMPLE_FLOW_CONTROL_NONE + help + Set the modem's preferred control flow + + config EXAMPLE_FLOW_CONTROL_NONE + bool "No control flow" + config EXAMPLE_FLOW_CONTROL_SW + bool "SW control flow" + config EXAMPLE_FLOW_CONTROL_HW + bool "HW control flow" + endchoice + menu "UART Configuration" config EXAMPLE_MODEM_UART_TX_PIN int "TXD Pin Number" diff --git a/components/esp_modem/examples/modem_console/main/modem_console_main.cpp b/components/esp_modem/examples/modem_console/main/modem_console_main.cpp index 5415f6125..1d976b963 100644 --- a/components/esp_modem/examples/modem_console/main/modem_console_main.cpp +++ b/components/esp_modem/examples/modem_console/main/modem_console_main.cpp @@ -26,6 +26,14 @@ #include "console_helper.hpp" #include "my_module_dce.hpp" +#if defined(CONFIG_EXAMPLE_FLOW_CONTROL_NONE) +#define EXAMPLE_FLOW_CONTROL ESP_MODEM_FLOW_CONTROL_NONE +#elif defined(CONFIG_EXAMPLE_FLOW_CONTROL_SW) +#define EXAMPLE_FLOW_CONTROL ESP_MODEM_FLOW_CONTROL_SW +#elif defined(CONFIG_EXAMPLE_FLOW_CONTROL_HW) +#define EXAMPLE_FLOW_CONTROL ESP_MODEM_FLOW_CONTROL_HW +#endif + #define CHECK_ERR(cmd, success_action) do { \ auto err = cmd; \ if (err == command_result::OK) { \ @@ -69,7 +77,7 @@ extern "C" void app_main(void) dte_config.uart_config.rx_io_num = CONFIG_EXAMPLE_MODEM_UART_RX_PIN; dte_config.uart_config.rts_io_num = CONFIG_EXAMPLE_MODEM_UART_RTS_PIN; dte_config.uart_config.cts_io_num = CONFIG_EXAMPLE_MODEM_UART_CTS_PIN; - dte_config.uart_config.flow_control = ESP_MODEM_FLOW_CONTROL_HW; + dte_config.uart_config.flow_control = EXAMPLE_FLOW_CONTROL; dte_config.uart_config.rx_buffer_size = CONFIG_EXAMPLE_MODEM_UART_RX_BUFFER_SIZE; dte_config.uart_config.tx_buffer_size = CONFIG_EXAMPLE_MODEM_UART_TX_BUFFER_SIZE; dte_config.uart_config.event_queue_size = CONFIG_EXAMPLE_MODEM_UART_EVENT_QUEUE_SIZE;