Browse Source

Rename lastnr to autostart_index and...

Replace instances of the number 13 with FILENAME_LENGTH where
appropriate.
Scott Lahteine 9 years ago
parent
commit
03c9cb60e8
5 changed files with 23 additions and 21 deletions
  1. 3
    3
      Marlin/SdBaseFile.cpp
  2. 5
    3
      Marlin/SdFatConfig.h
  3. 9
    9
      Marlin/cardreader.cpp
  4. 5
    5
      Marlin/cardreader.h
  5. 1
    1
      Marlin/ultralcd.cpp

+ 3
- 3
Marlin/SdBaseFile.cpp View File

1012
  * the value zero, false, is returned for failure.
1012
  * the value zero, false, is returned for failure.
1013
  */
1013
  */
1014
 bool SdBaseFile::printName() {
1014
 bool SdBaseFile::printName() {
1015
-  char name[13];
1015
+  char name[FILENAME_LENGTH];
1016
   if (!getFilename(name)) return false;
1016
   if (!getFilename(name)) return false;
1017
   MYSERIAL.print(name);
1017
   MYSERIAL.print(name);
1018
   return true;
1018
   return true;
1135
     	if (VFAT->firstClusterLow == 0 && (VFAT->sequenceNumber & 0x1F) > 0 && (VFAT->sequenceNumber & 0x1F) <= MAX_VFAT_ENTRIES)
1135
     	if (VFAT->firstClusterLow == 0 && (VFAT->sequenceNumber & 0x1F) > 0 && (VFAT->sequenceNumber & 0x1F) <= MAX_VFAT_ENTRIES)
1136
     	{
1136
     	{
1137
 			//TODO: Store the filename checksum to verify if a none-long filename aware system modified the file table.
1137
 			//TODO: Store the filename checksum to verify if a none-long filename aware system modified the file table.
1138
-    		n = ((VFAT->sequenceNumber & 0x1F) - 1) * 13;
1138
+    		n = ((VFAT->sequenceNumber & 0x1F) - 1) * FILENAME_LENGTH;
1139
 			longFilename[n+0] = VFAT->name1[0];
1139
 			longFilename[n+0] = VFAT->name1[0];
1140
 			longFilename[n+1] = VFAT->name1[1];
1140
 			longFilename[n+1] = VFAT->name1[1];
1141
 			longFilename[n+2] = VFAT->name1[2];
1141
 			longFilename[n+2] = VFAT->name1[2];
1151
 			longFilename[n+12] = VFAT->name3[1];
1151
 			longFilename[n+12] = VFAT->name3[1];
1152
 			//If this VFAT entry is the last one, add a NUL terminator at the end of the string
1152
 			//If this VFAT entry is the last one, add a NUL terminator at the end of the string
1153
 			if (VFAT->sequenceNumber & 0x40)
1153
 			if (VFAT->sequenceNumber & 0x40)
1154
-				longFilename[n+13] = '\0';
1154
+				longFilename[n+FILENAME_LENGTH] = '\0';
1155
 		}
1155
 		}
1156
     }
1156
     }
1157
     // return if normal file or subdirectory
1157
     // return if normal file or subdirectory

+ 5
- 3
Marlin/SdFatConfig.h View File

108
  * a pure virtual function is called.
108
  * a pure virtual function is called.
109
  */
109
  */
110
 #define USE_CXA_PURE_VIRTUAL 1
110
 #define USE_CXA_PURE_VIRTUAL 1
111
+
112
+/** Number of UTF-16 characters per entry */
113
+#define FILENAME_LENGTH 13
114
+
111
 /**
115
 /**
112
  * Defines for long (vfat) filenames
116
  * Defines for long (vfat) filenames
113
  */
117
  */
114
 /** Number of VFAT entries used. Every entry has 13 UTF-16 characters */
118
 /** Number of VFAT entries used. Every entry has 13 UTF-16 characters */
