Browse Source

Added option for graphical overlay for Z-offset

Marcio Teixeira 6 years ago
parent
commit
d69c5317df
31 changed files with 199 additions and 1 deletions
  1. 2
    0
      Marlin/Configuration_adv.h
  2. 4
    0
      Marlin/SanityCheck.h
  3. 92
    0
      Marlin/dogm_bitmaps.h
  4. 2
    0
      Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h
  5. 2
    0
      Marlin/example_configurations/Anet/A6/Configuration_adv.h
  6. 2
    0
      Marlin/example_configurations/Anet/A8/Configuration_adv.h
  7. 2
    0
      Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h
  8. 2
    0
      Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h
  9. 2
    0
      Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h
  10. 2
    0
      Marlin/example_configurations/Cartesio/Configuration_adv.h
  11. 2
    0
      Marlin/example_configurations/Felix/Configuration_adv.h
  12. 2
    0
      Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h
  13. 2
    0
      Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h
  14. 2
    0
      Marlin/example_configurations/Malyan/M150/Configuration_adv.h
  15. 2
    0
      Marlin/example_configurations/RigidBot/Configuration_adv.h
  16. 2
    0
      Marlin/example_configurations/SCARA/Configuration_adv.h
  17. 2
    0
      Marlin/example_configurations/Sanguinololu/Configuration_adv.h
  18. 2
    0
      Marlin/example_configurations/TinyBoy2/Configuration_adv.h
  19. 2
    0
      Marlin/example_configurations/Velleman/K8200/Configuration_adv.h
  20. 2
    0
      Marlin/example_configurations/Velleman/K8400/Configuration_adv.h
  21. 2
    0
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h
  22. 2
    0
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h
  23. 2
    0
      Marlin/example_configurations/delta/generic/Configuration_adv.h
  24. 2
    0
      Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h
  25. 2
    0
      Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h
  26. 2
    0
      Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h
  27. 2
    0
      Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h
  28. 2
    0
      Marlin/example_configurations/makibox/Configuration_adv.h
  29. 2
    0
      Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h
  30. 2
    0
      Marlin/example_configurations/wt150/Configuration_adv.h
  31. 47
    1
      Marlin/ultralcd.cpp

+ 2
- 0
Marlin/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 4
- 0
Marlin/SanityCheck.h View File

@@ -305,6 +305,10 @@ static_assert(X_MAX_LENGTH >= X_BED_SIZE && Y_MAX_LENGTH >= Y_BED_SIZE,
305 305
     #error "MESH_BED_LEVELING and BABYSTEP_ZPROBE_OFFSET is not a valid combination"
306 306
   #elif ENABLED(BABYSTEP_ZPROBE_OFFSET) && !HAS_BED_PROBE
307 307
     #error "BABYSTEP_ZPROBE_OFFSET requires a probe."
308
+  #elif ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) && !ENABLED(DOGLCD)
309
+    #error "BABYSTEP_ZPROBE_GFX_OVERLAY requires a DOGLCD."
310
+  #elif ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY) && !ENABLED(BABYSTEP_ZPROBE_OFFSET)
311
+    #error "BABYSTEP_ZPROBE_GFX_OVERLAY requires a BABYSTEP_ZPROBE_OFFSET."
308 312
   #endif
309 313
 #endif
310 314
 

+ 92
- 0
Marlin/dogm_bitmaps.h View File

@@ -419,4 +419,96 @@
419 419
       0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
420 420
     };
421 421
   #endif // Extruders
