Start Mesh leveling is now in sub menu. Flow rate can be adjusted in special menu.

This commit is contained in:
Knutwurst
2020-09-08 17:55:20 +02:00
parent 5ee4642956
commit 6a7ec5fc06
2 changed files with 117 additions and 10 deletions

View File

@@ -123,6 +123,8 @@ void AnycubicTouchscreenClass::Setup()
#endif
pinMode(FILAMENT_RUNOUT_PIN, INPUT);
WRITE(FILAMENT_RUNOUT_PIN, HIGH);
/*
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
if ((READ(FILAMENT_RUNOUT_PIN) == true) && FilamentSensorEnabled)
{
@@ -133,13 +135,16 @@ void AnycubicTouchscreenClass::Setup()
#endif
}
#endif
*/
currentTouchscreenSelection[0] = 0;
currentFileOrDirectory[0] = '\0';
SpecialMenu = false;
MMLMenu = false;
FlowMenu = false;
FilamentSensorEnabled = true;
MyFileNrCnt = 0;
currentFlowRate = 100;
#ifdef STARTUP_CHIME
buzzer.tone(100, 554);
@@ -488,12 +493,16 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
}
#if DISABLED(KNUTWURST_BLTOUCH)
else if ((strcasestr(currentTouchscreenSelection, SM_MESH_MENU_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_MESH_MENU_S) != NULL))
{
MMLMenu = true;
}
else if ((strcasestr(currentTouchscreenSelection, SM_MESH_START_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_MESH_START_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Start Mesh Leveling");
queue.inject_P(PSTR("G29 S1"));
MMLMenu = true;
}
else if ((strcasestr(currentTouchscreenSelection, SM_MESH_NEXT_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_MESH_NEXT_S) != NULL))
@@ -589,6 +598,45 @@ void AnycubicTouchscreenClass::HandleSpecialMenu()
{
MMLMenu = false;
}
else if ((strcasestr(currentTouchscreenSelection, SM_FLOWMENU_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_FLOWMENU_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Enter Flow Menu");
FlowMenu = true;
}
else if ((strcasestr(currentTouchscreenSelection, SM_FLOW_UP_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_FLOW_UP_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Flow UP");
currentFlowRate = currentFlowRate + 5;
if(currentFlowRate > 800)
currentFlowRate = 800;
char value[30];
sprintf_P(value, PSTR("M221 S%i"), currentFlowRate);
queue.enqueue_one_now(value);
}
else if ((strcasestr(currentTouchscreenSelection, SM_FLOW_DN_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_FLOW_DN_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Flow Down");
currentFlowRate = currentFlowRate - 5;
if(currentFlowRate < 5)
currentFlowRate = 5;
char value[30];
sprintf_P(value, PSTR("M221 S%i"), currentFlowRate);
queue.enqueue_one_now(value);
}
else if ((strcasestr(currentTouchscreenSelection, SM_FLOW_EXIT_L) != NULL)
|| (strcasestr(currentTouchscreenSelection, SM_FLOW_EXIT_S) != NULL))
{
SERIAL_ECHOLNPGM("Special Menu: Exit Flow Menu");
FlowMenu = false;
}
}
@@ -599,23 +647,30 @@ void AnycubicTouchscreenClass::PrintList()
switch (filenumber)
{
case 0: // Page 1
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_01_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_01_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_002_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_L);
break;
case 4: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_002_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_UP_001_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_Z_DN_001_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_NEXT_L);
break;
case 8: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SAVE_EEPROM_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_SAVE_EEPROM_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_BACK_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_BACK_L);
break;
@@ -624,13 +679,35 @@ void AnycubicTouchscreenClass::PrintList()
break;
}
}
else if(FlowMenu)
{
String blah = SM_FLOW_DISP_L;
blah.replace("XXX", String(currentFlowRate));
switch (filenumber)
{
case 0: // Page 1
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_DISP_S);
HARDWARE_SERIAL_PROTOCOLLN(blah);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_UP_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_UP_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_DN_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_DN_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_EXIT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOW_EXIT_L);
break;
default:
break;
}
}
else if (SpecialMenu)
{
switch (filenumber)
{
case 0: // Page 1
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_EXIT_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOWMENU_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_FLOWMENU_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PREHEAT_BED_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PREHEAT_BED_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PAUSE_S);
@@ -641,8 +718,8 @@ void AnycubicTouchscreenClass::PrintList()
#if DISABLED(KNUTWURST_BLTOUCH)
case 4: // Page 2
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_START_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_MENU_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_MESH_MENU_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_HOTEND_S);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_HOTEND_L);
HARDWARE_SERIAL_PROTOCOLLNPGM(SM_PID_BED_S);