115
 #define MAX_VFAT_ENTRIES (2)
119
 #define MAX_VFAT_ENTRIES (2)
116
-/** Number of UTF-16 characters per entry */
117
-#define FILENAME_LENGTH 13
118
 /** Total size of the buffer used to store the long filenames */
120
 /** Total size of the buffer used to store the long filenames */
119
-#define LONG_FILENAME_LENGTH (13*MAX_VFAT_ENTRIES+1)
121
+#define LONG_FILENAME_LENGTH (FILENAME_LENGTH*MAX_VFAT_ENTRIES+1)
120
 #endif  // SdFatConfig_h
122
 #endif  // SdFatConfig_h
121
 
123
 
122
 
124
 

+ 9
- 9
Marlin/cardreader.cpp View File

23
    memset(workDirParents, 0, sizeof(workDirParents));
23
    memset(workDirParents, 0, sizeof(workDirParents));
24
 
24
 
25
    autostart_stilltocheck=true; //the SD start is delayed, because otherwise the serial cannot answer fast enough to make contact with the host software.
25
    autostart_stilltocheck=true; //the SD start is delayed, because otherwise the serial cannot answer fast enough to make contact with the host software.
26
-   lastnr=0;
26
+   autostart_index=0;
27
   //power to SD reader
27
   //power to SD reader
28
   #if SDPOWER > -1
28
   #if SDPOWER > -1
29
     SET_OUTPUT(SDPOWER); 
29
     SET_OUTPUT(SDPOWER); 
60
     if( DIR_IS_SUBDIR(&p) && lsAction!=LS_Count && lsAction!=LS_GetFilename) // hence LS_SerialPrint
60
     if( DIR_IS_SUBDIR(&p) && lsAction!=LS_Count && lsAction!=LS_GetFilename) // hence LS_SerialPrint
61
     {
61
     {
62
 
62
 
63
-      char path[13*2];
64
-      char lfilename[13];
63
+      char path[FILENAME_LENGTH*2];
64
+      char lfilename[FILENAME_LENGTH];
65
       createFilename(lfilename,p);
65
       createFilename(lfilename,p);
66
       
66
       
67
       path[0]=0;
67
       path[0]=0;
241
     while(*t!=0 && cnt< MAXPATHNAMELENGTH) 
241
     while(*t!=0 && cnt< MAXPATHNAMELENGTH) 
242
     {t++;cnt++;}  //crawl counter forward.
242
     {t++;cnt++;}  //crawl counter forward.
243
   }
243
   }
244
-  if(cnt<MAXPATHNAMELENGTH-13)
244
+  if(cnt<MAXPATHNAMELENGTH-FILENAME_LENGTH)
245
     file.getFilename(t);
245
     file.getFilename(t);
246
   else
246
   else
247
     t[0]=0;
247
     t[0]=0;
311
       //SERIAL_ECHO("end  :");SERIAL_ECHOLN((int)(dirname_end-name));
311
       //SERIAL_ECHO("end  :");SERIAL_ECHOLN((int)(dirname_end-name));
312
       if(dirname_end>0 && dirname_end>dirname_start)
312
       if(dirname_end>0 && dirname_end>dirname_start)