422
+
423
+  #if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
424
+    const unsigned char cw_bmp[] PROGMEM = { //AVR-GCC, WinAVR
425
+      0x07,0xf8,0x00, // 000001111111100000000000
426
+      0x0c,0x0c,0x00, // 000011000000110000000000
427
+      0x10,0x02,0x00, // 000100000000001000000000
428
+      0x20,0x01,0x00, // 001000000000000100000000
429
+      0x60,0x01,0x80, // 011000000000000100000000
430
+      0x40,0x00,0x80, // 010000000000000010000000
431
+      0x40,0x03,0xe0, // 010000000000000011100000
432
+      0x40,0x01,0xc0, // 010000000000000011000000
433
+      0x40,0x00,0x80, // 010000000000000010000000
434
+      0x40,0x00,0x00, // 010000000000000000000000
435
+      0x40,0x00,0x00, // 010000000000000000000000
436
+      0x60,0x00,0x00, // 011000000000000000000000
437
+      0x20,0x00,0x00, // 001000000000000000000000
438
+      0x10,0x00,0x00, // 000100000000000000000000
439
+      0x0c,0x0c,0x00, // 000011000000110000000000
440
+      0x07,0xf8,0x00  // 000001111111100000000000
441
+    };
442
+
443
+    const unsigned char ccw_bmp[] PROGMEM = { //AVR-GCC, WinAVR
444
+      0x01,0xfe,0x00, // 000000011111111000000000
445
+      0x03,0x03,0x00, // 000000110000001100000000
446
+      0x04,0x00,0x80, // 000001000000000010000000
447
+      0x08,0x00,0x40, // 000010000000000001000000
448
+      0x18,0x00,0x60, // 000110000000000001100000
449
+      0x10,0x00,0x20, // 000100000000000000100000
450
+      0x7c,0x00,0x20, // 011111000000000000100000
451
+      0x38,0x00,0x20, // 001110000000000000100000
452
+      0x10,0x00,0x20, // 000100000000000000100000
453
+      0x00,0x00,0x20, // 000000000000000000100000
454
+      0x00,0x00,0x20, // 000000000000000000100000
455
+      0x00,0x00,0x60, // 000000000000000001100000
456
+      0x00,0x00,0x40, // 000000000000000001000000
457
+      0x00,0x00,0x80, // 000000000000000010000000
458
+      0x03,0x03,0x00, // 000000110000001100000000
459
+      0x01,0xfe,0x00  // 000000011111111000000000
460
+    };
461
+
462
+
463
+    const unsigned char up_arrow_bmp[] PROGMEM = { //AVR-GCC, WinAVR
464
+      0x06,0x00, // 000001100000
465
+      0x0F,0x00, // 000011110000
466
+      0x1F,0x80, // 000111111000
467
+      0x3F,0xC0, // 001111111100
468
+      0x06,0x00, // 000001100000
469
+      0x06,0x00, // 000001100000
470
+      0x06,0x00, // 000001100000
471
+      0x06,0x00, // 000001100000
472
+      0x06,0x00, // 000001100000
473
+      0x06,0x00, // 000001100000
474
+      0x06,0x00, // 000001100000
475
+      0x06,0x00, // 000001100000
476
+      0x06,0x00  // 000001100000
477
+    };
478
+
479
+    const unsigned char down_arrow_bmp[] PROGMEM = { //AVR-GCC, WinAVR
480
+      0x06,0x00, // 000001100000
481
+      0x06,0x00, // 000001100000
482
+      0x06,0x00, // 000001100000
483
+      0x06,0x00, // 000001100000
484
+      0x06,0x00, // 000001100000
485
+      0x06,0x00, // 000001100000
486
+      0x06,0x00, // 000001100000
487
+      0x06,0x00, // 000001100000
488
+      0x06,0x00, // 000001100000
489
+      0x3F,0xC0, // 001111111100
490
+      0x1F,0x80, // 000111111000
491
+      0x0F,0x00, // 000011110000
492
+      0x06,0x00  // 000001100000
493
+    };
494
+
495
+    const unsigned char offset_bedline_bmp[] PROGMEM = { //AVR-GCC, WinAVR
496
+      0xFF,0xFF,0xFF // 111111111111111111111111
497
+    };
498
+
499
+    const unsigned char nozzle_bmp[] PROGMEM = { //AVR-GCC, WinAVR
500
+      0x7F,0x80, // 0111111110000000
501
+      0xFF,0xC0, // 1111111111000000
502
+      0xFF,0xC0, // 1111111111000000
503
+      0xFF,0xC0, // 1111111111000000
504
+      0x7F,0x80, // 0111111110000000
505
+      0x7F,0x80, // 0111111110000000
506
+      0xFF,0xC0, // 1111111111000000
507
+      0xFF,0xC0, // 1111111111000000
508
+      0xFF,0xC0, // 1111111111000000
509
+      0x3F,0x00, // 0011111100000000
510
+      0x1E,0x00, // 0001111000000000
511
+      0x0C,0x00  // 0000110000000000
512
+    };
513
+  #endif // BABYSTEP_ZPROBE_GFX_OVERLAY
422 514
 #endif // HAS_TEMP_BED

+ 2
- 0
Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Anet/A6/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Anet/A8/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Cartesio/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Felix/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Folger Tech/i3-2020/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Malyan/M150/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/RigidBot/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/SCARA/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Sanguinololu/Configuration_adv.h View File

@@ -597,6 +597,8 @@
597 597
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
598 598
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
599 599
                                         // Note: Extra time may be added to mitigate controller latency.
600
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
601
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
600 602
 #endif
601 603
 
602 604
 // @section extruder

+ 2
- 0
Marlin/example_configurations/TinyBoy2/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Velleman/K8200/Configuration_adv.h View File

@@ -621,6 +621,8 @@
621 621
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
622 622
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
623 623
                                         // Note: Extra time may be added to mitigate controller latency.
624
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
625
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
624 626
 #endif
625 627
 
626 628
 // @section extruder

+ 2
- 0
Marlin/example_configurations/Velleman/K8400/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -610,6 +610,8 @@
610 610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611 611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612 612
                                         // Note: Extra time may be added to mitigate controller latency.
613
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
614
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
613 615
 #endif
614 616
 
615 617
 // @section extruder

+ 2
- 0
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -610,6 +610,8 @@
610 610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611 611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612 612
                                         // Note: Extra time may be added to mitigate controller latency.
613
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
614
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
613 615
 #endif
614 616
 
615 617
 // @section extruder

+ 2
- 0
Marlin/example_configurations/delta/generic/Configuration_adv.h View File

