Merge pull request #4214 from 3d-gussner/MK3_Fix_MMU_IRsensor

Fix IRsensor with MMU
This commit is contained in:
3d-gussner 2023-05-24 06:57:05 +02:00 committed by GitHub
commit 135247c3b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 45 deletions

View File

@ -5888,9 +5888,6 @@ bool lcd_selftest()
if (!MMU2::mmu2.Enabled()) { if (!MMU2::mmu2.Enabled()) {
lcd_detect_IRsensor(); lcd_detect_IRsensor();
} }
else {
fsensor.setSensorRevision(IR_sensor_analog::SensorRevision::_Old, true);
}
} }
#endif #endif
lcd_wait_for_cool_down(); lcd_wait_for_cool_down();
@ -6673,50 +6670,17 @@ static bool lcd_selftest_fsensor(void)
//! @retval false failed //! @retval false failed
static bool selftest_irsensor() static bool selftest_irsensor()
{ {
class TempBackup // Ask user which slot to load filament from
{ uint8_t slot = choose_menu_P(_T(MSG_SELECT_FILAMENT), _T(MSG_FILAMENT));
public:
TempBackup():
m_temp(degTargetHotend(active_extruder)){}
~TempBackup(){setTargetHotend(m_temp);}
private:
float m_temp;
};
uint8_t progress;
{
TempBackup tempBackup;
setTargetHotend(ABS_PREHEAT_HOTEND_TEMP);
progress = lcd_selftest_screen(TestScreen::Fsensor, 0, 1, true, 0);
}
progress = lcd_selftest_screen(TestScreen::Fsensor, progress, 1, true, 0);
MMU2::mmu2.unload();
for(uint_least8_t i = 0; i < 200; ++i) // Render self-test screen
{ lcd_selftest_screen(TestScreen::Fsensor, 0, 1, true, 0);
if (0 == (i % 32)) progress = lcd_selftest_screen(TestScreen::Fsensor, progress, 1, true, 0);
//@@TODO mmu_load_step(false); // Run self-test
while (blocks_queued()) set_extrude_min_temp(0);
{ MMU2::mmu2.tool_change(slot);
if (fsensor.getFilamentPresent()) MMU2::mmu2.unload(); //Unload filament
{ set_extrude_min_temp(EXTRUDE_MINTEMP);
lcd_selftest_error(TestError::TriggeringFsensor, "", "");
return false;
}
#ifdef TMC2130
manage_heater();
// Vojtech: Don't disable motors inside the planner!
if (!tmc2130_update_sg())
{
manage_inactivity(true);
}
#else //TMC2130
manage_heater();
// Vojtech: Don't disable motors inside the planner!
manage_inactivity(true);
#endif //TMC2130
}
}
return true; return true;
} }
#endif //(FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG) #endif //(FILAMENT_SENSOR_TYPE == FSENSOR_IR) || (FILAMENT_SENSOR_TYPE == FSENSOR_IR_ANALOG)