revilor 5 роки тому
джерело
коміт
e56c13670d
81 змінених файлів з 1321 додано та 16 видалено
  1. 14
    0
      Marlin/Configuration_adv.h
  2. 14
    0
      Marlin/src/config/default/Configuration_adv.h
  3. 14
    0
      Marlin/src/config/examples/3DFabXYZ/Migbot/Configuration_adv.h
  4. 14
    0
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  5. 14
    0
      Marlin/src/config/examples/Anet/A2/Configuration_adv.h
  6. 14
    0
      Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h
  7. 14
    0
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  8. 14
    0
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  9. 14
    0
      Marlin/src/config/examples/AnyCubic/i3/Configuration_adv.h
  10. 14
    0
      Marlin/src/config/examples/ArmEd/Configuration_adv.h
  11. 14
    0
      Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h
  12. 14
    0
      Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h
  13. 14
    0
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  14. 14
    0
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  15. 14
    0
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  16. 14
    0
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  17. 14
    0
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  18. 14
    0
      Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h
  19. 14
    0
      Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h
  20. 14
    0
      Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h
  21. 14
    0
      Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h
  22. 14
    0
      Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h
  23. 14
    0
      Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h
  24. 14
    0
      Marlin/src/config/examples/Einstart-S/Configuration_adv.h
  25. 14
    0
      Marlin/src/config/examples/Felix/Configuration_adv.h
  26. 14
    0
      Marlin/src/config/examples/FlashForge/CreatorPro/Configuration_adv.h
  27. 14
    0
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  28. 14
    0
      Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h
  29. 14
    0
      Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h
  30. 14
    0
      Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h
  31. 14
    0
      Marlin/src/config/examples/Geeetech/A10M/Configuration_adv.h
  32. 14
    0
      Marlin/src/config/examples/Geeetech/A20M/Configuration_adv.h
  33. 14
    0
      Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h
  34. 14
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h
  35. 14
    0
      Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h
  36. 14
    0
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  37. 14
    0
      Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h
  38. 14
    0
      Marlin/src/config/examples/MakerParts/Configuration_adv.h
  39. 14
    0
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  40. 14
    0
      Marlin/src/config/examples/Malyan/M200/Configuration_adv.h
  41. 14
    0
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  42. 14
    0
      Marlin/src/config/examples/Mks/Robin/Configuration_adv.h
  43. 14
    0
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  44. 14
    0
      Marlin/src/config/examples/RapideLite/RL200/Configuration_adv.h
  45. 14
    0
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  46. 14
    0
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  47. 14
    0
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  48. 14
    0
      Marlin/src/config/examples/TheBorg/Configuration_adv.h
  49. 14
    0
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  50. 14
    0
      Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h
  51. 14
    0
      Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h
  52. 14
    0
      Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h
  53. 14
    0
      Marlin/src/config/examples/VORONDesign/Configuration_adv.h
  54. 14
    0
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  55. 14
    0
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  56. 14
    0
      Marlin/src/config/examples/WASP/PowerWASP/Configuration_adv.h
  57. 14
    0
      Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h
  58. 14
    0
      Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h
  59. 14
    0
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  60. 14
    0
      Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h
  61. 14
    0
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  62. 14
    0
      Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h
  63. 14
    0
      Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h
  64. 14
    0
      Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h
  65. 14
    0
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  66. 14
    0
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  67. 14
    0
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  68. 14
    0
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  69. 14
    0
      Marlin/src/config/examples/makibox/Configuration_adv.h
  70. 14
    0
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  71. 14
    0
      Marlin/src/config/examples/wt150/Configuration_adv.h
  72. 15
    3
      Marlin/src/gcode/stats/M75-M78.cpp
  73. 1
    0
      Marlin/src/inc/Conditionals_LCD.h
  74. 13
    0
      Marlin/src/inc/SanityCheck.h
  75. 4
    0
      Marlin/src/lcd/language/language_en.h
  76. 26
    7
      Marlin/src/lcd/menu/menu_info.cpp
  77. 24
    0
      Marlin/src/lcd/menu/menu_main.cpp
  78. 82
    0
      Marlin/src/lcd/menu/menu_service.cpp
  79. 20
    0
      Marlin/src/lcd/ultralcd.cpp
  80. 125
    3
      Marlin/src/module/printcounter.cpp
  81. 17
    3
      Marlin/src/module/printcounter.h

+ 14
- 0
Marlin/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/default/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/examples/3DFabXYZ/Migbot/Configuration_adv.h Переглянути файл

@@ -2219,6 +2219,20 @@
2219 2219
 
2220 2220
 #endif // PRUSA_MMU2
2221 2221
 
2222
+/**
2223
+ * Advanced Print Counter settings
2224
+ */
2225
+#if ENABLED(PRINTCOUNTER)
2226
+  #define SERVICE_WARNING_BUZZES  3
2227
+  // Activate up to 3 service interval watchdogs
2228
+  //#define SERVICE_NAME_1      "Service S"
2229
+  //#define SERVICE_INTERVAL_1  100 // print hours
2230
+  //#define SERVICE_NAME_2      "Service L"
2231
+  //#define SERVICE_INTERVAL_2  200 // print hours
2232
+  //#define SERVICE_NAME_3      "Service 3"
2233
+  //#define SERVICE_INTERVAL_3    1 // print hours
2234
+#endif
2235
+
2222 2236
 // @section develop
2223 2237
 
2224 2238
 /**

+ 14
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Anet/A2/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Anet/A6/Configuration_adv.h Переглянути файл

@@ -2215,6 +2215,20 @@
2215 2215
 
2216 2216
 #endif // PRUSA_MMU2
2217 2217
 
2218
+/**
2219
+ * Advanced Print Counter settings
2220
+ */
2221
+#if ENABLED(PRINTCOUNTER)
2222
+  #define SERVICE_WARNING_BUZZES  3
2223
+  // Activate up to 3 service interval watchdogs
2224
+  //#define SERVICE_NAME_1      "Service S"
2225
+  //#define SERVICE_INTERVAL_1  100 // print hours
2226
+  //#define SERVICE_NAME_2      "Service L"
2227
+  //#define SERVICE_INTERVAL_2  200 // print hours
2228
+  //#define SERVICE_NAME_3      "Service 3"
2229
+  //#define SERVICE_INTERVAL_3    1 // print hours
2230
+#endif
2231
+
2218 2232
 // @section develop
2219 2233
 
2220 2234
 /**

+ 14
- 0
Marlin/src/config/examples/Anet/A8/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/AnyCubic/i3/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/ArmEd/Configuration_adv.h Переглянути файл

@@ -2221,6 +2221,20 @@
2221 2221
 
2222 2222
 #endif // PRUSA_MMU2
2223 2223
 
2224
+/**
2225
+ * Advanced Print Counter settings
2226
+ */
2227
+#if ENABLED(PRINTCOUNTER)
2228
+  #define SERVICE_WARNING_BUZZES  3
2229
+  // Activate up to 3 service interval watchdogs
2230
+  //#define SERVICE_NAME_1      "Service S"
2231
+  //#define SERVICE_INTERVAL_1  100 // print hours
2232
+  //#define SERVICE_NAME_2      "Service L"
2233
+  //#define SERVICE_INTERVAL_2  200 // print hours
2234
+  //#define SERVICE_NAME_3      "Service 3"
2235
+  //#define SERVICE_INTERVAL_3    1 // print hours
2236
+#endif
2237
+
2224 2238
 // @section develop
