mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-02 12:14:32 +02:00
feat(storage/vfs): move uart driver to new vfs API
This commit is contained in:
@@ -20,7 +20,7 @@ extern "C" {
|
|||||||
*
|
*
|
||||||
* @return pointer to structure esp_vfs_t
|
* @return pointer to structure esp_vfs_t
|
||||||
*/
|
*/
|
||||||
const esp_vfs_t *esp_vfs_uart_get_vfs(void);
|
const esp_vfs_fs_ops_t *esp_vfs_uart_get_vfs(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@@ -985,8 +985,29 @@ static int uart_tcflush(int fd, int select)
|
|||||||
}
|
}
|
||||||
#endif // CONFIG_VFS_SUPPORT_TERMIOS
|
#endif // CONFIG_VFS_SUPPORT_TERMIOS
|
||||||
|
|
||||||
static const esp_vfs_t uart_vfs = {
|
#ifdef CONFIG_VFS_SUPPORT_DIR
|
||||||
.flags = ESP_VFS_FLAG_DEFAULT,
|
static const esp_vfs_dir_ops_t s_vfs_uart_dir = {
|
||||||
|
.access = &uart_access,
|
||||||
|
};
|
||||||
|
#endif // CONFIG_VFS_SUPPORT_DIR
|
||||||
|
|
||||||
|
#ifdef CONFIG_VFS_SUPPORT_SELECT
|
||||||
|
static const esp_vfs_select_ops_t s_vfs_uart_select = {
|
||||||
|
.start_select = &uart_start_select,
|
||||||
|
.end_select = &uart_end_select,
|
||||||
|
};
|
||||||
|
#endif // CONFIG_VFS_SUPPORT_SELECT
|
||||||
|
|
||||||
|
#ifdef CONFIG_VFS_SUPPORT_TERMIOS
|
||||||
|
static const esp_vfs_termios_ops_t s_vfs_uart_termios = {
|
||||||
|
.tcsetattr = &uart_tcsetattr,
|
||||||
|
.tcgetattr = &uart_tcgetattr,
|
||||||
|
.tcdrain = &uart_tcdrain,
|
||||||
|
.tcflush = &uart_tcflush,
|
||||||
|
};
|
||||||
|
#endif // CONFIG_VFS_SUPPORT_TERMIOS
|
||||||
|
|
||||||
|
static const esp_vfs_fs_ops_t s_vfs_uart = {
|
||||||
.write = &uart_write,
|
.write = &uart_write,
|
||||||
.open = &uart_open,
|
.open = &uart_open,
|
||||||
.fstat = &uart_fstat,
|
.fstat = &uart_fstat,
|
||||||
@@ -995,28 +1016,24 @@ static const esp_vfs_t uart_vfs = {
|
|||||||
.fcntl = &uart_fcntl,
|
.fcntl = &uart_fcntl,
|
||||||
.fsync = &uart_fsync,
|
.fsync = &uart_fsync,
|
||||||
#ifdef CONFIG_VFS_SUPPORT_DIR
|
#ifdef CONFIG_VFS_SUPPORT_DIR
|
||||||
.access = &uart_access,
|
.dir = &s_vfs_uart_dir,
|
||||||
#endif // CONFIG_VFS_SUPPORT_DIR
|
#endif // CONFIG_VFS_SUPPORT_DIR
|
||||||
#ifdef CONFIG_VFS_SUPPORT_SELECT
|
#ifdef CONFIG_VFS_SUPPORT_SELECT
|
||||||
.start_select = &uart_start_select,
|
.select = &s_vfs_uart_select,
|
||||||
.end_select = &uart_end_select,
|
|
||||||
#endif // CONFIG_VFS_SUPPORT_SELECT
|
#endif // CONFIG_VFS_SUPPORT_SELECT
|
||||||
#ifdef CONFIG_VFS_SUPPORT_TERMIOS
|
#ifdef CONFIG_VFS_SUPPORT_TERMIOS
|
||||||
.tcsetattr = &uart_tcsetattr,
|
.termios = &s_vfs_uart_termios,
|
||||||
.tcgetattr = &uart_tcgetattr,
|
|
||||||
.tcdrain = &uart_tcdrain,
|
|
||||||
.tcflush = &uart_tcflush,
|
|
||||||
#endif // CONFIG_VFS_SUPPORT_TERMIOS
|
#endif // CONFIG_VFS_SUPPORT_TERMIOS
|
||||||
};
|
};
|
||||||
|
|
||||||
const esp_vfs_t *esp_vfs_uart_get_vfs(void)
|
const esp_vfs_fs_ops_t *esp_vfs_uart_get_vfs(void)
|
||||||
{
|
{
|
||||||
return &uart_vfs;
|
return &s_vfs_uart;
|
||||||
}
|
}
|
||||||
|
|
||||||
void uart_vfs_dev_register(void)
|
void uart_vfs_dev_register(void)
|
||||||
{
|
{
|
||||||
ESP_ERROR_CHECK(esp_vfs_register("/dev/uart", &uart_vfs, NULL));
|
ESP_ERROR_CHECK(esp_vfs_register_fs("/dev/uart", &s_vfs_uart, ESP_VFS_FLAG_STATIC, NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
int uart_vfs_dev_port_set_rx_line_endings(int uart_num, esp_line_endings_t mode)
|
int uart_vfs_dev_port_set_rx_line_endings(int uart_num, esp_line_endings_t mode)
|
||||||
|
Reference in New Issue
Block a user