Merge branch 'feature/vfs_uart_set_line_ending_v3.3' into 'release/v3.3'
feature: support vfs uart set line endings with specified uart number release/v3.3 See merge request espressif/esp-idf!9595
This commit is contained in:
commit
a3ef2bbe33
19 changed files with 102 additions and 41 deletions
|
@ -68,6 +68,44 @@ void esp_vfs_dev_uart_set_rx_line_endings(esp_line_endings_t mode);
|
||||||
*/
|
*/
|
||||||
void esp_vfs_dev_uart_set_tx_line_endings(esp_line_endings_t mode);
|
void esp_vfs_dev_uart_set_tx_line_endings(esp_line_endings_t mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set the line endings expected to be received on specified UART
|
||||||
|
*
|
||||||
|
* This specifies the conversion between line endings received on UART and
|
||||||
|
* newlines ('\n', LF) passed into stdin:
|
||||||
|
*
|
||||||
|
* - ESP_LINE_ENDINGS_CRLF: convert CRLF to LF
|
||||||
|
* - ESP_LINE_ENDINGS_CR: convert CR to LF
|
||||||
|
* - ESP_LINE_ENDINGS_LF: no modification
|
||||||
|
*
|
||||||
|
* @note this function is not thread safe w.r.t. reading from UART
|
||||||
|
*
|
||||||
|
* @param uart_num the UART number
|
||||||
|
* @param mode line endings to send to UART
|
||||||
|
* @return 0 if successed, or -1
|
||||||
|
* when an error (specified by errno) have occurred.
|
||||||
|
*/
|
||||||
|
int esp_vfs_dev_uart_port_set_rx_line_endings(int uart_num, esp_line_endings_t mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set the line endings to sent to specified UART
|
||||||
|
*
|
||||||
|
* This specifies the conversion between newlines ('\n', LF) on stdout and line
|
||||||
|
* endings sent over UART:
|
||||||
|
*
|
||||||
|
* - ESP_LINE_ENDINGS_CRLF: convert LF to CRLF
|
||||||
|
* - ESP_LINE_ENDINGS_CR: convert LF to CR
|
||||||
|
* - ESP_LINE_ENDINGS_LF: no modification
|
||||||
|
*
|
||||||
|
* @note this function is not thread safe w.r.t. writing to UART
|
||||||
|
*
|
||||||
|
* @param uart_num the UART number
|
||||||
|
* @param mode line endings to send to UART
|
||||||
|
* @return 0 if successed, or -1
|
||||||
|
* when an error (specified by errno) have occurred.
|
||||||
|
*/
|
||||||
|
int esp_vfs_dev_uart_port_set_tx_line_endings(int uart_num, esp_line_endings_t mode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief set VFS to use simple functions for reading and writing UART
|
* @brief set VFS to use simple functions for reading and writing UART
|
||||||
* Read is non-blocking, write is busy waiting until TX FIFO has enough space.
|
* Read is non-blocking, write is busy waiting until TX FIFO has enough space.
|
||||||
|
|
|
@ -77,8 +77,8 @@ TEST_CASE("can read from stdin", "[vfs]")
|
||||||
|
|
||||||
TEST_CASE("CRs are removed from the stdin correctly", "[vfs]")
|
TEST_CASE("CRs are removed from the stdin correctly", "[vfs]")
|
||||||
{
|
{
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
flush_stdin_stdout();
|
flush_stdin_stdout();
|
||||||
const char* send_str = "1234567890\n\r123\r\n4\n";
|
const char* send_str = "1234567890\n\r123\r\n4\n";
|
||||||
|
|
|
@ -71,14 +71,15 @@ static fd_set *_writefds_orig = NULL;
|
||||||
static fd_set *_errorfds_orig = NULL;
|
static fd_set *_errorfds_orig = NULL;
|
||||||
|
|
||||||
// Newline conversion mode when transmitting
|
// Newline conversion mode when transmitting
|
||||||
static esp_line_endings_t s_tx_mode =
|
static esp_line_endings_t s_tx_mode [UART_NUM] = { [0 ... UART_NUM-1] =
|
||||||
#if CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF
|
#if CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF
|
||||||
ESP_LINE_ENDINGS_CRLF;
|
ESP_LINE_ENDINGS_CRLF
|
||||||
#elif CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR
|
#elif CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR
|
||||||
ESP_LINE_ENDINGS_CR;
|
ESP_LINE_ENDINGS_CR
|
||||||
#else
|
#else
|
||||||
ESP_LINE_ENDINGS_LF;
|
ESP_LINE_ENDINGS_LF
|
||||||
#endif
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
// Newline conversion mode when receiving
|
// Newline conversion mode when receiving
|
||||||
static esp_line_endings_t s_rx_mode[UART_NUM] = { [0 ... UART_NUM-1] =
|
static esp_line_endings_t s_rx_mode[UART_NUM] = { [0 ... UART_NUM-1] =
|
||||||
|
@ -172,9 +173,9 @@ static ssize_t uart_write(int fd, const void * data, size_t size)
|
||||||
_lock_acquire_recursive(&s_uart_write_locks[fd]);
|
_lock_acquire_recursive(&s_uart_write_locks[fd]);
|
||||||
for (size_t i = 0; i < size; i++) {
|
for (size_t i = 0; i < size; i++) {
|
||||||
int c = data_c[i];
|
int c = data_c[i];
|
||||||
if (c == '\n' && s_tx_mode != ESP_LINE_ENDINGS_LF) {
|
if (c == '\n' && s_tx_mode[fd] != ESP_LINE_ENDINGS_LF) {
|
||||||
s_uart_tx_func[fd](fd, '\r');
|
s_uart_tx_func[fd](fd, '\r');
|
||||||
if (s_tx_mode == ESP_LINE_ENDINGS_CR) {
|
if (s_tx_mode[fd] == ESP_LINE_ENDINGS_CR) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -927,7 +928,29 @@ void esp_vfs_dev_uart_set_rx_line_endings(esp_line_endings_t mode)
|
||||||
|
|
||||||
void esp_vfs_dev_uart_set_tx_line_endings(esp_line_endings_t mode)
|
void esp_vfs_dev_uart_set_tx_line_endings(esp_line_endings_t mode)
|
||||||
{
|
{
|
||||||
s_tx_mode = mode;
|
for (int i = 0; i < UART_NUM; ++i) {
|
||||||
|
s_tx_mode[i] = mode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int esp_vfs_dev_uart_port_set_rx_line_endings(int uart_num, esp_line_endings_t mode)
|
||||||
|
{
|
||||||
|
if (uart_num < 0 || uart_num >= UART_NUM) {
|
||||||
|
errno = EBADF;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
s_rx_mode[uart_num] = mode;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int esp_vfs_dev_uart_port_set_tx_line_endings(int uart_num, esp_line_endings_t mode)
|
||||||
|
{
|
||||||
|
if (uart_num < 0 || uart_num >= UART_NUM) {
|
||||||
|
errno = EBADF;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
s_tx_mode[uart_num] = mode;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void esp_vfs_dev_uart_use_nonblocking(int uart_num)
|
void esp_vfs_dev_uart_use_nonblocking(int uart_num)
|
||||||
|
|
|
@ -58,9 +58,9 @@ static void initialize_console(void)
|
||||||
setvbuf(stdout, NULL, _IONBF, 0);
|
setvbuf(stdout, NULL, _IONBF, 0);
|
||||||
|
|
||||||
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
/* Install UART driver for interrupt-driven reads and writes */
|
/* Install UART driver for interrupt-driven reads and writes */
|
||||||
ESP_ERROR_CHECK( uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
ESP_ERROR_CHECK( uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
||||||
|
|
|
@ -61,9 +61,9 @@ static void initialize_console(void)
|
||||||
setvbuf(stdout, NULL, _IONBF, 0);
|
setvbuf(stdout, NULL, _IONBF, 0);
|
||||||
|
|
||||||
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
/* Install UART driver for interrupt-driven reads and writes */
|
/* Install UART driver for interrupt-driven reads and writes */
|
||||||
ESP_ERROR_CHECK( uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
ESP_ERROR_CHECK( uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
||||||
|
|
|
@ -751,9 +751,9 @@ static void initialize_console(void)
|
||||||
setvbuf(stdout, NULL, _IONBF, 0);
|
setvbuf(stdout, NULL, _IONBF, 0);
|
||||||
|
|
||||||
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
/* Install UART driver for interrupt-driven reads and writes */
|
/* Install UART driver for interrupt-driven reads and writes */
|
||||||
ESP_ERROR_CHECK( uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
ESP_ERROR_CHECK( uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
||||||
|
|
|
@ -60,9 +60,9 @@ static void initialize_console()
|
||||||
setvbuf(stdin, NULL, _IONBF, 0);
|
setvbuf(stdin, NULL, _IONBF, 0);
|
||||||
|
|
||||||
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
/* Configure UART. Note that REF_TICK is used so that the baud rate remains
|
/* Configure UART. Note that REF_TICK is used so that the baud rate remains
|
||||||
* correct while APB frequency is changing in light sleep mode.
|
* correct while APB frequency is changing in light sleep mode.
|
||||||
|
|
|
@ -60,9 +60,9 @@ static void initialize_console()
|
||||||
setvbuf(stdin, NULL, _IONBF, 0);
|
setvbuf(stdin, NULL, _IONBF, 0);
|
||||||
|
|
||||||
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
/* Configure UART. Note that REF_TICK is used so that the baud rate remains
|
/* Configure UART. Note that REF_TICK is used so that the baud rate remains
|
||||||
* correct while APB frequency is changing in light sleep mode.
|
* correct while APB frequency is changing in light sleep mode.
|
||||||
|
|
|
@ -124,9 +124,9 @@ extern "C" void app_main()
|
||||||
256, 0, 0, NULL, 0) );
|
256, 0, 0, NULL, 0) );
|
||||||
/* Tell VFS to use UART driver */
|
/* Tell VFS to use UART driver */
|
||||||
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
// wait till we receive IP, so asio realated code can be started
|
// wait till we receive IP, so asio realated code can be started
|
||||||
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
||||||
|
|
|
@ -124,9 +124,9 @@ extern "C" void app_main()
|
||||||
256, 0, 0, NULL, 0) );
|
256, 0, 0, NULL, 0) );
|
||||||
/* Tell VFS to use UART driver */
|
/* Tell VFS to use UART driver */
|
||||||
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
// wait till we receive IP, so asio realated code can be started
|
// wait till we receive IP, so asio realated code can be started
|
||||||
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
||||||
|
|
|
@ -124,9 +124,9 @@ extern "C" void app_main()
|
||||||
256, 0, 0, NULL, 0) );
|
256, 0, 0, NULL, 0) );
|
||||||
/* Tell VFS to use UART driver */
|
/* Tell VFS to use UART driver */
|
||||||
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
// wait till we receive IP, so asio realated code can be started
|
// wait till we receive IP, so asio realated code can be started
|
||||||
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
||||||
|
|
|
@ -124,9 +124,9 @@ extern "C" void app_main()
|
||||||
256, 0, 0, NULL, 0) );
|
256, 0, 0, NULL, 0) );
|
||||||
/* Tell VFS to use UART driver */
|
/* Tell VFS to use UART driver */
|
||||||
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
// wait till we receive IP, so asio realated code can be started
|
// wait till we receive IP, so asio realated code can be started
|
||||||
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
||||||
|
|
|
@ -124,9 +124,9 @@ extern "C" void app_main()
|
||||||
256, 0, 0, NULL, 0) );
|
256, 0, 0, NULL, 0) );
|
||||||
/* Tell VFS to use UART driver */
|
/* Tell VFS to use UART driver */
|
||||||
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
// wait till we receive IP, so asio realated code can be started
|
// wait till we receive IP, so asio realated code can be started
|
||||||
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
xEventGroupWaitBits(wifi_event_group, WIFI_CONNECTED_BIT, 1, 1, portMAX_DELAY);
|
||||||
|
|
|
@ -63,9 +63,9 @@ static void initialize_console()
|
||||||
setvbuf(stdin, NULL, _IONBF, 0);
|
setvbuf(stdin, NULL, _IONBF, 0);
|
||||||
|
|
||||||
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
/* Configure UART. Note that REF_TICK is used so that the baud rate remains
|
/* Configure UART. Note that REF_TICK is used so that the baud rate remains
|
||||||
* correct while APB frequency is changing in light sleep mode.
|
* correct while APB frequency is changing in light sleep mode.
|
||||||
|
|
|
@ -56,9 +56,9 @@ static esp_err_t example_configure_stdin_stdout(void)
|
||||||
256, 0, 0, NULL, 0) );
|
256, 0, 0, NULL, 0) );
|
||||||
/* Tell VFS to use UART driver */
|
/* Tell VFS to use UART driver */
|
||||||
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -67,9 +67,9 @@ static esp_err_t example_configure_stdin_stdout(void)
|
||||||
256, 0, 0, NULL, 0) );
|
256, 0, 0, NULL, 0) );
|
||||||
/* Tell VFS to use UART driver */
|
/* Tell VFS to use UART driver */
|
||||||
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -56,9 +56,9 @@ static esp_err_t example_configure_stdin_stdout(void)
|
||||||
256, 0, 0, NULL, 0) );
|
256, 0, 0, NULL, 0) );
|
||||||
/* Tell VFS to use UART driver */
|
/* Tell VFS to use UART driver */
|
||||||
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
esp_vfs_dev_uart_use_driver(CONFIG_CONSOLE_UART_NUM);
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -32,9 +32,9 @@ static void initialize_console()
|
||||||
setvbuf(stdin, NULL, _IONBF, 0);
|
setvbuf(stdin, NULL, _IONBF, 0);
|
||||||
|
|
||||||
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
/* Install UART driver for interrupt-driven reads and writes */
|
/* Install UART driver for interrupt-driven reads and writes */
|
||||||
ESP_ERROR_CHECK( uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
ESP_ERROR_CHECK( uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
||||||
|
|
|
@ -79,9 +79,9 @@ static void initialize_console()
|
||||||
setvbuf(stdin, NULL, _IONBF, 0);
|
setvbuf(stdin, NULL, _IONBF, 0);
|
||||||
|
|
||||||
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
|
||||||
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);
|
esp_vfs_dev_uart_port_set_rx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CR);
|
||||||
/* Move the caret to the beginning of the next line on '\n' */
|
/* Move the caret to the beginning of the next line on '\n' */
|
||||||
esp_vfs_dev_uart_set_tx_line_endings(ESP_LINE_ENDINGS_CRLF);
|
esp_vfs_dev_uart_port_set_tx_line_endings(CONFIG_CONSOLE_UART_NUM, ESP_LINE_ENDINGS_CRLF);
|
||||||
|
|
||||||
/* Install UART driver for interrupt-driven reads and writes */
|
/* Install UART driver for interrupt-driven reads and writes */
|
||||||
ESP_ERROR_CHECK(uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
ESP_ERROR_CHECK(uart_driver_install(CONFIG_CONSOLE_UART_NUM,
|
||||||
|
|
Loading…
Reference in a new issue