PFW-1336
The following situation is now fixed, steps: 1. Load filament through LCD 2. Load to nozzle through LCD 3. Before filament reaches Fsensor => turn off the printer 4. Wait a few seconds and then turn the printer on again 5. Start a print through the SD card 6. Printer will unload and then re-load the filament Previously in step 6, the printer would start a print without any filament loaded.
This commit is contained in:
parent
46184a9447
commit
204b43dce4
|
|
@ -5448,24 +5448,32 @@ eeprom_update_word((uint16_t*)EEPROM_NOZZLE_DIAMETER_uM,0xFFFF);
|
||||||
### M24 - Start SD print <a href="https://reprap.org/wiki/G-code#M24:_Start.2Fresume_SD_print">M24: Start/resume SD print</a>
|
### M24 - Start SD print <a href="https://reprap.org/wiki/G-code#M24:_Start.2Fresume_SD_print">M24: Start/resume SD print</a>
|
||||||
*/
|
*/
|
||||||
case 24:
|
case 24:
|
||||||
if (isPrintPaused)
|
if (isPrintPaused)
|
||||||
lcd_resume_print();
|
lcd_resume_print();
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (!card.get_sdpos())
|
||||||
{
|
{
|
||||||
if (!card.get_sdpos())
|
|
||||||
{
|
|
||||||
// A new print has started from scratch, reset stats
|
// A new print has started from scratch, reset stats
|
||||||
failstats_reset_print();
|
failstats_reset_print();
|
||||||
sdpos_atomic = 0;
|
sdpos_atomic = 0;
|
||||||
#ifndef LA_NOCOMPAT
|
#ifndef LA_NOCOMPAT
|
||||||
la10c_reset();
|
la10c_reset();
|
||||||
#endif
|
#endif
|
||||||
}
|
|
||||||
|
|
||||||
card.startFileprint();
|
|
||||||
starttime=_millis();
|
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
|
card.startFileprint();
|
||||||
|
starttime=_millis();
|
||||||
|
if (MMU2::mmu2.Enabled())
|
||||||
|
{
|
||||||
|
if (MMU2::mmu2.FindaDetectsFilament() && !fsensor.getFilamentPresent())
|
||||||
|
{ // Filament only half way into the PTFE. Unload the filament.
|
||||||
|
MMU2::mmu2.unload();
|
||||||
|
// Tx and Tc gcodes take care of loading the filament to the nozzle.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
### M26 - Set SD index <a href="https://reprap.org/wiki/G-code#M26:_Set_SD_position">M26: Set SD position</a>
|
### M26 - Set SD index <a href="https://reprap.org/wiki/G-code#M26:_Set_SD_position">M26: Set SD position</a>
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ void TCodes(char *const strchr_pointer, uint8_t codeValue) {
|
||||||
|
|
||||||
if (IsInvalidTCode(strchr_pointer, index)){
|
if (IsInvalidTCode(strchr_pointer, index)){
|
||||||
TCodeInvalid();
|
TCodeInvalid();
|
||||||
} /*else if (strchr_pointer[index] == 'x'){
|
} else if (strchr_pointer[index] == 'x'){
|
||||||
// load to bondtech gears; if mmu is not present do nothing
|
// load to bondtech gears; if mmu is not present do nothing
|
||||||
if (MMU2::mmu2.Enabled()) {
|
if (MMU2::mmu2.Enabled()) {
|
||||||
MMU2::mmu2.tool_change(strchr_pointer[index], choose_menu_P(_T(MSG_CHOOSE_EXTRUDER), _T(MSG_EXTRUDER)));
|
MMU2::mmu2.tool_change(strchr_pointer[index], choose_menu_P(_T(MSG_CHOOSE_EXTRUDER), _T(MSG_EXTRUDER)));
|
||||||
|
|
@ -53,9 +53,9 @@ void TCodes(char *const strchr_pointer, uint8_t codeValue) {
|
||||||
} else if (strchr_pointer[index] == 'c'){
|
} else if (strchr_pointer[index] == 'c'){
|
||||||
// load from bondtech gears to nozzle (nozzle should be preheated)
|
// load from bondtech gears to nozzle (nozzle should be preheated)
|
||||||
if (MMU2::mmu2.Enabled()) {
|
if (MMU2::mmu2.Enabled()) {
|
||||||
MMU2::mmu2.tool_change(strchr_pointer[index], 0);
|
MMU2::mmu2.tool_change(strchr_pointer[index], MMU2::mmu2.get_current_tool());
|
||||||
}
|
}
|
||||||
}*/ else {
|
} else {
|
||||||
SChooseFromMenu selectedSlot;
|
SChooseFromMenu selectedSlot;
|
||||||
// if (strchr_pointer[index] == '?')
|
// if (strchr_pointer[index] == '?')
|
||||||
// selectedSlot = TCodeChooseFromMenu();
|
// selectedSlot = TCodeChooseFromMenu();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue