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