Cao Sen Miao
adfb7bed96
vfs_usb_serial: set secondary selection for making usb port can output under default menu
2021-11-01 15:48:36 +08:00
Omar Chebib
73303e5de0
VFS: select
function's timeout is now POSIX compliant
...
`select` function will now round up the timeout passed as a parameter (if any).
It makes it POSIX compliant.
* Closes https://github.com/espressif/esp-idf/issues/7514
2021-10-28 02:52:59 +00:00
Cao Sen Miao
3aa9ac2469
usb_serial_jtag: Add blocking driver to support vfs.
2021-07-05 11:22:38 +08:00
Jeroen Domburg
2c75f63f89
* ets_delay_us(1) has too much overhead; change logic
...
* Fix MR comments
2021-04-28 16:38:24 +08:00
Jiacheng Guo
bbb0e7a573
vfs: fix build & ci errors
2021-04-15 15:19:00 +08:00
Jiacheng Guo
0d986de363
vfs: add default initializer for vfs_eventfd
2021-04-15 15:19:00 +08:00
Jiacheng Guo
7b911e4641
vfs: add support for mutiple selects in eventfd
2021-04-15 15:18:59 +08:00
Jiacheng Guo
f6fd2eb164
vfs: add eventfd support
...
eventfd imitates the behavior of POSIX api `man(2) eventfd`. This api
can be used to pass events to a select based message loop.
2021-04-15 15:18:59 +08:00
Jiacheng Guo
b14830c5c0
vfs: use sys/dirent.h from newlib
...
The dirent.h shipped with the risc-v compiler lacks `extern "C"`
declartion and causes linkage declartion conflict when included in C++
files. Use the dirent.h from newlib only to avoid this issue.
2021-03-04 14:58:43 +08:00
Ivan Grokhotkov
e4e553efeb
Merge branch 'bugfix/vfs_zero_length_base_path' into 'master'
...
vfs: fix invalid dereference for zero-length base_path
Closes IDFGH-3567
See merge request espressif/esp-idf!9561
2020-07-23 04:06:48 +08:00
houwenxiang
8e00522cd7
vfs: support vfs uart set line endings with specified uart number
2020-07-10 11:15:09 +08:00
Ivan Grokhotkov
53f89464a3
vfs: fix invalid dereference for zero-length base_path
...
When base_path has len == 0, the code used to compare base_path[-1]
with '/'. Fix by correcting the length check.
Also mention the case of zero-length base_path in the API reference.
Closes https://github.com/espressif/esp-idf/issues/5514
2020-07-10 00:20:55 +02:00
Ivan Grokhotkov
fc8cd4048d
vfs: add vfs_cdcacm driver (aka USB CDC)
2020-06-26 15:38:49 +02:00
Ivan Grokhotkov
002c50540b
vfs: move line ending definitions into esp_vfs_common
2020-06-24 15:50:51 +02:00
Andrei Gramakov
305592f1aa
vfs: semihosting driver update supporting semihosting_common handler from OpenOCD
...
- implemented SYS_DRVINFO syscall and version handling for the semihosting driver
- removed a support of old oocd versions
renamed kconfig options:
- CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN to CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN
- CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS to CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS
2020-04-03 16:19:06 +02:00
Ivan Grokhotkov
a3c0bcb0a0
vfs: introduce options to turn off some features
...
CONFIG_VFS_SUPPORT_IO: for basic I/O functions support
CONFIG_VFS_SUPPORT_DIR: for file/directory functions support
CONFIG_VFS_SUPPORT_SELECT: for select support
2020-03-20 13:43:42 +01:00
Ivan Grokhotkov
45e50f1f2a
newlib: move dirent.h, ioctl.h headers from VFS
2020-03-20 13:43:42 +01:00
Angus Gratton
11fac8637a
docs: Resolve doxygen & Sphinx warnings
2020-02-07 16:37:45 +11:00
Roland Dobai
91ce5db172
VFS: Support concurrent VFS select calls
...
Closes https://github.com/espressif/esp-idf/issues/3392
2019-08-05 11:17:41 +02:00
Michael Zimmermann
74a459dd3d
make code conform to Wstrict-prototypes
...
Merges https://github.com/espressif/esp-idf/pull/2937
2019-08-01 16:28:56 +07:00
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
Roland Dobai
41062bea99
VFS: Implement pread() and pwrite()
...
Closes https://github.com/espressif/esp-idf/issues/3515
2019-07-11 06:20:21 +00:00
Roland Dobai
43eb58da99
VFS: Fix Kconfig prefix
2019-07-02 17:17:18 +02:00
Roland Dobai
2df9fb057d
VFS: Allocate socket select semaphore outside ISR
2019-03-22 13:47:32 +00:00
Ivan Grokhotkov
3a779380a7
Merge branch 'feature/semihost_vfs' into 'master'
...
Adds semihosting VFS driver
Closes IDF-367
See merge request idf/esp-idf!4145
2019-03-21 22:03:06 +08:00
Ivan Grokhotkov
48b1433772
vfs: change fcntl argument to int (instead of va_list), add weak fcntl
2019-03-19 21:44:17 +08:00
Alexey Gerenkov
4fc14e8eb6
vfs: Adds semihosting VFS driver
2019-03-08 15:08:10 +03:00
Roland Dobai
aa9d302814
VFS: Implement poll() based on select()
...
Closes https://github.com/espressif/esp-idf/issues/2945
2019-02-25 10:34:27 +01:00
Roland Dobai
fb334baa7c
VFS: Implement utime()
2018-11-05 09:54:01 +01:00
Roland Dobai
5395435816
Add basic support for termios.h
...
Closes https://github.com/espressif/esp-idf/issues/2063
2018-08-30 14:29:20 +02:00
David Cermak
1ef13c524c
asio: initial idf port of asio library without ssl
2018-07-30 06:28:43 +00:00
Renz Bagaporo
ea711f2ee9
vfs, fatfs: Add file truncate for fatfs
2018-06-14 06:37:21 +08:00
Roland Dobai
15b26f8841
VFS: esp_vfs_select() needs to be callable from concurrent tasks
...
This fix is for compatibility with lwip_select(). It moves the lock to
UART which is the only VFS driver which is implemented and is not
"thread-safe".
2018-05-29 11:01:25 +02:00
Angus Gratton
af2cb3ba8b
Merge branch 'feature/vfs_find_free_fd' into 'master'
...
Add "find file descriptor" API to be used by VFS drivers
See merge request idf/esp-idf!2389
2018-05-18 15:22:20 +08:00
Roland Dobai
18e83bcd53
Allow VFS file descriptors in select()
2018-05-18 08:06:33 +02:00
Roland Dobai
2aa9c15906
VFS: allow to find free file descriptors & register them
2018-05-18 07:57:35 +02:00
Roland Dobai
4345e198ce
Implement VFS support for access()
...
Closes https://github.com/espressif/esp-idf/issues/1085
2018-05-14 09:04:18 +02:00
Roland Dobai
5129bca67c
VFS: Use smaller numbers as file descriptors
2018-05-07 09:01:56 +02:00
Ivan Grokhotkov
6185e722c3
Revert "Merge branch 'feature/vfs_select' into 'master'"
...
This reverts merge request !2074
2018-04-20 11:51:41 +08:00
Roland Dobai
6852d653bd
Allow VFS file descriptors in select()
2018-04-17 11:25:30 +02:00
Ivan Grokhotkov
552ba35da5
add missing ioctl declaration
...
Previously ioctl was declared as a macro in lwip/sockets.h.
Disabling LWIP_POSIX_SOCKETS_IO_NAMES removed that declaration.
This adds sys/ioctl.h file and the missing declaration.
Also adds missing includes in vfs.c.
2017-10-23 19:47:33 +08:00
Angus Gratton
e5ae0f5927
lwip: Make LWIP_SOCKET_OFFSET signed, remove need for underflow check
...
This reverts commit 541493d877
.
2017-10-20 18:04:28 +08:00
Ivan Grokhotkov
502c3d0243
vfs,fat: add fsync to VFS interface, implement it for fatfs
2017-10-17 15:14:53 +08:00
Angus Gratton
539262b5c2
vfs: Remove fd_offset member
...
This was intended for integrating LWIP, but a different approach was used.
2017-10-16 09:45:50 +08:00
Angus Gratton
4a9d4587b7
vfs: Add C++ guards to esp_vfs_dev.h
...
Closes https://github.com/espressif/esp-idf/issues/1069
2017-10-16 09:45:50 +08:00
Angus Gratton
3ebf7923d3
lwip: Route LWIP socket POSIX I/O functions via IDF VFS layer
...
No more conflicts between LWIP & newlib read(), write(), fcntl(), etc.
select() still only works if all of the fds are sockets.
Closes https://github.com/espressif/esp-idf/issues/273
2017-10-16 09:45:49 +08:00
Angus Gratton
a320fed3b5
vfs: Add ioctl() to filesystem set
2017-10-16 09:45:49 +08:00
Ivan Grokhotkov
1e4587a09f
vfs: implement fcntl via VFS interface
2017-08-21 15:58:28 +08:00
Ivan Grokhotkov
489c523870
vfs: support for blocking reads, more newline conversion options
...
Previously VFS driver for UART could only use simple non-blocking
functions to read from and write to the UART. UART driver provides more
complex blocking and interrupt-driven functions, which can be used
instead.
This commit adds optional support for using UART driver's functions.
Also added is a more flexible mechanism for configuring newline
conversion rules on input and output.
This commit also fixes a bug that all UARTs shared one static variable
used as a character buffer in newline conversion code. This variable is
changed to be per-UART.
2017-08-21 15:58:28 +08:00
Deomid Ryabkov
b8782bdd90
Change esp_vfs_t.write return value to ssize_t
...
write() should return ssize_t, not size_t.
2017-06-09 21:24:00 +01:00