Browse Source

SD Menu patches

Scott Lahteine 7 years ago
parent
commit
f90c075d1f
3 changed files with 8 additions and 6 deletions
  1. 3
    2
      Marlin/src/lcd/ultralcd.cpp
  2. 4
    3
      Marlin/src/sd/cardreader.cpp
  3. 1
    1
      Marlin/src/sd/cardreader.h

+ 3
- 2
Marlin/src/lcd/ultralcd.cpp View File

3743
     #endif
3743
     #endif
3744
 
3744
 
3745
     void lcd_sd_updir() {
3745
     void lcd_sd_updir() {
3746
-      card.updir();
3746
+      encoderPosition = card.updir() ? ENCODER_STEPS_PER_MENU_ITEM : 0;
3747
       encoderTopLine = 0;
3747
       encoderTopLine = 0;
3748
       screen_changed = true;
3748
       screen_changed = true;
3749
       lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
3749
       lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
4444
     void menu_action_sddirectory(const char* filename, char* longFilename) {
4444
     void menu_action_sddirectory(const char* filename, char* longFilename) {
4445
       UNUSED(longFilename);
4445
       UNUSED(longFilename);
4446
       card.chdir(filename);
4446
       card.chdir(filename);
4447
-      encoderPosition = 0;
4447
+      encoderTopLine = 0;
4448
+      encoderPosition = 2 * ENCODER_STEPS_PER_MENU_ITEM;
4448
       screen_changed = true;
4449
       screen_changed = true;
4449
       lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
4450
       lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW;
4450
     }
4451
     }

+ 4
- 3
Marlin/src/sd/cardreader.cpp View File

631
   }
631
   }
632
 }
632
 }
633
 
633
 
634
-void CardReader::updir() {
635
-  if (workDirDepth > 0) {                                           // At least 1 dir has been saved
636
-    workDir = --workDirDepth ? workDirParents[workDirDepth] : root; // Use parent, or root if none
634
+int8_t CardReader::updir() {
635
+  if (workDirDepth > 0) {                                               // At least 1 dir has been saved
636
+    workDir = --workDirDepth ? workDirParents[workDirDepth - 1] : root; // Use parent, or root if none
637
     #if ENABLED(SDCARD_SORT_ALPHA)
637
     #if ENABLED(SDCARD_SORT_ALPHA)
638
       presort();
638
       presort();
639
     #endif
639
     #endif
640
   }
640
   }
641
+  return workDirDepth;
641
 }
642
 }
642
 
643
 
643
 #if ENABLED(SDCARD_SORT_ALPHA)
644
 #if ENABLED(SDCARD_SORT_ALPHA)

+ 1
- 1
Marlin/src/sd/cardreader.h View File

63
 
63
 
64
   void ls();
64
   void ls();
65
   void chdir(const char *relpath);
65
   void chdir(const char *relpath);
66
-  void updir();
66
+  int8_t updir();
67
   void setroot();
67
   void setroot();
68
 
68
 
69
   uint16_t get_num_Files();
69
   uint16_t get_num_Files();

Loading…
Cancel
Save