Merge pull request #4166 from gudnimg/gudnimg-patch-1
M701/M702: Set default Z value to 0
This commit is contained in:
commit
bf6c0919e1
|
|
@ -3566,8 +3566,10 @@ void gcode_M701(float fastLoadLength, uint8_t mmuSlotIndex){
|
||||||
|
|
||||||
prusa_statistics(22);
|
prusa_statistics(22);
|
||||||
|
|
||||||
if (MMU2::mmu2.Enabled() && mmuSlotIndex < MMU_FILAMENT_COUNT) {
|
if (MMU2::mmu2.Enabled()) {
|
||||||
MMU2::mmu2.load_filament_to_nozzle(mmuSlotIndex);
|
if (mmuSlotIndex < MMU_FILAMENT_COUNT) {
|
||||||
|
MMU2::mmu2.load_filament_to_nozzle(mmuSlotIndex);
|
||||||
|
} // else do nothing
|
||||||
} else {
|
} else {
|
||||||
custom_message_type = CustomMsg::FilamentLoading;
|
custom_message_type = CustomMsg::FilamentLoading;
|
||||||
lcd_setstatuspgm(_T(MSG_LOADING_FILAMENT));
|
lcd_setstatuspgm(_T(MSG_LOADING_FILAMENT));
|
||||||
|
|
@ -8390,13 +8392,13 @@ Sigma_Exit:
|
||||||
- `P` - n index of MMU slot (zero based, so 0-4 like T0 and T4)
|
- `P` - n index of MMU slot (zero based, so 0-4 like T0 and T4)
|
||||||
- `T` - Alias of `P`. Used for compatibility with Marlin
|
- `T` - Alias of `P`. Used for compatibility with Marlin
|
||||||
- `L` - Extrude distance for insertion (positive value)(manual reload)
|
- `L` - Extrude distance for insertion (positive value)(manual reload)
|
||||||
- `Z` - Move the Z axis by this distance. Default value MIN_Z_FOR_LOAD
|
- `Z` - Move the Z axis by this distance. Default value is 0 to maintain backwards compatibility with older gcodes.
|
||||||
*/
|
*/
|
||||||
case 701:
|
case 701:
|
||||||
{
|
{
|
||||||
uint8_t mmuSlotIndex = 0xffU;
|
uint8_t mmuSlotIndex = 0xffU;
|
||||||
float fastLoadLength = FILAMENTCHANGE_FIRSTFEED; // Only used without MMU
|
float fastLoadLength = FILAMENTCHANGE_FIRSTFEED; // Only used without MMU
|
||||||
float z_target = MIN_Z_FOR_LOAD;
|
float z_target = 0;
|
||||||
if( MMU2::mmu2.Enabled() )
|
if( MMU2::mmu2.Enabled() )
|
||||||
{
|
{
|
||||||
if( code_seen('P') || code_seen('T') ) {
|
if( code_seen('P') || code_seen('T') ) {
|
||||||
|
|
@ -8408,6 +8410,7 @@ Sigma_Exit:
|
||||||
|
|
||||||
// Z lift. For safety only allow positive values
|
// Z lift. For safety only allow positive values
|
||||||
if (code_seen('Z')) z_target = fabs(code_value());
|
if (code_seen('Z')) z_target = fabs(code_value());
|
||||||
|
else raise_z_above(MIN_Z_FOR_LOAD); // backwards compatibility for 3.12 and older FW
|
||||||
|
|
||||||
// Raise the Z axis
|
// Raise the Z axis
|
||||||
float delta = raise_z(z_target);
|
float delta = raise_z(z_target);
|
||||||
|
|
@ -8428,16 +8431,17 @@ Sigma_Exit:
|
||||||
|
|
||||||
#### Parameters
|
#### Parameters
|
||||||
- `U` - Retract distance for removal (manual reload). Default value is 0.
|
- `U` - Retract distance for removal (manual reload). Default value is 0.
|
||||||
- `Z` - Move the Z axis by this distance. Default value MIN_Z_FOR_UNLOAD.
|
- `Z` - Move the Z axis by this distance. Default value is 0 to maintain backwards compatibility with older gcodes.
|
||||||
*/
|
*/
|
||||||
case 702:
|
case 702:
|
||||||
{
|
{
|
||||||
float z_target = MIN_Z_FOR_UNLOAD;
|
float z_target = 0;
|
||||||
float unloadLength = FILAMENTCHANGE_FINALRETRACT;
|
float unloadLength = FILAMENTCHANGE_FINALRETRACT;
|
||||||
if (code_seen('U')) unloadLength = code_value();
|
if (code_seen('U')) unloadLength = code_value();
|
||||||
|
|
||||||
// For safety only allow positive values
|
// For safety only allow positive values
|
||||||
if (code_seen('Z')) z_target = fabs(code_value());
|
if (code_seen('Z')) z_target = fabs(code_value());
|
||||||
|
else raise_z_above(MIN_Z_FOR_UNLOAD); // backwards compatibility for 3.12 and older FW
|
||||||
|
|
||||||
// Raise the Z axis
|
// Raise the Z axis
|
||||||
float delta = raise_z(z_target);
|
float delta = raise_z(z_target);
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,7 @@ bool lay1cal_load_filament(uint8_t filament)
|
||||||
return false;
|
return false;
|
||||||
} else if( currentTool != (uint8_t)MMU2::FILAMENT_UNKNOWN){
|
} else if( currentTool != (uint8_t)MMU2::FILAMENT_UNKNOWN){
|
||||||
// some other slot is loaded, perform an unload first
|
// some other slot is loaded, perform an unload first
|
||||||
enquecommand_P(MSG_M702_NO_LIFT);
|
enquecommand_P(MSG_M702);
|
||||||
}
|
}
|
||||||
// perform a toolchange
|
// perform a toolchange
|
||||||
enquecommandf_P(PSTR("T%d"), filament);
|
enquecommandf_P(PSTR("T%d"), filament);
|
||||||
|
|
@ -245,6 +245,6 @@ void lay1cal_finish(bool mmu_enabled)
|
||||||
|
|
||||||
lay1cal_common_enqueue_loop(cmd_cal_finish, (sizeof(cmd_cal_finish)/sizeof(cmd_cal_finish[0])));
|
lay1cal_common_enqueue_loop(cmd_cal_finish, (sizeof(cmd_cal_finish)/sizeof(cmd_cal_finish[0])));
|
||||||
|
|
||||||
if (mmu_enabled) enquecommand_P(MSG_M702_NO_LIFT); //unload from nozzle
|
if (mmu_enabled) enquecommand_P(MSG_M702); //unload from nozzle
|
||||||
enquecommand_P(MSG_M84);// disable motors
|
enquecommand_P(MSG_M84);// disable motors
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -240,5 +240,5 @@ const char MSG_M107[] PROGMEM_N1 = "M107";
|
||||||
const char MSG_M220[] PROGMEM_N1 = "M220 S%d";
|
const char MSG_M220[] PROGMEM_N1 = "M220 S%d";
|
||||||
const char MSG_M500[] PROGMEM_N1 = "M500";
|
const char MSG_M500[] PROGMEM_N1 = "M500";
|
||||||
const char MSG_M600[] PROGMEM_N1 = "M600";
|
const char MSG_M600[] PROGMEM_N1 = "M600";
|
||||||
const char MSG_M701_NO_LIFT[] PROGMEM_N1 = "M701 Z0";
|
const char MSG_M701[] PROGMEM_N1 = "M701";
|
||||||
const char MSG_M702_NO_LIFT[] PROGMEM_N1 = "M702 Z0";
|
const char MSG_M702[] PROGMEM_N1 = "M702";
|
||||||
|
|
|
||||||
|
|
@ -246,8 +246,8 @@ extern const char MSG_M107[];
|
||||||
extern const char MSG_M220[];
|
extern const char MSG_M220[];
|
||||||
extern const char MSG_M500[];
|
extern const char MSG_M500[];
|
||||||
extern const char MSG_M600[];
|
extern const char MSG_M600[];
|
||||||
extern const char MSG_M701_NO_LIFT[];
|
extern const char MSG_M701[];
|
||||||
extern const char MSG_M702_NO_LIFT[];
|
extern const char MSG_M702[];
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1800,10 +1800,10 @@ switch(eFilamentAction)
|
||||||
// FALLTHRU
|
// FALLTHRU
|
||||||
case FilamentAction::Load:
|
case FilamentAction::Load:
|
||||||
loading_flag=true;
|
loading_flag=true;
|
||||||
enquecommand_P(MSG_M701_NO_LIFT); // load filament
|
enquecommand_P(MSG_M701); // load filament
|
||||||
break;
|
break;
|
||||||
case FilamentAction::UnLoad:
|
case FilamentAction::UnLoad:
|
||||||
enquecommand_P(MSG_M702_NO_LIFT); // unload filament
|
enquecommand_P(MSG_M702); // unload filament
|
||||||
break;
|
break;
|
||||||
case FilamentAction::MmuLoad:
|
case FilamentAction::MmuLoad:
|
||||||
case FilamentAction::MmuLoadingTest:
|
case FilamentAction::MmuLoadingTest:
|
||||||
|
|
@ -1863,11 +1863,11 @@ void mFilamentItem(uint16_t nTemp, uint16_t nTempBed)
|
||||||
if ((eFilamentAction == FilamentAction::Load) || (eFilamentAction == FilamentAction::AutoLoad))
|
if ((eFilamentAction == FilamentAction::Load) || (eFilamentAction == FilamentAction::AutoLoad))
|
||||||
{
|
{
|
||||||
loading_flag = true;
|
loading_flag = true;
|
||||||
enquecommand_P(MSG_M701_NO_LIFT); // load filament
|
enquecommand_P(MSG_M701); // load filament
|
||||||
if (eFilamentAction == FilamentAction::AutoLoad) eFilamentAction = FilamentAction::None; // i.e. non-autoLoad
|
if (eFilamentAction == FilamentAction::AutoLoad) eFilamentAction = FilamentAction::None; // i.e. non-autoLoad
|
||||||
}
|
}
|
||||||
if (eFilamentAction == FilamentAction::UnLoad)
|
if (eFilamentAction == FilamentAction::UnLoad)
|
||||||
enquecommand_P(MSG_M702_NO_LIFT); // unload filament
|
enquecommand_P(MSG_M702); // unload filament
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case FilamentAction::MmuLoad:
|
case FilamentAction::MmuLoad:
|
||||||
|
|
@ -3704,8 +3704,9 @@ static void lcd_wizard_load() {
|
||||||
lcd_puts_at_P(0, 2, _T(MSG_LOADING_FILAMENT));
|
lcd_puts_at_P(0, 2, _T(MSG_LOADING_FILAMENT));
|
||||||
loading_flag = true;
|
loading_flag = true;
|
||||||
}
|
}
|
||||||
gcode_M701(FILAMENTCHANGE_FIRSTFEED, 0);
|
|
||||||
//enquecommand_P(MSG_M701_NO_LIFT); // is enqueuecommand_P safe here?
|
// When MMU is disabled P parameter is ignored
|
||||||
|
enquecommand_P(PSTR("M701 P0"));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void wizard_lay1cal_message(bool cold)
|
static void wizard_lay1cal_message(bool cold)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue