mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 17:19:09 -04:00
feat(storage/vfs): move uart driver to new vfs API
This commit is contained in:
parent
906b3df54b
commit
0aa10dcb43
@ -20,7 +20,7 @@ extern "C" {
|
||||
*
|
||||
* @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
|
||||
}
|
||||
|
@ -985,8 +985,29 @@ static int uart_tcflush(int fd, int select)
|
||||
}
|
||||
#endif // CONFIG_VFS_SUPPORT_TERMIOS
|
||||
|
||||
static const esp_vfs_t uart_vfs = {
|
||||
.flags = ESP_VFS_FLAG_DEFAULT,
|
||||
#ifdef CONFIG_VFS_SUPPORT_DIR
|
||||
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,
|
||||
.open = &uart_open,
|
||||
.fstat = &uart_fstat,
|
||||
@ -995,28 +1016,24 @@ static const esp_vfs_t uart_vfs = {
|
||||
.fcntl = &uart_fcntl,
|
||||
.fsync = &uart_fsync,
|
||||
#ifdef CONFIG_VFS_SUPPORT_DIR
|
||||
.access = &uart_access,
|
||||
.dir = &s_vfs_uart_dir,
|
||||
#endif // CONFIG_VFS_SUPPORT_DIR
|
||||
#ifdef CONFIG_VFS_SUPPORT_SELECT
|
||||
.start_select = &uart_start_select,
|
||||
.end_select = &uart_end_select,
|
||||
.select = &s_vfs_uart_select,
|
||||
#endif // CONFIG_VFS_SUPPORT_SELECT
|
||||
#ifdef CONFIG_VFS_SUPPORT_TERMIOS
|
||||
.tcsetattr = &uart_tcsetattr,
|
||||
.tcgetattr = &uart_tcgetattr,
|
||||
.tcdrain = &uart_tcdrain,
|
||||
.tcflush = &uart_tcflush,
|
||||
.termios = &s_vfs_uart_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)
|
||||
{
|
||||
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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user