summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorhathach <[email protected]>2026-04-02 17:32:45 +0700
committerhathach <[email protected]>2026-04-02 17:32:45 +0700
commitb77632ebff88cbd9f43c1eec94d6f589dcee336e (patch)
tree7702848d6f490178436d06ea2b0099e83f7c1006 /tools
parent871b843245666786857f54b7ffc1454d4acad7a0 (diff)
update FatFS to R0.16 via abbrev/fatfs dependency
- Add lib/fatfs to deps_mandatory in get_deps.py, pinned to R0.16 (commit 30ca13c6) from github.com/abbrev/fatfs mirror - Move TinyUSB custom ffconf.h to examples/host/msc_file_explorer/src/ with project-specific settings: FF_CODE_PAGE=437, FF_USE_LFN=1, FF_FS_RPATH=2, FF_VOLUMES=4, FF_FS_NORTC=1 - get_deps.py removes stock ffconf.h after clone to avoid conflict - Remove vendored fatfs source files from git tracking FatFS R0.16 includes important fixes since R0.15: - Fixed FAT32 FsInfo regression (forced full FAT scan on f_getfree) - Fixed f_readdir infinite loop (from R0.15b) - f_getcwd/.. now works on exFAT - Added FF_FS_CRTIME support
Diffstat (limited to 'tools')
-rwxr-xr-xtools/get_deps.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/tools/get_deps.py b/tools/get_deps.py
index 25b85ac3b..23f015c0d 100755
--- a/tools/get_deps.py
+++ b/tools/get_deps.py
@@ -8,6 +8,9 @@ from multiprocessing import Pool
# Mandatory Dependencies that is always fetched
# path, url, commit, family (Alphabet sorted by path)
deps_mandatory = {
+ 'lib/fatfs': ['https://github.com/abbrev/fatfs.git',
+ '30ca13c62615df0d2e9104ab41256985b96590c1',
+ 'all'],
'lib/FreeRTOS-Kernel': ['https://github.com/FreeRTOS/FreeRTOS-Kernel.git',
'cc0e0707c0c748713485b870bb980852b210877f',
'all'],
@@ -284,6 +287,11 @@ deps_optional = {
'lpc55'],
}
+# Files to remove after cloning to avoid conflicts with TinyUSB's custom versions
+deps_remove_files = {
+ 'lib/fatfs': ['source/ffconf.h'],
+}
+
# combined 2 deps
deps_all = {**deps_mandatory, **deps_optional}
@@ -329,6 +337,13 @@ def get_a_dep(d):
run_cmd(f"{git_cmd} fetch --depth 1 origin {commit}")
run_cmd(f"{git_cmd} checkout FETCH_HEAD")
+ # Remove files that conflict with TinyUSB's custom versions
+ if d in deps_remove_files:
+ for f in deps_remove_files[d]:
+ fp = p / f
+ if fp.exists():
+ fp.unlink()
+
return 0