Adding in M48 to Pro/ProXT Leveling menu.

Fixing shadowed out level X axis on Pro/ProXT
This commit is contained in:
Brian Kahl 2021-09-14 09:26:05 -05:00
parent b6ca15efd1
commit e2e24060e7
3 changed files with 24 additions and 16 deletions

View File

@ -97,7 +97,7 @@
// Author info of this build printed to the host during boot and M115 // Author info of this build printed to the host during boot and M115
#define STRING_CONFIG_H_AUTHOR "Lulzbot" // Who made the changes. #define STRING_CONFIG_H_AUTHOR "Lulzbot" // Who made the changes.
#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes) #define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
#define LULZBOT_FW_VERSION "2.0.9.0.5" #define LULZBOT_FW_VERSION "2.0.9.0.6"
/** /**
* *** VENDORS PLEASE READ *** * *** VENDORS PLEASE READ ***
@ -1581,7 +1581,7 @@
#elif ENABLED(Workhorse) #elif ENABLED(Workhorse)
#define PROBE_SAFE_POINT { -10, -10 } #define PROBE_SAFE_POINT { -10, -10 }
#elif ANY(TAZPro, TAZProXT) #elif ANY(TAZPro, TAZProXT)
#define PROBE_SAFE_POINT { -9, -9 } #define PROBE_SAFE_POINT { -1, -9 }
#endif #endif
// X and Y axis travel speed (mm/min) between probes // X and Y axis travel speed (mm/min) between probes
@ -1661,9 +1661,7 @@
#define Z_PROBE_OFFSET_RANGE_MAX 5 #define Z_PROBE_OFFSET_RANGE_MAX 5
// Enable the M48 repeatability test to test probe accuracy // Enable the M48 repeatability test to test probe accuracy
#if DISABLED(TAZPro, TAZProXT) #define Z_MIN_PROBE_REPEATABILITY_TEST
#define Z_MIN_PROBE_REPEATABILITY_TEST
#endif
// Before deploy/stow pause for user confirmation // Before deploy/stow pause for user confirmation
//#define PAUSE_BEFORE_DEPLOY_STOW //#define PAUSE_BEFORE_DEPLOY_STOW

View File

@ -4103,6 +4103,14 @@
#define GANTRY_CALIBRATION_COMMANDS_POST "G28" #define GANTRY_CALIBRATION_COMMANDS_POST "G28"
#endif #endif
#if ANY(TAZPro,TAZProXT,Workhorse)
#define X_LEVEL_SEQUENCE
#endif
#if defined (X_LEVEL_SEQUENCE)
#if ANY(TAZPro,TAZProXT,Workhorse)
#define LEVELING_COMMANDS "G28 Z\nM18 Z\nG4 P300\nG28 Z" //Homing to the top, disabling the Z motors for 300ms and then rehoming Z
#endif
#endif
/** /**
* Instant freeze / unfreeze functionality * Instant freeze / unfreeze functionality
* Specified pin has pullup and connecting to ground will instantly pause motion. * Specified pin has pullup and connecting to ground will instantly pause motion.

View File

@ -40,7 +40,7 @@ using namespace Theme;
#define LEVEL_AXIS_POS BTN_POS(1,2), BTN_SIZE(2,1) #define LEVEL_AXIS_POS BTN_POS(1,2), BTN_SIZE(2,1)
#define BED_MESH_TITLE_POS BTN_POS(1,3), BTN_SIZE(2,1) #define BED_MESH_TITLE_POS BTN_POS(1,3), BTN_SIZE(2,1)
#define PROBE_BED_POS BTN_POS(1,4), BTN_SIZE(1,1) #define PROBE_BED_POS BTN_POS(1,4), BTN_SIZE(1,1)
#define TEST_MESH_POS BTN_POS(2,4), BTN_SIZE(1,1) #define M48_TEST_POS BTN_POS(2,4), BTN_SIZE(1,1)
#define SHOW_MESH_POS BTN_POS(1,5), BTN_SIZE(1,1) #define SHOW_MESH_POS BTN_POS(1,5), BTN_SIZE(1,1)
#define EDIT_MESH_POS BTN_POS(2,5), BTN_SIZE(1,1) #define EDIT_MESH_POS BTN_POS(2,5), BTN_SIZE(1,1)
#define BLTOUCH_TITLE_POS BTN_POS(1,6), BTN_SIZE(2,1) #define BLTOUCH_TITLE_POS BTN_POS(1,6), BTN_SIZE(2,1)
@ -54,7 +54,7 @@ using namespace Theme;
#define LEVEL_AXIS_POS BTN_POS(1,2), BTN_SIZE(3,1) #define LEVEL_AXIS_POS BTN_POS(1,2), BTN_SIZE(3,1)
#define BED_MESH_TITLE_POS BTN_POS(1,3), BTN_SIZE(2,1) #define BED_MESH_TITLE_POS BTN_POS(1,3), BTN_SIZE(2,1)
#define PROBE_BED_POS BTN_POS(1,4), BTN_SIZE(1,1) #define PROBE_BED_POS BTN_POS(1,4), BTN_SIZE(1,1)
#define TEST_MESH_POS BTN_POS(2,4), BTN_SIZE(1,1) #define M48_TEST_POS BTN_POS(2,4), BTN_SIZE(1,1)
#define SHOW_MESH_POS BTN_POS(1,5), BTN_SIZE(1,1) #define SHOW_MESH_POS BTN_POS(1,5), BTN_SIZE(1,1)
#define EDIT_MESH_POS BTN_POS(2,5), BTN_SIZE(1,1) #define EDIT_MESH_POS BTN_POS(2,5), BTN_SIZE(1,1)
#define BLTOUCH_TITLE_POS BTN_POS(3,3), BTN_SIZE(1,1) #define BLTOUCH_TITLE_POS BTN_POS(3,3), BTN_SIZE(1,1)
@ -81,12 +81,12 @@ void LevelingMenu::onRedraw(draw_mode_t what) {
.text(BLTOUCH_TITLE_POS, GET_TEXT_F(MSG_BLTOUCH)) .text(BLTOUCH_TITLE_POS, GET_TEXT_F(MSG_BLTOUCH))
#endif #endif
.font(font_medium).colors(normal_btn) .font(font_medium).colors(normal_btn)
.enabled(EITHER(Z_STEPPER_AUTO_ALIGN,MECHANICAL_GANTRY_CALIBRATION)) .enabled(ANY(Z_STEPPER_AUTO_ALIGN,MECHANICAL_GANTRY_CALIBRATION,X_LEVEL_SEQUENCE))
.tag(2).button(LEVEL_AXIS_POS, GET_TEXT_F(MSG_LEVEL_X_AXIS)) .tag(2).button(LEVEL_AXIS_POS, GET_TEXT_F(MSG_LEVEL_X_AXIS))
.tag(3).button(PROBE_BED_POS, GET_TEXT_F(MSG_PROBE_BED)) .tag(3).button(PROBE_BED_POS, GET_TEXT_F(MSG_PROBE_BED))
.enabled(ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)) //Taking over mesh view option due to using Bilinear leveling and not being able to edit the mesh
.tag(4).button(M48_TEST_POS, GET_TEXT_F(MSG_M48_TEST))
#if DISABLED (AUTO_BED_LEVELING_BILINEAR) #if DISABLED (AUTO_BED_LEVELING_BILINEAR)
.enabled(ENABLED(HAS_MESH))
.tag(4).button(SHOW_MESH_POS, GET_TEXT_F(MSG_SHOW_MESH))
.enabled(ENABLED(HAS_MESH)) .enabled(ENABLED(HAS_MESH))
.tag(5).button(EDIT_MESH_POS, GET_TEXT_F(MSG_EDIT_MESH)) .tag(5).button(EDIT_MESH_POS, GET_TEXT_F(MSG_EDIT_MESH))
.enabled(ENABLED(G26_MESH_VALIDATION)) .enabled(ENABLED(G26_MESH_VALIDATION))
@ -105,7 +105,9 @@ bool LevelingMenu::onTouchEnd(uint8_t tag) {
switch (tag) { switch (tag) {
case 1: GOTO_PREVIOUS(); break; case 1: GOTO_PREVIOUS(); break;
#if EITHER(Z_STEPPER_AUTO_ALIGN,MECHANICAL_GANTRY_CALIBRATION) #if EITHER(Z_STEPPER_AUTO_ALIGN,MECHANICAL_GANTRY_CALIBRATION)
case 2: SpinnerDialogBox::enqueueAndWait_P(F("G34")); break; case 2: SpinnerDialogBox::enqueueAndWait_P(F("G34")); break;
#else
case 2: SpinnerDialogBox::enqueueAndWait_P(F(LEVELING_COMMANDS)); break;
#endif #endif
case 3: case 3:
#ifndef BED_LEVELING_COMMANDS #ifndef BED_LEVELING_COMMANDS
@ -117,16 +119,16 @@ bool LevelingMenu::onTouchEnd(uint8_t tag) {
SpinnerDialogBox::enqueueAndWait_P(F(BED_LEVELING_COMMANDS)); SpinnerDialogBox::enqueueAndWait_P(F(BED_LEVELING_COMMANDS));
#endif #endif
break; break;
case 4: SpinnerDialogBox::enqueueAndWait_P(F("G28O\nM48")); break;
#if ENABLED(AUTO_BED_LEVELING_UBL) #if ENABLED(AUTO_BED_LEVELING_UBL)
case 4: BedMeshViewScreen::show(); break; case 5: BedMeshEditScreen::show(); break;
case 5: BedMeshEditScreen::show(); break;
#endif #endif
#if ENABLED(G26_MESH_VALIDATION) #if ENABLED(G26_MESH_VALIDATION)
case 6: BedMeshViewScreen::doMeshValidation(); break; case 6: BedMeshViewScreen::doMeshValidation(); break;
#endif #endif
#if ENABLED(BLTOUCH) #if ENABLED(BLTOUCH)
case 7: injectCommands_P(PSTR("M280 P0 S60")); break; case 7: injectCommands_P(PSTR("M280 P0 S60")); break;
case 8: SpinnerDialogBox::enqueueAndWait_P(F("M280 P0 S90\nG4 P100\nM280 P0 S120")); break; case 8: SpinnerDialogBox::enqueueAndWait_P(F("M280 P0 S90\nG4 P100\nM280 P0 S120")); break;
#endif #endif
default: return false; default: return false;
} }