Przeglądaj źródła

Changed default MINIMUM_PLANNER_SPEED -> 0.05

Fixed small bug in arcs
M105 prints now actual_temp/target_temp
Erik van der Zalm 13 lat temu
rodzic
commit
4ca2f336f0
4 zmienionych plików z 18 dodań i 6 usunięć
  1. 1
    1
      Marlin/Configuration_adv.h
  2. 4
    0
      Marlin/Marlin.pde
  3. 2
    0
      Marlin/motion_control.cpp
  4. 11
    5
      Marlin/planner.cpp

+ 1
- 1
Marlin/Configuration_adv.h Wyświetl plik

@@ -108,7 +108,7 @@
108 108
 // Minimum planner junction speed. Sets the default minimum speed the planner plans for at the end
109 109
 // of the buffer and all stops. This should not be much greater than zero and should only be changed
110 110
 // if unwanted behavior is observed on a user's machine when running at very slow speeds.
111
-#define MINIMUM_PLANNER_SPEED 2.0 // (mm/sec)
111
+#define MINIMUM_PLANNER_SPEED 0.05// (mm/sec)
112 112
 
113 113
 //===========================================================================
114 114
 //=============================Additional Features===========================

+ 4
- 0
Marlin/Marlin.pde Wyświetl plik

@@ -850,9 +850,13 @@ void process_commands()
850 850
       #if (TEMP_0_PIN > -1)
851 851
         SERIAL_PROTOCOLPGM("ok T:");
852 852
         SERIAL_PROTOCOL(degHotend(tmp_extruder)); 
853
+        SERIAL_PROTOCOLPGM("/");
854
+        SERIAL_PROTOCOL(degTargetHotend(tmp_extruder)); 
853 855
         #if TEMP_BED_PIN > -1
854 856
           SERIAL_PROTOCOLPGM(" B:");  
855 857
           SERIAL_PROTOCOL(degBed());
858
+          SERIAL_PROTOCOLPGM("/");
859
+          SERIAL_PROTOCOL(degTargetBed());
856 860
         #endif //TEMP_BED_PIN
857 861
       #else
858 862
         SERIAL_ERROR_START;

+ 2
- 0
Marlin/motion_control.cpp Wyświetl plik

@@ -47,6 +47,8 @@ void mc_arc(float *position, float *target, float *offset, uint8_t axis_0, uint8
47 47
   float millimeters_of_travel = hypot(angular_travel*radius, fabs(linear_travel));
48 48
   if (millimeters_of_travel < 0.001) { return; }
49 49
   uint16_t segments = floor(millimeters_of_travel/MM_PER_ARC_SEGMENT);
50
+  if(segments = 0) segments = 1;
51
+  
50 52
   /*  
51 53
     // Multiply inverse feed_rate to compensate for the fact that this movement is approximated
52 54
     // by a number of discrete segments. The inverse feed_rate should be correct for the sum of 

+ 11
- 5
Marlin/planner.cpp Wyświetl plik

@@ -438,7 +438,9 @@ void check_axes_activity() {
438 438
   }
439 439
   else {
440 440
     #if FAN_PIN > -1
441
-      if (FanSpeed != 0) analogWrite(FAN_PIN,FanSpeed); // If buffer is empty use current fan speed
441
+      if (FanSpeed != 0){
442
+        analogWrite(FAN_PIN,FanSpeed); // If buffer is empty use current fan speed
443
+      }
442 444
     #endif
443 445
   }
444 446
   if((DISABLE_X) && (x_active == 0)) disable_x();
@@ -446,11 +448,14 @@ void check_axes_activity() {
446 448
   if((DISABLE_Z) && (z_active == 0)) disable_z();
447 449
   if((DISABLE_E) && (e_active == 0)) { disable_e0();disable_e1();disable_e2(); }
448 450
   #if FAN_PIN > -1
449
-    if((FanSpeed == 0) && (fan_speed ==0)) analogWrite(FAN_PIN, 0);
450
-  #endif
451
+  if((FanSpeed == 0) && (fan_speed ==0)) {
452
+    analogWrite(FAN_PIN, 0);
453
+  }
454
+
451 455
   if (FanSpeed != 0 && tail_fan_speed !=0) { 
452 456
     analogWrite(FAN_PIN,tail_fan_speed);
453 457
   }
458
+  #endif
454 459
 }
455 460
 
456 461
 
@@ -714,9 +719,9 @@ void plan_buffer_line(const float &x, const float &y, const float &z, const floa
714 719
   if(abs(current_speed[E_AXIS]) > max_e_jerk/2) 
715 720
     vmax_junction = min(vmax_junction, max_e_jerk/2);
716 721
     
717
-  if ((moves_queued > 1) && (previous_nominal_speed > 0.0)) {
722
+  if ((moves_queued > 1) && (previous_nominal_speed > 0.0001)) {
718 723
     float jerk = sqrt(pow((current_speed[X_AXIS]-previous_speed[X_AXIS]), 2)+pow((current_speed[Y_AXIS]-previous_speed[Y_AXIS]), 2));
719
-    if((previous_speed[X_AXIS] != 0.0) || (previous_speed[Y_AXIS] != 0.0)) {
724
+    if((abs(previous_speed[X_AXIS]) > 0.0001) || (abs(previous_speed[Y_AXIS]) > 0.0001)) {
720 725
       vmax_junction = block->nominal_speed;
721 726
     }
722 727
     if (jerk > max_xy_jerk) {
@@ -750,6 +755,7 @@ void plan_buffer_line(const float &x, const float &y, const float &z, const floa
750 755
   // Update previous path unit_vector and nominal speed
751 756
   memcpy(previous_speed, current_speed, sizeof(previous_speed)); // previous_speed[] = current_speed[]
752 757
   previous_nominal_speed = block->nominal_speed;
758
+
753 759
   
754 760
   #ifdef ADVANCE
755 761
     // Calculate advance rate

Ładowanie…
Anuluj
Zapisz