Commit Graph

146 Commits

Author SHA1 Message Date
Andrew Tridgell
0b7353bb89 AP_Filesystem: detect inconsistent parameter count
on incorrect param count invalidate it so a 2nd param ftp will get the
right count
2023-01-04 21:50:24 +11:00
Wiktor Maslowski
02b2b9b807 AP_Filesystem: fixed builds for ESP32 2022-11-28 12:23:07 +11:00
Andrew Tridgell
5fc018fff4 AP_Filesystem: fixed open to return nullptr on failure
this impacts lua io.open()
2022-11-10 10:31:29 +11:00
Peter Barker
b1897cd9a4 AP_Filesystem: correct compilation with rally disabled 2022-09-27 10:16:47 +10:00
Peter Barker
22d8d0a0fd AP_FileSystem: correct compilation when fence disabled 2022-09-27 10:16:47 +10:00
Friedrich Beckmann
744a741b99 AP_Filesystem: Better estimation of filesize for parameter file
The actual filesize of the parameter downloadfile is around
15200 bytes. The indicated filesize is used in QGC for the
progressbar. This patch does not try to compute the exact filesize
but I try a better estimate. Only the full download off all
parameters is considered to avoid more complexity.
2022-09-27 09:38:25 +10:00
Peter Barker
c6989ed710 AP_Filesystem: fold AP_Filesystem_Available.h into AP_Filesystem_config.h 2022-09-15 10:53:02 +10:00
Peter Barker
b5165b6d7f AP_FileSystem: add AP_FILESYSTEM_*_ENABLED 2022-09-15 10:53:02 +10:00
Peter Barker
936fef11e2 AP_Filesystem: rename HAL_MISSION_ENABLED to AP_MISSION_ENABLED 2022-08-18 22:49:10 +10:00
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