V2 Extended NanoDLP_Z_Move_Sync to G4 & G28,Added all axis option.
This commit is contained in:
		@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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");
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user