Browse Source

Add STEPPER_RESET_PIN support

Scott Lahteine 10 years ago
parent
commit
447dbd6fa5
2 changed files with 21 additions and 0 deletions
  1. 1
    0
      Marlin/Conditionals.h
  2. 20
    0
      Marlin/Marlin_main.cpp

+ 1
- 0
Marlin/Conditionals.h View File

442
   #define HAS_MICROSTEPS_E0 (PIN_EXISTS(E0_MS1))
442
   #define HAS_MICROSTEPS_E0 (PIN_EXISTS(E0_MS1))
443
   #define HAS_MICROSTEPS_E1 (PIN_EXISTS(E1_MS1))
443
   #define HAS_MICROSTEPS_E1 (PIN_EXISTS(E1_MS1))
444
   #define HAS_MICROSTEPS_E2 (PIN_EXISTS(E2_MS1))
444
   #define HAS_MICROSTEPS_E2 (PIN_EXISTS(E2_MS1))
445
+  #define HAS_STEPPER_RESET (PIN_EXISTS(STEPPER_RESET))
445
   #define HAS_X_ENABLE (PIN_EXISTS(X_ENABLE))
446
   #define HAS_X_ENABLE (PIN_EXISTS(X_ENABLE))
446
   #define HAS_X2_ENABLE (PIN_EXISTS(X2_ENABLE))
447
   #define HAS_X2_ENABLE (PIN_EXISTS(X2_ENABLE))
447
   #define HAS_Y_ENABLE (PIN_EXISTS(Y_ENABLE))
448
   #define HAS_Y_ENABLE (PIN_EXISTS(Y_ENABLE))

+ 20
- 0
Marlin/Marlin_main.cpp View File

580
 }
580
 }
581
 
581
 
582
 /**
582
 /**
583
+ * Stepper Reset (RigidBoard, et.al.)
584
+ */
585
+#if HAS_STEPPER_RESET
586
+  void disableStepperDrivers() {
587
+    pinMode(STEPPER_RESET_PIN, OUTPUT);
588
+    digitalWrite(STEPPER_RESET_PIN, LOW);  // drive it down to hold in reset motor driver chips
589
+  }
590
+  void enableStepperDrivers() { pinMode(STEPPER_RESET_PIN, INPUT); }  // set to input, which allows it to be pulled high by pullups
591
+#endif
592
+
593
+/**
583
  * Marlin entry-point: Set up before the program loop
594
  * Marlin entry-point: Set up before the program loop
584
  *  - Set up the kill pin, filament runout, power hold
595
  *  - Set up the kill pin, filament runout, power hold
585
  *  - Start the serial port
596
  *  - Start the serial port
601
   setup_killpin();
612
   setup_killpin();
602
   setup_filrunoutpin();
613
   setup_filrunoutpin();
603
   setup_powerhold();
614
   setup_powerhold();
615
+
616
+  #if HAS_STEPPER_RESET
617
+    disableStepperDrivers();
618
+  #endif
619
+
604
   MYSERIAL.begin(BAUDRATE);
620
   MYSERIAL.begin(BAUDRATE);
605
   SERIAL_PROTOCOLLNPGM("start");
621
   SERIAL_PROTOCOLLNPGM("start");
606
   SERIAL_ECHO_START;
622
   SERIAL_ECHO_START;
656
     SET_OUTPUT(CONTROLLERFAN_PIN); //Set pin used for driver cooling fan
672
     SET_OUTPUT(CONTROLLERFAN_PIN); //Set pin used for driver cooling fan
657
   #endif
673
   #endif
658
 
674
 
675
+  #if HAS_STEPPER_RESET
676
+    enableStepperDrivers();
677
+  #endif
678
+
659
   #ifdef DIGIPOT_I2C
679
   #ifdef DIGIPOT_I2C
660
     digipot_i2c_init();
680
     digipot_i2c_init();
661
   #endif
681
   #endif

Loading…
Cancel
Save