@@ -610,6 +610,8 @@
610 610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611 611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612 612
                                         // Note: Extra time may be added to mitigate controller latency.
613
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
614
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
613 615
 #endif
614 616
 
615 617
 // @section extruder

+ 2
- 0
Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h View File

@@ -610,6 +610,8 @@
610 610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611 611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612 612
                                         // Note: Extra time may be added to mitigate controller latency.
613
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
614
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
613 615
 #endif
614 616
 
615 617
 // @section extruder

+ 2
- 0
Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h View File

@@ -615,6 +615,8 @@
615 615
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
616 616
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
617 617
                                         // Note: Extra time may be added to mitigate controller latency.
618
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
619
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
618 620
 #endif
619 621
 
620 622
 // @section extruder

+ 2
- 0
Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h View File

@@ -610,6 +610,8 @@
610 610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611 611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612 612
                                         // Note: Extra time may be added to mitigate controller latency.
613
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
614
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
613 615
 #endif
614 616
 
615 617
 // @section extruder

+ 2
- 0
Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/makibox/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 2
- 0
Marlin/example_configurations/wt150/Configuration_adv.h View File

@@ -608,6 +608,8 @@
608 608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609 609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610 610
                                         // Note: Extra time may be added to mitigate controller latency.
611
+  //#define BABYSTEP_ZPROBE_GFX_OVERLAY // Enable graphical overlay on Z-offset editor
612
+  //#define BABYSTEP_ZPROBE_GFX_REVERSE // Reverses the direction of the CW/CCW indicators
611 613
 #endif
612 614
 
613 615
 // @section extruder

+ 47
- 1
Marlin/ultralcd.cpp View File

@@ -998,6 +998,48 @@ void kill_screen(const char* lcd_msg) {
998 998
 
999 999
     #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
1000 1000
 
1001
+      #if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
1002
+        void _lcd_babystep_zoffset_overlay(float zprobe_zoffset) {
1003
+          // Determine whether the user is raising or lowering the nozzle.
1004
+          static int dir = 0;
1005
+          static float old_zprobe_zoffset = 0;
1006
+          if(zprobe_zoffset != old_zprobe_zoffset) {
1007
+            dir = (zprobe_zoffset > old_zprobe_zoffset) ? 1 : -1;
1008
+            old_zprobe_zoffset = zprobe_zoffset;
1009
+          }
1010
+
1011
+          #if ENABLED(BABYSTEP_ZPROBE_GFX_REVERSE)
1012
+            const unsigned char* rot_up   = ccw_bmp;
1013
+            const unsigned char* rot_down = cw_bmp;
1014
+          #else
1015
+            const unsigned char* rot_up   = cw_bmp;
1016
+            const unsigned char* rot_down = ccw_bmp;
1017
+          #endif
1018
+
1019
+          #if ENABLED(USE_BIG_EDIT_FONT)
1020
+            const int left   = 0;
1021
+            const int right  = 45;
1022
+            const int nozzle = 95;
1023
+          #else
1024
+            const int left   = 5;
1025
+            const int right  = 90;
1026
+            const int nozzle = 60;
1027
+          #endif
1028
+
1029
+          // Draw a representation of the nozzle
1030
+          if(PAGE_CONTAINS(3,16))  u8g.drawBitmapP(nozzle + 6, 4 - dir,2,12,nozzle_bmp);
1031
+          if(PAGE_CONTAINS(20,20)) u8g.drawBitmapP(nozzle + 0,20,3,1,offset_bedline_bmp);
1032
+
1033
+          // Draw cw/ccw indicator and up/down arrows.
1034
+          if(PAGE_CONTAINS(47,62)) {
1035
+            u8g.drawBitmapP(left  + 0, 47, 3, 16, rot_down);
1036
+            u8g.drawBitmapP(right + 0, 47, 3, 16, rot_up);
1037
+            u8g.drawBitmapP(right + 20, 48 - dir, 2, 13, up_arrow_bmp);
1038
+            u8g.drawBitmapP(left  + 20, 49 - dir, 2, 13, down_arrow_bmp);
1039
+          }
1040
+        }
1041
+      #endif // BABYSTEP_ZPROBE_GFX_OVERLAY
1042
+
1001 1043
       void lcd_babystep_zoffset() {
1002 1044
         if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
1003 1045
         defer_return_to_status = true;
@@ -1017,8 +1059,12 @@ void kill_screen(const char* lcd_msg) {
1017 1059
             lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
1018 1060
           }
1019 1061
         }
1020
-        if (lcdDrawUpdate)
1062
+        if (lcdDrawUpdate) {
1021 1063
           lcd_implementation_drawedit(PSTR(MSG_ZPROBE_ZOFFSET), ftostr43sign(zprobe_zoffset));
1064
+          #if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
1065
+            _lcd_babystep_zoffset_overlay(zprobe_zoffset);
1066
+          #endif
1067
+        }
1022 1068
       }
1023 1069
 
1024 1070
     #else // !BABYSTEP_ZPROBE_OFFSET

Loading…
Cancel
Save