From dc82babe8ec605c5514f589f6895c174c2fafbb1 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 24 Nov 2017 00:28:06 -0600 Subject: [PATCH 1/2] Implement NANODLP_Z_SYNC for 2.0.x --- Marlin/Configuration_adv.h | 10 ++++++++++ Marlin/src/config/default/Configuration_adv.h | 10 ++++++++++ .../examples/AlephObjects/TAZ4/Configuration_adv.h | 10 ++++++++++ Marlin/src/config/examples/Anet/A6/Configuration_adv.h | 10 ++++++++++ Marlin/src/config/examples/Anet/A8/Configuration_adv.h | 10 ++++++++++ .../config/examples/Azteeg/X5GT/Configuration_adv.h | 10 ++++++++++ .../config/examples/BQ/Hephestos/Configuration_adv.h | 10 ++++++++++ .../config/examples/BQ/Hephestos_2/Configuration_adv.h | 10 ++++++++++ .../src/config/examples/BQ/WITBOX/Configuration_adv.h | 10 ++++++++++ .../src/config/examples/Cartesio/Configuration_adv.h | 10 ++++++++++ .../config/examples/Creality/CR-10/Configuration_adv.h | 10 ++++++++++ Marlin/src/config/examples/Felix/Configuration_adv.h | 10 ++++++++++ .../examples/FolgerTech/i3-2020/Configuration_adv.h | 10 ++++++++++ .../examples/Infitary/i3-M508/Configuration_adv.h | 10 ++++++++++ .../config/examples/Malyan/M150/Configuration_adv.h | 10 ++++++++++ .../examples/Micromake/C1/enhanced/Configuration_adv.h | 10 ++++++++++ .../src/config/examples/Mks/Sbase/Configuration_adv.h | 10 ++++++++++ .../src/config/examples/RigidBot/Configuration_adv.h | 10 ++++++++++ Marlin/src/config/examples/SCARA/Configuration_adv.h | 10 ++++++++++ .../config/examples/Sanguinololu/Configuration_adv.h | 10 ++++++++++ .../src/config/examples/TinyBoy2/Configuration_adv.h | 10 ++++++++++ .../examples/UltiMachine/Archim2/Configuration_adv.h | 10 ++++++++++ .../config/examples/Velleman/K8200/Configuration_adv.h | 10 ++++++++++ .../config/examples/Velleman/K8400/Configuration_adv.h | 10 ++++++++++ .../delta/FLSUN/auto_calibrate/Configuration_adv.h | 10 ++++++++++ .../delta/FLSUN/kossel_mini/Configuration_adv.h | 10 ++++++++++ .../config/examples/delta/generic/Configuration_adv.h | 10 ++++++++++ .../examples/delta/kossel_mini/Configuration_adv.h | 10 ++++++++++ .../examples/delta/kossel_pro/Configuration_adv.h | 10 ++++++++++ .../examples/delta/kossel_xl/Configuration_adv.h | 10 ++++++++++ .../examples/gCreate/gMax1.5+/Configuration_adv.h | 10 ++++++++++ Marlin/src/config/examples/makibox/Configuration_adv.h | 10 ++++++++++ .../config/examples/tvrrug/Round2/Configuration_adv.h | 10 ++++++++++ Marlin/src/config/examples/wt150/Configuration_adv.h | 10 ++++++++++ Marlin/src/core/language.h | 1 + Marlin/src/gcode/motion/G0_G1.cpp | 8 ++++++++ 36 files changed, 349 insertions(+) diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 37a25bc80b..fdf9d55508 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -1492,4 +1492,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/default/Configuration_adv.h b/Marlin/src/config/default/Configuration_adv.h index 37a25bc80b..fdf9d55508 100644 --- a/Marlin/src/config/default/Configuration_adv.h +++ b/Marlin/src/config/default/Configuration_adv.h @@ -1492,4 +1492,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h index b4fd8ad1fe..c8c1b57958 100644 --- a/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h +++ b/Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h index 5dec975990..e27334e554 100644 --- a/Marlin/src/config/examples/Anet/A6/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A6/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h index 3b6382d1ac..ab1667d6e2 100644 --- a/Marlin/src/config/examples/Anet/A8/Configuration_adv.h +++ b/Marlin/src/config/examples/Anet/A8/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h index 653c6e50f1..cf6420ad47 100644 --- a/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h +++ b/Marlin/src/config/examples/Azteeg/X5GT/Configuration_adv.h @@ -1493,4 +1493,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h index 48bb8ec033..35c5143eaa 100644 --- a/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h index a723014a3f..b4458a77bd 100644 --- a/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h @@ -1488,4 +1488,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h index 48bb8ec033..35c5143eaa 100644 --- a/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h +++ b/Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Cartesio/Configuration_adv.h b/Marlin/src/config/examples/Cartesio/Configuration_adv.h index 53f397a982..4379be04e6 100644 --- a/Marlin/src/config/examples/Cartesio/Configuration_adv.h +++ b/Marlin/src/config/examples/Cartesio/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h index 8143b07e26..f129ccb46e 100644 --- a/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h +++ b/Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h @@ -1494,4 +1494,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Felix/Configuration_adv.h b/Marlin/src/config/examples/Felix/Configuration_adv.h index e8b276b4c7..a976eefe83 100644 --- a/Marlin/src/config/examples/Felix/Configuration_adv.h +++ b/Marlin/src/config/examples/Felix/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h index 14b7240e36..a6c25c60ad 100644 --- a/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h +++ b/Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h @@ -1501,4 +1501,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h index b3b5cdfcd0..b8e6d613f0 100644 --- a/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h +++ b/Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h index 7483d7db25..8643e182c5 100644 --- a/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h +++ b/Marlin/src/config/examples/Malyan/M150/Configuration_adv.h @@ -1485,4 +1485,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h index 968140435b..2a67d1af1b 100644 --- a/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h +++ b/Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h @@ -1495,4 +1495,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h index 19445dde3b..99966754ec 100644 --- a/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h +++ b/Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h @@ -1513,4 +1513,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/RigidBot/Configuration_adv.h b/Marlin/src/config/examples/RigidBot/Configuration_adv.h index b8c2d28fab..287be33a4f 100644 --- a/Marlin/src/config/examples/RigidBot/Configuration_adv.h +++ b/Marlin/src/config/examples/RigidBot/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/SCARA/Configuration_adv.h b/Marlin/src/config/examples/SCARA/Configuration_adv.h index 7adceb2910..14d8d67fa1 100644 --- a/Marlin/src/config/examples/SCARA/Configuration_adv.h +++ b/Marlin/src/config/examples/SCARA/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h index feb2fa149f..55de67ba3f 100644 --- a/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h +++ b/Marlin/src/config/examples/Sanguinololu/Configuration_adv.h @@ -1480,4 +1480,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h index 878f85b62b..7b74fdd343 100644 --- a/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h +++ b/Marlin/src/config/examples/TinyBoy2/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h index 3c6744efd3..6f21af7272 100644 --- a/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h +++ b/Marlin/src/config/examples/UltiMachine/Archim2/Configuration_adv.h @@ -1492,4 +1492,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h index d3d6d4b7a7..2ed57f45f4 100644 --- a/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h @@ -1499,4 +1499,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h index 3c72ae8e15..07ce0e359b 100644 --- a/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h +++ b/Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h @@ -1492,4 +1492,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h index f234bbe68a..4165e6e951 100644 --- a/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -1493,4 +1493,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h index a8306a792e..64ba132027 100644 --- a/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -1493,4 +1493,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/generic/Configuration_adv.h b/Marlin/src/config/examples/delta/generic/Configuration_adv.h index a8306a792e..64ba132027 100644 --- a/Marlin/src/config/examples/delta/generic/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/generic/Configuration_adv.h @@ -1493,4 +1493,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h index a8306a792e..64ba132027 100644 --- a/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h @@ -1493,4 +1493,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h index ab6ccbe6ad..1682b03417 100644 --- a/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h @@ -1498,4 +1498,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h index bd9cdebfbb..0ae2cd1845 100644 --- a/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h +++ b/Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h @@ -1493,4 +1493,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h index af57493a66..970cdc58b0 100644 --- a/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h +++ b/Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h @@ -1492,4 +1492,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/makibox/Configuration_adv.h b/Marlin/src/config/examples/makibox/Configuration_adv.h index d9ea5c0272..a4d88e5dbe 100644 --- a/Marlin/src/config/examples/makibox/Configuration_adv.h +++ b/Marlin/src/config/examples/makibox/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h index b18aae475c..a8053d1dfc 100644 --- a/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h @@ -1491,4 +1491,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/config/examples/wt150/Configuration_adv.h b/Marlin/src/config/examples/wt150/Configuration_adv.h index b9ff9fc843..c456149dbf 100644 --- a/Marlin/src/config/examples/wt150/Configuration_adv.h +++ b/Marlin/src/config/examples/wt150/Configuration_adv.h @@ -1492,4 +1492,14 @@ // tweaks made to the configuration are affecting the printer in real-time. #endif +/** + * NanoDLP Synch support + * + * Add support for Synchronized Z moves when using with NanoDLP. G0/G1 axis moves will output "Z_move_comp" + * string to enable synchronization with DLP projector exposure. This change will allow to use + * [[WaitForDoneMessage]] instead of populating your gcode with M400 commands + * + */ + //#define NANODLP_Z_SYNC + #endif // CONFIGURATION_ADV_H diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index 1cb6e02d82..983cc1dd38 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -145,6 +145,7 @@ #define MSG_BUSY_PROCESSING "busy: processing" #define MSG_BUSY_PAUSED_FOR_USER "busy: paused for user" #define MSG_BUSY_PAUSED_FOR_INPUT "busy: paused for input" +#define MSG_Z_MOVE_COMP "Z_move_comp" #define MSG_RESEND "Resend: " #define MSG_UNKNOWN_COMMAND "Unknown command: \"" #define MSG_ACTIVE_EXTRUDER "Active Extruder: " diff --git a/Marlin/src/gcode/motion/G0_G1.cpp b/Marlin/src/gcode/motion/G0_G1.cpp index e3ed1ca408..5d5ceddfd3 100644 --- a/Marlin/src/gcode/motion/G0_G1.cpp +++ b/Marlin/src/gcode/motion/G0_G1.cpp @@ -72,5 +72,13 @@ void GcodeSuite::G0_G1( #else prepare_move_to_destination(); #endif + + #if ENABLED(NANODLP_Z_SYNC) + // If G0/G1 command include Z-axis, wait for move and output sync text. + if (parser.seenval('Z')) { + stepper.synchronize(); + SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP); + } + #endif } } From 01e207213f047f604f03311e8d13c36776216b46 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 24 Nov 2017 12:49:28 -0600 Subject: [PATCH 2/2] Fix MK2_MULTIPLEXER stepper indirection --- Marlin/src/module/stepper_indirection.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Marlin/src/module/stepper_indirection.h b/Marlin/src/module/stepper_indirection.h index c5a880e22a..6cdc909f77 100644 --- a/Marlin/src/module/stepper_indirection.h +++ b/Marlin/src/module/stepper_indirection.h @@ -429,6 +429,10 @@ #define NORM_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(INVERT_E1_DIR); } } #define REV_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(INVERT_E0_DIR); break; case 1: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 2: E1_DIR_WRITE(INVERT_E1_DIR); break; case 3: E1_DIR_WRITE(!INVERT_E1_DIR); } } #endif +#elif ENABLED(MK2_MULTIPLEXER) // Even-numbered steppers are reversed + #define E_STEP_WRITE(v) E0_STEP_WRITE(v) + #define NORM_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? !INVERT_E0_DIR: INVERT_E0_DIR) + #define REV_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? INVERT_E0_DIR: !INVERT_E0_DIR) #elif EXTRUDERS > 4 #define E_STEP_WRITE(v) { switch (current_block->active_extruder) { case 0: E0_STEP_WRITE(v); break; case 1: E1_STEP_WRITE(v); break; case 2: E2_STEP_WRITE(v); break; case 3: E3_STEP_WRITE(v); break; case 4: E4_STEP_WRITE(v); } } #define NORM_E_DIR() { switch (current_block->active_extruder) { case 0: E0_DIR_WRITE(!INVERT_E0_DIR); break; case 1: E1_DIR_WRITE(!INVERT_E1_DIR); break; case 2: E2_DIR_WRITE(!INVERT_E2_DIR); break; case 3: E3_DIR_WRITE(!INVERT_E3_DIR); break; case 4: E4_DIR_WRITE(!INVERT_E4_DIR); } } @@ -472,14 +476,8 @@ #endif #else #define E_STEP_WRITE(v) E0_STEP_WRITE(v) - #if ENABLED(MK2_MULTIPLEXER) - // Even-numbered steppers are reversed - #define NORM_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? !INVERT_E0_DIR: INVERT_E0_DIR) - #define REV_E_DIR() E0_DIR_WRITE(TEST(current_block->active_extruder, 0) ? INVERT_E0_DIR: !INVERT_E0_DIR) - #else - #define NORM_E_DIR() E0_DIR_WRITE(!INVERT_E0_DIR) - #define REV_E_DIR() E0_DIR_WRITE(INVERT_E0_DIR) - #endif + #define NORM_E_DIR() E0_DIR_WRITE(!INVERT_E0_DIR) + #define REV_E_DIR() E0_DIR_WRITE(INVERT_E0_DIR) #endif #endif // STEPPER_INDIRECTION_H