Add 4th extruder
This commit is contained in:
		@@ -212,6 +212,9 @@ int extruder_multiply[EXTRUDERS] = {100
 | 
			
		||||
    , 100
 | 
			
		||||
    #if EXTRUDERS > 2
 | 
			
		||||
      , 100
 | 
			
		||||
	    #if EXTRUDERS > 3
 | 
			
		||||
      	, 100
 | 
			
		||||
	    #endif
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
@@ -221,6 +224,9 @@ float filament_size[EXTRUDERS] = { DEFAULT_NOMINAL_FILAMENT_DIA
 | 
			
		||||
      , DEFAULT_NOMINAL_FILAMENT_DIA
 | 
			
		||||
    #if EXTRUDERS > 2
 | 
			
		||||
       , DEFAULT_NOMINAL_FILAMENT_DIA
 | 
			
		||||
      #if EXTRUDERS > 3
 | 
			
		||||
        , DEFAULT_NOMINAL_FILAMENT_DIA
 | 
			
		||||
      #endif
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
@@ -229,6 +235,9 @@ float volumetric_multiplier[EXTRUDERS] = {1.0
 | 
			
		||||
    , 1.0
 | 
			
		||||
    #if EXTRUDERS > 2
 | 
			
		||||
      , 1.0
 | 
			
		||||
      #if EXTRUDERS > 3
 | 
			
		||||
        , 1.0
 | 
			
		||||
      #endif
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
};
 | 
			
		||||
@@ -271,19 +280,25 @@ int EtoPPressure=0;
 | 
			
		||||
  bool autoretract_enabled=false;
 | 
			
		||||
  bool retracted[EXTRUDERS]={false
 | 
			
		||||
    #if EXTRUDERS > 1
 | 
			
		||||
    , false
 | 
			
		||||
     #if EXTRUDERS > 2
 | 
			
		||||
      , false
 | 
			
		||||
     #endif
 | 
			
		||||
  #endif
 | 
			
		||||
      #if EXTRUDERS > 2
 | 
			
		||||
        , false
 | 
			
		||||
        #if EXTRUDERS > 3
 | 
			
		||||
       	  , false
 | 
			
		||||
      	#endif
 | 
			
		||||
      #endif
 | 
			
		||||
    #endif
 | 
			
		||||
  };
 | 
			
		||||
  bool retracted_swap[EXTRUDERS]={false
 | 
			
		||||
    #if EXTRUDERS > 1
 | 
			
		||||
    , false
 | 
			
		||||
     #if EXTRUDERS > 2
 | 
			
		||||
      , false
 | 
			
		||||
     #endif
 | 
			
		||||
  #endif
 | 
			
		||||
      #if EXTRUDERS > 2
 | 
			
		||||
        , false
 | 
			
		||||
        #if EXTRUDERS > 3
 | 
			
		||||
       	  , false
 | 
			
		||||
      	#endif
 | 
			
		||||
      #endif
 | 
			
		||||
    #endif
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  float retract_length = RETRACT_LENGTH;
 | 
			
		||||
@@ -293,7 +308,7 @@ int EtoPPressure=0;
 | 
			
		||||
  float retract_recover_length = RETRACT_RECOVER_LENGTH;
 | 
			
		||||
  float retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP;
 | 
			
		||||
  float retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE;
 | 
			
		||||
#endif
 | 
			
		||||
#endif // FWRETRACT
 | 
			
		||||
 | 
			
		||||
#ifdef ULTIPANEL
 | 
			
		||||
  #ifdef PS_DEFAULT_OFF
 | 
			
		||||
@@ -582,8 +597,8 @@ void setup()
 | 
			
		||||
      SERIAL_ECHOLNPGM(STRING_CONFIG_H_AUTHOR);
 | 
			
		||||
      SERIAL_ECHOPGM("Compiled: ");
 | 
			
		||||
      SERIAL_ECHOLNPGM(__DATE__);
 | 
			
		||||
    #endif
 | 
			
		||||
  #endif
 | 
			
		||||
    #endif // STRING_CONFIG_H_AUTHOR
 | 
			
		||||
  #endif // STRING_VERSION_CONFIG_H
 | 
			
		||||
  SERIAL_ECHO_START;
 | 
			
		||||
  SERIAL_ECHOPGM(MSG_FREE_MEMORY);
 | 
			
		||||
  SERIAL_ECHO(freeMemory());
 | 
			
		||||
@@ -2881,29 +2896,32 @@ Sigma_Exit:
 | 
			
		||||
 | 
			
		||||
        float area = .0;
 | 
			
		||||
        if(code_seen('D')) {
 | 
			
		||||
		  float diameter = (float)code_value();
 | 
			
		||||
		  if (diameter == 0.0) {
 | 
			
		||||
			// setting any extruder filament size disables volumetric on the assumption that
 | 
			
		||||
			// slicers either generate in extruder values as cubic mm or as as filament feeds
 | 
			
		||||
			// for all extruders
 | 
			
		||||
		    volumetric_enabled = false;
 | 
			
		||||
		  } else {
 | 
			
		||||
          float diameter = (float)code_value();
 | 
			
		||||
          if (diameter == 0.0) {
 | 
			
		||||
            // setting any extruder filament size disables volumetric on the assumption that
 | 
			
		||||
            // slicers either generate in extruder values as cubic mm or as as filament feeds
 | 
			
		||||
            // for all extruders
 | 
			
		||||
            volumetric_enabled = false;
 | 
			
		||||
          } else {
 | 
			
		||||
            filament_size[tmp_extruder] = (float)code_value();
 | 
			
		||||
			// make sure all extruders have some sane value for the filament size
 | 
			
		||||
			filament_size[0] = (filament_size[0] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[0]);
 | 
			
		||||
            #if EXTRUDERS > 1
 | 
			
		||||
			filament_size[1] = (filament_size[1] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[1]);
 | 
			
		||||
            #if EXTRUDERS > 2
 | 
			
		||||
			filament_size[2] = (filament_size[2] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[2]);
 | 
			
		||||
            #endif
 | 
			
		||||
            #endif
 | 
			
		||||
			volumetric_enabled = true;
 | 
			
		||||
		  }
 | 
			
		||||
            // make sure all extruders have some sane value for the filament size
 | 
			
		||||
            filament_size[0] = (filament_size[0] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[0]);
 | 
			
		||||
#if EXTRUDERS > 1
 | 
			
		||||
            filament_size[1] = (filament_size[1] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[1]);
 | 
			
		||||
#if EXTRUDERS > 2
 | 
			
		||||
            filament_size[2] = (filament_size[2] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[2]);
 | 
			
		||||
#if EXTRUDERS > 3
 | 
			
		||||
            filament_size[3] = (filament_size[3] == 0.0 ? DEFAULT_NOMINAL_FILAMENT_DIA : filament_size[3]);
 | 
			
		||||
#endif //EXTRUDERS > 3
 | 
			
		||||
#endif //EXTRUDERS > 2
 | 
			
		||||
#endif //EXTRUDERS > 1
 | 
			
		||||
            volumetric_enabled = true;
 | 
			
		||||
          }
 | 
			
		||||
        } else {
 | 
			
		||||
          //reserved for setting filament diameter via UFID or filament measuring device
 | 
			
		||||
          break;
 | 
			
		||||
        }
 | 
			
		||||
		calculate_volumetric_multipliers();
 | 
			
		||||
        calculate_volumetric_multipliers();
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
    case 201: // M201
 | 
			
		||||
@@ -3020,23 +3038,29 @@ Sigma_Exit:
 | 
			
		||||
          {
 | 
			
		||||
            autoretract_enabled=false;
 | 
			
		||||
            retracted[0]=false;
 | 
			
		||||
            #if EXTRUDERS > 1
 | 
			
		||||
              retracted[1]=false;
 | 
			
		||||
            #endif
 | 
			
		||||
            #if EXTRUDERS > 2
 | 
			
		||||
              retracted[2]=false;
 | 
			
		||||
            #endif
 | 
			
		||||
#if EXTRUDERS > 1
 | 
			
		||||
            retracted[1]=false;
 | 
			
		||||
#endif
 | 
			
		||||
#if EXTRUDERS > 2
 | 
			
		||||
            retracted[2]=false;
 | 
			
		||||
#endif
 | 
			
		||||
#if EXTRUDERS > 3
 | 
			
		||||
            retracted[3]=false;
 | 
			
		||||
#endif
 | 
			
		||||
          }break;
 | 
			
		||||
          case 1: 
 | 
			
		||||
          {
 | 
			
		||||
            autoretract_enabled=true;
 | 
			
		||||
            retracted[0]=false;
 | 
			
		||||
            #if EXTRUDERS > 1
 | 
			
		||||
              retracted[1]=false;
 | 
			
		||||
            #endif
 | 
			
		||||
            #if EXTRUDERS > 2
 | 
			
		||||
              retracted[2]=false;
 | 
			
		||||
            #endif
 | 
			
		||||
#if EXTRUDERS > 1
 | 
			
		||||
            retracted[1]=false;
 | 
			
		||||
#endif
 | 
			
		||||
#if EXTRUDERS > 2
 | 
			
		||||
            retracted[2]=false;
 | 
			
		||||
#endif
 | 
			
		||||
#if EXTRUDERS > 3
 | 
			
		||||
            retracted[3]=false;
 | 
			
		||||
#endif
 | 
			
		||||
          }break;
 | 
			
		||||
          default:
 | 
			
		||||
            SERIAL_ECHO_START;
 | 
			
		||||
@@ -4680,7 +4704,10 @@ void calculate_volumetric_multipliers() {
 | 
			
		||||
	volumetric_multiplier[1] = calculate_volumetric_multiplier(filament_size[1]);
 | 
			
		||||
#if EXTRUDERS > 2
 | 
			
		||||
	volumetric_multiplier[2] = calculate_volumetric_multiplier(filament_size[2]);
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
#if EXTRUDERS > 3
 | 
			
		||||
	volumetric_multiplier[3] = calculate_volumetric_multiplier(filament_size[3]);
 | 
			
		||||
#endif //EXTRUDERS > 3
 | 
			
		||||
#endif //EXTRUDERS > 2
 | 
			
		||||
#endif //EXTRUDERS > 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user