2225 2239
 
2226 2240
 /**

+ 14
- 0
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h Переглянути файл

@@ -2215,6 +2215,20 @@
2215 2215
 
2216 2216
 #endif // PRUSA_MMU2
2217 2217
 
2218
+/**
2219
+ * Advanced Print Counter settings
2220
+ */
2221
+#if ENABLED(PRINTCOUNTER)
2222
+  #define SERVICE_WARNING_BUZZES  3
2223
+  // Activate up to 3 service interval watchdogs
2224
+  //#define SERVICE_NAME_1      "Service S"
2225
+  //#define SERVICE_INTERVAL_1  100 // print hours
2226
+  //#define SERVICE_NAME_2      "Service L"
2227
+  //#define SERVICE_INTERVAL_2  200 // print hours
2228
+  //#define SERVICE_NAME_3      "Service 3"
2229
+  //#define SERVICE_INTERVAL_3    1 // print hours
2230
+#endif
2231
+
2218 2232
 // @section develop
2219 2233
 
2220 2234
 /**

+ 14
- 0
Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h Переглянути файл

@@ -2224,6 +2224,20 @@
2224 2224
 
2225 2225
 #endif // PRUSA_MMU2
2226 2226
 
2227
+/**
2228
+ * Advanced Print Counter settings
2229
+ */
2230
+#if ENABLED(PRINTCOUNTER)
2231
+  #define SERVICE_WARNING_BUZZES  3
2232
+  // Activate up to 3 service interval watchdogs
2233
+  //#define SERVICE_NAME_1      "Service S"
2234
+  //#define SERVICE_INTERVAL_1  100 // print hours
2235
+  //#define SERVICE_NAME_2      "Service L"
2236
+  //#define SERVICE_INTERVAL_2  200 // print hours
2237
+  //#define SERVICE_NAME_3      "Service 3"
2238
+  //#define SERVICE_INTERVAL_3    1 // print hours
2239
+#endif
2240
+
2227 2241
 // @section develop
2228 2242
 
2229 2243
 /**

+ 14
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Cartesio/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h Переглянути файл

@@ -2219,6 +2219,20 @@
2219 2219
 
2220 2220
 #endif // PRUSA_MMU2
2221 2221
 
2222
+/**
2223
+ * Advanced Print Counter settings
2224
+ */
2225
+#if ENABLED(PRINTCOUNTER)
2226
+  #define SERVICE_WARNING_BUZZES  3
2227
+  // Activate up to 3 service interval watchdogs
2228
+  //#define SERVICE_NAME_1      "Service S"
2229
+  //#define SERVICE_INTERVAL_1  100 // print hours
2230
+  //#define SERVICE_NAME_2      "Service L"
2231
+  //#define SERVICE_INTERVAL_2  200 // print hours
2232
+  //#define SERVICE_NAME_3      "Service 3"
2233
+  //#define SERVICE_INTERVAL_3    1 // print hours
2234
+#endif
2235
+
2222 2236
 // @section develop
2223 2237
 
2224 2238
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Einstart-S/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Felix/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/FlashForge/CreatorPro/Configuration_adv.h Переглянути файл

@@ -2215,6 +2215,20 @@
2215 2215
 
2216 2216
 #endif // PRUSA_MMU2
2217 2217
 
2218
+/**
2219
+ * Advanced Print Counter settings
2220
+ */
2221
+#if ENABLED(PRINTCOUNTER)
2222
+  #define SERVICE_WARNING_BUZZES  3
2223
+  // Activate up to 3 service interval watchdogs
2224
+  //#define SERVICE_NAME_1      "Service S"
2225
+  //#define SERVICE_INTERVAL_1  100 // print hours
2226
+  //#define SERVICE_NAME_2      "Service L"
2227
+  //#define SERVICE_INTERVAL_2  200 // print hours
2228
+  //#define SERVICE_NAME_3      "Service 3"
2229
+  //#define SERVICE_INTERVAL_3    1 // print hours
2230
+#endif
2231
+
2218 2232
 // @section develop
2219 2233
 
2220 2234
 /**

+ 14
- 0
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h Переглянути файл

@@ -2224,6 +2224,20 @@
2224 2224
 
2225 2225
 #endif // PRUSA_MMU2
2226 2226
 
2227
+/**
2228
+ * Advanced Print Counter settings
2229
+ */
2230
+#if ENABLED(PRINTCOUNTER)
2231
+  #define SERVICE_WARNING_BUZZES  3
2232
+  // Activate up to 3 service interval watchdogs
2233
+  //#define SERVICE_NAME_1      "Service S"
2234
+  //#define SERVICE_INTERVAL_1  100 // print hours
2235
+  //#define SERVICE_NAME_2      "Service L"
2236
+  //#define SERVICE_INTERVAL_2  200 // print hours
2237
+  //#define SERVICE_NAME_3      "Service 3"
2238
+  //#define SERVICE_INTERVAL_3    1 // print hours
2239
+#endif
2240
+
2227 2241
 // @section develop
2228 2242
 
2229 2243
 /**

+ 14
- 0
Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h Переглянути файл

@@ -2220,6 +2220,20 @@
2220 2220
 
2221 2221
 #endif // PRUSA_MMU2
2222 2222
 
2223
+/**
2224
+ * Advanced Print Counter settings
2225
+ */
2226
+#if ENABLED(PRINTCOUNTER)
2227
+  #define SERVICE_WARNING_BUZZES  3
2228
+  // Activate up to 3 service interval watchdogs
2229
+  //#define SERVICE_NAME_1      "Service S"
2230
+  //#define SERVICE_INTERVAL_1  100 // print hours
2231
+  //#define SERVICE_NAME_2      "Service L"
2232
+  //#define SERVICE_INTERVAL_2  200 // print hours
2233
+  //#define SERVICE_NAME_3      "Service 3"
2234
+  //#define SERVICE_INTERVAL_3    1 // print hours
2235
+#endif
2236
+
2223 2237
 // @section develop
2224 2238
 
