소스 검색

Service interval watchdog (#13105)

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
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/default/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/examples/3DFabXYZ/Migbot/Configuration_adv.h 파일 보기

2219
 
2219
 
2220
 #endif // PRUSA_MMU2
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
 // @section develop
2236
 // @section develop
2223
 
2237
 
2224
 /**
2238
 /**

+ 14
- 0
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Anet/A2/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Anet/A2plus/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Anet/A6/Configuration_adv.h 파일 보기

2215
 
2215
 
2216
 #endif // PRUSA_MMU2
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
 // @section develop
2232
 // @section develop
2219
 
2233
 
2220
 /**
2234
 /**

+ 14
- 0
Marlin/src/config/examples/Anet/A8/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/AnyCubic/i3/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/ArmEd/Configuration_adv.h 파일 보기

2221
 
2221
 
2222
 #endif // PRUSA_MMU2
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
 // @section develop
2238
 // @section develop
2225
 
2239
 
2226
 /**
2240
 /**

+ 14
- 0
Marlin/src/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h 파일 보기

2215
 
2215
 
2216
 #endif // PRUSA_MMU2
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
 // @section develop
2232
 // @section develop
2219
 
2233
 
2220
 /**
2234
 /**

+ 14
- 0
Marlin/src/config/examples/BIBO/TouchX/default/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h 파일 보기

2224
 
2224
 
2225
 #endif // PRUSA_MMU2
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
 // @section develop
2241
 // @section develop
2228
 
2242
 
2229
 /**
2243
 /**

+ 14
- 0
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Cartesio/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h 파일 보기

2219
 
2219
 
2220
 #endif // PRUSA_MMU2
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
 // @section develop
2236
 // @section develop
2223
 
2237
 
2224
 /**
2238
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/CR-10S/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/CR-10mini/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/CR-8/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/Ender-2/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/Ender-3/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Creality/Ender-4/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Einstart-S/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Felix/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/FlashForge/CreatorPro/Configuration_adv.h 파일 보기

2215
 
2215
 
2216
 #endif // PRUSA_MMU2
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
 // @section develop
2232
 // @section develop
2219
 
2233
 
2220
 /**
2234
 /**

+ 14
- 0
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h 파일 보기

2224
 
2224
 
2225
 #endif // PRUSA_MMU2
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
 // @section develop
2241
 // @section develop
2228
 
2242
 
2229
 /**
2243
 /**

+ 14
- 0
Marlin/src/config/examples/Formbot/Raptor/Configuration_adv.h 파일 보기

2220
 
2220
 
2221
 #endif // PRUSA_MMU2
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
 // @section develop
2237
 // @section develop
2224
 
2238
 
2225
 /**
2239
 /**

+ 14
- 0
Marlin/src/config/examples/Formbot/T_Rex_2+/Configuration_adv.h 파일 보기

2231
 
2231
 
2232
 #endif // PRUSA_MMU2
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
 // @section develop
2248
 // @section develop
2235
 
2249
 
2236
 /**
2250
 /**

+ 14
- 0
Marlin/src/config/examples/Formbot/T_Rex_3/Configuration_adv.h 파일 보기

2226
 
2226
 
2227
 #endif // PRUSA_MMU2
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
 // @section develop
2243
 // @section develop
2230
 
2244
 
2231
 /**
2245
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/A10M/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/A20M/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/MeCreator2/Configuration_adv.h 파일 보기

2202
 
2202
 
2203
 #endif // PRUSA_MMU2
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
 // @section develop
2219
 // @section develop
2206
 
2220
 
2207
 /**
2221
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/JGAurora/A5/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/MakerParts/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Malyan/M200/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Mks/Robin/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h 파일 보기

2224
 
2224
 
2225
 #endif // PRUSA_MMU2
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
 // @section develop
2241
 // @section develop
2228
 
2242
 
2229
 /**
2243
 /**

+ 14
- 0
Marlin/src/config/examples/RapideLite/RL200/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/examples/RigidBot/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/SCARA/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/TheBorg/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/Tronxy/X3A/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/UltiMachine/Archim1/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/VORONDesign/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h 파일 보기

2229
 
2229
 
2230
 #endif // PRUSA_MMU2
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
 // @section develop
2246
 // @section develop
2233
 
2247
 
2234
 /**
2248
 /**

+ 14
- 0
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/WASP/PowerWASP/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/examples/Wanhao/Duplicator 6/Configuration_adv.h 파일 보기

2218
 
2218
 
2219
 #endif // PRUSA_MMU2
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
 // @section develop
2235
 // @section develop
2222
 
2236
 
2223
 /**
2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/Anycubic/Kossel/Configuration_adv.h 파일 보기

2218
 
2218
 
2219
 #endif // PRUSA_MMU2
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
 // @section develop
2235
 // @section develop
2222
 
2236
 
2223
 /**
2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h 파일 보기

2218
 
2218
 
2219
 #endif // PRUSA_MMU2
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
 // @section develop
2235
 // @section develop
2222
 
2236
 
2223
 /**
2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/FLSUN/kossel/Configuration_adv.h 파일 보기

2218
 
2218
 
2219
 #endif // PRUSA_MMU2
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
 // @section develop
2235
 // @section develop
2222
 
2236
 
2223
 /**
2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h 파일 보기

2218
 
2218
 
2219
 #endif // PRUSA_MMU2
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
 // @section develop
2235
 // @section develop
2222
 
2236
 
2223
 /**
2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h 파일 보기

2219
 
2219
 
2220
 #endif // PRUSA_MMU2
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
 // @section develop
2236
 // @section develop
2223
 
2237
 
2224
 /**
2238
 /**

+ 14
- 0
Marlin/src/config/examples/delta/MKS/SBASE/Configuration_adv.h 파일 보기

2218
 
2218
 
2219
 #endif // PRUSA_MMU2
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
 // @section develop
2235
 // @section develop
2222
 
2236
 
2223
 /**
2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/Tevo Little Monster/Configuration_adv.h 파일 보기

2206
 
2206
 
2207
 #endif // PRUSA_MMU2
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
 // @section develop
2223
 // @section develop
2210
 
2224
 
2211
 /**
2225
 /**

+ 14
- 0
Marlin/src/config/examples/delta/generic/Configuration_adv.h 파일 보기

2218
 
2218
 
2219
 #endif // PRUSA_MMU2
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
 // @section develop
2235
 // @section develop
2222
 
2236
 
2223
 /**
2237
 /**

+ 14
- 0
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 14
- 0
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h 파일 보기

2218
 
2218
 
2219
 #endif // PRUSA_MMU2
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
 // @section develop
2235
 // @section develop
2222
 
2236
 
2223
 /**
2237
 /**

+ 14
- 0
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/makibox/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h 파일 보기

2216
 
2216
 
2217
 #endif // PRUSA_MMU2
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
 // @section develop
2233
 // @section develop
2220
 
2234
 
2221
 /**
2235
 /**

+ 14
- 0
Marlin/src/config/examples/wt150/Configuration_adv.h 파일 보기

2217
 
2217
 
2218
 #endif // PRUSA_MMU2
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
 // @section develop
2234
 // @section develop
2221
 
2235
 
2222
 /**
2236
 /**

+ 15
- 3
Marlin/src/gcode/stats/M75-M78.cpp 파일 보기

22
 
22
 
23
 #include "../gcode.h"
23
 #include "../gcode.h"
24
 #include "../../module/printcounter.h"
24
 #include "../../module/printcounter.h"
25
+#include "../../lcd/ultralcd.h"
25
 
26
 
26
 #if ENABLED(EXTENSIBLE_UI)
27
 #if ENABLED(EXTENSIBLE_UI)
27
   #include "../../lcd/extensible_ui/ui_api.h"
28
   #include "../../lcd/extensible_ui/ui_api.h"
63
  * M78: Show print statistics
64
  * M78: Show print statistics
64
  */
65
  */
65
 void GcodeSuite::M78() {
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
     print_job_timer.initStats();
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
 #endif // PRINTCOUNTER
84
 #endif // PRINTCOUNTER

+ 1
- 0
Marlin/src/inc/Conditionals_LCD.h 파일 보기

527
 #define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(PCA9533) || ENABLED(NEOPIXEL_LED))
527
 #define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(PCA9533) || ENABLED(NEOPIXEL_LED))
528
 #define HAS_LEDS_OFF_FLAG (ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT) && HAS_RESUME_CONTINUE)
528
 #define HAS_LEDS_OFF_FLAG (ENABLED(PRINTER_EVENT_LEDS) && ENABLED(SDSUPPORT) && HAS_RESUME_CONTINUE)
529
 #define HAS_PRINT_PROGRESS (ENABLED(SDSUPPORT) || ENABLED(LCD_SET_PROGRESS_MANUALLY))
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
 #define Z_MULTI_STEPPER_DRIVERS (ENABLED(Z_DUAL_STEPPER_DRIVERS) || ENABLED(Z_TRIPLE_STEPPER_DRIVERS))
532
 #define Z_MULTI_STEPPER_DRIVERS (ENABLED(Z_DUAL_STEPPER_DRIVERS) || ENABLED(Z_TRIPLE_STEPPER_DRIVERS))
532
 #define Z_MULTI_ENDSTOPS (ENABLED(Z_DUAL_ENDSTOPS) || ENABLED(Z_TRIPLE_ENDSTOPS))
533
 #define Z_MULTI_ENDSTOPS (ENABLED(Z_DUAL_ENDSTOPS) || ENABLED(Z_TRIPLE_ENDSTOPS))

+ 13
- 0
Marlin/src/inc/SanityCheck.h 파일 보기

2085
     static_assert(NULL == strstr(MMU2_FILAMENT_RUNOUT_SCRIPT, "M600"), "ADVANCED_PAUSE_FEATURE is required to use M600 with PRUSA_MMU2.");
2085
     static_assert(NULL == strstr(MMU2_FILAMENT_RUNOUT_SCRIPT, "M600"), "ADVANCED_PAUSE_FEATURE is required to use M600 with PRUSA_MMU2.");
2086
   #endif
2086
   #endif
2087
 #endif
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
 #ifndef MSG_TMC_STEALTH_ENABLED
1358
 #ifndef MSG_TMC_STEALTH_ENABLED
1359
   #define MSG_TMC_STEALTH_ENABLED             _UxGT("StealthChop enabled")
1359
   #define MSG_TMC_STEALTH_ENABLED             _UxGT("StealthChop enabled")
1360
 #endif
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
 //   #include "../../feature/bedlevel/bedlevel.h"
38
 //   #include "../../feature/bedlevel/bedlevel.h"
39
 // #endif
39
 // #endif
40
 
40
 
41
-
42
 #if ENABLED(PRINTCOUNTER)
41
 #if ENABLED(PRINTCOUNTER)
43
 
42
 
44
   #include "../../module/printcounter.h"
43
   #include "../../module/printcounter.h"
59
     duration_t elapsed = stats.printTime;
58
     duration_t elapsed = stats.printTime;
60
     elapsed.toString(buffer);
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
     elapsed = stats.longestPrint;
64
     elapsed = stats.longestPrint;
66
     elapsed.toString(buffer);
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
     sprintf_P(buffer, PSTR("%ld.%im"), long(stats.filamentUsed / 1000), int16_t(stats.filamentUsed / 100) % 10);
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
     END_SCREEN();
93
     END_SCREEN();
75
   }
94
   }
