Use the extruder argument in plan_buffer_line
This commit is contained in:
		@@ -504,7 +504,7 @@ float junction_deviation = 0.1;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  #ifdef PREVENT_DANGEROUS_EXTRUDE
 | 
					  #ifdef PREVENT_DANGEROUS_EXTRUDE
 | 
				
			||||||
    if (de) {
 | 
					    if (de) {
 | 
				
			||||||
      if (degHotend(active_extruder) < extrude_min_temp) {
 | 
					      if (degHotend(extruder) < extrude_min_temp) {
 | 
				
			||||||
        position[E_AXIS] = target[E_AXIS]; // Behave as if the move really took place, but ignore E part
 | 
					        position[E_AXIS] = target[E_AXIS]; // Behave as if the move really took place, but ignore E part
 | 
				
			||||||
        de = 0; // no difference
 | 
					        de = 0; // no difference
 | 
				
			||||||
        SERIAL_ECHO_START;
 | 
					        SERIAL_ECHO_START;
 | 
				
			||||||
@@ -541,8 +541,8 @@ float junction_deviation = 0.1;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  block->steps[Z_AXIS] = labs(dz);
 | 
					  block->steps[Z_AXIS] = labs(dz);
 | 
				
			||||||
  block->steps[E_AXIS] = labs(de);
 | 
					  block->steps[E_AXIS] = labs(de);
 | 
				
			||||||
  block->steps[E_AXIS] *= volumetric_multiplier[active_extruder];
 | 
					  block->steps[E_AXIS] *= volumetric_multiplier[extruder];
 | 
				
			||||||
  block->steps[E_AXIS] *= extruder_multiply[active_extruder];
 | 
					  block->steps[E_AXIS] *= extruder_multiply[extruder];
 | 
				
			||||||
  block->steps[E_AXIS] /= 100;
 | 
					  block->steps[E_AXIS] /= 100;
 | 
				
			||||||
  block->step_event_count = max(block->steps[X_AXIS], max(block->steps[Y_AXIS], max(block->steps[Z_AXIS], block->steps[E_AXIS])));
 | 
					  block->step_event_count = max(block->steps[X_AXIS], max(block->steps[Y_AXIS], max(block->steps[Z_AXIS], block->steps[E_AXIS])));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -676,7 +676,7 @@ float junction_deviation = 0.1;
 | 
				
			|||||||
    delta_mm[Y_AXIS] = dy / axis_steps_per_unit[Y_AXIS];
 | 
					    delta_mm[Y_AXIS] = dy / axis_steps_per_unit[Y_AXIS];
 | 
				
			||||||
  #endif
 | 
					  #endif
 | 
				
			||||||
  delta_mm[Z_AXIS] = dz / axis_steps_per_unit[Z_AXIS];
 | 
					  delta_mm[Z_AXIS] = dz / axis_steps_per_unit[Z_AXIS];
 | 
				
			||||||
  delta_mm[E_AXIS] = (de / axis_steps_per_unit[E_AXIS]) * volumetric_multiplier[active_extruder] * extruder_multiply[active_extruder] / 100.0;
 | 
					  delta_mm[E_AXIS] = (de / axis_steps_per_unit[E_AXIS]) * volumetric_multiplier[extruder] * extruder_multiply[extruder] / 100.0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (block->steps[X_AXIS] <= dropsegments && block->steps[Y_AXIS] <= dropsegments && block->steps[Z_AXIS] <= dropsegments) {
 | 
					  if (block->steps[X_AXIS] <= dropsegments && block->steps[Y_AXIS] <= dropsegments && block->steps[Z_AXIS] <= dropsegments) {
 | 
				
			||||||
    block->millimeters = fabs(delta_mm[E_AXIS]);
 | 
					    block->millimeters = fabs(delta_mm[E_AXIS]);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1072,10 +1072,7 @@ void st_init() {
 | 
				
			|||||||
      TCCR0A &= ~BIT(WGM01);
 | 
					      TCCR0A &= ~BIT(WGM01);
 | 
				
			||||||
      TCCR0A &= ~BIT(WGM00);
 | 
					      TCCR0A &= ~BIT(WGM00);
 | 
				
			||||||
    #endif
 | 
					    #endif
 | 
				
			||||||
    e_steps[0] = 0;
 | 
					    e_steps[0] = e_steps[1] = e_steps[2] = e_steps[3] = 0;
 | 
				
			||||||
    e_steps[1] = 0;
 | 
					 | 
				
			||||||
    e_steps[2] = 0;
 | 
					 | 
				
			||||||
    e_steps[3] = 0;
 | 
					 | 
				
			||||||
    TIMSK0 |= BIT(OCIE0A);
 | 
					    TIMSK0 |= BIT(OCIE0A);
 | 
				
			||||||
  #endif //ADVANCE
 | 
					  #endif //ADVANCE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user