2225 2239
 /**

+ 14
- 0
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h Переглянути файл

@@ -2231,6 +2231,20 @@
2231 2231
 
2232 2232
 #endif // PRUSA_MMU2
2233 2233
 
2234
+/**
2235
+ * Advanced Print Counter settings
2236
+ */
2237
+#if ENABLED(PRINTCOUNTER)
2238
+  #define SERVICE_WARNING_BUZZES  3
2239
+  // Activate up to 3 service interval watchdogs
2240
+  //#define SERVICE_NAME_1      "Service S"
2241
+  //#define SERVICE_INTERVAL_1  100 // print hours
2242
+  //#define SERVICE_NAME_2      "Service L"
2243
+  //#define SERVICE_INTERVAL_2  200 // print hours
2244
+  //#define SERVICE_NAME_3      "Service 3"
2245
+  //#define SERVICE_INTERVAL_3    1 // print hours
2246
+#endif
2247
+
2234 2248
 // @section develop
2235 2249
 
2236 2250
 /**

+ 14
- 0
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h Переглянути файл

@@ -2226,6 +2226,20 @@
2226 2226
 
2227 2227
 #endif // PRUSA_MMU2
2228 2228
 
2229
+/**
2230
+ * Advanced Print Counter settings
2231
+ */
2232
+#if ENABLED(PRINTCOUNTER)
2233
+  #define SERVICE_WARNING_BUZZES  3
2234
+  // Activate up to 3 service interval watchdogs
2235
+  //#define SERVICE_NAME_1      "Service S"
2236
+  //#define SERVICE_INTERVAL_1  100 // print hours
2237
+  //#define SERVICE_NAME_2      "Service L"
2238
+  //#define SERVICE_INTERVAL_2  200 // print hours
2239
+  //#define SERVICE_NAME_3      "Service 3"
2240
+  //#define SERVICE_INTERVAL_3    1 // print hours
2241
+#endif
2242
+
2229 2243
 // @section develop
2230 2244
 
2231 2245
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/A10M/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/A20M/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h Переглянути файл

@@ -2202,6 +2202,20 @@
2202 2202
 
2203 2203
 #endif // PRUSA_MMU2
2204 2204
 
2205
+/**
2206
+ * Advanced Print Counter settings
2207
+ */
2208
+#if ENABLED(PRINTCOUNTER)
2209
+  #define SERVICE_WARNING_BUZZES  3
2210
+  // Activate up to 3 service interval watchdogs
2211
+  //#define SERVICE_NAME_1      "Service S"
2212
+  //#define SERVICE_INTERVAL_1  100 // print hours
2213
+  //#define SERVICE_NAME_2      "Service L"
2214
+  //#define SERVICE_INTERVAL_2  200 // print hours
2215
+  //#define SERVICE_NAME_3      "Service 3"
2216
+  //#define SERVICE_INTERVAL_3    1 // print hours
2217
+#endif
2218
+
2205 2219
 // @section develop
2206 2220
 
2207 2221
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/MakerParts/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Mks/Robin/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h Переглянути файл

@@ -2224,6 +2224,20 @@
2224 2224
 
2225 2225
 #endif // PRUSA_MMU2
2226 2226
 
2227
+/**
2228
+ * Advanced Print Counter settings
2229
+ */
2230
+#if ENABLED(PRINTCOUNTER)
2231
+  #define SERVICE_WARNING_BUZZES  3
2232
+  // Activate up to 3 service interval watchdogs
2233
+  //#define SERVICE_NAME_1      "Service S"
2234
+  //#define SERVICE_INTERVAL_1  100 // print hours
2235
+  //#define SERVICE_NAME_2      "Service L"
2236
+  //#define SERVICE_INTERVAL_2  200 // print hours
2237
+  //#define SERVICE_NAME_3      "Service 3"
2238
+  //#define SERVICE_INTERVAL_3    1 // print hours
2239
+#endif
2240
+
2227 2241
 // @section develop
2228 2242
 
2229 2243
 /**

+ 14
- 0
Marlin/src/config/examples/RapideLite/RL200/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/examples/RigidBot/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/SCARA/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/TheBorg/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/VORONDesign/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h Переглянути файл

@@ -2229,6 +2229,20 @@
2229 2229
 
2230 2230
 #endif // PRUSA_MMU2
2231 2231
 
2232
+/**
2233
+ * Advanced Print Counter settings
2234
+ */
2235
+#if ENABLED(PRINTCOUNTER)
2236
+  #define SERVICE_WARNING_BUZZES  3
2237
+  // Activate up to 3 service interval watchdogs
2238
+  //#define SERVICE_NAME_1      "Service S"
2239
+  //#define SERVICE_INTERVAL_1  100 // print hours
2240
+  //#define SERVICE_NAME_2      "Service L"
2241
+  //#define SERVICE_INTERVAL_2  200 // print hours
2242
+  //#define SERVICE_NAME_3      "Service 3"
2243
+  //#define SERVICE_INTERVAL_3    1 // print hours
2244
+#endif
2245
+
2232 2246
 // @section develop
2233 2247
 
2234 2248
 /**

+ 14
- 0
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/WASP/PowerWASP/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h Переглянути файл

@@ -2218,6 +2218,20 @@
2218 2218
 
2219 2219
 #endif // PRUSA_MMU2
2220 2220
 
2221
+/**
2222
+ * Advanced Print Counter settings
2223
+ */
2224
+#if ENABLED(PRINTCOUNTER)
2225
+  #define SERVICE_WARNING_BUZZES  3
2226
+  // Activate up to 3 service interval watchdogs
2227
+  //#define SERVICE_NAME_1      "Service S"
2228
+  //#define SERVICE_INTERVAL_1  100 // print hours
2229
+  //#define SERVICE_NAME_2      "Service L"
2230
+  //#define SERVICE_INTERVAL_2  200 // print hours
2231
+  //#define SERVICE_NAME_3      "Service 3"
2232
+  //#define SERVICE_INTERVAL_3    1 // print hours
2233
+#endif
2234
+
2221 2235
 // @section develop
2222 2236
 
2223 2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h Переглянути файл

@@ -2218,6 +2218,20 @@
2218 2218
 
2219 2219
 #endif // PRUSA_MMU2
2220 2220
 
2221
+/**
2222
+ * Advanced Print Counter settings
2223
+ */
2224
+#if ENABLED(PRINTCOUNTER)
2225
+  #define SERVICE_WARNING_BUZZES  3
2226
+  // Activate up to 3 service interval watchdogs
2227
+  //#define SERVICE_NAME_1      "Service S"
2228
+  //#define SERVICE_INTERVAL_1  100 // print hours
2229
+  //#define SERVICE_NAME_2      "Service L"
2230
+  //#define SERVICE_INTERVAL_2  200 // print hours
2231
+  //#define SERVICE_NAME_3      "Service 3"
2232
+  //#define SERVICE_INTERVAL_3    1 // print hours
2233
+#endif
2234
+
2221 2235
 // @section develop
2222 2236
 
2223 2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h Переглянути файл

@@ -2218,6 +2218,20 @@
2218 2218
 
2219 2219
 #endif // PRUSA_MMU2
2220 2220
 