313
       {
313
       {
314
-        char subdirname[13];
314
+        char subdirname[FILENAME_LENGTH];
315
         strncpy(subdirname, dirname_start, dirname_end-dirname_start);
315
         strncpy(subdirname, dirname_start, dirname_end-dirname_start);
316
         subdirname[dirname_end-dirname_start]=0;
316
         subdirname[dirname_end-dirname_start]=0;
317
         SERIAL_ECHOLN(subdirname);
317
         SERIAL_ECHOLN(subdirname);
408
       //SERIAL_ECHO("end  :");SERIAL_ECHOLN((int)(dirname_end-name));
408
       //SERIAL_ECHO("end  :");SERIAL_ECHOLN((int)(dirname_end-name));
409
       if(dirname_end>0 && dirname_end>dirname_start)
409
       if(dirname_end>0 && dirname_end>dirname_start)
410
       {
410
       {
411
-        char subdirname[13];
411
+        char subdirname[FILENAME_LENGTH];
412
         strncpy(subdirname, dirname_start, dirname_end-dirname_start);
412
         strncpy(subdirname, dirname_start, dirname_end-dirname_start);
413
         subdirname[dirname_end-dirname_start]=0;
413
         subdirname[dirname_end-dirname_start]=0;
414
         SERIAL_ECHOLN(subdirname);
414
         SERIAL_ECHOLN(subdirname);
510
   }
510
   }
511
   
511
   
512
   char autoname[30];
512
   char autoname[30];
513
-  sprintf_P(autoname, PSTR("auto%i.g"), lastnr);
513
+  sprintf_P(autoname, PSTR("auto%i.g"), autostart_index);
514
   for(int8_t i=0;i<(int8_t)strlen(autoname);i++)
514
   for(int8_t i=0;i<(int8_t)strlen(autoname);i++)
515
     autoname[i]=tolower(autoname[i]);
515
     autoname[i]=tolower(autoname[i]);
516
   dir_t p;
516
   dir_t p;
537
     }
537
     }
538
   }
538
   }
539
   if(!found)
539
   if(!found)
540
-    lastnr=-1;
540
+    autostart_index=-1;
541
   else
541
   else
542
-    lastnr++;
542
+    autostart_index++;
543
 }
543
 }
544
 
544
 
545
 void CardReader::closefile(bool store_location)
545
 void CardReader::closefile(bool store_location)

+ 5
- 5
Marlin/cardreader.h View File

50
 public:
50
 public:
51
   bool saving;
51
   bool saving;
52
   bool logging;
52
   bool logging;
53
-  bool sdprinting ;  
54
-  bool cardOK ;
55
-  char filename[13];
53
+  bool sdprinting;  
54
+  bool cardOK;
55
+  char filename[FILENAME_LENGTH];
56
   char longFilename[LONG_FILENAME_LENGTH];
56
   char longFilename[LONG_FILENAME_LENGTH];
57
   bool filenameIsDir;
57
   bool filenameIsDir;
58
-  int lastnr; //last number of the autostart;
58
+  int autostart_index;
59
 private:
59
 private:
60
   SdFile root,*curDir,workDir,workDirParents[MAX_DIR_DEPTH];
60
   SdFile root,*curDir,workDir,workDirParents[MAX_DIR_DEPTH];
61
   uint16_t workDirDepth;
61
   uint16_t workDirDepth;
63
   SdVolume volume;
63
   SdVolume volume;
64
   SdFile file;
64
   SdFile file;
65
   #define SD_PROCEDURE_DEPTH 1
65
   #define SD_PROCEDURE_DEPTH 1
66
-  #define MAXPATHNAMELENGTH (13*MAX_DIR_DEPTH+MAX_DIR_DEPTH+1)
66
+  #define MAXPATHNAMELENGTH (FILENAME_LENGTH*MAX_DIR_DEPTH+MAX_DIR_DEPTH+1)
67
   uint8_t file_subcall_ctr;
67
   uint8_t file_subcall_ctr;
68
   uint32_t filespos[SD_PROCEDURE_DEPTH];
68
   uint32_t filespos[SD_PROCEDURE_DEPTH];
69
   char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH];
69
   char filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH];

+ 1
- 1
Marlin/ultralcd.cpp View File

377
 #ifdef SDSUPPORT
377
 #ifdef SDSUPPORT
378
 static void lcd_autostart_sd()
378
 static void lcd_autostart_sd()
379
 {
379
 {
380
-    card.lastnr=0;
380
+    card.autostart_index=0;
381
     card.setroot();
381
     card.setroot();
382
     card.checkautostart(true);
382
     card.checkautostart(true);
383
 }
383
 }

Loading…
Cancel
Save