Thomas Watson
71be1194cb
AP_Filesystem: FATFS: clean up error handling
...
Remove redundant checks of the stream, cases that could never occur
(both before and after combining allocations), and clarify errno
propagation.
2025-02-25 11:17:50 +11:00
Thomas Watson
b9cad62acf
AP_Filesystem: FATFS: combine file allocations
...
The file handle and object are always allocated together. Combine them
to avoid overhead from extra allocations and additional error cases.
Also simplify by using strdup for the pathname.
2025-02-25 11:17:50 +11:00
Thomas Watson
7a6861e28d
AP_Filesystem: FATFS: drop tty check logic
...
In Standard C, the first three file descriptors are usually standard in,
out, and error. However, ArduPilot doesn't have a concept of this and
other backends (such as LittleFS) don't bother to reject them.
Remove this logic to simplify implementation and allow use of more open
files.
2025-02-18 12:33:37 +11:00
Thomas Watson
ed2c42ede2
AP_Filesystem: new API for performing optimal fsyncs
2025-02-17 16:33:51 +11:00
Thomas Watson
c57ac3b916
AP_Filesystem: FATFS: remove redundant delay expectations
...
The delays will be canceled on return by the EXPECT_DELAY_MS(3000)
destructor at the start of the function. The current behavior will
unexpectedly cancel delays from higher levels up the stack and is likely
not what was intended.
2024-12-31 11:20:21 +11:00
muramura
e86d5e113f
AP_Filesystem: BOOL for binary types
2024-07-26 20:12:05 +10:00
Andrew Tridgell
a241b13f45
AP_Filesystem: use NEW_NOTHROW for new(std::nothrow)
2024-06-04 09:20:21 +10:00
Andrew Tridgell
3cb3e6feda
AP_Filesystem: use gmtime_r() instead of gmtime()
...
using gmtime_r makes gmtime thread safe
2024-02-21 12:09:48 +11:00
Andrew Tridgell
c5f295e852
AP_Filesystem: allow for large file IOs
...
this allows for larger IOs on FATFS if the memoory is OK for DMA
2024-01-05 06:52:11 -08:00
Mykhailo Kuznietsov
804d4446d1
AP_Filesystem: Fix some typos
...
Fixed some typos found in the code.
2023-10-12 18:30:42 +11:00
Peter Barker
ac2fea9766
AP_Filesystem: move AP_RTC::mktime to be ap_mktime
...
in preparation for AP_RTC_ENABLED
2023-06-27 11:25:11 +10:00
Andrew Tridgell
4946ce5431
HAL_ChibiOS: revert recent USB changes
...
these are causing some boards to crash on startup. Tested with a
QiotekZealotH743 which doesn't get out of setup_usb_strings()
once we have debugged this we can re-add the functionality
2023-06-03 16:50:30 +10:00
bugobliterator
414606ba31
AP_Filesystem: add support for blocking filesystem access
2023-05-31 18:40:17 +10:00
Peter Barker
1c54d18672
AP_Filesystem: replace HAVE_FILESYSTEM_SUPPORT with backend defines
2023-05-17 09:40:39 +10:00
Andrew Tridgell
cf79843661
AP_Filesystem: support file rename
2023-03-05 09:42:48 +11:00
Peter Barker
d633bd3f49
AP_Filesystem: add in-progress to formatsdcard process
2023-02-21 17:07:41 +11:00
Willian Galvani
0e62d561d9
AP_Filesystem: add allow_absolute_paths to open(), implement it for posix backend
2022-03-22 10:19:21 +11:00
Andrew Tridgell
7bd45fcb50
AP_Filesystem: avoid ff.h in header
...
this avoids the chibios hal includes
2022-02-22 12:13:19 +11:00
murata
e209a6e73b
AP_Filesystem: Remove WHITE SPACE to match other method styles
2022-02-15 10:14:13 +11:00
murata
0967d79a93
AP_Filesystem: Change the judgment null of methods that return nullptr
2022-02-15 10:14:13 +11:00
Andrew Tridgell
7c57e1521c
AP_Filesystem: support formatting of SDcard on ChibiOS
2021-12-28 16:04:57 +11:00
Andrew Tridgell
b23afc4a9e
AP_Filesystem: disallow file operations from main thread while armed
...
this stops all file operations from the main thread while armed,
allowing for a 3s grace time on arming to allow for initial log
file creation
2021-06-09 15:08:28 +10:00
Andrew Tridgell
e429d578fa
AP_Filesystem: added interface for mount/unmount
...
we need to hold the FATFS semaphore when doing mount/unmount, which
means we must go via AP_Filesystem_FATFS
2020-10-27 10:45:03 +11:00
Andrew Tridgell
7562eef4c1
AP_Filesystem: use mktime from AP_RTC
2020-10-20 11:21:00 +11:00
Andrew Tridgell
fabbbea0b4
AP_Fileystem: fixed gcc9 warning
2020-09-22 08:07:23 +10:00
Andrew Tridgell
9b14fa7ed9
AP_Filesystem: enable @PARAM, @ROMFS and @SYS with no microSD
2020-04-29 07:36:55 +10:00
Andrew Tridgell
6583f7c13e
AP_Filesystem: added VFS system for multiple backends
2020-03-28 15:28:03 +11:00
Andrew Tridgell
b49a76bb20
AP_Filesystem: fixed EOF on file read
...
should return number of bytes read. This fixes an issue with MAVProxy
ftp client
2020-02-19 18:11:41 +11:00
Andrew Tridgell
23b3000e3a
AP_Filesystem: make all semaphores recursive
...
the cost is very similar and this prevents an easy coding error which
can occur on less used code paths
2020-01-19 20:19:30 +11:00
Andrew Tridgell
d9a6c81eec
AP_Filesystem: fixed set_mtime semaphore
2020-01-18 15:43:09 +11:00
Andrew Tridgell
1a5d6527f6
AP_FileSystem: chunk IOs to max 4k
...
this prevents larger IOs from attempting to allocate too much memory
in DMA bouncebuffers
2020-01-18 07:13:11 +11:00
Peter Barker
67aca84adc
AP_FileSystem: avoid aliasing isatty from unistd.h
...
If some poor sod includes unistd.h in a header included by this then we
get a compilation failure.
2019-12-10 10:48:08 +11:00
Michael du Breuil
14bf946fe2
AP_Filesystem: Add dir type to fatfs
2019-11-02 22:52:06 +11:00
Andrew Tridgell
b72dcf6478
AP_Filesystem: use a recursive semaphore
...
this is needed to cope with the mkdir("/APM") in sdcard_retry()
2019-09-06 08:51:04 +10:00
Andrew Tridgell
b489e8a655
AP_Filesystem: added set_mtime() call
2019-08-27 15:40:43 +10:00
Andrew Tridgell
692abb11fa
AP_Filesystem: define new filesystem API
2019-08-27 15:40:43 +10:00