2221
+/**
2222
+ * Advanced Print Counter settings
2223
+ */
2224
+#if ENABLED(PRINTCOUNTER)
2225
+  #define SERVICE_WARNING_BUZZES  3
2226
+  // Activate up to 3 service interval watchdogs
2227
+  //#define SERVICE_NAME_1      "Service S"
2228
+  //#define SERVICE_INTERVAL_1  100 // print hours
2229
+  //#define SERVICE_NAME_2      "Service L"
2230
+  //#define SERVICE_INTERVAL_2  200 // print hours
2231
+  //#define SERVICE_NAME_3      "Service 3"
2232
+  //#define SERVICE_INTERVAL_3    1 // print hours
2233
+#endif
2234
+
2221 2235
 // @section develop
2222 2236
 
2223 2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h Переглянути файл

@@ -2218,6 +2218,20 @@
2218 2218
 
2219 2219
 #endif // PRUSA_MMU2
2220 2220
 
2221
+/**
2222
+ * Advanced Print Counter settings
2223
+ */
2224
+#if ENABLED(PRINTCOUNTER)
2225
+  #define SERVICE_WARNING_BUZZES  3
2226
+  // Activate up to 3 service interval watchdogs
2227
+  //#define SERVICE_NAME_1      "Service S"
2228
+  //#define SERVICE_INTERVAL_1  100 // print hours
2229
+  //#define SERVICE_NAME_2      "Service L"
2230
+  //#define SERVICE_INTERVAL_2  200 // print hours
2231
+  //#define SERVICE_NAME_3      "Service 3"
2232
+  //#define SERVICE_INTERVAL_3    1 // print hours
2233
+#endif
2234
+
2221 2235
 // @section develop
2222 2236
 
2223 2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h Переглянути файл

@@ -2218,6 +2218,20 @@
2218 2218
 
2219 2219
 #endif // PRUSA_MMU2
2220 2220
 
2221
+/**
2222
+ * Advanced Print Counter settings
2223
+ */
2224
+#if ENABLED(PRINTCOUNTER)
2225
+  #define SERVICE_WARNING_BUZZES  3
2226
+  // Activate up to 3 service interval watchdogs
2227
+  //#define SERVICE_NAME_1      "Service S"
2228
+  //#define SERVICE_INTERVAL_1  100 // print hours
2229
+  //#define SERVICE_NAME_2      "Service L"
2230
+  //#define SERVICE_INTERVAL_2  200 // print hours
2231
+  //#define SERVICE_NAME_3      "Service 3"
2232
+  //#define SERVICE_INTERVAL_3    1 // print hours
2233
+#endif
2234
+
2221 2235
 // @section develop
2222 2236
 
2223 2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h Переглянути файл

@@ -2219,6 +2219,20 @@
2219 2219
 
2220 2220
 #endif // PRUSA_MMU2
2221 2221
 
2222
+/**
2223
+ * Advanced Print Counter settings
2224
+ */
2225
+#if ENABLED(PRINTCOUNTER)
2226
+  #define SERVICE_WARNING_BUZZES  3
2227
+  // Activate up to 3 service interval watchdogs
2228
+  //#define SERVICE_NAME_1      "Service S"
2229
+  //#define SERVICE_INTERVAL_1  100 // print hours
2230
+  //#define SERVICE_NAME_2      "Service L"
2231
+  //#define SERVICE_INTERVAL_2  200 // print hours
2232
+  //#define SERVICE_NAME_3      "Service 3"
2233
+  //#define SERVICE_INTERVAL_3    1 // print hours
2234
+#endif
2235
+
2222 2236
 // @section develop
2223 2237
 
2224 2238
 /**

+ 14
- 0
Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h Переглянути файл

@@ -2218,6 +2218,20 @@
2218 2218
 
2219 2219
 #endif // PRUSA_MMU2
2220 2220
 
2221
+/**
2222
+ * Advanced Print Counter settings
2223
+ */
2224
+#if ENABLED(PRINTCOUNTER)
2225
+  #define SERVICE_WARNING_BUZZES  3
2226
+  // Activate up to 3 service interval watchdogs
2227
+  //#define SERVICE_NAME_1      "Service S"
2228
+  //#define SERVICE_INTERVAL_1  100 // print hours
2229
+  //#define SERVICE_NAME_2      "Service L"
2230
+  //#define SERVICE_INTERVAL_2  200 // print hours
2231
+  //#define SERVICE_NAME_3      "Service 3"
2232
+  //#define SERVICE_INTERVAL_3    1 // print hours
2233
+#endif
2234
+
2221 2235
 // @section develop
2222 2236
 
2223 2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h Переглянути файл

@@ -2206,6 +2206,20 @@
2206 2206
 
2207 2207
 #endif // PRUSA_MMU2
2208 2208
 
2209
+/**
2210
+ * Advanced Print Counter settings
2211
+ */
2212
+#if ENABLED(PRINTCOUNTER)
2213
+  #define SERVICE_WARNING_BUZZES  3
2214
+  // Activate up to 3 service interval watchdogs
2215
+  //#define SERVICE_NAME_1      "Service S"
2216
+  //#define SERVICE_INTERVAL_1  100 // print hours
2217
+  //#define SERVICE_NAME_2      "Service L"
2218
+  //#define SERVICE_INTERVAL_2  200 // print hours
2219
+  //#define SERVICE_NAME_3      "Service 3"
2220
+  //#define SERVICE_INTERVAL_3    1 // print hours
2221
+#endif
2222
+
2209 2223
 // @section develop
2210 2224
 
2211 2225
 /**

+ 14
- 0
Marlin/src/config/examples/delta/generic/Configuration_adv.h Переглянути файл

@@ -2218,6 +2218,20 @@
2218 2218
 
2219 2219
 #endif // PRUSA_MMU2
2220 2220
 
2221
+/**
2222
+ * Advanced Print Counter settings
2223
+ */
2224
+#if ENABLED(PRINTCOUNTER)
2225
+  #define SERVICE_WARNING_BUZZES  3
2226
+  // Activate up to 3 service interval watchdogs
2227
+  //#define SERVICE_NAME_1      "Service S"
2228
+  //#define SERVICE_INTERVAL_1  100 // print hours
2229
+  //#define SERVICE_NAME_2      "Service L"
2230
+  //#define SERVICE_INTERVAL_2  200 // print hours
2231
+  //#define SERVICE_NAME_3      "Service 3"
2232
+  //#define SERVICE_INTERVAL_3    1 // print hours
2233
+#endif
2234
+
2221 2235
 // @section develop
2222 2236
 
2223 2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 14
- 0
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h Переглянути файл

@@ -2218,6 +2218,20 @@
2218 2218
 
2219 2219
 #endif // PRUSA_MMU2
2220 2220
 
2221
+/**
2222
+ * Advanced Print Counter settings
2223
+ */
2224
+#if ENABLED(PRINTCOUNTER)
2225
+  #define SERVICE_WARNING_BUZZES  3
2226
+  // Activate up to 3 service interval watchdogs
2227
+  //#define SERVICE_NAME_1      "Service S"
2228
+  //#define SERVICE_INTERVAL_1  100 // print hours
2229
+  //#define SERVICE_NAME_2      "Service L"
2230
+  //#define SERVICE_INTERVAL_2  200 // print hours
2231
+  //#define SERVICE_NAME_3      "Service 3"
2232
+  //#define SERVICE_INTERVAL_3    1 // print hours
2233
+#endif
2234
+
2221 2235
 // @section develop
