Apply TERN to compact code (#17619)

This commit is contained in:
Scott Lahteine
2020-04-22 16:35:03 -05:00
committed by GitHub
parent 88bdd26c99
commit 6d90d1e1f5
162 changed files with 1493 additions and 3530 deletions

View File

@ -407,16 +407,12 @@ void CardReader::manage_media() {
ui.media_changed(old_stat, stat); // Update the UI
if (stat) {
#if ENABLED(SDCARD_EEPROM_EMULATION)
settings.first_load();
#endif
if (old_stat == 2) { // First mount?
#if ENABLED(POWER_LOSS_RECOVERY)
recovery.check();
#else
beginautostart(); // Look for autostart files soon
#endif
}
TERN_(SDCARD_EEPROM_EMULATION, settings.first_load());
if (old_stat == 2) // First mount?
TERN(POWER_LOSS_RECOVERY,
recovery.check(), // Check for PLR file. (If not there it will beginautostart)
beginautostart() // Look for auto0.g on the next loop
);
}
}
}
@ -438,25 +434,15 @@ void CardReader::openAndPrintFile(const char *name) {
void CardReader::startFileprint() {
if (isMounted()) {
flag.sdprinting = true;
#if SD_RESORT
flush_presort();
#endif
TERN_(SD_RESORT, flush_presort());
}
}
void CardReader::endFilePrint(
#if SD_RESORT
const bool re_sort/*=false*/
#endif
) {
#if ENABLED(ADVANCED_PAUSE_FEATURE)
did_pause_print = 0;
#endif
void CardReader::endFilePrint(TERN_(SD_RESORT, const bool re_sort/*=false*/)) {
TERN_(ADVANCED_PAUSE_FEATURE, did_pause_print = 0);
flag.sdprinting = flag.abort_sd_printing = false;
if (isFileOpen()) file.close();
#if SD_RESORT
if (re_sort) presort();
#endif
TERN_(SD_RESORT, if (re_sort) presort());
}
void CardReader::openLogFile(char * const path) {
@ -590,9 +576,7 @@ void CardReader::openFileWrite(char * const path) {
if (file.open(curDir, fname, O_CREAT | O_APPEND | O_WRITE | O_TRUNC)) {
flag.saving = true;
selectFileByName(fname);
#if ENABLED(EMERGENCY_PARSER)
emergency_parser.disable();
#endif
TERN_(EMERGENCY_PARSER, emergency_parser.disable());
echo_write_to_file(fname);
ui.set_status(fname);
}
@ -615,9 +599,7 @@ void CardReader::removeFile(const char * const name) {
if (file.remove(curDir, fname)) {
SERIAL_ECHOLNPAIR("File deleted:", fname);
sdpos = 0;
#if ENABLED(SDCARD_SORT_ALPHA)
presort();
#endif
TERN_(SDCARD_SORT_ALPHA, presort());
}
else
SERIAL_ECHOLNPAIR("Deletion failed, File: ", fname, ".");
@ -664,15 +646,10 @@ void CardReader::checkautostart() {
if (autostart_index < 0 || flag.sdprinting) return;
if (!isMounted()) mount();
#if ENABLED(SDCARD_EEPROM_EMULATION)
else settings.first_load();
#endif
TERN_(SDCARD_EEPROM_EMULATION, else settings.first_load());
if (isMounted()
#if ENABLED(POWER_LOSS_RECOVERY)
&& !recovery.valid() // Don't run auto#.g when a resume file exists
#endif
) {
// Don't run auto#.g when a PLR file exists
if (isMounted() && TERN1(POWER_LOSS_RECOVERY, !recovery.valid())) {
char autoname[8];
sprintf_P(autoname, PSTR("auto%c.g"), autostart_index + '0');
dir_t p;
@ -699,9 +676,7 @@ void CardReader::closefile(const bool store_location) {
file.close();
flag.saving = flag.logging = false;
sdpos = 0;
#if ENABLED(EMERGENCY_PARSER)
emergency_parser.enable();
#endif
TERN_(EMERGENCY_PARSER, emergency_parser.enable());
if (store_location) {
//future: store printer state, filename and position for continuing a stopped print
@ -824,9 +799,7 @@ void CardReader::cd(const char * relpath) {
flag.workDirIsRoot = false;
if (workDirDepth < MAX_DIR_DEPTH)
workDirParents[workDirDepth++] = workDir;
#if ENABLED(SDCARD_SORT_ALPHA)
presort();
#endif
TERN_(SDCARD_SORT_ALPHA, presort());
}
else {
SERIAL_ECHO_START();
@ -837,9 +810,7 @@ void CardReader::cd(const char * relpath) {
int8_t CardReader::cdup() {
if (workDirDepth > 0) { // At least 1 dir has been saved
workDir = --workDirDepth ? workDirParents[workDirDepth - 1] : root; // Use parent, or root if none
#if ENABLED(SDCARD_SORT_ALPHA)
presort();
#endif
TERN_(SDCARD_SORT_ALPHA, presort());
}
if (!workDirDepth) flag.workDirIsRoot = true;
return workDirDepth;
@ -848,9 +819,7 @@ int8_t CardReader::cdup() {
void CardReader::cdroot() {
workDir = root;
flag.workDirIsRoot = true;
#if ENABLED(SDCARD_SORT_ALPHA)
presort();
#endif
TERN_(SDCARD_SORT_ALPHA, presort());
}
#if ENABLED(SDCARD_SORT_ALPHA)
@ -859,12 +828,8 @@ void CardReader::cdroot() {
* Get the name of a file in the working directory by sort-index
*/
void CardReader::getfilename_sorted(const uint16_t nr) {
selectFileByIndex(
#if ENABLED(SDSORT_GCODE)
sort_alpha &&
#endif
(nr < sort_count) ? sort_order[nr] : nr
);
selectFileByIndex(TERN1(SDSORT_GCODE, sort_alpha) && (nr < sort_count)
? sort_order[nr] : nr);
}
#if ENABLED(SDSORT_USES_RAM)
@ -910,9 +875,7 @@ void CardReader::cdroot() {
flush_presort();
// Sorting may be turned off
#if ENABLED(SDSORT_GCODE)
if (!sort_alpha) return;
#endif
if (TERN0(SDSORT_GCODE, !sort_alpha)) return;
// If there are files, sort up to the limit
uint16_t fileCnt = countFilesInWorkDir();
@ -923,9 +886,7 @@ void CardReader::cdroot() {
NOMORE(fileCnt, uint16_t(SDSORT_LIMIT));
// Sort order is always needed. May be static or dynamic.
#if ENABLED(SDSORT_DYNAMIC_RAM)
sort_order = new uint8_t[fileCnt];
#endif
TERN_(SDSORT_DYNAMIC_RAM, sort_order = new uint8_t[fileCnt]);
// Use RAM to store the entire directory during pre-sort.
// SDSORT_LIMIT should be set to prevent over-allocation.
@ -963,11 +924,7 @@ void CardReader::cdroot() {
// Init sort order.
for (uint16_t i = 0; i < fileCnt; i++) {
sort_order[i] = (
#if ENABLED(SDCARD_RATHERRECENTFIRST)
fileCnt - 1 -
#endif
i);
sort_order[i] = TERN(SDCARD_RATHERRECENTFIRST, fileCnt - 1 - i, i);
// If using RAM then read all filenames now.
#if ENABLED(SDSORT_USES_RAM)
selectFileByIndex(i);
@ -991,9 +948,7 @@ void CardReader::cdroot() {
#if DISABLED(SDSORT_USES_RAM)
selectFileByIndex(o1); // Pre-fetch the first entry and save it
strcpy(name1, longest_filename()); // so the loop only needs one fetch
#if HAS_FOLDER_SORTING
bool dir1 = flag.filenameIsDir;
#endif
TERN_(HAS_FOLDER_SORTING, bool dir1 = flag.filenameIsDir);
#endif
for (uint16_t j = 0; j < i; ++j) {
@ -1045,9 +1000,7 @@ void CardReader::cdroot() {
// The next o1 is the current o2. No new fetch needed.
o1 = o2;
#if DISABLED(SDSORT_USES_RAM)
#if HAS_FOLDER_SORTING
dir1 = dir2;
#endif
TERN_(HAS_FOLDER_SORTING, dir1 = dir2);
strcpy(name1, name2);
#endif
}
@ -1058,9 +1011,7 @@ void CardReader::cdroot() {
#if ENABLED(SDSORT_USES_RAM) && DISABLED(SDSORT_CACHE_NAMES)
#if ENABLED(SDSORT_DYNAMIC_RAM)
for (uint16_t i = 0; i < fileCnt; ++i) free(sortnames[i]);
#if HAS_FOLDER_SORTING
free(isDir);
#endif
TERN_(HAS_FOLDER_SORTING, free(isDir));
#endif
#endif
}
@ -1127,9 +1078,7 @@ void CardReader::fileHasFinished() {
else {
endFilePrint();
#if ENABLED(SDCARD_SORT_ALPHA)
presort();
#endif
TERN_(SDCARD_SORT_ALPHA, presort());
marlin_state = MF_SD_COMPLETE;
}

View File

@ -25,7 +25,9 @@
#if ENABLED(SDSUPPORT)
#define SD_RESORT BOTH(SDCARD_SORT_ALPHA, SDSORT_DYNAMIC_RAM)
#if BOTH(SDCARD_SORT_ALPHA, SDSORT_DYNAMIC_RAM)
#define SD_RESORT 1
#endif
#define MAX_DIR_DEPTH 10 // Maximum folder depth
#define MAXDIRNAMELENGTH 8 // DOS folder name size
@ -113,11 +115,7 @@ public:
static void getAbsFilename(char *dst);
static void printFilename();
static void startFileprint();
static void endFilePrint(
#if SD_RESORT
const bool re_sort=false
#endif
);
static void endFilePrint(TERN_(SD_RESORT, const bool re_sort=false));
static void report_status();
static inline void pauseSDPrint() { flag.sdprinting = false; }
static inline bool isPaused() { return isFileOpen() && !flag.sdprinting; }