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
40035edcac
vfs: add doc links
2021-04-15 15:19:00 +08:00
Jiacheng Guo
7c64d1530a
vfs: modify copyright header
2021-04-15 15:18:59 +08:00
Jiacheng Guo
37a992bbde
vfs: add example for eventfd
2021-04-15 15:18:59 +08:00
Jiacheng Guo
7b911e4641
vfs: add support for mutiple selects in eventfd
2021-04-15 15:18:59 +08:00
Jiacheng Guo
30e9345bc7
vfs: add unit tests for 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
Marius Vikhammer
2aead8ba57
Support ESP32S3 Beta 3 target
...
Update ROM API. Port changes from bringup branch.
2021-03-18 10:24:22 +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
Marius Vikhammer
eec2419390
system: enable shared stack watchpoint
...
Enable shared stack watchpoint for overflow detection
Enable unit tests:
* "test printf using shared buffer stack" for C3
* "Test vTaskDelayUntil" for S2
* "UART can do poll()" for C3
2021-02-18 15:38:30 +08:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
Ivan Grokhotkov
b1c4107275
vfs: zero-initialize struct stat in *_stat and *_fstat handlers
...
...otherwise some fields will contain garbage values.
This wasn't noticed until HAVE_BLKSIZE got enabled in newlib builds.
2020-12-29 16:18:04 +01:00
Angus Gratton
c3ba995f2c
Merge branch 'ci/ccomp_performance_tests' into 'master'
...
unit_test: Refactor all performance tests that rely on cache compensated timer
See merge request espressif/esp-idf!11709
2020-12-24 13:44:52 +08:00
Angus Gratton
1741ae941e
vfs: Update for esp32c3
...
From internal commit 6d894813
2020-12-24 14:18:02 +11:00
Marius Vikhammer
0a95151a75
unit_test: Refactor all performance tests that rely on cache compensated timer
...
There is no ccomp timer on C3, which means our performance tests will start
failing again due to variance caused by cache misses.
This MR adds TEST_PERFORMANCE_CCOMP_ macro that will only fail
performance test if CCOMP timer is supported on the target
2020-12-22 18:56:24 +11:00
Angus Gratton
5228d9f9ce
esp32c3: Apply one-liner/small changes for ESP32-C3
2020-12-01 10:58:50 +11:00
Angus Gratton
420aef1ffe
Updates for riscv support
...
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
longer signed/unsigned int).
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
morris
61f89b97c6
bringup esp32-s3 on FPGA
2020-09-22 15:15:03 +08:00
Jakob Hasse
20c068ef3b
cmock: added cmock as component
...
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +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
morris
345606e7f3
esp_rom: extract common uart apis into esp_rom_uart.h
2020-07-17 16:00:59 +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
283026a761
vfs: semihost driver bugfix
2020-04-15 15:46:47 +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
Angus Gratton
62426a6c90
Merge branch 'refactor/use_new_component_registration_functions' into 'master'
...
CMake: Use new component registration function
See merge request espressif/esp-idf!8068
2020-03-25 08:02:42 +08:00
Renz Bagaporo
3d0967a58a
test: declare requirements and include dirs private
2020-03-23 10:58:50 +08:00
Ivan Grokhotkov
cadab2cbcf
vfs: define all implementations as esp_vfs_, create aliases
...
This change allows (in the future) to test VFS on host, without having
it conflict with the host C library. On host, all aliases would be
disabled.
2020-03-20 13:43:42 +01: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
99cdddeb63
docs: Fix broken or incorrect link roles to IDF files & directories
2020-02-18 10:34:11 +11:00
Angus Gratton
11fac8637a
docs: Resolve doxygen & Sphinx warnings
2020-02-07 16:37:45 +11:00
morris
e30cd361a8
global: rename esp32s2beta to esp32s2
2020-01-22 12:14:38 +08:00
Roland Dobai
a9c4dab4d3
VFS: Check in select() if the UART driver is installed or not
...
Closes https://github.com/espressif/esp-idf/issues/4627
2020-01-14 13:52:27 +01:00
Konstantin Kondrashov
2c793cef06
idf: Support a custom toolchain with time_t wide 64-bits
...
Allows resolving the Y2K38 problem.
Closes: IDF-350
Closes: https://github.com/espressif/esp-idf/issues/584
2020-01-10 12:58:54 +08:00
Ivan Grokhotkov
23848fd1b9
newlib: define fcntl as strong symbol
...
Closes https://github.com/espressif/esp-idf/issues/3694
Closes https://github.com/espressif/esp-idf/issues/4407
2019-12-11 14:53:26 +01:00
houwenxiang
f27ae9b0e2
feature: Add uart hal support.
2019-11-26 20:01:50 +08:00
Renz Christian Bagaporo
550c0ef234
vfs: use ccomp timer in performance test
2019-11-18 10:29:02 +08:00
Roland Dobai
84bbafb6a4
VFS: Fix performance test for esp32s2beta
2019-11-01 09:40:16 +00:00
Roland Dobai
2a0285fdb4
Fix VFS UART unit tests for esp32s2beta
2019-10-30 13:45:12 +00:00
Angus Gratton
7ce75a42c7
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-25 15:13:52 +11:00
Roland Dobai
8b56496efa
VFS: Fix bug which occurs when driver is installed during a select() call
...
Closes https://github.com/espressif/esp-idf/issues/3554
2019-10-21 11:59:38 +02:00
Ivan Grokhotkov
5830f529d8
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-02 19:01:39 +02:00
Wang Fang
32adfdc307
Add Chinese translation for the 2nd batch of the files in storage folder in api-reference.
...
1. The translation should be first reviewed by technical reviewers;
2. and then by language reviewers.
For the translation for the first batch of files, please see !MR5620 and !MR5613
2019-09-20 12:32:55 +08:00
Angus Gratton
438d513a95
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-16 16:18:48 +10:00
Roland Dobai
7cc225c85b
VFS: Fix memory access after free() in UART select()
...
Closes https://github.com/espressif/esp-idf/issues/4030
2019-09-10 04:59:03 +00:00
Michael (XIAO Xufeng)
76a3a5fb48
ci: disable unavailable tests for esp32s2beta
2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
9baa7826be
fix unit test and examples for s2beta
2019-09-04 10:53:25 +10:00
Angus Gratton
6990a7cd54
Merge branch 'master' into feature/esp32s2beta_update
2019-08-19 15:03:43 +10:00
Angus Gratton
04ae56806c
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 15:26:58 +10:00
Angus Gratton
24d26fccde
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 13:44:24 +10:00
Roland Dobai
2211039b6d
docs: Correct and extend the documentation about VFS select()
2019-08-05 11:17:43 +02: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
chenjianqiang
e43513b610
bugfix(uart): uniform AT_CMD char configuration
2019-07-18 19:24:13 +08:00
Michael (XIAO Xufeng)
00b33a8e14
vfs_uart: refactor to have static context structure
2019-07-18 15:57:00 +08:00
chenjianqiang
4cc962353c
feat(uart): update uart driver for esp32s2beta
2019-07-18 15:57:00 +08: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
Renz Christian Bagaporo
9eccd7c082
components: use new component registration api
2019-06-21 19:53:29 +08:00
Michael (XIAO Xufeng)
b5c3ac0ec2
vfs_uart: refactor to have static context structure
2019-06-20 11:32:24 +08:00
chenjianqiang
cf2ba210ef
uart: multichip support
2019-06-20 11:32:22 +08:00
Kirill Chalov
4faf2de035
Doc/review api ref storage
2019-06-17 14:23:52 +08:00
Renz Christian Bagaporo
3882e48e8a
cmake: use new signature form of target_link_library to link components
...
!4452 used setting LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES to link
components built under ESP-IDF build system. However, LINK_LIBRARIES does
not produce behavior same as linking PRIVATE. This MR uses the new
signature for target_link_libraries directly instead. This also moves
setting dependencies during component registration rather than after all
components have been processed.
The consequence is that internally, components have to use the new
signature form as well. This does not affect linking the components to
external targets, such as with idf_as_lib example. This only affects
linking additional libraries to ESP-IDF libraries outside component processing (after
idf_build_process), which is not even possible for CMake<v3.13 as
target_link_libraries is not valid for targets not created in current
directory. See https://cmake.org/cmake/help/v3.13/policy/CMP0079.html#policy:CMP0079
2019-06-11 18:09:26 +08:00
Angus Gratton
ddbd09eb15
esp32/esp32s2beta: Extract common SPIRAM options into esp_commmon component
2019-06-11 13:07:37 +08:00
suda-morris
84b2f9f14d
build and link hello-world for esp32s2beta
2019-06-11 13:07:37 +08:00
Konstantin Kondrashov
399d2d2605
all: Using xxx_periph.h
...
Using xxx_periph.h in whole IDF instead of xxx_reg.h, xxx_struct.h, xxx_channel.h ... .
Cleaned up header files from unnecessary headers (releated to soc/... headers).
2019-06-03 14:15:08 +08:00
Angus Gratton
22514c1dd9
cmake: For gcc8 use linker to find paths to libc, libm, libstdc++, etc
...
Removes the need to know/guess the paths to these libraries. Once we are gcc 8 only, we
can remove -nostdlib and no additional arguments are needed for system libraries.
The catch is: any time IDF overrides a symbol in the toolchain sysroot, we need
an undefined linker marker to make sure this symbol is seen by linker.
2019-05-28 12:54:37 +08:00
Roland Dobai
0ae53691ba
Rename Kconfig options (components/esp32)
2019-05-21 09:09:01 +02:00
Roland Dobai
92950db44e
Rename Kconfig options (components/lwip)
2019-05-21 09:09:01 +02:00
Renz Christian Bagaporo
ffec9d4947
components: update with build system changes
2019-05-13 19:59:17 +08:00
Ivan Grokhotkov
89798b328b
Merge branch 'bugfix/select_init_sem' into 'master'
...
VFS: Allocate socket select semaphore outside ISR
See merge request idf/esp-idf!4591
2019-04-25 19:10:08 +08:00
Renz Christian Bagaporo
90ee405afd
ldgen: update component linker fragment files
2019-04-04 15:57:34 +08:00
Roland Dobai
2df9fb057d
VFS: Allocate socket select semaphore outside ISR
2019-03-22 13:47:32 +00:00
Ivan Grokhotkov
940a1f6e79
Merge branch 'feature/separate_rom_from_esp32' into 'master'
...
separate rom from esp32 component to esp_rom
Closes IDF-542
See merge request idf/esp-idf!4500
2019-03-21 22:10:45 +08: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
morris
c159984264
separate rom from esp32 component to esp_rom
...
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2019-03-21 18:51:45 +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
37126d3451
Correct Kconfigs according to the coding style
2019-01-29 13:37:01 +01:00
Roland Dobai
c8e8044293
VFS: move all functions into RAM which are called in the performance test
2019-01-03 19:56:19 +01:00
Ivan Grokhotkov
61beb16225
vfs: fix unregister removing top level VFS instead of nested
...
Credits @neoniousTR.
Fixes https://github.com/espressif/esp-idf/pull/2770
2018-12-06 19:43:49 +08:00
Ivan Grokhotkov
21b3919369
Merge branch 'bugfix/vfs_open_write_close_perf_test' into 'master'
...
Fix VFS unit test failure ("Open & write & close through VFS passes performance test")
Closes #44
See merge request idf/esp-idf!3759
2018-11-29 09:40:54 +08:00
Roland Dobai
738c56e84a
Fix VFS_OPEN_WRITE_CLOSE_TIME unit test issue
...
Closes idf/esp-idf#44
2018-11-28 20:36:08 +01:00
Roland Dobai
957cf0ab84
VFS: select() on UART should return immediately when data is buffered
2018-11-27 13:39:00 +01:00
Ivan Grokhotkov
6091021e83
unity: separate common and IDF specific functionality
...
New unity component can be used for testing other applications.
Upstream version of Unity is included as a submodule.
Utilities specific to ESP-IDF unit tests (partitions, leak checking
setup/teardown functions, etc) are kept only in unit-test-app.
Kconfig options are added to allow disabling certain Unity features.
2018-11-19 12:36:31 +08:00
Ivan Grokhotkov
aa692b3483
vfs: implement fsync for UART VFS
2018-11-19 12:36:31 +08:00
Roland Dobai
fb334baa7c
VFS: Implement utime()
2018-11-05 09:54:01 +01:00
Renz Bagaporo
cc774111bf
cmake: Add support for test build
2018-10-20 12:07:24 +08:00
Angus Gratton
159ff6e08e
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-10-17 22:53:46 +00:00
Anton Maklakov
ccbe517702
vfs: fix a fallthrough comment to silence the warning
2018-09-20 18:53:15 +08:00
Renz Christian Bagaporo
d9939cedd9
cmake: make main a component again
2018-09-11 09:44:12 +08:00
Angus Gratton
b355854d4d
Merge branch 'master' into feature/cmake
2018-09-05 10:35:04 +08: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
Angus Gratton
ff2404a272
Merge branch 'master' into feature/cmake
2018-08-16 17:14:17 +10:00
David Cermak
1ef13c524c
asio: initial idf port of asio library without ssl
2018-07-30 06:28:43 +00: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
Ivan Grokhotkov
5b678eed0d
vfs: add support for nested mount points
...
Fixes https://github.com/espressif/esp-idf/issues/135
2017-06-21 14:17:14 +08:00
Ivan Grokhotkov
4f71b4574a
vfs: fix NULL pointer dereference in esp_vfs_unregister
2017-06-21 13:54:04 +08:00
Ivan Grokhotkov
2ccfe3da96
vfs: fix opendir of a filesystem root directory
...
Previously opendir("/data") would fail if filesystem with "data" prefix
was registered in VFS, while opendir("/data/") would succeed.
This change fixes handling for the former case and adds relevant tests.
2017-06-21 01:21:14 +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
krzychb
30edcca1fb
docs: Generate Doxygen directives for API documentation
...
This is to resolve issue reported in https://github.com/espressif/esp-idf/issues/130 .
2017-05-19 18:26:02 +02:00