Browse Source

Minor stepper cleanup

Scott Lahteine 7 years ago
parent
commit
98600e1433
3 changed files with 10 additions and 13 deletions
  1. 1
    4
      Marlin/Marlin_main.cpp
  2. 7
    7
      Marlin/stepper.cpp
  3. 2
    2
      Marlin/stepper.h

+ 1
- 4
Marlin/Marlin_main.cpp View File

@@ -2017,9 +2017,7 @@ static void clean_up_after_endstop_or_probe_move() {
2017 2017
     // When deploying make sure BLTOUCH is not already triggered
2018 2018
     #if ENABLED(BLTOUCH)
2019 2019
       if (deploy && TEST_BLTOUCH()) { stop(); return true; }
2020
-    #endif
2021
-
2022
-    #if ENABLED(Z_PROBE_SLED)
2020
+    #elif ENABLED(Z_PROBE_SLED)
2023 2021
       if (axis_unhomed_error(true, false, false)) { stop(); return true; }
2024 2022
     #elif ENABLED(Z_PROBE_ALLEN_KEY)
2025 2023
       if (axis_unhomed_error(true, true,  true )) { stop(); return true; }
@@ -2103,7 +2101,6 @@ static void clean_up_after_endstop_or_probe_move() {
2103 2101
     // Tell the planner where we actually are
2104 2102
     SYNC_PLAN_POSITION_KINEMATIC();
2105 2103
 
2106
-
2107 2104
     #if ENABLED(DEBUG_LEVELING_FEATURE)
2108 2105
       if (DEBUGGING(LEVELING)) DEBUG_POS("<<< do_probe_move", current_position);
2109 2106
     #endif

+ 7
- 7
Marlin/stepper.cpp View File

@@ -91,8 +91,8 @@ volatile uint32_t Stepper::step_events_completed = 0; // The number of step even
91 91
 
92 92
 #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE)
93 93
 
94
-  unsigned char Stepper::old_OCR0A = 0;
95
-  volatile unsigned char Stepper::eISR_Rate = 200; // Keep the ISR at a low rate until needed
94
+  uint8_t Stepper::old_OCR0A = 0;
95
+  volatile uint8_t Stepper::eISR_Rate = 200; // Keep the ISR at a low rate until needed
96 96
 
97 97
   #if ENABLED(LIN_ADVANCE)
98 98
     volatile int Stepper::e_steps[E_STEPPERS];
@@ -328,12 +328,12 @@ ISR(TIMER1_COMPA_vect) { Stepper::isr(); }
328 328
 
329 329
 void Stepper::isr() {
330 330
   if (cleaning_buffer_counter) {
331
+    --cleaning_buffer_counter;
331 332
     current_block = NULL;
332 333
     planner.discard_current_block();
333 334
     #ifdef SD_FINISHED_RELEASECOMMAND
334
-      if ((cleaning_buffer_counter == 1) && (SD_FINISHED_STEPPERRELEASE)) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
335
+      if (!cleaning_buffer_counter && (SD_FINISHED_STEPPERRELEASE)) enqueue_and_echo_commands_P(PSTR(SD_FINISHED_RELEASECOMMAND));
335 336
     #endif
336
-    cleaning_buffer_counter--;
337 337
     OCR1A = 200; // Run at max speed - 10 KHz
338 338
     return;
339 339
   }
@@ -551,7 +551,6 @@ void Stepper::isr() {
551 551
   #endif
552 552
 
553 553
   // Calculate new timer value
554
-  uint16_t timer, step_rate;
555 554
   if (step_events_completed <= (uint32_t)current_block->accelerate_until) {
556 555
 
557 556
     MultiU24X32toH16(acc_step_rate, acceleration_time, current_block->acceleration_rate);
@@ -561,7 +560,7 @@ void Stepper::isr() {
561 560
     NOMORE(acc_step_rate, current_block->nominal_rate);
562 561
 
563 562
     // step_rate to timer interval
564
-    timer = calc_timer(acc_step_rate);
563
+    uint16_t timer = calc_timer(acc_step_rate);
565 564
     OCR1A = timer;
566 565
     acceleration_time += timer;
567 566
 
@@ -603,6 +602,7 @@ void Stepper::isr() {
603 602
     #endif
604 603
   }
605 604
   else if (step_events_completed > (uint32_t)current_block->decelerate_after) {
605
+    uint16_t step_rate;
606 606
     MultiU24X32toH16(step_rate, deceleration_time, current_block->acceleration_rate);
607 607
 
608 608
     if (step_rate < acc_step_rate) { // Still decelerating?
@@ -613,7 +613,7 @@ void Stepper::isr() {
613 613
       step_rate = current_block->final_rate;
614 614
 
615 615
     // step_rate to timer interval
616
-    timer = calc_timer(step_rate);
616
+    uint16_t timer = calc_timer(step_rate);
617 617
     OCR1A = timer;
618 618
     deceleration_time += timer;
619 619
 

+ 2
- 2
Marlin/stepper.h View File

@@ -105,8 +105,8 @@ class Stepper {
105 105
     static volatile uint32_t step_events_completed; // The number of step events executed in the current block
106 106
 
107 107
     #if ENABLED(ADVANCE) || ENABLED(LIN_ADVANCE)
108
-      static unsigned char old_OCR0A;
109
-      static volatile unsigned char eISR_Rate;
108
+      static uint8_t old_OCR0A;
109
+      static volatile uint8_t eISR_Rate;
110 110
       #if ENABLED(LIN_ADVANCE)
111 111
         static volatile int e_steps[E_STEPPERS];
112 112
         static int final_estep_rate;

Loading…
Cancel
Save