2222 2236
 
2223 2237
 /**

+ 14
- 0
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/makibox/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h Переглянути файл

@@ -2216,6 +2216,20 @@
2216 2216
 
2217 2217
 #endif // PRUSA_MMU2
2218 2218
 
2219
+/**
2220
+ * Advanced Print Counter settings
2221
+ */
2222
+#if ENABLED(PRINTCOUNTER)
2223
+  #define SERVICE_WARNING_BUZZES  3
2224
+  // Activate up to 3 service interval watchdogs
2225
+  //#define SERVICE_NAME_1      "Service S"
2226
+  //#define SERVICE_INTERVAL_1  100 // print hours
2227
+  //#define SERVICE_NAME_2      "Service L"
2228
+  //#define SERVICE_INTERVAL_2  200 // print hours
2229
+  //#define SERVICE_NAME_3      "Service 3"
2230
+  //#define SERVICE_INTERVAL_3    1 // print hours
2231
+#endif
2232
+
2219 2233
 // @section develop
2220 2234
 
2221 2235
 /**

+ 14
- 0
Marlin/src/config/examples/wt150/Configuration_adv.h Переглянути файл

@@ -2217,6 +2217,20 @@
2217 2217
 
2218 2218
 #endif // PRUSA_MMU2
2219 2219
 
2220
+/**
2221
+ * Advanced Print Counter settings
2222
+ */
2223
+#if ENABLED(PRINTCOUNTER)
2224
+  #define SERVICE_WARNING_BUZZES  3
2225
+  // Activate up to 3 service interval watchdogs
2226
+  //#define SERVICE_NAME_1      "Service S"
2227
+  //#define SERVICE_INTERVAL_1  100 // print hours
2228
+  //#define SERVICE_NAME_2      "Service L"
2229
+  //#define SERVICE_INTERVAL_2  200 // print hours
2230
+  //#define SERVICE_NAME_3      "Service 3"
2231
+  //#define SERVICE_INTERVAL_3    1 // print hours
2232
+#endif
2233
+
2220 2234
 // @section develop
2221 2235
 
2222 2236
 /**

+ 15
- 3
Marlin/src/gcode/stats/M75-M78.cpp Переглянути файл

@@ -22,6 +22,7 @@
22 22
 
23 23
 #include "../gcode.h"
24 24
 #include "../../module/printcounter.h"
25
+#include "../../lcd/ultralcd.h"
25 26
 
26 27
 #if ENABLED(EXTENSIBLE_UI)
27 28
   #include "../../lcd/extensible_ui/ui_api.h"
@@ -63,10 +64,21 @@ void GcodeSuite::M77() {
63 64
  * M78: Show print statistics
64 65
  */
65 66
 void GcodeSuite::M78() {
66
-  if (parser.intval('S') == 78)   // "M78 S78" will reset the statistics
67
+  if (parser.intval('S') == 78) {  // "M78 S78" will reset the statistics
67 68
     print_job_timer.initStats();
68
-  else
69
-    print_job_timer.showStats();
69
+    ui.reset_status();
70
+    return;
71
+  }
72
+
73
+  #if HAS_SERVICE_INTERVALS
74
+    if (parser.seenval('R')) {
75
+      print_job_timer.resetServiceInterval(parser.value_int());
76
+      ui.reset_status();
77
+      return;
78
+    }
79
+  #endif
80
+
81
+  print_job_timer.showStats();
70 82
 }
71 83
 
72 84
 #endif // PRINTCOUNTER

+ 1
- 0
Marlin/src/inc/Conditionals_LCD.h Переглянути файл

@@ -527,6 +527,7 @@
527 527
 #define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(PCA9533) || ENABLED(NEOPIXEL_LED))
528 528
 #define HAS_LEDS_OFF_FLAG (ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT) && HAS_RESUME_CONTINUE)
529 529
 #define HAS_PRINT_PROGRESS (ENABLED(SDSUPPORT) || ENABLED(LCD_SET_PROGRESS_MANUALLY))
530
+#define HAS_SERVICE_INTERVALS (SERVICE_INTERVAL_1 > 0 || SERVICE_INTERVAL_2 > 0 || SERVICE_INTERVAL_3 > 0)
530 531
 
531 532
 #define Z_MULTI_STEPPER_DRIVERS (ENABLED(Z_DUAL_STEPPER_DRIVERS) || ENABLED(Z_TRIPLE_STEPPER_DRIVERS))
532 533
 #define Z_MULTI_ENDSTOPS (ENABLED(Z_DUAL_ENDSTOPS) || ENABLED(Z_TRIPLE_ENDSTOPS))

+ 13
- 0
Marlin/src/inc/SanityCheck.h Переглянути файл

