V2 Extended NanoDLP_Z_Move_Sync to G4 & G28,Added all axis option.

This commit is contained in:
robpower 2017-12-15 20:34:41 +01:00 committed by Scott Lahteine
parent 2b7db90340
commit 5595098063
4 changed files with 24 additions and 5 deletions

View File

@ -1541,13 +1541,16 @@
#endif
/**
* NanoDLP Synch support
* 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
//#define NANODLP_Z_SYNC
#if ENABLED(NANODLP_Z_SYNC)
//#define NANODLP_ALL_AXIS // Enables "Z_move_comp" output on any axis move.
// Default behaviour is limited to Z axis only.
#endif
#endif // CONFIGURATION_ADV_H

View File

@ -325,6 +325,15 @@ void GcodeSuite::G28(const bool always_home_all) {
lcd_refresh();
report_current_position();
#if ENABLED(NANODLP_Z_SYNC)
#if ENABLED(NANODLP_ALL_AXIS)
#define _HOME_SYNC true // For any axis, output sync text.
#else
#define _HOME_SYNC (home_all || homeZ) // Only for Z-axis
#endif
if (_HOME_SYNC)
SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
#endif
#if ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< G28");

View File

@ -78,8 +78,12 @@ void GcodeSuite::G0_G1(
#endif
#if ENABLED(NANODLP_Z_SYNC)
// If G0/G1 command include Z-axis, wait for move and output sync text.
if (parser.seenval('Z')) {
#if ENABLED(NANODLP_ALL_AXIS)
#define _MOVE_SYNC true // For any move wait and output sync message
#else
#define _MOVE_SYNC parser.seenval('Z') // Only for Z move
#endif
if (_MOVE_SYNC) {
stepper.synchronize();
SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
}

View File

@ -34,6 +34,9 @@ void GcodeSuite::G4() {
if (parser.seenval('S')) dwell_ms = parser.value_millis_from_seconds(); // seconds to wait
stepper.synchronize();
#if ENABLED(NANODLP_Z_SYNC)
SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
#endif
if (!lcd_hasstatus()) LCD_MESSAGEPGM(MSG_DWELL);