Filament runout sensor can be disabled via special menu.

This commit is contained in:
Knutwurst
2020-06-06 21:51:19 +02:00
parent b1dfd1fec5
commit f93857edb1
2 changed files with 90 additions and 58 deletions

View File

@@ -108,7 +108,7 @@ void AnycubicTouchscreenClass::Setup()
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
pinMode(19, INPUT);
WRITE(19, HIGH);
if (READ(19) == true)
if ((READ(19) == true) && FilamentSensorEnabled)
{
HARDWARE_SERIAL_PROTOCOLPGM("J15"); //J15 FILAMENT LACK
HARDWARE_SERIAL_ENTER();
@@ -120,6 +120,7 @@ void AnycubicTouchscreenClass::Setup()
SelectedDirectory[0] = 0;
SpecialMenu = false;
FilamentSensorEnabled = true;
#ifdef STARTUP_CHIME
buzzer.tone(250, 554); // C#5
@@ -497,6 +498,21 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
SERIAL_ECHOLNPGM("Special Menu: FilamentChange Resume");
FilamentChangeResume();
}
else if (strcmp(SelectedDirectory, "<disable fil. sensor>") == 0)
{
SERIAL_ECHOLNPGM("Special Menu: Disable Filament Sensor");
FilamentSensorEnabled = false;
buzzer.tone(105, 1108);
buzzer.tone(105, 1108);
buzzer.tone(105, 1108);
}
else if (strcmp(SelectedDirectory, "<enable fil. sensor>") == 0)
{
SERIAL_ECHOLNPGM("Special Menu: Enable Filament Sensor");
FilamentSensorEnabled = true;
buzzer.tone(105, 1108);
buzzer.tone(105, 1108);
}
else if (strcmp(SelectedDirectory, "<exit>") == 0)
{
SpecialMenu = false;
@@ -541,6 +557,18 @@ void AnycubicTouchscreenClass::Ls()
HARDWARE_SERIAL_PROTOCOLLNPGM("<Load FW Defaults>");
HARDWARE_SERIAL_PROTOCOLLNPGM("<Load FW Defaults>");
break;
case 12: // Page 4
HARDWARE_SERIAL_PROTOCOLLNPGM("<Disable Fil. Sensor>");
HARDWARE_SERIAL_PROTOCOLLNPGM("<Disable Fil. Sensor>");
HARDWARE_SERIAL_PROTOCOLLNPGM("<Enable Fil. Sensor>");
HARDWARE_SERIAL_PROTOCOLLNPGM("<Enable Fil. Sensor>");
HARDWARE_SERIAL_PROTOCOLLNPGM("<Exit>");
HARDWARE_SERIAL_PROTOCOLLNPGM("<Exit>");
break;
/*
case 12: // Fourth Page
HARDWARE_SERIAL_PROTOCOLLNPGM("<Z Up 0.1>");
@@ -555,8 +583,8 @@ void AnycubicTouchscreenClass::Ls()
*/
default:
HARDWARE_SERIAL_PROTOCOLLNPGM("<Exit>");
HARDWARE_SERIAL_PROTOCOLLNPGM("<Exit>");
//HARDWARE_SERIAL_PROTOCOLLNPGM("<Exit>");
//HARDWARE_SERIAL_PROTOCOLLNPGM("<Exit>");
break;
}
}
@@ -796,7 +824,7 @@ void AnycubicTouchscreenClass::StateHandler()
HARDWARE_SERIAL_ENTER();
if ((!card.isPrinting()) && (!planner.movesplanned()))
{
// enter idle display state
queue.clear();
TFTstate = ANYCUBIC_TFT_STATE_IDLE;
#ifdef ANYCUBIC_TFT_DEBUG
SERIAL_ECHOLNPGM("TFT Serial Debug: SD print stopped... J16");
@@ -822,6 +850,8 @@ void AnycubicTouchscreenClass::StateHandler()
}
void AnycubicTouchscreenClass::FilamentRunout()
{
if(FilamentSensorEnabled == true)
{
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
FilamentTestStatus = READ(19) & 0xff;
@@ -886,6 +916,7 @@ void AnycubicTouchscreenClass::FilamentRunout()
}
#endif
}
}
void AnycubicTouchscreenClass::GetCommandFromTFT()
{

View File

@@ -117,6 +117,7 @@ private:
char SelectedDirectory[30];
uint8_t SpecialMenu = false;
uint8_t FilamentSensorEnabled = true;
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
char FilamentTestStatus = false;