mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2025-01-18 23:49:49 +00:00
Add NanoDLP Z movement synchronization option
Implemented synchronization message output for NanoDLP printers (nanodlp.com). If optional feature is enabled in `Configuration_adv.h`, Marlin will ouput "Z_move_comp" string to serial after completing any G0/G1 Z-axis movements. This feature patched on previous versions(1.0) is used by NanoDLP to synchronize Z-axis movement with projector exposure in DLP stereolithography printers.
This commit is contained in:
parent
5c087727a9
commit
f8e30f49d7
32 changed files with 279 additions and 0 deletions
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -3430,6 +3430,14 @@ inline void gcode_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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1499,4 +1499,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1505,4 +1505,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1499,4 +1499,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1506,4 +1506,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1469,4 +1469,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1510,4 +1510,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1504,4 +1504,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1504,4 +1504,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1504,4 +1504,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1504,4 +1504,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1509,4 +1509,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1504,4 +1504,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1503,4 +1503,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1502,4 +1502,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -1492,4 +1492,13 @@
|
|||
// tweaks made to the configuration are affecting the printer in real-time.
|
||||
#endif
|
||||
|
||||
/**
|
||||
* NanoDLP Sync 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
|
||||
|
|
|
@ -144,6 +144,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: "
|
||||
|
|
Loading…
Reference in a new issue