@@ -2085,3 +2085,16 @@ static_assert(sanity_arr_3[0] > 0 && sanity_arr_3[1] > 0 && sanity_arr_3[2] > 0
2085 2085
     static_assert(NULL == strstr(MMU2_FILAMENT_RUNOUT_SCRIPT, "M600"), "ADVANCED_PAUSE_FEATURE is required to use M600 with PRUSA_MMU2.");
2086 2086
   #endif
2087 2087
 #endif
2088
+
2089
+/**
2090
+ * Advanced PRINTCOUNTER settings
2091
+ */
2092
+#if ENABLED(PRINTCOUNTER)
2093
+  #if defined(SERVICE_INTERVAL_1) != defined(SERVICE_NAME_1)
2094
+    #error "Both SERVICE_NAME_1 and SERVICE_INTERVAL_1 are required."
2095
+  #elif defined(SERVICE_INTERVAL_2) != defined(SERVICE_NAME_2)
2096
+    #error "Both SERVICE_NAME_2 and SERVICE_INTERVAL_2 are required."
2097
+  #elif defined(SERVICE_INTERVAL_3) != defined(SERVICE_NAME_3)
2098
+    #error "Both SERVICE_NAME_3 and SERVICE_INTERVAL_3 are required."
2099
+  #endif
2100
+#endif

+ 4
- 0
Marlin/src/lcd/language/language_en.h Переглянути файл

@@ -1358,3 +1358,7 @@
1358 1358
 #ifndef MSG_TMC_STEALTH_ENABLED
1359 1359
   #define MSG_TMC_STEALTH_ENABLED             _UxGT("StealthChop enabled")
1360 1360
 #endif
1361
+
1362
+#ifndef MSG_SERVICE_RESET
1363
+  #define MSG_SERVICE_RESET                           _UxGT("Reset")
1364
+#endif

+ 26
- 7
Marlin/src/lcd/menu/menu_info.cpp Переглянути файл

@@ -38,7 +38,6 @@
38 38
 //   #include "../../feature/bedlevel/bedlevel.h"
39 39
 // #endif
40 40
 
41
-
42 41
 #if ENABLED(PRINTCOUNTER)
43 42
 
44 43
   #include "../../module/printcounter.h"
@@ -59,18 +58,38 @@
59 58
     duration_t elapsed = stats.printTime;
60 59
     elapsed.toString(buffer);
61 60
 
62
-    STATIC_ITEM(MSG_INFO_PRINT_TIME ": ", false, false);                                           // Total print Time:
63
-    STATIC_ITEM("", false, false, buffer);                                                         // 99y 364d 23h 59m 59s
61
+    STATIC_ITEM(MSG_INFO_PRINT_TIME ":", false, false);                                            // Total print Time:
62
+    STATIC_ITEM("> ", false, false, buffer);                                                       // > 99y 364d 23h 59m 59s
64 63
 
65 64
     elapsed = stats.longestPrint;
66 65
     elapsed.toString(buffer);
67 66
 
68
-    STATIC_ITEM(MSG_INFO_PRINT_LONGEST ": ", false, false);                                        // Longest job time:
69
-    STATIC_ITEM("", false, false, buffer);                                                         // 99y 364d 23h 59m 59s
67
+    STATIC_ITEM(MSG_INFO_PRINT_LONGEST ":", false, false);                                         // Longest job time:
68
+    STATIC_ITEM("> ", false, false, buffer);                                                       // > 99y 364d 23h 59m 59s
70 69
 
71 70
     sprintf_P(buffer, PSTR("%ld.%im"), long(stats.filamentUsed / 1000), int16_t(stats.filamentUsed / 100) % 10);
72
-    STATIC_ITEM(MSG_INFO_PRINT_FILAMENT ": ", false, false);                                       // Extruded total:
73
-    STATIC_ITEM("", false, false, buffer);                                                         // 125m
71
+    STATIC_ITEM(MSG_INFO_PRINT_FILAMENT ":", false, false);                                        // Extruded total:
72
+    STATIC_ITEM("> ", false, false, buffer);                                                       // > 125m
73
+
74
+    #if SERVICE_INTERVAL_1 > 0
75
+      elapsed = stats.nextService1;
76
+      elapsed.toString(buffer);
77
+      STATIC_ITEM(SERVICE_NAME_1 " in:", false, false);                                            // Service X in:
78
+      STATIC_ITEM("> ", false, false, buffer);                                                     // > 7d 12h 11m 10s
79
+    #endif
80
+    #if SERVICE_INTERVAL_2 > 0
81
+      elapsed = stats.nextService2;
82
+      elapsed.toString(buffer);
83
+      STATIC_ITEM(SERVICE_NAME_2 " in:", false, false);
84
+      STATIC_ITEM("> ", false, false, buffer);
85
+    #endif
86
+    #if SERVICE_INTERVAL_3 > 0
87
+      elapsed = stats.nextService3;
88
+      elapsed.toString(buffer);
89
+      STATIC_ITEM(SERVICE_NAME_3 " in:", false, false);
90
+      STATIC_ITEM("> ", false, false, buffer);
91
+    #endif
92
+
74 93
     END_SCREEN();
75 94
   }
76 95
 

+ 24
- 0
Marlin/src/lcd/menu/menu_main.cpp Переглянути файл

@@ -115,6 +115,18 @@ void menu_led();
115 115
   void menu_mixer();
116 116
 #endif
117 117
 
118
+#if HAS_SERVICE_INTERVALS && ENABLED(PRINTCOUNTER)
119
+  #if SERVICE_INTERVAL_1 > 0
120
+    void menu_service1();
121
+  #endif
122
+  #if SERVICE_INTERVAL_2 > 0
123
+    void menu_service2();
124
+  #endif
125
+  #if SERVICE_INTERVAL_3 > 0
126
+    void menu_service3();
127
+  #endif
128
+#endif
129
+
118 130
 void menu_main() {
119 131
   START_MENU();
120 132
   MENU_BACK(MSG_WATCH);
@@ -237,6 +249,18 @@ void menu_main() {
237 249
     }
238 250
   #endif // HAS_ENCODER_WHEEL && SDSUPPORT
239 251
 
252
+  #if HAS_SERVICE_INTERVALS && ENABLED(PRINTCOUNTER)
253
+    #if SERVICE_INTERVAL_1 > 0
254
+      MENU_ITEM(submenu, SERVICE_NAME_1, menu_service1);
255
+    #endif
256
+    #if SERVICE_INTERVAL_2 > 0
257
+      MENU_ITEM(submenu, SERVICE_NAME_2, menu_service2);
258
+    #endif
259
+    #if SERVICE_INTERVAL_3 > 0
260
+      MENU_ITEM(submenu, SERVICE_NAME_3, menu_service3);
261
+    #endif
262
+  #endif
263
+
240 264
   END_MENU();
241 265
 }
242 266
 

+ 82
- 0
Marlin/src/lcd/menu/menu_service.cpp Переглянути файл

@@ -0,0 +1,82 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+//
24
+// Service Menus
25
+//
26
+
27
+#include "../../inc/MarlinConfigPre.h"
28
+
29
+#if HAS_LCD_MENU && HAS_SERVICE_INTERVALS && ENABLED(PRINTCOUNTER)
30
+
31
+#include "menu.h"
32
+#include "../../module/printcounter.h"
33
+
34
+inline void _lcd_reset_service(const int index) {
35
+  print_job_timer.resetServiceInterval(index);
36
+  BUZZ(200, 404);
37
+  ui.reset_status();
38
+  ui.return_to_status();
39
+}
40
+
41
+#if SERVICE_INTERVAL_1 > 0
42
+  void menu_action_reset_service1() { _lcd_reset_service(1); }
43
+#endif
44
+
45
+#if SERVICE_INTERVAL_2 > 0
46
+  void menu_action_reset_service2() { _lcd_reset_service(2); }
47
+#endif
48
+
49
+#if SERVICE_INTERVAL_3 > 0
50
+  void menu_action_reset_service3() { _lcd_reset_service(3); }
51
+#endif
52
+
53
+inline void _menu_service(const int index) {
54
+  START_MENU();
55
+  MENU_BACK(MSG_MAIN);
56
+  switch (index) {
57
+    #if SERVICE_INTERVAL_1 > 0
58
+      case 1: MENU_ITEM(function, MSG_SERVICE_RESET, menu_action_reset_service1); break;
59
+    #endif
60
+    #if SERVICE_INTERVAL_2 > 0
61
+      case 2: MENU_ITEM(function, MSG_SERVICE_RESET, menu_action_reset_service2); break;
62
+    #endif
63
+    #if SERVICE_INTERVAL_3 > 0
64
+      case 3: MENU_ITEM(function, MSG_SERVICE_RESET, menu_action_reset_service3); break;
65
+    #endif
66
+  }
67
+  END_MENU();
68
+}
69
+
70
+#if SERVICE_INTERVAL_1 > 0
71
+  void menu_service1() { _menu_service(1); }
72
+#endif
73
+
74
+#if SERVICE_INTERVAL_2 > 0
75
+  void menu_service2() { _menu_service(2); }
76
+#endif
77
+
78
+#if SERVICE_INTERVAL_3 > 0
79
+  void menu_service3() { _menu_service(3); }
80
+#endif
81
+
82
+#endif // HAS_LCD_MENU && HAS_SERVICE_INTERVALS && PRINTCOUNTER