View File

@@ -61,6 +61,8 @@ char *ftostr32(const float &);
#define SM_LOAD_DEFAULTS_S "<LDDEF>"
#define SM_PREHEAT_BED_L "<Preheat Ultrabase>"
#define SM_PREHEAT_BED_S "<PREHE>"
#define SM_MESH_MENU_L "<Mesh Leveling>"
#define SM_MESH_MENU_S "<MESHL>"
#define SM_MESH_START_L "<Start Mesh Leveling>"
#define SM_MESH_START_S "<SMESH>"
#define SM_MESH_NEXT_L "<Next Mesh Point>"
@@ -89,8 +91,20 @@ char *ftostr32(const float &);
#define SM_EN_FILSENS_S "<ENSEN>"
#define SM_EXIT_L "<Exit>"
#define SM_EXIT_S "<EXIT>"
#define SM_BACK_L "<End Mesh Leveling>"
#define SM_BACK_S "<BACK>"
#define SM_FLOWMENU_L "<Set Flowrate>"
#define SM_FLOWMENU_S "<SETFLO>"
#define SM_FLOW_DISP_L "<Flow is XXX>"
#define SM_FLOW_DISP_S "<FLDISP>"
#define SM_FLOW_UP_L "<Up>"
#define SM_FLOW_UP_S "<UP>"
#define SM_FLOW_DN_L "<Down>"
#define SM_FLOW_DN_S "<DOWN>"
#define SM_FLOW_EXIT_L "<End Flow Settings>"
#define SM_FLOW_EXIT_S "<EXTFLW>"
#endif
#if ENABLED(KNUTWURST_DGUS2_TFT)
@@ -108,7 +122,9 @@ char *ftostr32(const float &);
#define SM_LOAD_DEFAULTS_S "<LOADF~1.GCO"
#define SM_PREHEAT_BED_L "<Preheat Ultrabase> .gcode"
#define SM_PREHEAT_BED_S "<PREHE~1.GCO"
#define SM_MESH_START_L "<Mesh Leveling> .gcode"
#define SM_MESH_MENU_L "<Mesh Leveling> .gcode"
#define SM_MESH_MENU_S "<MESHL~1.GCO"
#define SM_MESH_START_L "<Start MeshLeveling>.gcode"
#define SM_MESH_START_S "<START~1.GCO"
#define SM_MESH_NEXT_L "<Next Mesh Point> .gcode"
#define SM_MESH_NEXT_S "<NEXTM~1.GCO"
@@ -136,8 +152,20 @@ char *ftostr32(const float &);
#define SM_EN_FILSENS_S "<ENABL~1.GCO"
#define SM_EXIT_L "<Exit> .gcode"
#define SM_EXIT_S "<EXIT_~1.GCO"
#define SM_BACK_L "<End Mesh Leveling> .gcode"
#define SM_BACK_S "<BACK_~1.GCO"
#define SM_FLOWMENU_L "<Set Flowrate> .gcode"
#define SM_FLOWMENU_S "<SETFLO1.GCO"
#define SM_FLOW_DISP_L "<Flow is XXX%> .gcode"
#define SM_FLOW_DISP_S "<FLDISPL.GCO"
#define SM_FLOW_UP_L "<Up> .gcode"
#define SM_FLOW_UP_S "<UPFLOW1.GCO"
#define SM_FLOW_DN_L "<Down> .gcode"
#define SM_FLOW_DN_S "<DWNFLOW.GCO"
#define SM_FLOW_EXIT_L "<End Flow Settings> .gcode"
#define SM_FLOW_EXIT_S "<EXTFLW1.GCO"
#endif
@@ -183,6 +211,7 @@ private:
char LastSDstatus = 0;
uint16_t HeaterCheckCount = 0;
bool IsParked = false;
int currentFlowRate = 0;
#if defined(POWER_OUTAGE_TEST)
struct OutageDataStruct
@@ -216,10 +245,11 @@ private:
char currentTouchscreenSelection[64];
char currentFileOrDirectory[64];
uint16_t MyFileNrCnt = 0;
uint8_t SpecialMenu = false;
uint8_t MMLMenu = false;
uint8_t FilamentSensorEnabled = true;
uint8_t SpecialMenu = false;
uint8_t MMLMenu = false;
uint8_t FlowMenu = false;
#if ENABLED(ANYCUBIC_FILAMENT_RUNOUT_SENSOR)
char FilamentTestStatus = false;