Do SD sort order in CardReader

This commit is contained in:
Scott Lahteine
2020-04-25 18:39:47 -05:00
parent fc98383659
commit 967c1d8534
4 changed files with 5 additions and 16 deletions

View File

@ -924,7 +924,7 @@ void CardReader::cdroot() {
// Init sort order.
for (uint16_t i = 0; i < fileCnt; i++) {
sort_order[i] = TERN(SDCARD_RATHERRECENTFIRST, fileCnt - 1 - i, i);
sort_order[i] = SD_ORDER(i, fileCnt);
// If using RAM then read all filenames now.
#if ENABLED(SDSORT_USES_RAM)
selectFileByIndex(i);

View File

@ -29,6 +29,8 @@
#define SD_RESORT 1
#endif
#define SD_ORDER(N,C) (TERN(SDCARD_RATHERRECENTFIRST, C - 1 - (N), N))
#define MAX_DIR_DEPTH 10 // Maximum folder depth
#define MAXDIRNAMELENGTH 8 // DOS folder name size
#define MAXPATHNAMELENGTH (1 + (MAXDIRNAMELENGTH + 1) * (MAX_DIR_DEPTH) + 1 + FILENAME_LENGTH) // "/" + N * ("ADIRNAME/") + "filename.ext"