Commit Graph

137 Commits

Author SHA1 Message Date
Peter Barker 680d158f59 AP_Filesystem: do not gate AP_CRASHDUMP_ENABLED on bootloader
Also rename from HAL_CRASHDUMP_ENABLE

Removes code based on define rather than creating empty functions.  Makes it clearer what's going on in the callers.
2022-08-17 17:34:00 +10:00
Iampete1 19ccf53fa6 AP_Filesystem: change AC_FENCE to AP_FENCE_ENABLED 2022-07-27 19:04:56 +10:00
Iampete1 cababad66b AP_Filesystem: fix complation without fence 2022-07-27 19:04:56 +10:00
Iampete1 88d9550214 AP_Filesystem: support including defualts in packed param format 2022-07-20 17:59:59 +10:00
Andrew Tridgell 6f3b760d0b AP_Filesystem: fixed gets() posix compat function
it needs to stop at end of line
2022-05-31 09:26:43 +10:00
Andrew Tridgell e6540681f2 AP_Filesystem: fixed warning with tmpnam 2022-05-06 06:55:16 +10:00
Andrew Tridgell fa87019339 AP_Filesystem: added DT_LNK for symlinks 2022-05-04 17:48:45 +10:00
Peter Barker 6eaf2c545a AP_Filesystem: correct run-length encoding in param download
If a parameter's name was a prefix of the previous name we would
suffer an integer-wrap problem and incorrectly encode the parameter name
2022-05-03 07:49:36 +10:00
Nicholas Kruzan c3e071579d AP_Filesystem: AP_Filesystem_ESP32 allow_absolute_paths in ::open() 2022-04-05 08:40:26 +10: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
Andy Piper 9cccab2de7 AP_Filesystem: add support for @SYS/timers.txt. 2022-02-16 15:28:04 +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
Willian Galvani 802974a337 AP_Filesystem: tweak fgets()
This avoids that it returns False when encountering new lines or
\n\r
2022-02-01 17:35:26 +11:00
Peter Barker aaf8de88d8 AP_Filesystem: add HAL_UART_STATS_ENABLED to disable stats gathering 2022-01-12 18:30:49 +11:00
Andrew Tridgell b449e45ed6 AP_Filesystem: fixed a param ftp bug
if param count changes we need to zero the file size
2022-01-11 13:04:53 +11:00
Andrew Tridgell 7c57e1521c AP_Filesystem: support formatting of SDcard on ChibiOS 2021-12-28 16:04:57 +11:00
bugobliterator 3855767ff2 AP_FileSystem: mention of HAL_CRASH_DUMP_FLASHPAGE not required 2021-12-01 18:17:50 +11:00
bugobliterator b1e25ec4fd AP_Filesystem: fetch crash_log directly rather than via buffer 2021-12-01 18:17:50 +11:00
bugobliterator 528e57c2ae AP_Filesystem: add support for downloading raw storage via ftp sysfs 2021-11-10 17:21:35 +11:00
Buzz 7c893d7cc9 AP_Filesystem: add ESP32 support
Author: Charles Villard <charlesvillard10@gmail.com>
Author: Buzz <davidbuzz@gmail.com>
2021-11-01 17:40:31 +11:00
bugobliterator 2af001541e AP_FileSystem: add crash_dump.bin 2021-10-30 19:24:57 +11:00
Andy Piper d71fb2cb34 AP_Filesystem: fix ftp burst read with credit to deanharken 2021-10-15 19:02:41 +11:00
Peter Barker df7b2982d3 AP_Filesystem: add fgets 2021-09-30 10:31:03 +10:00
Peter Barker 207f38dfaf AP_Filesystem: raise an internal error for fileop on main thread
#ecoefi.log
2021-09-29 15:50:52 +10:00
bugobliterator 6b64cfd6c1 AP_FileSystem_Sys: allow sending stats via mavftp on AP_Periph 2021-08-19 14:20:58 +10:00
Pierre Kancir c19391d540 AP_Filesystem: correct file open flags for append 2021-08-11 18:43:53 +10:00
Siddharth Purohit ee22747b48 AP_Filesystem: Use HAL_CANMANAGER_ENABLED instead of HAL_ENABLE_LIBUAVCAN_DRIVERS 2021-06-24 09:02:42 +10:00
Andrew Tridgell 8ae221eeb4 AP_Filesystem: removed the 3s grace period for file ops when armed
log file open now needs to happen in the logging thread
2021-06-15 16:42:02 +10: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
Peter Barker c11a6bbb47 AP_Filesystem: add support for AP_Logger into AP_Periph 2021-06-08 09:57:55 +10:00
Andy Piper e20fc3d4f6 AP_Filesystem: fix build on macOS 2021-04-21 11:33:52 +10:00
Andrew Tridgell 08cbfa032d AP_Filesystem: review fixes
thanks Andy!
2021-04-21 07:12:55 +10:00
Andrew Tridgell b941b8c93a AP_Filesystem: allow for parameter upload via ftp 2021-04-21 07:12:55 +10:00
Andrew Tridgell d8575f0607 AP_Filesystem: allow for partial mission upload 2021-04-21 07:12:55 +10:00
Andrew Tridgell d96002942c AP_Filesystem: ensure all blocks are filled on upload 2021-04-21 07:12:55 +10:00
Andrew Tridgell c1f491ce39 AP_Filesystem: allow mission upload 2021-04-21 07:12:55 +10:00
Andrew Tridgell e055165eb8 AP_Filesystem: added download of mission/fence/rally 2021-04-21 07:12:55 +10:00
Andrew Tridgell 3e138aa98a AP_Filesystem: fixed a read past EOF bug in @PARAM
this could cause mavproxy FTP param download to fail
2021-04-14 17:05:49 +10:00
Andy Piper c388fd9214 AP_Filesystem: add @SYS/uarts.txt 2021-02-20 14:37:11 +11:00
Andy Piper cfac268f13 AP_Filesystem: add @SYS/memory.txt
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2021-02-03 23:35:44 +11:00
Andrew Tridgell 9561f24c0e AP_Filesystem: added @SYS/persistent.parm 2021-01-21 13:09:21 +11:00
Andrew Tridgell c924a9917e AP_Filesystem: use ExpandingString class 2021-01-05 10:52:00 +11:00
Andy Piper b6a008c73d AP_Filesystem: increase ftp thread buffer size when HAL_ENABLE_THREAD_STATISTICS is defined 2020-12-30 18:15:05 +11:00
Andy Piper 32edb6d0cd AP_Filesystem: add support for @SYS/dma.txt for DMA contention 2020-12-02 18:17:23 +11:00
Andrew Tridgell 773517a473 AP_Filesystem: added load_file() API
this makes it very easy to load a small file from sdcard or ROMFS
2020-11-18 09:11:36 +11:00
Andrew Tridgell 079e11275a AP_Filesystem: allow for replay on any file in local filesystem 2020-11-17 13:45:07 +11:00
bugobliterator bf4f482f5e AP_FileSystem: do listing for SYS without slash as well 2020-11-12 08:42:44 +11:00
Andrew Tridgell 02e9519ab0 AP_Filesystem: fixed stat call for @SYS files 2020-11-12 08:42:44 +11:00
Andrew Tridgell 0db8745320 AP_Filesystem: fixed flushing with posix compat layer
this ensures the directory entry in the FAT is updated on fflush()

