|
|
@ -1035,6 +1035,44 @@ void kill_screen(const char* lcd_msg) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) || ENABLED(MESH_EDIT_GFX_OVERLAY)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void _lcd_zoffset_overlay_gfx(const float zvalue) {
|
|
|
|
|
|
|
|
// Determine whether the user is raising or lowering the nozzle.
|
|
|
|
|
|
|
|
static int8_t dir;
|
|
|
|
|
|
|
|
static float old_zvalue;
|
|
|
|
|
|
|
|
if (zvalue != old_zvalue) {
|
|
|
|
|
|
|
|
dir = zvalue ? zvalue < old_zvalue ? -1 : 1 : 0;
|
|
|
|
|
|
|
|
old_zvalue = zvalue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(OVERLAY_GFX_REVERSE)
|
|
|
|
|
|
|
|
const unsigned char *rot_up = ccw_bmp, *rot_down = cw_bmp;
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
const unsigned char *rot_up = cw_bmp, *rot_down = ccw_bmp;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(USE_BIG_EDIT_FONT)
|
|
|
|
|
|
|
|
const int left = 0, right = 45, nozzle = 95;
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
const int left = 5, right = 90, nozzle = 60;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Draw a representation of the nozzle
|
|
|
|
|
|
|
|
if (PAGE_CONTAINS(3, 16)) u8g.drawBitmapP(nozzle + 6, 4 - dir, 2, 12, nozzle_bmp);
|
|
|
|
|
|
|
|
if (PAGE_CONTAINS(20, 20)) u8g.drawBitmapP(nozzle + 0, 20, 3, 1, offset_bedline_bmp);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Draw cw/ccw indicator and up/down arrows.
|
|
|
|
|
|
|
|
if (PAGE_CONTAINS(47, 62)) {
|
|
|
|
|
|
|
|
u8g.drawBitmapP(left + 0, 47, 3, 16, rot_down);
|
|
|
|
|
|
|
|
u8g.drawBitmapP(right + 0, 47, 3, 16, rot_up);
|
|
|
|
|
|
|
|
u8g.drawBitmapP(right + 20, 48 - dir, 2, 13, up_arrow_bmp);
|
|
|
|
|
|
|
|
u8g.drawBitmapP(left + 20, 49 - dir, 2, 13, down_arrow_bmp);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // BABYSTEP_ZPROBE_GFX_OVERLAY || MESH_EDIT_GFX_OVERLAY
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(BABYSTEPPING)
|
|
|
|
#if ENABLED(BABYSTEPPING)
|
|
|
|
|
|
|
|
|
|
|
|
void _lcd_babystep(const AxisEnum axis, const char* msg) {
|
|
|
|
void _lcd_babystep(const AxisEnum axis, const char* msg) {
|
|
|
@ -1060,48 +1098,6 @@ void kill_screen(const char* lcd_msg) {
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
|
|
|
|
|
|
|
|
void _lcd_babystep_zoffset_overlay(const float zprobe_zoffset) {
|
|
|
|
|
|
|
|
// Determine whether the user is raising or lowering the nozzle.
|
|
|
|
|
|
|
|
static int dir = 0;
|
|
|
|
|
|
|
|
static float old_zprobe_zoffset = 0;
|
|
|
|
|
|
|
|
if (zprobe_zoffset != old_zprobe_zoffset) {
|
|
|
|
|
|
|
|
dir = (zprobe_zoffset > old_zprobe_zoffset) ? 1 : -1;
|
|
|
|
|
|
|
|
old_zprobe_zoffset = zprobe_zoffset;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_GFX_REVERSE)
|
|
|
|
|
|
|
|
const unsigned char* rot_up = ccw_bmp;
|
|
|
|
|
|
|
|
const unsigned char* rot_down = cw_bmp;
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
const unsigned char* rot_up = cw_bmp;
|
|
|
|
|
|
|
|
const unsigned char* rot_down = ccw_bmp;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if ENABLED(USE_BIG_EDIT_FONT)
|
|
|
|
|
|
|
|
const int left = 0,
|
|
|
|
|
|
|
|
right = 45,
|
|
|
|
|
|
|
|
nozzle = 95;
|
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
const int left = 5,
|
|
|
|
|
|
|
|
right = 90,
|
|
|
|
|
|
|
|
nozzle = 60;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Draw a representation of the nozzle
|
|
|
|
|
|
|
|
if (PAGE_CONTAINS(3, 16)) u8g.drawBitmapP(nozzle + 6, 4 - dir, 2, 12, nozzle_bmp);
|
|
|
|
|
|
|
|
if (PAGE_CONTAINS(20, 20)) u8g.drawBitmapP(nozzle + 0, 20, 3, 1, offset_bedline_bmp);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Draw cw/ccw indicator and up/down arrows.
|
|
|
|
|
|
|
|
if (PAGE_CONTAINS(47, 62)) {
|
|
|
|
|
|
|
|
u8g.drawBitmapP(left + 0, 47, 3, 16, rot_down);
|
|
|
|
|
|
|
|
u8g.drawBitmapP(right + 0, 47, 3, 16, rot_up);
|
|
|
|
|
|
|
|
u8g.drawBitmapP(right + 20, 48 - dir, 2, 13, up_arrow_bmp);
|
|
|
|
|
|
|
|
u8g.drawBitmapP(left + 20, 49 - dir, 2, 13, down_arrow_bmp);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // BABYSTEP_ZPROBE_GFX_OVERLAY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void lcd_babystep_zoffset() {
|
|
|
|
void lcd_babystep_zoffset() {
|
|
|
|
if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
|
|
|
|
if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
|
|
|
|
defer_return_to_status = true;
|
|
|
|
defer_return_to_status = true;
|
|
|
@ -1123,7 +1119,7 @@ void kill_screen(const char* lcd_msg) {
|
|
|
|
if (lcdDrawUpdate) {
|
|
|
|
if (lcdDrawUpdate) {
|
|
|
|
lcd_implementation_drawedit(PSTR(MSG_ZPROBE_ZOFFSET), ftostr43sign(zprobe_zoffset));
|
|
|
|
lcd_implementation_drawedit(PSTR(MSG_ZPROBE_ZOFFSET), ftostr43sign(zprobe_zoffset));
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
|
|
|
|
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
|
|
|
|
_lcd_babystep_zoffset_overlay(zprobe_zoffset);
|
|
|
|
_lcd_zoffset_overlay_gfx(zprobe_zoffset);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1158,8 +1154,12 @@ void kill_screen(const char* lcd_msg) {
|
|
|
|
mesh_edit_value = float(rounded - (rounded % 5L)) / 1000.0;
|
|
|
|
mesh_edit_value = float(rounded - (rounded % 5L)) / 1000.0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (lcdDrawUpdate)
|
|
|
|
if (lcdDrawUpdate) {
|
|
|
|
lcd_implementation_drawedit(msg, ftostr43sign(mesh_edit_value));
|
|
|
|
lcd_implementation_drawedit(msg, ftostr43sign(mesh_edit_value));
|
|
|
|
|
|
|
|
#if ENABLED(MESH_EDIT_GFX_OVERLAY)
|
|
|
|
|
|
|
|
_lcd_zoffset_overlay_gfx(mesh_edit_value);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void _lcd_mesh_edit_NOP() {
|
|
|
|
void _lcd_mesh_edit_NOP() {
|
|
|
|