Changed FS ok to exactly after load

Previously FS would say ok to MK3, MK3 would wait 1.5s then do C0 assuming the completion of steps to bondtech after FSensor  triggered. Wastes time and if value was increase for a custom setup it wouldn't be enough time.
No the ok from to MK3 is sent once the steps to bontech are complete, no delay on MK3 saving a few 100ms on stock and accommodating for custom lengths.
This commit is contained in:
Rob McKenzie 2018-11-17 09:15:19 +10:00
parent f1b32ea9e9
commit 748df343c9
5 changed files with 3 additions and 14229 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -7,8 +7,8 @@
#define STR(x) STR_HELPER(x)
// Firmware version
#define FW_VERSION "5.0.2-TZB"
#define FW_COMMIT_NR 2234
#define FW_VERSION "5.0.3-TZB"
#define FW_COMMIT_NR 9999
// FW_VERSION_UNKNOWN means this is an unofficial build.
// The firmware should only be checked into github with this symbol.
#define FW_DEV_VERSION FW_VERSION_UNKNOWN

File diff suppressed because it is too large Load Diff

View File

@ -6875,7 +6875,6 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
if (mmu_enabled)
{
st_synchronize();
delay(1500);
mmu_command(MMU_CMD_C0);
mmu_extruder = tmp_extruder; //filament change is finished
mmu_load_to_nozzle();
@ -6904,7 +6903,6 @@ if((eSoundMode==e_SOUND_MODE_LOUD)||(eSoundMode==e_SOUND_MODE_ONCE))
mmu_command(MMU_CMD_T0 + tmp_extruder);
manage_response(true, true);
delay(1500);
mmu_command(MMU_CMD_C0);
mmu_extruder = tmp_extruder; //filament change is finished
@ -7442,7 +7440,7 @@ void manage_inactivity(bool ignore_stepper_queue/*=false*/) //default argument s
}
}
} else {
if ((lcd_commands_type != LCD_COMMAND_V2_CAL) && !wizard_active && mmuFSensorLoading) {
if (mmuFSensorLoading) {
fsensor_check_autoload();
}
}

View File

@ -421,7 +421,6 @@ void mmu_loop(void)
{
printf_P(PSTR("MMU <= 'Filament seen at extruder'\n"));
mmu_puts_P(PSTR("EE\n"));
//mmuFSensorLoading = false;
mmu_state = 3; // wait for response
}
mmu_cmd = 0;
@ -444,8 +443,6 @@ void mmu_loop(void)
else enquecommand_front_P(PSTR("M600")); //save print and run M600 command
}
mmu_state = 1;
//if (mmu_cmd == 0)
//mmu_ready = true;
}
else if ((mmu_last_request + MMU_P0_TIMEOUT) < millis())
{ //resend request after timeout (30s)
@ -487,11 +484,9 @@ void mmu_loop(void)
if (mmu_rx_echo() > 0)
{
printf_P(PSTR("MMU => 'CMD ACK 0x%2X'\n"), mmu_cmd);
//mmu_puts_P(PSTR("EE\n")); // Advise MMU CMD is correct, execute
ack_received = true;
mmu_state = 1; // Do normal Await command completion confirmation
} else if ((mmu_last_request + 1000) < millis()) { // Timeout if echo doesn't match request, resend cmd
//printf_P(PSTR("MMU => 'CMD RETRY'\n"));
printf_P(PSTR("MMU => 'CMD RETRY 0x%2X'\n"), mmu_cmd);
mmu_state = 1;
}
@ -775,7 +770,6 @@ void mmu_M600_load_filament(bool automatic)
mmu_command(MMU_CMD_T0 + tmp_extruder);
manage_response(false, true);
delay(1500);
mmu_command(MMU_CMD_C0);
mmu_extruder = tmp_extruder; //filament change is finished
mmu_load_to_nozzle();
@ -1300,7 +1294,6 @@ void lcd_mmu_load_to_nozzle(uint8_t filament_nr)
lcd_print(tmp_extruder + 1);
mmu_command(MMU_CMD_T0 + tmp_extruder);
manage_response(true, true);
delay(1500);
mmu_command(MMU_CMD_C0);
mmu_extruder = tmp_extruder; //filament change is finished
mmu_load_to_nozzle();