Roland Dobai
6e25e6a991
VFS: Fix bug which occurs when driver is installed during a select() call
...
Closes https://github.com/espressif/esp-idf/issues/3554
2019-10-22 08:23:31 +02:00
Roland Dobai
7307bf1b87
VFS: Allocate socket select semaphore outside ISR
2019-05-13 11:20:15 +02:00
Ivan Grokhotkov
1d0df04579
vfs: fix unregister removing top level VFS instead of nested
...
Credits @neoniousTR.
Fixes https://github.com/espressif/esp-idf/pull/2770
2019-01-23 16:28:09 +08:00
Jiang Jiang Jian
e105d23b51
Merge branch 'test/add_case_to_detect_ds2ds_issue_v3.1' into 'release/v3.1'
...
test: add test case to receive ds2ds packet (backport v3.1)
See merge request idf/esp-idf!3850
2019-01-09 10:57:26 +08:00
Angus Gratton
3e7a5b144a
unit tests: Only initialise tcpip_adapter() when needed by the test
...
Prevents unexpected memory allocations when running tests which
don't require tcpip_adapter.
2018-12-28 09:56:15 +08:00
Roland Dobai
6393ef0f52
VFS: select() on UART should return immediately when data is buffered
2018-11-29 10:12:25 +01:00
Renz Bagaporo
7edf2bf66c
cmake: make main a component again
2018-09-13 11:13:27 +08:00
Angus Gratton
7f50bb7e7f
Merge branch 'release/v3.1' into feature/cmake_v3.1
2018-08-17 14:14:10 +10:00
Angus Gratton
c77f84e788
Merge branch 'feature/fs_truncate_support' into 'master'
...
FATFS truncate support
See merge request idf/esp-idf!2541
2018-06-14 13:56:39 +08:00
Angus Gratton
59ab2136e8
Merge branch 'doc/kconfig_item' into 'master'
...
doc: fix the level inconsistent issue in Kconfig document
See merge request idf/esp-idf!2460
2018-06-14 12:51:50 +08:00
Renz Bagaporo
ea711f2ee9
vfs, fatfs: Add file truncate for fatfs
2018-06-14 06:37:21 +08:00
Mahavir Jain
636485db8e
vfs: change task{ENTER/EXIT}_CRITICAL with port{ENTER/EXIT}_CRITICAL
...
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-06-12 11:19:39 +05:30
Angus Gratton
87077a5478
test: Tweaks to reduce variation in CI unit tests
...
spi test: Prime the flash cache before each test to minimise flash cache misses.
VFS performance test: Increase the number of runs to minimise influence of an isolated bad run.
2018-06-08 14:42:44 +10:00
michael
3ba8461928
doc: fix the level inconsistent issue in Kconfig document
2018-06-05 10:36:18 +00:00
Angus Gratton
6b9784cc45
Merge branch 'master' into feature/cmake_update
2018-05-31 14:46:23 +10:00
Ivan Grokhotkov
ddff375bab
Merge branch 'feature/ci_fail_on_executable_files' into 'master'
...
CI: check source files for executable flag
See merge request idf/esp-idf!2463
2018-05-30 11:41:06 +08:00
Ivan Grokhotkov
cb649e452f
remove executable permission from source files
2018-05-29 20:07:45 +08:00
Roland Dobai
ecaf234c39
VFS: fix possible memory leak in UART
2018-05-29 11:01:25 +02:00
Roland Dobai
634e8cd54b
VFS: Use convenience function for safe FD_ISSET
2018-05-29 11:01:25 +02: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
Roland Dobai
bdbcc492cf
VFS: Add debugging outputs for select() related functions
2018-05-29 11:01:25 +02:00
Roland Dobai
e6ae121f41
VFS select: Correct reseting of socket FDs
...
When using multiple sockets, some of them could be incorrectly removed
from the fd_sets before passing these fd_sets forward to the socket
select function.
Closes https://github.com/espressif/esp-idf/issues/1987
2018-05-25 13:37:43 +00:00
Roland Dobai
004bf84d8c
VFS: Optionally disable the VFS implementation of select()
...
This allows to temporarily resolve issues like
https://github.com/espressif/esp-idf/issues/1987
while bugs are fixed in the VFS implementation of select().
2018-05-23 10:14:16 +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
Angus Gratton
a2241fb4bc
tests: Increase performance threshold for VFS running with PSRAM
...
Cache effects on microbenchmarks in cached flash can be significant, depending on linker layout in flash.
2018-05-17 21:02:47 +08: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
733ff15719
VFS: use O_APPEND flag of open() correctly
...
Closes https://github.com/espressif/esp-idf/pull/1455
2018-05-11 08:28:22 +02:00
Roland Dobai
5129bca67c
VFS: Use smaller numbers as file descriptors
2018-05-07 09:01:56 +02:00
Angus Gratton
1cb5712463
cmake: Add component dependency support
...
Components should set the COMPONENT_REQUIRES & COMPONENT_PRIVATE_REQUIRES variables to define their
requirements.
2018-04-30 09:59:20 +10:00
Angus Gratton
4f1a856dbf
cmake: Remove defaults for COMPONENT_SRCDIRS, COMPONENT_SRCS, COMPONENT_ADD_INCLUDEDIRS
...
* Philosophical: "explicit is better than implicit".
* Practical: Allows useful errors if invalid directories given in components as the defaults aren't
always used. Also trims the -I path from a number of components that have no actual include
directory.
* Simplifies knowing which components will be header-only and which won't
2018-04-30 09:59:20 +10:00
Angus Gratton
c671a0c3eb
build system: Initial cmake support, work in progress
2018-04-30 09:59:20 +10: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
Roland Dobai
c55987a3e9
vfs: consider O_NONBLOCK flag while opening UART FD
2018-03-29 14:20:14 +02:00
XuanZe
5a31c1e5b1
fix : cpp:type. Merges https://github.com/espressif/esp-idf/pull/1700
2018-03-14 22:04:47 +01: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
13ef3938a6
vfs_uart: fix write operation blocked by a read
...
vfs_uart used same locks for read and write operations on a single UART.
If read operation was blocking (i.e. carried out via UART driver), the
lock was held by reading task until it received a line. During this time,
other tasks trying to write to the same UART would get blocked.
This change introduces separate read/write locks, and adds a test.
Another vfs_uart test if fixed (it was disabled since the
CONFIG_NEWLIB_STDOUT_ADDCR option was removed).
2017-08-29 08:27:36 +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
ee5eba793f
Make relative paths match the default VFS, if provided
...
https://github.com/espressif/esp-idf/issues/158
2017-06-23 13:12:28 +01:00
Ivan Grokhotkov
e918ee20da
Merge branch 'bugfix/vfs_fixes' into 'master'
...
VFS fixes
See merge request !901
2017-06-23 11:33:27 +08:00
Ivan Grokhotkov
45037efc45
Merge branch 'bugfix/vfs_write_return_type' into 'master'
...
Change esp_vfs_t.write return value to ssize_t
See merge request !897
2017-06-22 11:48:34 +08:00