Browse Source

Merge pull request #7593 from marcio-ao/bugfix-1.1.x

Added option for graphical overlay for Z-offset (Resubmission of #7350 and #7586)
Scott Lahteine 8 years ago
parent
commit
386b74f8c2
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
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

+ 4
- 0
Marlin/SanityCheck.h View File

305
     #error "MESH_BED_LEVELING and BABYSTEP_ZPROBE_OFFSET is not a valid combination"
305
     #error "MESH_BED_LEVELING and BABYSTEP_ZPROBE_OFFSET is not a valid combination"
306
   #elif ENABLED(BABYSTEP_ZPROBE_OFFSET) && !HAS_BED_PROBE
306
   #elif ENABLED(BABYSTEP_ZPROBE_OFFSET) && !HAS_BED_PROBE
307
     #error "BABYSTEP_ZPROBE_OFFSET requires a probe."
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
   #endif
312
   #endif
309
 #endif
313
 #endif
310
 
314
 

+ 92
- 0
Marlin/dogm_bitmaps.h View File

419
       0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
419
       0x0C, 0x00, 0x00, 0x06, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
420
     };
420
     };
421
   #endif // Extruders
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
 #endif // HAS_TEMP_BED
514
 #endif // HAS_TEMP_BED

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

597
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
597
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
598
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
598
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
599
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
602
 #endif
601
 
603
 
602
 // @section extruder
604
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

621
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
621
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
622
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
622
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
623
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
626
 #endif
625
 
627
 
626
 // @section extruder
628
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
615
 #endif
614
 
616
 
615
 // @section extruder
617
 // @section extruder

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

610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
615
 #endif
614
 
616
 
615
 // @section extruder
617
 // @section extruder

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

610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
615
 #endif
614
 
616
 
615
 // @section extruder
617
 // @section extruder

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

610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
615
 #endif
614
 
616
 
615
 // @section extruder
617
 // @section extruder

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

615
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
615
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
616
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
616
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
617
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
620
 #endif
619
 
621
 
620
 // @section extruder
622
 // @section extruder

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

610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
610
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
611
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
612
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
615
 #endif
614
 
616
 
615
 // @section extruder
617
 // @section extruder

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

608
   #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

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

608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
608
   //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
609
   #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
610
                                         // Note: Extra time may be added to mitigate controller latency.
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
 #endif
613
 #endif
612
 
614
 
613
 // @section extruder
615
 // @section extruder

+ 47
- 1
Marlin/ultralcd.cpp View File

998
 
998
 
999
     #if ENABLED(BABYSTEP_ZPROBE_OFFSET)
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
       void lcd_babystep_zoffset() {
1043
       void lcd_babystep_zoffset() {
1002
         if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
1044
         if (lcd_clicked) { return lcd_goto_previous_menu_no_defer(); }
1003
         defer_return_to_status = true;
1045
         defer_return_to_status = true;
1017
             lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
1059
             lcdDrawUpdate = LCDVIEW_CALL_REDRAW_NEXT;
1018
           }
1060
           }
1019
         }
1061
         }
1020
-        if (lcdDrawUpdate)
1062
+        if (lcdDrawUpdate) {
1021
           lcd_implementation_drawedit(PSTR(MSG_ZPROBE_ZOFFSET), ftostr43sign(zprobe_zoffset));
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
     #else // !BABYSTEP_ZPROBE_OFFSET
1070
     #else // !BABYSTEP_ZPROBE_OFFSET

Loading…
Cancel
Save