76
 
95
 

+ 24
- 0
Marlin/src/lcd/menu/menu_main.cpp 파일 보기

115
   void menu_mixer();
115
   void menu_mixer();
116
 #endif
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
 void menu_main() {
130
 void menu_main() {
119
   START_MENU();
131
   START_MENU();
120
   MENU_BACK(MSG_WATCH);
132
   MENU_BACK(MSG_WATCH);
237
     }
249
     }
238
   #endif // HAS_ENCODER_WHEEL && SDSUPPORT
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
   END_MENU();
264
   END_MENU();
241
 }
265
 }
242
 
266
 

+ 82
- 0
Marlin/src/lcd/menu/menu_service.cpp 파일 보기

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
     static const char paused[] PROGMEM = MSG_PRINT_PAUSED;
1286
     static const char paused[] PROGMEM = MSG_PRINT_PAUSED;
1287
     static const char printing[] PROGMEM = MSG_PRINTING;
1287
     static const char printing[] PROGMEM = MSG_PRINTING;
1288
     static const char welcome[] PROGMEM = WELCOME_MSG;
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
     PGM_P msg;
1298
     PGM_P msg;
1290
     if (!IS_SD_PRINTING() && print_job_timer.isPaused())
1299
     if (!IS_SD_PRINTING() && print_job_timer.isPaused())