+ 20
- 0
Marlin/src/lcd/ultralcd.cpp Переглянути файл

@@ -1286,6 +1286,15 @@ void MarlinUI::update() {
1286 1286
     static const char paused[] PROGMEM = MSG_PRINT_PAUSED;
1287 1287
     static const char printing[] PROGMEM = MSG_PRINTING;
1288 1288
     static const char welcome[] PROGMEM = WELCOME_MSG;
1289
+    #if SERVICE_INTERVAL_1 > 0
1290
+      static const char service1[] PROGMEM = { "> " SERVICE_NAME_1 "!" };
1291
+    #endif
1292
+    #if SERVICE_INTERVAL_2 > 0
1293
+      static const char service2[] PROGMEM = { "> " SERVICE_NAME_2 "!" };
1294
+    #endif
1295
+    #if SERVICE_INTERVAL_3 > 0
1296
+      static const char service3[] PROGMEM = { "> " SERVICE_NAME_3 "!" };
1297
+    #endif
1289 1298
     PGM_P msg;
1290 1299
     if (!IS_SD_PRINTING() && print_job_timer.isPaused())
1291 1300
       msg = paused;
@@ -1295,6 +1304,17 @@ void MarlinUI::update() {
1295 1304
     #endif
1296 1305
     else if (print_job_timer.isRunning())
1297 1306
       msg = printing;
1307
+
1308
+    #if SERVICE_INTERVAL_1 > 0
1309
+      else if (print_job_timer.needsService(1)) msg = service1;
1310
+    #endif
1311
+    #if SERVICE_INTERVAL_2 > 0
1312
+      else if (print_job_timer.needsService(2)) msg = service2;
1313
+    #endif
1314
+    #if SERVICE_INTERVAL_3 > 0
1315
+      else if (print_job_timer.needsService(3)) msg = service3;
1316
+    #endif
1317
+
1298 1318
     else
1299 1319
       msg = welcome;
1300 1320
 

+ 125
- 3
Marlin/src/module/printcounter.cpp Переглянути файл

@@ -33,11 +33,34 @@ Stopwatch print_job_timer;      // Global Print Job Timer instance
33 33
 #include "../Marlin.h"
34 34
 #include "../HAL/shared/persistent_store_api.h"
35 35
 
36
+#if HAS_BUZZER && SERVICE_WARNING_BUZZES > 0
37
+  #include "../libs/buzzer.h"
38
+#endif
39
+
40
+// Service intervals
41
+#if HAS_SERVICE_INTERVALS
42
+  #if SERVICE_INTERVAL_1 > 0
43
+    #define SERVICE_INTERVAL_SEC_1   (3600UL * SERVICE_INTERVAL_1)
44
+  #else
45
+    #define SERVICE_INTERVAL_SEC_1   (3600UL * 100)
46
+  #endif
47
+  #if SERVICE_INTERVAL_2 > 0
48
+    #define SERVICE_INTERVAL_SEC_2   (3600UL * SERVICE_INTERVAL_2)
49
+  #else
50
+    #define SERVICE_INTERVAL_SEC_2   (3600UL * 100)
51
+  #endif
52
+  #if SERVICE_INTERVAL_3 > 0
53
+    #define SERVICE_INTERVAL_SEC_3   (3600UL * SERVICE_INTERVAL_3)
54
+  #else
55
+    #define SERVICE_INTERVAL_SEC_3   (3600UL * 100)
56
+  #endif
57
+#endif
58
+
36 59
 PrintCounter print_job_timer;   // Global Print Job Timer instance
37 60
 
38 61
 printStatistics PrintCounter::data;
39 62
 
40
-const PrintCounter::promdress PrintCounter::address = STATS_EEPROM_ADDRESS;
63
+const PrintCounter::eeprom_address_t PrintCounter::address = STATS_EEPROM_ADDRESS;
41 64
 
42 65
 millis_t PrintCounter::lastDuration;
43 66
 bool PrintCounter::loaded = false;
@@ -69,7 +92,11 @@ void PrintCounter::initStats() {
69 92
   #endif
70 93
 
71 94
   loaded = true;
72
-  data = { 0, 0, 0, 0, 0.0 };
95
+  data = { 0, 0, 0, 0, 0.0
96
+    #if HAS_SERVICE_INTERVALS
97
+      , SERVICE_INTERVAL_SEC_1, SERVICE_INTERVAL_SEC_2, SERVICE_INTERVAL_SEC_3
98
+    #endif
99
+  };
73 100
 
74 101
   saveStats();
75 102
   persistentStore.access_start();
@@ -77,6 +104,18 @@ void PrintCounter::initStats() {
77 104
   persistentStore.access_finish();
78 105
 }
79 106
 
107
+#if HAS_SERVICE_INTERVALS
108
+  inline void _print_divider() { SERIAL_ECHO_MSG("============================================="); }
109
+  inline bool _service_warn(const char * const msg) {
110
+    _print_divider();
111
+    SERIAL_ECHO_START();
112
+    serialprintPGM(msg);
113
+    SERIAL_ECHOLNPGM("!");
114
+    _print_divider();
115
+    return true;
116
+  }
117
+#endif
118
+
80 119
 void PrintCounter::loadStats() {
81 120
   #if ENABLED(DEBUG_PRINTCOUNTER)
82 121
     debug(PSTR("loadStats"));
@@ -92,6 +131,22 @@ void PrintCounter::loadStats() {
92 131
     persistentStore.read_data(address + sizeof(uint8_t), (uint8_t*)&data, sizeof(printStatistics));
93 132
   persistentStore.access_finish();
94 133
   loaded = true;
134
+
135
+  #if HAS_SERVICE_INTERVALS
136
+    bool doBuzz = false;
137
+    #if SERVICE_INTERVAL_1 > 0
138
+      if (data.nextService1 == 0) doBuzz = _service_warn(PSTR(" " SERVICE_NAME_1));
139
+    #endif
140
+    #if SERVICE_INTERVAL_2 > 0
141
+      if (data.nextService2 == 0) doBuzz = _service_warn(PSTR(" " SERVICE_NAME_2));
142
+    #endif
143
+    #if SERVICE_INTERVAL_3 > 0
144
+      if (data.nextService3 == 0) doBuzz = _service_warn(PSTR(" " SERVICE_NAME_3));
145
+    #endif
146
+    #if HAS_BUZZER && SERVICE_WARNING_BUZZES > 0
147
+      if (doBuzz) for (int i = 0; i < SERVICE_WARNING_BUZZES; i++) BUZZ(200, 404);
148
+    #endif
149
+  #endif // HAS_SERVICE_INTERVALS
95 150
 }
96 151
 
97 152
 void PrintCounter::saveStats() {
@@ -108,6 +163,16 @@ void PrintCounter::saveStats() {
108 163
   persistentStore.access_finish();
109 164
 }
110 165
 
166
+#if HAS_SERVICE_INTERVALS
167
+  inline void _service_when(char buffer[], const char * const msg, const uint32_t when) {
168
+    duration_t elapsed = when;
169
+    elapsed.toString(buffer);
170
+    SERIAL_ECHOPGM(MSG_STATS);
171
+    serialprintPGM(msg);
172
+    SERIAL_ECHOLNPAIR(" in ", buffer);
173
+  }
174
+#endif
175
+
111 176
 void PrintCounter::showStats() {
112 177
   char buffer[21];
113 178
 
@@ -158,6 +223,16 @@ void PrintCounter::showStats() {
158 223
   SERIAL_CHAR('m');
159 224
 
160 225
   SERIAL_EOL();
226
+
227
+  #if SERVICE_INTERVAL_1 > 0
228
+    _service_when(buffer, PSTR(SERVICE_NAME_1), data.nextService1);
229
+  #endif
230
+  #if SERVICE_INTERVAL_2 > 0
231
+    _service_when(buffer, PSTR(SERVICE_NAME_2), data.nextService2);
232
+  #endif
233
+  #if SERVICE_INTERVAL_3 > 0
234
+    _service_when(buffer, PSTR(SERVICE_NAME_3), data.nextService3);
235
+  #endif
161 236
 }
162 237
 
163 238
 void PrintCounter::tick() {
@@ -170,7 +245,19 @@ void PrintCounter::tick() {
170 245
     #if ENABLED(DEBUG_PRINTCOUNTER)
171 246
       debug(PSTR("tick"));
172 247
     #endif
173
-    data.printTime += deltaDuration();
248
+    millis_t delta = deltaDuration();
249
+    data.printTime += delta;
250
+
251
+    #if SERVICE_INTERVAL_1 > 0
252
+      data.nextService1 -= MIN(delta, data.nextService1);
253
+    #endif
254
+    #if SERVICE_INTERVAL_2 > 0
255
+      data.nextService2 -= MIN(delta, data.nextService2);
256
+    #endif
257
+    #if SERVICE_INTERVAL_3 > 0
258
+      data.nextService3 -= MIN(delta, data.nextService3);
259
+    #endif
260
+
174 261
     update_next = now + updateInterval * 1000;
175 262
   }
176 263
 
@@ -229,6 +316,40 @@ void PrintCounter::reset() {
229 316
   lastDuration = 0;
230 317
 }
231 318
 
319
+#if HAS_SERVICE_INTERVALS
320
+
321
+  void PrintCounter::resetServiceInterval(const int index) {
322
+    switch (index) {
323
+      #if SERVICE_INTERVAL_1 > 0
324
+        case 1: data.nextService1 = SERVICE_INTERVAL_SEC_1;
325
+      #endif
326
+      #if SERVICE_INTERVAL_2 > 0
327
+        case 2: data.nextService2 = SERVICE_INTERVAL_SEC_2;
328
+      #endif
329
+      #if SERVICE_INTERVAL_3 > 0
330
+        case 3: data.nextService3 = SERVICE_INTERVAL_SEC_3;
331
+      #endif
332
+    }
333
+    saveStats();
334
+  }
335
+
336
+  bool PrintCounter::needsService(const int index) {
337
+    switch (index) {
338
+      #if SERVICE_INTERVAL_1 > 0
339
+        case 1: return data.nextService1 == 0;
340
+      #endif
341
+      #if SERVICE_INTERVAL_2 > 0
342
+        case 2: return data.nextService2 == 0;
343
+      #endif
344
+      #if SERVICE_INTERVAL_3 > 0
345
+        case 3: return data.nextService3 == 0;
346
+      #endif
347
+      default: return false;
348
+    }
349
+  }
350
+
351
+#endif // HAS_SERVICE_INTERVALS
352
+
232 353
 #if ENABLED(DEBUG_PRINTCOUNTER)
233 354
 
234 355
   void PrintCounter::debug(const char func[]) {
@@ -238,6 +359,7 @@ void PrintCounter::reset() {
238 359
       SERIAL_ECHOLNPGM("()");
239 360
     }
240 361
   }
362
+
241 363
 #endif
242 364
 
243 365
 #endif // PRINTCOUNTER

+ 17
- 3
Marlin/src/module/printcounter.h Переглянути файл

@@ -42,6 +42,15 @@ struct printStatistics {    // 16 bytes
42 42
   uint32_t printTime;       // Accumulated printing time
43 43
   uint32_t longestPrint;    // Longest successful print job
44 44
   float    filamentUsed;    // Accumulated filament consumed in mm
45
+  #if SERVICE_INTERVAL_1 > 0
46
+    uint32_t nextService1;  // Service intervals (or placeholders)
47
+  #endif
48
+  #if SERVICE_INTERVAL_2 > 0
49
+    uint32_t nextService2;
50
+  #endif
51
+  #if SERVICE_INTERVAL_3 > 0
52
+    uint32_t nextService3;
53
+  #endif
45 54
 };
46 55
 
47 56
 class PrintCounter: public Stopwatch {
@@ -49,9 +58,9 @@ class PrintCounter: public Stopwatch {
49 58
     typedef Stopwatch super;
50 59
 
51 60
     #if ENABLED(I2C_EEPROM) || ENABLED(SPI_EEPROM) || defined(CPU_32_BIT)
52
-      typedef uint32_t promdress;
61
+      typedef uint32_t eeprom_address_t;
53 62
     #else
54
-      typedef uint16_t promdress;
63
+      typedef uint16_t eeprom_address_t;
55 64
     #endif
56 65
 
57 66
     static printStatistics data;
@@ -60,7 +69,7 @@ class PrintCounter: public Stopwatch {
60 69
      * @brief EEPROM address
61 70
      * @details Defines the start offset address where the data is stored.
62 71
      */
63
-    static const promdress address;
72
+    static const eeprom_address_t address;
64 73
 
65 74
     /**
66 75
      * @brief Interval in seconds between counter updates
@@ -174,6 +183,11 @@ class PrintCounter: public Stopwatch {
174 183
     static bool stop();
175 184
     static void reset();
176 185
 
186
+    #if HAS_SERVICE_INTERVALS
187
+      static void resetServiceInterval(const int index);
188
+      static bool needsService(const int index);
189
+    #endif
190
+
177 191
     #if ENABLED(DEBUG_PRINTCOUNTER)
178 192
 
179 193
       /**

Завантаження…
Відмінити
Зберегти