chiark / gitweb /
added autostart procedure trigger to the ultralcd menu
authorBernhard <bkubicek@x201.(none)>
Fri, 9 Dec 2011 11:33:00 +0000 (12:33 +0100)
committerBernhard <bkubicek@x201.(none)>
Fri, 9 Dec 2011 11:33:00 +0000 (12:33 +0100)
Marlin/cardreader.h
Marlin/cardreader.pde
Marlin/ultralcd.pde

index 70244a8774a220a3e420d7c96f26335e3031045a..70f0d2c1d9407c0b8bb5fb1ca97f657198f57032 100644 (file)
@@ -44,6 +44,7 @@ public:
   bool cardOK ;
   char filename[11];
   bool filenameIsDir;
+  int lastnr; //last number of the autostart;
 private:
   SdFile root,*curDir,workDir,workDirParent,workDirParentParent;
   Sd2Card card;
index 1eb19ba00c2858f713d5406740f07e058c5b94ac..8355f6aedae61ccdde5d1ab68d19f41a58816c66 100644 (file)
@@ -14,6 +14,7 @@ CardReader::CardReader()
    autostart_atmillis=0;
 
    autostart_stilltocheck=true; //the sd start is delayed, because otherwise the serial cannot answer fast enought to make contact with the hostsoftware.
+   lastnr=0;
   //power to SD reader
   #if SDPOWER > -1
     SET_OUTPUT(SDPOWER); 
@@ -334,7 +335,7 @@ void CardReader::checkautostart(bool force)
     if(!cardOK) //fail
       return;
   }
-  static int lastnr=0;
+  
   char autoname[30];
   sprintf(autoname,"auto%i.g",lastnr);
   for(int8_t i=0;i<(int)strlen(autoname);i++)
@@ -434,7 +435,8 @@ void CardReader::printingHasFinished()
  sdprinting = false;
  if(SD_FINISHED_STEPPERRELEASE)
  {
-   finishAndDisableSteppers();
+   //finishAndDisableSteppers();
+   enquecommand("M84");
  }
  autotempShutdown();
 }
index 88f8f32fb31c36358c6d862a299c2c36fd06d428..e89474ed281e11091ebc6a5901a3f1ba96ba7143 100644 (file)
@@ -437,7 +437,7 @@ void MainMenu::showStatus()
   force_lcd_update=false;\r
 }\r
 \r
-enum {ItemP_exit, ItemP_home, ItemP_origin, ItemP_preheat, ItemP_extrude, ItemP_disstep};\r
+enum {ItemP_exit, ItemP_autostart,ItemP_disstep,ItemP_home, ItemP_origin, ItemP_preheat, ItemP_extrude};\r
 \r
 //any action must not contain a ',' character anywhere, or this breaks:\r
 #define MENUITEM(repaint_action, click_action) \\r
@@ -458,6 +458,12 @@ void MainMenu::showPrepare()
     case ItemP_exit:\r
       MENUITEM(  lcdprintPGM(" Main \003")  ,  BLOCK;status=Main_Menu;beepshort(); ) ;\r
       break;\r
+    case ItemP_autostart:\r
+      MENUITEM(  lcdprintPGM(" Autostart")  ,  BLOCK;card.lastnr=0;card.checkautostart(true);beepshort(); ) ;\r
+      break;\r
+    case ItemP_disstep:\r
+      MENUITEM(  lcdprintPGM(" Disable Steppers")  ,  BLOCK;enquecommand("M84");beepshort(); ) ;\r
+      break;\r
     case ItemP_home:\r
       MENUITEM(  lcdprintPGM(" Auto Home")  ,  BLOCK;enquecommand("G28 X-105 Y-105 Z0");beepshort(); ) ;\r
       break;\r
@@ -470,15 +476,14 @@ void MainMenu::showPrepare()
     case ItemP_extrude:\r
       MENUITEM(  lcdprintPGM(" Extrude")  ,  BLOCK;enquecommand("G92 E0");enquecommand("G1 F700 E50");beepshort(); ) ;\r
       break;\r
-    case ItemP_disstep:\r
-      MENUITEM(  lcdprintPGM(" Disable Steppers")  ,  BLOCK;enquecommand("M84");beepshort(); ) ;\r
-      break;\r
+    \r
+    \r
     default:   \r
       break;\r
   }\r
   line++;\r
  }\r
- updateActiveLines(ItemP_disstep,encoderpos);\r
+ updateActiveLines(ItemP_extrude,encoderpos);\r
 }\r
 \r
 enum {ItemT_exit,ItemT_speed,ItemT_flow,ItemT_nozzle,ItemT_fan};\r