Added rewipe and reprobe on a failed probe.

master
Marcio Teixeira 7 years ago
parent 9202dc69d7
commit d160e92f0f

@ -63,7 +63,7 @@
#error Angelfish_Aero // Titan AERO (Angelfish)
#endif
#define LULZBOT_FW_VERSION ".2"
#define LULZBOT_FW_VERSION ".3"
// Select options based on printer model
@ -644,4 +644,34 @@
u8g.drawStr(67,62,SHORT_BUILD_VERSION LULZBOT_FW_VERSION); \
} while( u8g.nextPage() );
// Z Probe w/ Rewipe
#define LULZBOT_NUM_REWIPES 1
#define LULZBOT_PROBE_Z_WITH_REWIPE(speed) \
do_probe_move(0, speed); /* probe; if we reach Z=0, the probe failed */ \
for(int rewipes = 1; current_position[Z_AXIS] == 0; rewipes++) { \
SERIAL_ERRORLNPGM(MSG_REWIPE); \
LCD_MESSAGEPGM(MSG_REWIPE); \
do_blocking_move_to_z(10, MMM_TO_MMS(speed)); /* raise nozzle */ \
Nozzle::clean(0, 2, 0, 0); /* wipe nozzle */ \
do_probe_move(0, speed); /* reprobe */ \
if(rewipes >= LULZBOT_NUM_REWIPES) { /* max of tries */ \
SERIAL_ERRORLNPGM("PROBE FAIL CLEAN NOZZLE"); /* cura listens for this message specifically */ \
LCD_MESSAGEPGM(MSG_LEVEL_FAIL); /* use a more friendly message on the LCD */ \
BUZZ(25, 880); BUZZ(50, 0); /* play tone */ \
BUZZ(25, 880); BUZZ(50, 0); \
BUZZ(25, 880); BUZZ(50, 0); \
BUZZ(75, 880); BUZZ(50, 0); \
BUZZ(75, 880); BUZZ(50, 0); \
BUZZ(75, 880); BUZZ(50, 0); \
BUZZ(25, 880); BUZZ(50, 0); \
BUZZ(25, 880); BUZZ(50, 0); \
BUZZ(25, 880); BUZZ(50, 0); \
do_blocking_move_to_z(100, MMM_TO_MMS(Z_PROBE_SPEED_FAST)); /* raise head */ \
card.stopSDPrint(); /* stop print job */ \
clear_command_queue(); \
print_job_timer.stop(); \
return NAN; /* abort the leveling in progress */ \
} \
}
#endif /* CONFIGURATION_LULZBOT */

@ -2243,7 +2243,11 @@ static void clean_up_after_endstop_or_probe_move() {
#if ENABLED(PROBE_DOUBLE_TOUCH)
// Do a first probe at the fast speed
#if defined(LULZBOT_PROBE_Z_WITH_REWIPE)
LULZBOT_PROBE_Z_WITH_REWIPE(Z_PROBE_SPEED_FAST);
#else
do_probe_move(-(Z_MAX_LENGTH) - 10, Z_PROBE_SPEED_FAST);
#endif
#if ENABLED(DEBUG_LEVELING_FEATURE)
float first_probe_z = current_position[Z_AXIS];
@ -2270,7 +2274,11 @@ static void clean_up_after_endstop_or_probe_move() {
#endif
// move down slowly to find bed
#if defined(LULZBOT_PROBE_Z_WITH_REWIPE)
LULZBOT_PROBE_Z_WITH_REWIPE(Z_PROBE_SPEED_SLOW);
#else
do_probe_move(-(Z_MAX_LENGTH) - 10, Z_PROBE_SPEED_SLOW);
#endif
#if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) DEBUG_POS("<<< run_z_probe", current_position);

@ -156,6 +156,12 @@
#ifndef MSG_LEVEL_BED
#define MSG_LEVEL_BED _UxGT("Level bed")
#endif
#ifndef MSG_REWIPE
#define MSG_REWIPE _UxGT("Rewiping")
#endif
#ifndef MSG_LEVEL_FAIL
#define MSG_LEVEL_FAIL _UxGT("Please clean nozzle")
#endif
#ifndef MSG_EDITING_STOPPED
#define MSG_EDITING_STOPPED _UxGT("Mesh Editing Stopped")
#endif

@ -12,8 +12,10 @@ The source on this branch can compile firmware for the TAZ 6 and Mini, as well a
To select what firmware to build, modify lines 6 and 7 of "Configuration_LulzBot.h" according to the instructions on line 39.
# Known Limitations:
# Known Issues:
1. There is no way to tune the FlexyDually properly right now, as Marlin 1.1.4 does not support separate ESTEPs per extruder.
2. The probe fail and rewipe/reprobe functionality is currently not implemented.
3. The Makefile does not work. Building must be done via the Arduino IDE (internal builds are being done with 1.8.3)
1. The Makefile does not work. Building must be done via the Arduino IDE (internal builds are being done with 1.8.3)
2. There is no way to tune the FlexyDually properly right now, as Marlin 1.1.4 does not support separate ESTEPs per extruder.
3. Printer needs to be power cycled to clear "clean nozzle" state.
4. M114 not reporting complete version string.
5. LCD display will show "Heating" when cooling.
Loading…
Cancel
Save