Add GFX overlay to UBL mesh edit (#8038)
* Add GFX overlay to UBL mesh edit Fixed misplaced HAS_TEMP_BED in dogm_bitmaps.h rename _lcd_babystep_zoffset_overlay to _lcd_zoffset_overlay_gfx and move it out of BABYSTEP_ZPROBE_OFFSET to we can use it for over things. Add this function into UBL mesh edit screen. update all Configuration.h to add ENABLE_MESH_EDIT_GFX_OVERLAY * Add Sanity to UBL insanity Need to check for DOGLCD otherwise error out.
This commit is contained in:
@ -419,97 +419,95 @@
|
||||
0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
#endif // Extruders
|
||||
|
||||
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
|
||||
const unsigned char cw_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x07,0xf8,0x00, // 000001111111100000000000
|
||||
0x0c,0x0c,0x00, // 000011000000110000000000
|
||||
0x10,0x02,0x00, // 000100000000001000000000
|
||||
0x20,0x01,0x00, // 001000000000000100000000
|
||||
0x60,0x01,0x80, // 011000000000000100000000
|
||||
0x40,0x00,0x80, // 010000000000000010000000
|
||||
0x40,0x03,0xe0, // 010000000000001111100000
|
||||
0x40,0x01,0xc0, // 010000000000000111000000
|
||||
0x40,0x00,0x80, // 010000000000000010000000
|
||||
0x40,0x00,0x00, // 010000000000000000000000
|
||||
0x40,0x00,0x00, // 010000000000000000000000
|
||||
0x60,0x00,0x00, // 011000000000000000000000
|
||||
0x20,0x00,0x00, // 001000000000000000000000
|
||||
0x10,0x00,0x00, // 000100000000000000000000
|
||||
0x0c,0x0c,0x00, // 000011000000110000000000
|
||||
0x07,0xf8,0x00 // 000001111111100000000000
|
||||
};
|
||||
|
||||
const unsigned char ccw_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x01,0xfe,0x00, // 000000011111111000000000
|
||||
0x03,0x03,0x00, // 000000110000001100000000
|
||||
0x04,0x00,0x80, // 000001000000000010000000
|
||||
0x08,0x00,0x40, // 000010000000000001000000
|
||||
0x18,0x00,0x60, // 000110000000000001100000
|
||||
0x10,0x00,0x20, // 000100000000000000100000
|
||||
0x7c,0x00,0x20, // 011111000000000000100000
|
||||
0x38,0x00,0x20, // 001110000000000000100000
|
||||
0x10,0x00,0x20, // 000100000000000000100000
|
||||
0x00,0x00,0x20, // 000000000000000000100000
|
||||
0x00,0x00,0x20, // 000000000000000000100000
|
||||
0x00,0x00,0x60, // 000000000000000001100000
|
||||
0x00,0x00,0x40, // 000000000000000001000000
|
||||
0x00,0x00,0x80, // 000000000000000010000000
|
||||
0x03,0x03,0x00, // 000000110000001100000000
|
||||
0x01,0xfe,0x00 // 000000011111111000000000
|
||||
};
|
||||
|
||||
|
||||
const unsigned char up_arrow_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x06,0x00, // 000001100000
|
||||
0x0F,0x00, // 000011110000
|
||||
0x1F,0x80, // 000111111000
|
||||
0x3F,0xC0, // 001111111100
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00 // 000001100000
|
||||
};
|
||||
|
||||
const unsigned char down_arrow_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x3F,0xC0, // 001111111100
|
||||
0x1F,0x80, // 000111111000
|
||||
0x0F,0x00, // 000011110000
|
||||
0x06,0x00 // 000001100000
|
||||
};
|
||||
|
||||
const unsigned char offset_bedline_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0xFF,0xFF,0xFF // 111111111111111111111111
|
||||
};
|
||||
|
||||
const unsigned char nozzle_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x7F,0x80, // 0111111110000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0x7F,0x80, // 0111111110000000
|
||||
0x7F,0x80, // 0111111110000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0x3F,0x00, // 0011111100000000
|
||||
0x1E,0x00, // 0001111000000000
|
||||
0x0C,0x00 // 0000110000000000
|
||||
};
|
||||
#endif // BABYSTEP_ZPROBE_GFX_OVERLAY
|
||||
|
||||
#endif // HAS_TEMP_BED
|
||||
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) || ENABLED(ENABLE_MESH_EDIT_GFX_OVERLAY)
|
||||
const unsigned char cw_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x07,0xf8,0x00, // 000001111111100000000000
|
||||
0x0c,0x0c,0x00, // 000011000000110000000000
|
||||
0x10,0x02,0x00, // 000100000000001000000000
|
||||
0x20,0x01,0x00, // 001000000000000100000000
|
||||
0x60,0x01,0x80, // 011000000000000100000000
|
||||
0x40,0x00,0x80, // 010000000000000010000000
|
||||
0x40,0x03,0xe0, // 010000000000001111100000
|
||||
0x40,0x01,0xc0, // 010000000000000111000000
|
||||
0x40,0x00,0x80, // 010000000000000010000000
|
||||
0x40,0x00,0x00, // 010000000000000000000000
|
||||
0x40,0x00,0x00, // 010000000000000000000000
|
||||
0x60,0x00,0x00, // 011000000000000000000000
|
||||
0x20,0x00,0x00, // 001000000000000000000000
|
||||
0x10,0x00,0x00, // 000100000000000000000000
|
||||
0x0c,0x0c,0x00, // 000011000000110000000000
|
||||
0x07,0xf8,0x00 // 000001111111100000000000
|
||||
};
|
||||
|
||||
const unsigned char ccw_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x01,0xfe,0x00, // 000000011111111000000000
|
||||
0x03,0x03,0x00, // 000000110000001100000000
|
||||
0x04,0x00,0x80, // 000001000000000010000000
|
||||
0x08,0x00,0x40, // 000010000000000001000000
|
||||
0x18,0x00,0x60, // 000110000000000001100000
|
||||
0x10,0x00,0x20, // 000100000000000000100000
|
||||
0x7c,0x00,0x20, // 011111000000000000100000
|
||||
0x38,0x00,0x20, // 001110000000000000100000
|
||||
0x10,0x00,0x20, // 000100000000000000100000
|
||||
0x00,0x00,0x20, // 000000000000000000100000
|
||||
0x00,0x00,0x20, // 000000000000000000100000
|
||||
0x00,0x00,0x60, // 000000000000000001100000
|
||||
0x00,0x00,0x40, // 000000000000000001000000
|
||||
0x00,0x00,0x80, // 000000000000000010000000
|
||||
0x03,0x03,0x00, // 000000110000001100000000
|
||||
0x01,0xfe,0x00 // 000000011111111000000000
|
||||
};
|
||||
|
||||
|
||||
const unsigned char up_arrow_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x06,0x00, // 000001100000
|
||||
0x0F,0x00, // 000011110000
|
||||
0x1F,0x80, // 000111111000
|
||||
0x3F,0xC0, // 001111111100
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00 // 000001100000
|
||||
};
|
||||
|
||||
const unsigned char down_arrow_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x06,0x00, // 000001100000
|
||||
0x3F,0xC0, // 001111111100
|
||||
0x1F,0x80, // 000111111000
|
||||
0x0F,0x00, // 000011110000
|
||||
0x06,0x00 // 000001100000
|
||||
};
|
||||
|
||||
const unsigned char offset_bedline_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0xFF,0xFF,0xFF // 111111111111111111111111
|
||||
};
|
||||
|
||||
const unsigned char nozzle_bmp[] PROGMEM = { //AVR-GCC, WinAVR
|
||||
0x7F,0x80, // 0111111110000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0x7F,0x80, // 0111111110000000
|
||||
0x7F,0x80, // 0111111110000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0xFF,0xC0, // 1111111111000000
|
||||
0x3F,0x00, // 0011111100000000
|
||||
0x1E,0x00, // 0001111000000000
|
||||
0x0C,0x00 // 0000110000000000
|
||||
};
|
||||
#endif // BABYSTEP_ZPROBE_GFX_OVERLAY || ENABLE_MESH_EDIT_GFX_OVERLAY
|
||||
|
@ -1057,47 +1057,47 @@ void kill_screen(const char* lcd_msg) {
|
||||
void lcd_babystep_y() { lcd_goto_screen(_lcd_babystep_y); babysteps_done = 0; defer_return_to_status = true; }
|
||||
#endif
|
||||
|
||||
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
|
||||
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) || ENABLED(ENABLE_MESH_EDIT_GFX_OVERLAY)
|
||||
|
||||
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
|
||||
|
||||
void _lcd_babystep_zoffset_overlay(const float in_zoffset) {
|
||||
// Determine whether the user is raising or lowering the nozzle.
|
||||
int8_t dir = 0;
|
||||
static float old_zprobe_zoffset = 0;
|
||||
if (in_zoffset != old_zprobe_zoffset) {
|
||||
dir = (in_zoffset > old_zprobe_zoffset) ? 1 : -1;
|
||||
old_zprobe_zoffset = in_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);
|
||||
}
|
||||
void _lcd_zoffset_overlay_gfx(const float in_zoffset) {
|
||||
// Determine whether the user is raising or lowering the nozzle.
|
||||
int8_t dir = 0;
|
||||
static float old_zprobe_zoffset = 0;
|
||||
if (in_zoffset != old_zprobe_zoffset) {
|
||||
dir = (in_zoffset > old_zprobe_zoffset) ? 1 : (in_zoffset == 0) ? 0 : -1;
|
||||
old_zprobe_zoffset = in_zoffset;
|
||||
}
|
||||
|
||||
#endif // BABYSTEP_ZPROBE_GFX_OVERLAY
|
||||
#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 || ENABLE_MESH_EDIT_GFX_OVERLAY
|
||||
|
||||
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
|
||||
|
||||
void lcd_babystep_zoffset() {
|
||||
if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
|
||||
@ -1121,7 +1121,7 @@ void kill_screen(const char* lcd_msg) {
|
||||
if (lcdDrawUpdate) {
|
||||
lcd_implementation_drawedit(PSTR(MSG_ZPROBE_ZOFFSET), ftostr43sign(zprobe_zoffset));
|
||||
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
|
||||
_lcd_babystep_zoffset_overlay(zprobe_zoffset);
|
||||
_lcd_zoffset_overlay_gfx(zprobe_zoffset);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@ -1158,6 +1158,9 @@ void kill_screen(const char* lcd_msg) {
|
||||
|
||||
if (lcdDrawUpdate)
|
||||
lcd_implementation_drawedit(msg, ftostr43sign(mesh_edit_value));
|
||||
#if ENABLED(ENABLE_MESH_EDIT_GFX_OVERLAY)
|
||||
_lcd_zoffset_overlay_gfx(mesh_edit_value);
|
||||
#endif
|
||||
}
|
||||
|
||||
void _lcd_mesh_edit_NOP() {
|
||||
|
Reference in New Issue
Block a user