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

View File

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