Преглед на файлове

Merge pull request #1452 from thinkyhead/fix_M200_bug

M200 cleanup, normalization of EXTRUDER loops
Scott Lahteine преди 10 години
родител
ревизия
d8b7f29fa2
променени са 1 файла, в които са добавени 15 реда и са изтрити 56 реда
  1. 15
    56
      Marlin/Marlin_main.cpp

+ 15
- 56
Marlin/Marlin_main.cpp Целия файл

@@ -2893,26 +2893,16 @@ Sigma_Exit:
2893 2893
 
2894 2894
         float area = .0;
2895 2895
         if(code_seen('D')) {
2896
-          float diameter = (float)code_value();
2897
-          if (diameter == 0.0) {
2898
-            // setting any extruder filament size disables volumetric on the assumption that
2899
-            // slicers either generate in extruder values as cubic mm or as as filament feeds
2900
-            // for all extruders
2901
-            volumetric_enabled = false;
2902
-          } else {
2903
-            filament_size[tmp_extruder] = (float)code_value();
2896
+          float diameter = code_value();
2897
+          // setting any extruder filament size disables volumetric on the assumption that
2898
+          // slicers either generate in extruder values as cubic mm or as as filament feeds
2899
+          // for all extruders
2900
+          volumetric_enabled = (diameter != 0.0);
2901
+          if (volumetric_enabled) {
2902
+            filament_size[tmp_extruder] = diameter;
2904 2903
             // make sure all extruders have some sane value for the filament size
2905
-            filament_size[0] = (filament_size[0] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[0]);
2906
-#if EXTRUDERS > 1
2907
-            filament_size[1] = (filament_size[1] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[1]);
2908
-#if EXTRUDERS > 2
2909
-            filament_size[2] = (filament_size[2] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[2]);
2910
-#if EXTRUDERS > 3
2911
-            filament_size[3] = (filament_size[3] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[3]);
2912
-#endif //EXTRUDERS > 3
2913
-#endif //EXTRUDERS > 2
2914
-#endif //EXTRUDERS > 1
2915
-            volumetric_enabled = true;
2904
+            for (int i=0; i<EXTRUDERS; i++)
2905
+              if (! filament_size[i]) filament_size[i] = DEFAULT_NOMINAL_FILAMENT_DIA;
2916 2906
           }
2917 2907
         } else {
2918 2908
           //reserved for setting filament diameter via UFID or filament measuring device
@@ -3031,33 +3021,11 @@ Sigma_Exit:
3031 3021
         int t= code_value() ;
3032 3022
         switch(t)
3033 3023
         {
3034
-          case 0: 
3035
-          {
3036
-            autoretract_enabled=false;
3037
-            retracted[0]=false;
3038
-#if EXTRUDERS > 1
3039
-            retracted[1]=false;
3040
-#endif
3041
-#if EXTRUDERS > 2
3042
-            retracted[2]=false;
3043
-#endif
3044
-#if EXTRUDERS > 3
3045
-            retracted[3]=false;
3046
-#endif
3047
-          }break;
3048
-          case 1: 
3024
+          case 0:
3025
+          case 1:
3049 3026
           {
3050
-            autoretract_enabled=true;
3051
-            retracted[0]=false;
3052
-#if EXTRUDERS > 1
3053
-            retracted[1]=false;
3054
-#endif
3055
-#if EXTRUDERS > 2
3056
-            retracted[2]=false;
3057
-#endif
3058
-#if EXTRUDERS > 3
3059
-            retracted[3]=false;
3060
-#endif
3027
+            autoretract_enabled = (t == 1);
3028
+            for (int i=0; i<EXTRUDERS; i++) retracted[i] = false;
3061 3029
           }break;
3062 3030
           default:
3063 3031
             SERIAL_ECHO_START;
@@ -4696,15 +4664,6 @@ float calculate_volumetric_multiplier(float diameter) {
4696 4664
 }
4697 4665
 
4698 4666
 void calculate_volumetric_multipliers() {
4699
-	volumetric_multiplier[0] = calculate_volumetric_multiplier(filament_size[0]);
4700
-#if EXTRUDERS > 1
4701
-	volumetric_multiplier[1] = calculate_volumetric_multiplier(filament_size[1]);
4702
-#if EXTRUDERS > 2
4703
-	volumetric_multiplier[2] = calculate_volumetric_multiplier(filament_size[2]);
4704
-#if EXTRUDERS > 3
4705
-	volumetric_multiplier[3] = calculate_volumetric_multiplier(filament_size[3]);
4706
-#endif //EXTRUDERS > 3
4707
-#endif //EXTRUDERS > 2
4708
-#endif //EXTRUDERS > 1
4667
+  for (int i=0; i<EXTRUDERS; i++)
4668
+  	volumetric_multiplier[i] = calculate_volumetric_multiplier(filament_size[i]);
4709 4669
 }
4710
-

Loading…
Отказ
Запис