1291
       msg = paused;
1300
       msg = paused;
1295
     #endif
1304
     #endif
1296
     else if (print_job_timer.isRunning())
1305
     else if (print_job_timer.isRunning())
1297
       msg = printing;
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
     else
1318
     else
1299
       msg = welcome;
1319
       msg = welcome;
1300
 
1320
 

+ 125
- 3
Marlin/src/module/printcounter.cpp 파일 보기

33
 #include "../Marlin.h"
33
 #include "../Marlin.h"
34
 #include "../HAL/shared/persistent_store_api.h"
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
 PrintCounter print_job_timer;   // Global Print Job Timer instance
59
 PrintCounter print_job_timer;   // Global Print Job Timer instance
37
 
60
 
38
 printStatistics PrintCounter::data;
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
 millis_t PrintCounter::lastDuration;
65
 millis_t PrintCounter::lastDuration;
43
 bool PrintCounter::loaded = false;
66
 bool PrintCounter::loaded = false;
69
   #endif
92
   #endif
70
 
93
 
71
   loaded = true;
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
   saveStats();
101
   saveStats();
75
   persistentStore.access_start();
102
   persistentStore.access_start();
77
   persistentStore.access_finish();
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
 void PrintCounter::loadStats() {
119
 void PrintCounter::loadStats() {
81
   #if ENABLED(DEBUG_PRINTCOUNTER)
120
   #if ENABLED(DEBUG_PRINTCOUNTER)
82
     debug(PSTR("loadStats"));
121
     debug(PSTR("loadStats"));
92
     persistentStore.read_data(address + sizeof(uint8_t), (uint8_t*)&data, sizeof(printStatistics));
131
     persistentStore.read_data(address + sizeof(uint8_t), (uint8_t*)&data, sizeof(printStatistics));
93
   persistentStore.access_finish();
132
   persistentStore.access_finish();
94
   loaded = true;
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
 void PrintCounter::saveStats() {
152
 void PrintCounter::saveStats() {
108
   persistentStore.access_finish();
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
 void PrintCounter::showStats() {
176
 void PrintCounter::showStats() {
112
   char buffer[21];
177
   char buffer[21];
113
 
178
 
158
   SERIAL_CHAR('m');
223
   SERIAL_CHAR('m');
159
 
224
 
160
   SERIAL_EOL();
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
 void PrintCounter::tick() {
238
 void PrintCounter::tick() {
170
     #if ENABLED(DEBUG_PRINTCOUNTER)
245
     #if ENABLED(DEBUG_PRINTCOUNTER)
171
       debug(PSTR("tick"));
246
       debug(PSTR("tick"));
172
     #endif
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
     update_next = now + updateInterval * 1000;
261
     update_next = now + updateInterval * 1000;
175
   }
262
   }
176
 
263
 
229
   lastDuration = 0;
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
 #if ENABLED(DEBUG_PRINTCOUNTER)
353
 #if ENABLED(DEBUG_PRINTCOUNTER)
233
 
354
 
234
   void PrintCounter::debug(const char func[]) {
355
   void PrintCounter::debug(const char func[]) {
238
       SERIAL_ECHOLNPGM("()");
359
       SERIAL_ECHOLNPGM("()");
239
     }
360
     }
240
   }
361
   }
362
+
241
 #endif
363
 #endif
242
 
364
 
243
 #endif // PRINTCOUNTER
365
 #endif // PRINTCOUNTER

+ 17
- 3
Marlin/src/module/printcounter.h 파일 보기

42
   uint32_t printTime;       // Accumulated printing time
42
   uint32_t printTime;       // Accumulated printing time
43
   uint32_t longestPrint;    // Longest successful print job
43
   uint32_t longestPrint;    // Longest successful print job
44
   float    filamentUsed;    // Accumulated filament consumed in mm
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
 class PrintCounter: public Stopwatch {
56
 class PrintCounter: public Stopwatch {
49
     typedef Stopwatch super;
58
     typedef Stopwatch super;
50
 
59
 
51
     #if ENABLED(I2C_EEPROM) || ENABLED(SPI_EEPROM) || defined(CPU_32_BIT)
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
     #else
62
     #else
54
-      typedef uint16_t promdress;
63
+      typedef uint16_t eeprom_address_t;
55
     #endif
64
     #endif
56
 
65
 
57
     static printStatistics data;
66
     static printStatistics data;
60
      * @brief EEPROM address
69
      * @brief EEPROM address
61
      * @details Defines the start offset address where the data is stored.
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
      * @brief Interval in seconds between counter updates
75
      * @brief Interval in seconds between counter updates
174
     static bool stop();
183
     static bool stop();
175
     static void reset();
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
     #if ENABLED(DEBUG_PRINTCOUNTER)
191
     #if ENABLED(DEBUG_PRINTCOUNTER)
178
 
192
 
179
       /**
193
       /**

Loading…
취소
저장