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 #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" * 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 * string to enable synchronization with DLP projector exposure. This change will allow to use
* [[WaitForDoneMessage]] instead of populating your gcode with M400 commands * [[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 #endif // CONFIGURATION_ADV_H

View File

@ -325,6 +325,15 @@ void GcodeSuite::G28(const bool always_home_all) {
lcd_refresh(); lcd_refresh();
report_current_position(); 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 ENABLED(DEBUG_LEVELING_FEATURE)
if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< G28"); if (DEBUGGING(LEVELING)) SERIAL_ECHOLNPGM("<<< G28");

View File

@ -78,8 +78,12 @@ void GcodeSuite::G0_G1(
#endif #endif
#if ENABLED(NANODLP_Z_SYNC) #if ENABLED(NANODLP_Z_SYNC)
// If G0/G1 command include Z-axis, wait for move and output sync text. #if ENABLED(NANODLP_ALL_AXIS)
if (parser.seenval('Z')) { #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(); stepper.synchronize();
SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP); 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 if (parser.seenval('S')) dwell_ms = parser.value_millis_from_seconds(); // seconds to wait
stepper.synchronize(); stepper.synchronize();
#if ENABLED(NANODLP_Z_SYNC)
SERIAL_ECHOLNPGM(MSG_Z_MOVE_COMP);
#endif
if (!lcd_hasstatus()) LCD_MESSAGEPGM(MSG_DWELL); if (!lcd_hasstatus()) LCD_MESSAGEPGM(MSG_DWELL);