Fixes #14617
2020-11-11 18:19:44 +11:00
Andrew Tridgell 6f92abea63 AP_Filesystem: fixed build on gcc 9.3 2020-10-27 10:45:47 +11: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
bugobliterator 308bc64f35 AP_Filesystem: add support for listing @SYS files 2020-10-21 18:16:50 +11:00
Andrew Tridgell 7562eef4c1 AP_Filesystem: use mktime from AP_RTC 2020-10-20 11:21:00 +11:00
Andy Piper ac8dc26d41 AP_Filesystem: increase tasks buffer size 2020-09-30 17:37:20 +10:00
Vikas Singh 38c52acf9b AP_Filesystem: add simple File I/O example 2020-09-24 13:00:08 +10:00
Andrew Tridgell fabbbea0b4 AP_Fileystem: fixed gcc9 warning 2020-09-22 08:07:23 +10:00
Andy Piper f70f13e620 AP_Filesystem: add support for @SYS/tasks.txt 2020-09-09 17:06:12 +10:00
Siddharth Purohit 20edecc340 AP_Filesystem: publish can info over FS Sys iface 2020-08-19 17:31:09 +10:00
Peter Barker f43e48a6f1 AP_Filesystem: correct comparison of signed/unsigned
Closes #14267
2020-05-04 12:06:30 +10:00
Andrew Tridgell f0fb64005d AP_Filesystem: document extra restrictions in param.pck 2020-04-30 21:15:28 +10:00
Andrew Tridgell 685d0666e9 AP_Filesystem: added README on VFS interface 2020-04-30 21:04:12 +10:00
Andrew Tridgell b519ebf512 AP_Filesystem: check for valid range for start and count 2020-04-29 07:36:55 +10:00
Andrew Tridgell f6d83069d3 AP_Filesystem: guarantee padding and added URI options 2020-04-29 07:36:55 +10:00
Andrew Tridgell 3608bfe272 AP_Filesystem: added magic header for param.pck 2020-04-29 07:36:55 +10:00
Andrew Tridgell 65749706c2 AP_Filesystem: fixed SITL build 2020-04-29 07:36:55 +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 cd3b4dcc7d AP_Filesystem: added @SYS filesystem backend 2020-04-29 07:36:55 +10:00
Andrew Tridgell 67fc23d01b AP_Filesystem: support downloading parameters via ftp
adds @PARAM/param.pck as a packed file of all parameters
2020-04-29 07:36:55 +10:00
Andrew Tridgell bceee69a6c AP_Filesystem: avoid some warnings in AP_Scripting 2020-04-28 10:32:23 +10:00
Andrew Tridgell 10c709a5a1 AP_Filesystem: use @ROMFS 2020-03-28 15:28:03 +11:00
Andrew Tridgell a8f7212d79 AP_Filesystem: fixed open for write in ROMFS 2020-03-28 15:28:03 +11: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 1cb711d35d AP_Filesystem: make SITL take paths relative to starting directory
this makes SITL filesystem behave more like a real device
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
Andrew Tridgell 7c35d2d56a AP_Filesystem: make unlink do both directories and files on posix
match FATFS behaviour
2019-11-02 22:52:06 +11:00
Michael du Breuil b0e232b30b AP_Filesystem: Split the available define to it's own header 2019-11-02 22:52:06 +11:00
Michael du Breuil 14bf946fe2 AP_Filesystem: Add dir type to fatfs 2019-11-02 22:52:06 +11:00
Andy Piper 6f3334b460 AP_Filesystem: build fixes for SITL on macOS 2019-09-09 20:18:00 +10: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